use modular initing system rather than calling Init() method.

This commit is contained in:
Youmu Liu
2025-11-11 18:22:28 +08:00
parent 678a846e54
commit 44bf78b937
65 changed files with 1328 additions and 1814 deletions
@@ -26,6 +26,7 @@
// -----------------------------------------------------------------------
// -----------------------------------------------------------------------
using StgSharp.Collections;
using StgSharp.Graphics;
using System;
using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
@@ -25,8 +25,7 @@
//
// -----------------------------------------------------------------------
// -----------------------------------------------------------------------
using StgSharp.Graphics.OpenGL;
using StgSharp.Graphics;
using System;
using System.Collections.Generic;
using System.Diagnostics;
@@ -25,8 +25,7 @@
//
// -----------------------------------------------------------------------
// -----------------------------------------------------------------------
using StgSharp.Graphics.OpenGL;
using StgSharp.Graphics;
using System;
using System.Collections.Generic;
using System.Security.Principal;
@@ -25,6 +25,7 @@
//
// -----------------------------------------------------------------------
// -----------------------------------------------------------------------
using StgSharp.Graphics;
using StgSharp.HighPerformance;
using System;
@@ -25,6 +25,7 @@
//
// -----------------------------------------------------------------------
// -----------------------------------------------------------------------
using StgSharp.Graphics;
using System;
using System.Collections.Generic;
using System.Runtime.CompilerServices;
@@ -25,6 +25,7 @@
//
// -----------------------------------------------------------------------
// -----------------------------------------------------------------------
using StgSharp.Graphics;
using StgSharp.Mathematics;
using StgSharp.Mathematics.Numeric;
@@ -1,46 +0,0 @@
//-----------------------------------------------------------------------
// -----------------------------------------------------------------------
// file="GLfixed"
// Project: StgSharp
// AuthorGroup: Nitload
// Copyright (c) Nitload. 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.
//
// -----------------------------------------------------------------------
// -----------------------------------------------------------------------
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading.Tasks;
namespace StgSharp.Internal
{
[StructLayout(LayoutKind.Explicit, Size = 8)]
public struct GLfixed
{
[FieldOffset(0)] public int All;
[FieldOffset(0)] public short Decimals;
[FieldOffset(4)] public short Inertger;
}
}
@@ -26,6 +26,7 @@
// -----------------------------------------------------------------------
// -----------------------------------------------------------------------
using StgSharp;
using StgSharp.Graphics;
using StgSharp.Internal;
using System;
@@ -25,6 +25,7 @@
//
// -----------------------------------------------------------------------
// -----------------------------------------------------------------------
using StgSharp.Graphics;
using StgSharp.Mathematics.Graphic;
using System.Diagnostics.CodeAnalysis;
using System.Runtime.CompilerServices;
@@ -1,41 +0,0 @@
//-----------------------------------------------------------------------
// -----------------------------------------------------------------------
// file="glAPICalling"
// Project: StgSharp
// AuthorGroup: Nitload
// Copyright (c) Nitload. 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.
//
// -----------------------------------------------------------------------
// -----------------------------------------------------------------------
using System;
using System.Collections.Generic;
using System.Text;
namespace StgSharp.Graphics.OpenGL
{
[AttributeUsage(AttributeTargets.Method)]
public sealed class OpenGLAPICallingAttribute : Attribute
{
public OpenGLAPICallingAttribute() { }
}
}
@@ -1,89 +0,0 @@
//-----------------------------------------------------------------------
// -----------------------------------------------------------------------
// file="glClampf"
// Project: StgSharp
// AuthorGroup: Nitload
// Copyright (c) Nitload. 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.
//
// -----------------------------------------------------------------------
// -----------------------------------------------------------------------
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading.Tasks;
namespace StgSharp.Internal
{
/// <summary>
/// OpenGL numeric type. An IEEE-754 floating-point value, clamped to the range [0,1].
/// </summary>
[StructLayout(LayoutKind.Sequential)]
public struct GLclampf
{
public float value;
public GLclampf(float a)
{
value = a;
}
public static explicit operator float(GLclampf v)
{
return v.value;
}
public static explicit operator GLclampf(float v)
{
return new GLclampf(v);
}
}
/// <summary>
/// OpenGL numeric type. An IEEE-754 double precision floating-point value, clamped to the
/// range [0,1].
/// </summary>
[StructLayout(LayoutKind.Sequential)]
public struct GLclampd
{
public double value;
public GLclampd(double a)
{
value = a;
}
public static explicit operator double(GLclampd v)
{
return v.value;
}
public static explicit operator GLclampd(double v)
{
return new GLclampd(v);
}
}
}
+157 -157
View File
@@ -65,7 +65,7 @@ namespace StgSharp.Graphics.OpenGL
#region glapi
internal unsafe delegate*<uint, GLfixed, void> glAccumxOES;
internal unsafe delegate*<uint, GlFixed, void> glAccumxOES;
internal unsafe delegate*<uint, ulong, uint, bool> glAcquireKeyedMutexWin32EXT;
internal unsafe delegate*<uint, void> glActiveProgramEXT;
internal unsafe delegate*<uint, uint, void> glActiveShaderProgram;
@@ -76,7 +76,7 @@ namespace StgSharp.Graphics.OpenGL
internal unsafe delegate*<uint, uint, uint, uint, uint, uint, void> glAlphaFragmentOp1ATI;
internal unsafe delegate*<uint, uint, uint, uint, uint, uint, uint, uint, uint, void> glAlphaFragmentOp2ATI;
internal unsafe delegate*<uint, uint, uint, uint, uint, uint, uint, uint, uint, uint, uint, uint, void> glAlphaFragmentOp3ATI;
internal unsafe delegate*<uint, GLfixed, void> glAlphaFuncxOES;
internal unsafe delegate*<uint, GlFixed, void> glAlphaFuncxOES;
internal unsafe delegate*<uint, void> glAlphaToCoverageDitherControlNV;
internal unsafe delegate*<void> glApplyFramebufferAttachmentCMAAINTEL;
internal unsafe delegate*<uint, void> glApplyTextureEXT;
@@ -165,12 +165,12 @@ namespace StgSharp.Graphics.OpenGL
internal unsafe delegate*<short, short, short, void> glBinormal3sEXT;
internal unsafe delegate*<short*, void> glBinormal3svEXT;
internal unsafe delegate*<uint, uint, void*, void> glBinormalPointerEXT;
internal unsafe delegate*<uint, uint, GLfixed, GLfixed, GLfixed, GLfixed, byte*, void> glBitmapxOES;
internal unsafe delegate*<uint, uint, GlFixed, GlFixed, GlFixed, GlFixed, byte*, void> glBitmapxOES;
internal unsafe delegate*<void> glBlendBarrierKHR;
internal unsafe delegate*<void> glBlendBarrierNV;
internal unsafe delegate*<float, float, float, float, void> glBlendColor;
internal unsafe delegate*<float, float, float, float, void> glBlendColorEXT;
internal unsafe delegate*<GLfixed, GLfixed, GLfixed, GLfixed, void> glBlendColorxOES;
internal unsafe delegate*<GlFixed, GlFixed, GlFixed, GlFixed, void> glBlendColorxOES;
internal unsafe delegate*<uint, void> glBlendEquation;
internal unsafe delegate*<uint, void> glBlendEquationEXT;
internal unsafe delegate*<uint, uint, void> glBlendEquationIndexedAMD;
@@ -217,7 +217,7 @@ namespace StgSharp.Graphics.OpenGL
internal unsafe delegate*<uint, uint, void> glClampColor;
internal unsafe delegate*<uint, uint, void> glClampColorARB;
internal unsafe delegate*<uint, void> glClear;
internal unsafe delegate*<GLfixed, GLfixed, GLfixed, GLfixed, void> glClearAccumxOES;
internal unsafe delegate*<GlFixed, GlFixed, GlFixed, GlFixed, void> glClearAccumxOES;
internal unsafe delegate*<uint, uint, uint, uint, void*, void> glClearBufferData;
internal unsafe delegate*<uint, uint, IntPtr, UIntPtr, uint, uint, void*, void> glClearBufferSubData;
internal unsafe delegate*<uint, int, float, int, void> glClearBufferfi;
@@ -227,12 +227,12 @@ namespace StgSharp.Graphics.OpenGL
internal unsafe delegate*<float, float, float, float, void> glClearColor;
internal unsafe delegate*<int, int, int, int, void> glClearColorIiEXT;
internal unsafe delegate*<uint, uint, uint, uint, void> glClearColorIuiEXT;
internal unsafe delegate*<GLfixed, GLfixed, GLfixed, GLfixed, void> glClearColorxOES;
internal unsafe delegate*<GlFixed, GlFixed, GlFixed, GlFixed, void> glClearColorxOES;
internal unsafe delegate*<double, void> glClearDepth;
internal unsafe delegate*<double, void> glClearDepthdNV;
internal unsafe delegate*<float, void> glClearDepthf;
internal unsafe delegate*<GLclampf, void> glClearDepthfOES;
internal unsafe delegate*<GLfixed, void> glClearDepthxOES;
internal unsafe delegate*<GlClampF, void> glClearDepthfOES;
internal unsafe delegate*<GlFixed, void> glClearDepthxOES;
internal unsafe delegate*<uint, uint, uint, uint, void*, void> glClearNamedBufferData;
internal unsafe delegate*<uint, uint, uint, uint, void*, void> glClearNamedBufferDataEXT;
internal unsafe delegate*<uint, uint, IntPtr, UIntPtr, uint, uint, void*, void> glClearNamedBufferSubData;
@@ -251,23 +251,23 @@ namespace StgSharp.Graphics.OpenGL
internal unsafe delegate*<GLsync, uint, ulong, uint> glClientWaitSync;
internal unsafe delegate*<uint, uint, void> glClipControl;
internal unsafe delegate*<uint, float*, void> glClipPlanefOES;
internal unsafe delegate*<uint, GLfixed*, void> glClipPlanexOES;
internal unsafe delegate*<uint, GlFixed*, void> glClipPlanexOES;
internal unsafe delegate*<float, float, float, float, float, float, void> glColor3fVertex3fSUN;
internal unsafe delegate*<float*, float*, void> glColor3fVertex3fvSUN;
internal unsafe delegate*<glHalfNV, glHalfNV, glHalfNV, void> glColor3hNV;
internal unsafe delegate*<glHalfNV*, void> glColor3hvNV;
internal unsafe delegate*<GLfixed, GLfixed, GLfixed, void> glColor3xOES;
internal unsafe delegate*<GLfixed*, void> glColor3xvOES;
internal unsafe delegate*<glHalfNv, glHalfNv, glHalfNv, void> glColor3hNV;
internal unsafe delegate*<glHalfNv*, void> glColor3hvNV;
internal unsafe delegate*<GlFixed, GlFixed, GlFixed, void> glColor3xOES;
internal unsafe delegate*<GlFixed*, void> glColor3xvOES;
internal unsafe delegate*<float, float, float, float, float, float, float, float, float, float, void> glColor4fNormal3fVertex3fSUN;
internal unsafe delegate*<float*, float*, float*, void> glColor4fNormal3fVertex3fvSUN;
internal unsafe delegate*<glHalfNV, glHalfNV, glHalfNV, glHalfNV, void> glColor4hNV;
internal unsafe delegate*<glHalfNV*, void> glColor4hvNV;
internal unsafe delegate*<glHalfNv, glHalfNv, glHalfNv, glHalfNv, void> glColor4hNV;
internal unsafe delegate*<glHalfNv*, void> glColor4hvNV;
internal unsafe delegate*<byte, byte, byte, byte, float, float, void> glColor4ubVertex2fSUN;
internal unsafe delegate*<byte*, float*, void> glColor4ubVertex2fvSUN;
internal unsafe delegate*<byte, byte, byte, byte, float, float, float, void> glColor4ubVertex3fSUN;
internal unsafe delegate*<byte*, float*, void> glColor4ubVertex3fvSUN;
internal unsafe delegate*<GLfixed, GLfixed, GLfixed, GLfixed, void> glColor4xOES;
internal unsafe delegate*<GLfixed*, void> glColor4xvOES;
internal unsafe delegate*<GlFixed, GlFixed, GlFixed, GlFixed, void> glColor4xOES;
internal unsafe delegate*<GlFixed*, void> glColor4xvOES;
internal unsafe delegate*<int, uint, uint, void> glColorFormatNV;
internal unsafe delegate*<uint, uint, uint, uint, uint, uint, uint, void> glColorFragmentOp1ATI;
internal unsafe delegate*<uint, uint, uint, uint, uint, uint, uint, uint, uint, uint, void> glColorFragmentOp2ATI;
@@ -330,8 +330,8 @@ namespace StgSharp.Graphics.OpenGL
internal unsafe delegate*<uint, uint, float*, void> glConvolutionParameterfvEXT;
internal unsafe delegate*<uint, uint, int, void> glConvolutionParameteriEXT;
internal unsafe delegate*<uint, uint, int*, void> glConvolutionParameterivEXT;
internal unsafe delegate*<uint, uint, GLfixed, void> glConvolutionParameterxOES;
internal unsafe delegate*<uint, uint, GLfixed*, void> glConvolutionParameterxvOES;
internal unsafe delegate*<uint, uint, GlFixed, void> glConvolutionParameterxOES;
internal unsafe delegate*<uint, uint, GlFixed*, void> glConvolutionParameterxvOES;
internal unsafe delegate*<uint, uint, IntPtr, IntPtr, UIntPtr, void> glCopyBufferSubData;
internal unsafe delegate*<uint, uint, int, int, uint, void> glCopyColorSubTableEXT;
internal unsafe delegate*<uint, uint, int, int, uint, void> glCopyColorTableSGI;
@@ -446,7 +446,7 @@ namespace StgSharp.Graphics.OpenGL
internal unsafe delegate*<int, uint*, void> glDeleteVertexArrays;
internal unsafe delegate*<uint, uint*, void> glDeleteVertexArraysAPPLE;
internal unsafe delegate*<uint, void> glDeleteVertexShaderEXT;
internal unsafe delegate*<GLclampd, GLclampd, void> glDepthBoundsEXT;
internal unsafe delegate*<GlClampD, GlClampD, void> glDepthBoundsEXT;
internal unsafe delegate*<double, double, void> glDepthBoundsdNV;
internal unsafe delegate*<uint, void> glDepthFunc;
internal unsafe delegate*<bool, void> glDepthMask;
@@ -457,8 +457,8 @@ namespace StgSharp.Graphics.OpenGL
internal unsafe delegate*<uint, double, double, void> glDepthRangeIndexeddNV;
internal unsafe delegate*<double, double, void> glDepthRangedNV;
internal unsafe delegate*<float, float, void> glDepthRangef;
internal unsafe delegate*<GLclampf, GLclampf, void> glDepthRangefOES;
internal unsafe delegate*<GLfixed, GLfixed, void> glDepthRangexOES;
internal unsafe delegate*<GlClampF, GlClampF, void> glDepthRangefOES;
internal unsafe delegate*<GlFixed, GlFixed, void> glDepthRangexOES;
internal unsafe delegate*<glHandleARB, glHandleARB, void> glDetachObjectARB;
internal unsafe delegate*<uint, uint, void> glDetachShader;
internal unsafe delegate*<uint, uint, float*, void> glDetailTexFuncSGIS;
@@ -552,15 +552,15 @@ namespace StgSharp.Graphics.OpenGL
internal unsafe delegate*<void> glEndTransformFeedbackNV;
internal unsafe delegate*<void> glEndVertexShaderEXT;
internal unsafe delegate*<uint, void> glEndVideoCaptureNV;
internal unsafe delegate*<GLfixed, void> glEvalCoord1xOES;
internal unsafe delegate*<GLfixed*, void> glEvalCoord1xvOES;
internal unsafe delegate*<GLfixed, GLfixed, void> glEvalCoord2xOES;
internal unsafe delegate*<GLfixed*, void> glEvalCoord2xvOES;
internal unsafe delegate*<GlFixed, void> glEvalCoord1xOES;
internal unsafe delegate*<GlFixed*, void> glEvalCoord1xvOES;
internal unsafe delegate*<GlFixed, GlFixed, void> glEvalCoord2xOES;
internal unsafe delegate*<GlFixed*, void> glEvalCoord2xvOES;
internal unsafe delegate*<uint, uint, void> glEvalMapsNV;
internal unsafe delegate*<void> glEvaluateDepthValuesARB;
internal unsafe delegate*<uint, uint, float*, void> glExecuteProgramNV;
internal unsafe delegate*<uint, uint, uint, void> glExtractComponentEXT;
internal unsafe delegate*<uint, uint, GLfixed*, void> glFeedbackBufferxOES;
internal unsafe delegate*<uint, uint, GlFixed*, void> glFeedbackBufferxOES;
internal unsafe delegate*<uint, uint, GLsync> glFenceSync;
internal unsafe delegate*<uint, uint, uint, uint, void> glFinalCombinerInputNV;
internal unsafe delegate*<void> glFinish;
@@ -586,11 +586,11 @@ namespace StgSharp.Graphics.OpenGL
internal unsafe delegate*<double*, void> glFogCoorddvEXT;
internal unsafe delegate*<float, void> glFogCoordfEXT;
internal unsafe delegate*<float*, void> glFogCoordfvEXT;
internal unsafe delegate*<glHalfNV, void> glFogCoordhNV;
internal unsafe delegate*<glHalfNV*, void> glFogCoordhvNV;
internal unsafe delegate*<glHalfNv, void> glFogCoordhNV;
internal unsafe delegate*<glHalfNv*, void> glFogCoordhvNV;
internal unsafe delegate*<uint, float*, void> glFogFuncSGIS;
internal unsafe delegate*<uint, GLfixed, void> glFogxOES;
internal unsafe delegate*<uint, GLfixed*, void> glFogxvOES;
internal unsafe delegate*<uint, GlFixed, void> glFogxOES;
internal unsafe delegate*<uint, GlFixed*, void> glFogxvOES;
internal unsafe delegate*<uint, uint, void> glFragmentColorMaterialSGIX;
internal unsafe delegate*<uint, void> glFragmentCoverageColorNV;
internal unsafe delegate*<uint, float, void> glFragmentLightModelfSGIX;
@@ -636,7 +636,7 @@ namespace StgSharp.Graphics.OpenGL
internal unsafe delegate*<uint, void> glFreeObjectBufferATI;
internal unsafe delegate*<uint, void> glFrontFace;
internal unsafe delegate*<float, float, float, float, float, float, void> glFrustumfOES;
internal unsafe delegate*<GLfixed, GLfixed, GLfixed, GLfixed, GLfixed, GLfixed, void> glFrustumxOES;
internal unsafe delegate*<GlFixed, GlFixed, GlFixed, GlFixed, GlFixed, GlFixed, void> glFrustumxOES;
internal unsafe delegate*<uint, uint> glGenAsyncMarkersSGIX;
internal unsafe delegate*<int, uint*, void> glGenBuffers;
internal unsafe delegate*<uint, uint*, void> glGenBuffersARB;
@@ -703,7 +703,7 @@ namespace StgSharp.Graphics.OpenGL
internal unsafe delegate*<uint, IntPtr, UIntPtr, void*, void> glGetBufferSubData;
internal unsafe delegate*<uint, IntPtr, UIntPtr, void*, void> glGetBufferSubDataARB;
internal unsafe delegate*<uint, float*, void> glGetClipPlanefOES;
internal unsafe delegate*<uint, GLfixed*, void> glGetClipPlanexOES;
internal unsafe delegate*<uint, GlFixed*, void> glGetClipPlanexOES;
internal unsafe delegate*<uint, uint, uint, void*, void> glGetColorTableEXT;
internal unsafe delegate*<uint, uint, float*, void> glGetColorTableParameterfvEXT;
internal unsafe delegate*<uint, uint, float*, void> glGetColorTableParameterfvSGI;
@@ -725,7 +725,7 @@ namespace StgSharp.Graphics.OpenGL
internal unsafe delegate*<uint, uint, uint, void*, void> glGetConvolutionFilterEXT;
internal unsafe delegate*<uint, uint, float*, void> glGetConvolutionParameterfvEXT;
internal unsafe delegate*<uint, uint, int*, void> glGetConvolutionParameterivEXT;
internal unsafe delegate*<uint, uint, GLfixed*, void> glGetConvolutionParameterxvOES;
internal unsafe delegate*<uint, uint, GlFixed*, void> glGetConvolutionParameterxvOES;
internal unsafe delegate*<uint, float*, void> glGetCoverageModulationTableNV;
internal unsafe delegate*<uint, uint, uint*, uint*, uint*, uint*, uint*, byte*, uint> glGetDebugMessageLog;
internal unsafe delegate*<uint, uint, uint*, uint*, uint*, uint*, byte*, uint> glGetDebugMessageLogAMD;
@@ -740,7 +740,7 @@ namespace StgSharp.Graphics.OpenGL
internal unsafe delegate*<uint, uint, float*, void> glGetFinalCombinerInputParameterfvNV;
internal unsafe delegate*<uint, uint, int*, void> glGetFinalCombinerInputParameterivNV;
internal unsafe delegate*<uint*, void> glGetFirstPerfQueryIdINTEL;
internal unsafe delegate*<uint, GLfixed*, void> glGetFixedvOES;
internal unsafe delegate*<uint, GlFixed*, void> glGetFixedvOES;
internal unsafe delegate*<uint, uint, float*, void> glGetFloatIndexedvEXT;
internal unsafe delegate*<uint, uint, float*, void> glGetFloati_v;
internal unsafe delegate*<uint, uint, float*, void> glGetFloati_vEXT;
@@ -765,7 +765,7 @@ namespace StgSharp.Graphics.OpenGL
internal unsafe delegate*<uint, bool, uint, uint, void*, void> glGetHistogramEXT;
internal unsafe delegate*<uint, uint, float*, void> glGetHistogramParameterfvEXT;
internal unsafe delegate*<uint, uint, int*, void> glGetHistogramParameterivEXT;
internal unsafe delegate*<uint, uint, GLfixed*, void> glGetHistogramParameterxvOES;
internal unsafe delegate*<uint, uint, GlFixed*, void> glGetHistogramParameterxvOES;
internal unsafe delegate*<uint, int, bool, int, uint, ulong> glGetImageHandleARB;
internal unsafe delegate*<uint, int, bool, int, uint, ulong> glGetImageHandleNV;
internal unsafe delegate*<uint, uint, float*, void> glGetImageTransformParameterfvHP;
@@ -785,7 +785,7 @@ namespace StgSharp.Graphics.OpenGL
internal unsafe delegate*<uint, uint, bool*, void> glGetInvariantBooleanvEXT;
internal unsafe delegate*<uint, uint, float*, void> glGetInvariantFloatvEXT;
internal unsafe delegate*<uint, uint, int*, void> glGetInvariantIntegervEXT;
internal unsafe delegate*<uint, uint, GLfixed*, void> glGetLightxOES;
internal unsafe delegate*<uint, uint, GlFixed*, void> glGetLightxOES;
internal unsafe delegate*<uint, uint, float*, void> glGetListParameterfvSGIX;
internal unsafe delegate*<uint, uint, int*, void> glGetListParameterivSGIX;
internal unsafe delegate*<uint, uint, bool*, void> glGetLocalConstantBooleanvEXT;
@@ -796,8 +796,8 @@ namespace StgSharp.Graphics.OpenGL
internal unsafe delegate*<uint, uint, uint, uint, uint, bool, void*, void> glGetMapControlPointsNV;
internal unsafe delegate*<uint, uint, float*, void> glGetMapParameterfvNV;
internal unsafe delegate*<uint, uint, int*, void> glGetMapParameterivNV;
internal unsafe delegate*<uint, uint, GLfixed*, void> glGetMapxvOES;
internal unsafe delegate*<uint, uint, GLfixed, void> glGetMaterialxOES;
internal unsafe delegate*<uint, uint, GlFixed*, void> glGetMapxvOES;
internal unsafe delegate*<uint, uint, GlFixed, void> glGetMaterialxOES;
internal unsafe delegate*<uint, uint, int, uint, uint*, void> glGetMemoryObjectDetachedResourcesuivNV;
internal unsafe delegate*<uint, uint, int*, void> glGetMemoryObjectParameterivEXT;
internal unsafe delegate*<uint, bool, uint, uint, void*, void> glGetMinmaxEXT;
@@ -870,7 +870,7 @@ namespace StgSharp.Graphics.OpenGL
internal unsafe delegate*<uint, uint, uint, void*, uint*, void> glGetPerfQueryDataINTEL;
internal unsafe delegate*<byte*, uint*, void> glGetPerfQueryIdByNameINTEL;
internal unsafe delegate*<uint, uint, byte*, uint*, uint*, uint*, uint*, void> glGetPerfQueryInfoINTEL;
internal unsafe delegate*<uint, int, GLfixed*, void> glGetPixelMapxv;
internal unsafe delegate*<uint, int, GlFixed*, void> glGetPixelMapxv;
internal unsafe delegate*<uint, float*, void> glGetPixelTexGenParameterfvSGIS;
internal unsafe delegate*<uint, int*, void> glGetPixelTexGenParameterivSGIS;
internal unsafe delegate*<uint, uint, float*, void> glGetPixelTransformParameterfvEXT;
@@ -949,13 +949,13 @@ namespace StgSharp.Graphics.OpenGL
internal unsafe delegate*<GLsync, uint, uint, uint*, int*, void> glGetSynciv;
internal unsafe delegate*<uint, float*, void> glGetTexBumpParameterfvATI;
internal unsafe delegate*<uint, int*, void> glGetTexBumpParameterivATI;
internal unsafe delegate*<uint, uint, GLfixed*, void> glGetTexEnvxvOES;
internal unsafe delegate*<uint, uint, GlFixed*, void> glGetTexEnvxvOES;
internal unsafe delegate*<uint, uint, float*, void> glGetTexFilterFuncSGIS;
internal unsafe delegate*<uint, uint, GLfixed*, void> glGetTexGenxvOES;
internal unsafe delegate*<uint, uint, GlFixed*, void> glGetTexGenxvOES;
internal unsafe delegate*<uint, int, uint, uint, void*, void> glGetTexImage;
internal unsafe delegate*<uint, int, uint, float*, void> glGetTexLevelParameterfv;
internal unsafe delegate*<uint, int, uint, int*, void> glGetTexLevelParameteriv;
internal unsafe delegate*<uint, int, uint, GLfixed*, void> glGetTexLevelParameterxvOES;
internal unsafe delegate*<uint, int, uint, GlFixed*, void> glGetTexLevelParameterxvOES;
internal unsafe delegate*<uint, uint, int*, void> glGetTexParameterIiv;
internal unsafe delegate*<uint, uint, int*, void> glGetTexParameterIivEXT;
internal unsafe delegate*<uint, uint, uint*, void> glGetTexParameterIuiv;
@@ -963,7 +963,7 @@ namespace StgSharp.Graphics.OpenGL
internal unsafe delegate*<uint, uint, void**, void> glGetTexParameterPointervAPPLE;
internal unsafe delegate*<uint, uint, float*, void> glGetTexParameterfv;
internal unsafe delegate*<uint, uint, int*, void> glGetTexParameteriv;
internal unsafe delegate*<uint, uint, GLfixed*, void> glGetTexParameterxvOES;
internal unsafe delegate*<uint, uint, GlFixed*, void> glGetTexParameterxvOES;
internal unsafe delegate*<uint, ulong> glGetTextureHandleARB;
internal unsafe delegate*<uint, ulong> glGetTextureHandleNV;
internal unsafe delegate*<uint, int, uint, uint, uint, void*, void> glGetTextureImage;
@@ -1094,12 +1094,12 @@ namespace StgSharp.Graphics.OpenGL
internal unsafe delegate*<uint, uint, void*, void> glImportSemaphoreWin32NameEXT;
internal unsafe delegate*<uint, IntPtr, uint, GLsync> glImportSyncEXT;
internal unsafe delegate*<uint, uint, void> glIndexFormatNV;
internal unsafe delegate*<uint, GLclampf, void> glIndexFuncEXT;
internal unsafe delegate*<uint, GlClampF, void> glIndexFuncEXT;
internal unsafe delegate*<uint, uint, void> glIndexMaterialEXT;
internal unsafe delegate*<uint, uint, uint, void*, void> glIndexPointerEXT;
internal unsafe delegate*<uint, int, void**, int, void> glIndexPointerListIBM;
internal unsafe delegate*<GLfixed, void> glIndexxOES;
internal unsafe delegate*<GLfixed*, void> glIndexxvOES;
internal unsafe delegate*<GlFixed, void> glIndexxOES;
internal unsafe delegate*<GlFixed*, void> glIndexxvOES;
internal unsafe delegate*<uint, uint, uint, void> glInsertComponentEXT;
internal unsafe delegate*<uint, byte*, void> glInsertEventMarkerEXT;
internal unsafe delegate*<uint, int*, void> glInstrumentsBufferSGIX;
@@ -1163,12 +1163,12 @@ namespace StgSharp.Graphics.OpenGL
internal unsafe delegate*<uint, uint, IntPtr, UIntPtr, void*, void> glLGPUNamedBufferSubDataNVX;
internal unsafe delegate*<uint, uint, uint, byte*, void> glLabelObjectEXT;
internal unsafe delegate*<uint, int, void> glLightEnviSGIX;
internal unsafe delegate*<uint, GLfixed, void> glLightModelxOES;
internal unsafe delegate*<uint, GLfixed*, void> glLightModelxvOES;
internal unsafe delegate*<uint, uint, GLfixed, void> glLightxOES;
internal unsafe delegate*<uint, uint, GLfixed*, void> glLightxvOES;
internal unsafe delegate*<uint, GlFixed, void> glLightModelxOES;
internal unsafe delegate*<uint, GlFixed*, void> glLightModelxvOES;
internal unsafe delegate*<uint, uint, GlFixed, void> glLightxOES;
internal unsafe delegate*<uint, uint, GlFixed*, void> glLightxvOES;
internal unsafe delegate*<float, void> glLineWidth;
internal unsafe delegate*<GLfixed, void> glLineWidthxOES;
internal unsafe delegate*<GlFixed, void> glLineWidthxOES;
internal unsafe delegate*<uint, void> glLinkProgram;
internal unsafe delegate*<glHandleARB, void> glLinkProgramARB;
internal unsafe delegate*<uint, uint, void**, uint*, uint*, uint*, uint, void> glListDrawCommandsStatesClientNV;
@@ -1177,11 +1177,11 @@ namespace StgSharp.Graphics.OpenGL
internal unsafe delegate*<uint, uint, int, void> glListParameteriSGIX;
internal unsafe delegate*<uint, uint, int*, void> glListParameterivSGIX;
internal unsafe delegate*<uint, void> glLoadIdentityDeformationMapSGIX;
internal unsafe delegate*<GLfixed*, void> glLoadMatrixxOES;
internal unsafe delegate*<GlFixed*, void> glLoadMatrixxOES;
internal unsafe delegate*<uint, uint, uint, byte*, void> glLoadProgramNV;
internal unsafe delegate*<double*, void> glLoadTransposeMatrixdARB;
internal unsafe delegate*<float*, void> glLoadTransposeMatrixfARB;
internal unsafe delegate*<GLfixed*, void> glLoadTransposeMatrixxOES;
internal unsafe delegate*<GlFixed*, void> glLoadTransposeMatrixxOES;
internal unsafe delegate*<int, uint, void> glLockArraysEXT;
internal unsafe delegate*<uint, void> glLogicOp;
internal unsafe delegate*<uint, void> glMakeBufferNonResidentNV;
@@ -1196,14 +1196,14 @@ namespace StgSharp.Graphics.OpenGL
internal unsafe delegate*<ulong, void> glMakeTextureHandleNonResidentNV;
internal unsafe delegate*<ulong, void> glMakeTextureHandleResidentARB;
internal unsafe delegate*<ulong, void> glMakeTextureHandleResidentNV;
internal unsafe delegate*<uint, GLfixed, GLfixed, int, int, GLfixed, void> glMap1xOES;
internal unsafe delegate*<uint, GLfixed, GLfixed, int, int, GLfixed, GLfixed, int, int, GLfixed, void> glMap2xOES;
internal unsafe delegate*<uint, GlFixed, GlFixed, int, int, GlFixed, void> glMap1xOES;
internal unsafe delegate*<uint, GlFixed, GlFixed, int, int, GlFixed, GlFixed, int, int, GlFixed, void> glMap2xOES;
internal unsafe delegate*<uint, uint, void*> glMapBuffer;
internal unsafe delegate*<uint, uint, void*> glMapBufferARB;
internal unsafe delegate*<uint, IntPtr, UIntPtr, uint, void*> glMapBufferRange;
internal unsafe delegate*<uint, uint, uint, uint, uint, int, int, bool, void*, void> glMapControlPointsNV;
internal unsafe delegate*<int, GLfixed, GLfixed, void> glMapGrid1xOES;
internal unsafe delegate*<int, GLfixed, GLfixed, GLfixed, GLfixed, void> glMapGrid2xOES;
internal unsafe delegate*<int, GlFixed, GlFixed, void> glMapGrid1xOES;
internal unsafe delegate*<int, GlFixed, GlFixed, GlFixed, GlFixed, void> glMapGrid2xOES;
internal unsafe delegate*<uint, uint, void*> glMapNamedBuffer;
internal unsafe delegate*<uint, uint, void*> glMapNamedBufferEXT;
internal unsafe delegate*<uint, IntPtr, UIntPtr, uint, void*> glMapNamedBufferRange;
@@ -1216,8 +1216,8 @@ namespace StgSharp.Graphics.OpenGL
internal unsafe delegate*<uint, uint, float, float, int, int, float*, void> glMapVertexAttrib1fAPPLE;
internal unsafe delegate*<uint, uint, double, double, int, int, double, double, int, int, double*, void> glMapVertexAttrib2dAPPLE;
internal unsafe delegate*<uint, uint, float, float, int, int, float, float, int, int, float*, void> glMapVertexAttrib2fAPPLE;
internal unsafe delegate*<uint, uint, GLfixed, void> glMaterialxOES;
internal unsafe delegate*<uint, uint, GLfixed*, void> glMaterialxvOES;
internal unsafe delegate*<uint, uint, GlFixed, void> glMaterialxOES;
internal unsafe delegate*<uint, uint, GlFixed*, void> glMaterialxvOES;
internal unsafe delegate*<uint, double, double, double, double, double, double, void> glMatrixFrustumEXT;
internal unsafe delegate*<int, uint, uint, void*, void> glMatrixIndexPointerARB;
internal unsafe delegate*<int, byte*, void> glMatrixIndexubvARB;
@@ -1256,10 +1256,10 @@ namespace StgSharp.Graphics.OpenGL
internal unsafe delegate*<float, void> glMinSampleShading;
internal unsafe delegate*<float, void> glMinSampleShadingARB;
internal unsafe delegate*<uint, uint, bool, void> glMinmaxEXT;
internal unsafe delegate*<GLfixed*, void> glMultMatrixxOES;
internal unsafe delegate*<GlFixed*, void> glMultMatrixxOES;
internal unsafe delegate*<double*, void> glMultTransposeMatrixdARB;
internal unsafe delegate*<float*, void> glMultTransposeMatrixfARB;
internal unsafe delegate*<GLfixed*, void> glMultTransposeMatrixxOES;
internal unsafe delegate*<GlFixed*, void> glMultTransposeMatrixxOES;
internal unsafe delegate*<uint, int*, uint*, uint, void> glMultiDrawArrays;
internal unsafe delegate*<uint, int*, uint*, uint, void> glMultiDrawArraysEXT;
internal unsafe delegate*<uint, void*, uint, uint, void> glMultiDrawArraysIndirect;
@@ -1290,56 +1290,56 @@ namespace StgSharp.Graphics.OpenGL
internal unsafe delegate*<uint, double*, void> glMultiTexCoord1dvARB;
internal unsafe delegate*<uint, float, void> glMultiTexCoord1fARB;
internal unsafe delegate*<uint, float*, void> glMultiTexCoord1fvARB;
internal unsafe delegate*<uint, glHalfNV, void> glMultiTexCoord1hNV;
internal unsafe delegate*<uint, glHalfNV*, void> glMultiTexCoord1hvNV;
internal unsafe delegate*<uint, glHalfNv, void> glMultiTexCoord1hNV;
internal unsafe delegate*<uint, glHalfNv*, void> glMultiTexCoord1hvNV;
internal unsafe delegate*<uint, int, void> glMultiTexCoord1iARB;
internal unsafe delegate*<uint, int*, void> glMultiTexCoord1ivARB;
internal unsafe delegate*<uint, short, void> glMultiTexCoord1sARB;
internal unsafe delegate*<uint, short*, void> glMultiTexCoord1svARB;
internal unsafe delegate*<uint, GLfixed, void> glMultiTexCoord1xOES;
internal unsafe delegate*<uint, GLfixed*, void> glMultiTexCoord1xvOES;
internal unsafe delegate*<uint, GlFixed, void> glMultiTexCoord1xOES;
internal unsafe delegate*<uint, GlFixed*, void> glMultiTexCoord1xvOES;
internal unsafe delegate*<uint, sbyte, sbyte, void> glMultiTexCoord2bOES;
internal unsafe delegate*<uint, sbyte*, void> glMultiTexCoord2bvOES;
internal unsafe delegate*<uint, double, double, void> glMultiTexCoord2dARB;
internal unsafe delegate*<uint, double*, void> glMultiTexCoord2dvARB;
internal unsafe delegate*<uint, float, float, void> glMultiTexCoord2fARB;
internal unsafe delegate*<uint, float*, void> glMultiTexCoord2fvARB;
internal unsafe delegate*<uint, glHalfNV, glHalfNV, void> glMultiTexCoord2hNV;
internal unsafe delegate*<uint, glHalfNV*, void> glMultiTexCoord2hvNV;
internal unsafe delegate*<uint, glHalfNv, glHalfNv, void> glMultiTexCoord2hNV;
internal unsafe delegate*<uint, glHalfNv*, void> glMultiTexCoord2hvNV;
internal unsafe delegate*<uint, int, int, void> glMultiTexCoord2iARB;
internal unsafe delegate*<uint, int*, void> glMultiTexCoord2ivARB;
internal unsafe delegate*<uint, short, short, void> glMultiTexCoord2sARB;
internal unsafe delegate*<uint, short*, void> glMultiTexCoord2svARB;
internal unsafe delegate*<uint, GLfixed, GLfixed, void> glMultiTexCoord2xOES;
internal unsafe delegate*<uint, GLfixed*, void> glMultiTexCoord2xvOES;
internal unsafe delegate*<uint, GlFixed, GlFixed, void> glMultiTexCoord2xOES;
internal unsafe delegate*<uint, GlFixed*, void> glMultiTexCoord2xvOES;
internal unsafe delegate*<uint, sbyte, sbyte, sbyte, void> glMultiTexCoord3bOES;
internal unsafe delegate*<uint, sbyte*, void> glMultiTexCoord3bvOES;
internal unsafe delegate*<uint, double, double, double, void> glMultiTexCoord3dARB;
internal unsafe delegate*<uint, double*, void> glMultiTexCoord3dvARB;
internal unsafe delegate*<uint, float, float, float, void> glMultiTexCoord3fARB;
internal unsafe delegate*<uint, float*, void> glMultiTexCoord3fvARB;
internal unsafe delegate*<uint, glHalfNV, glHalfNV, glHalfNV, void> glMultiTexCoord3hNV;
internal unsafe delegate*<uint, glHalfNV*, void> glMultiTexCoord3hvNV;
internal unsafe delegate*<uint, glHalfNv, glHalfNv, glHalfNv, void> glMultiTexCoord3hNV;
internal unsafe delegate*<uint, glHalfNv*, void> glMultiTexCoord3hvNV;
internal unsafe delegate*<uint, int, int, int, void> glMultiTexCoord3iARB;
internal unsafe delegate*<uint, int*, void> glMultiTexCoord3ivARB;
internal unsafe delegate*<uint, short, short, short, void> glMultiTexCoord3sARB;
internal unsafe delegate*<uint, short*, void> glMultiTexCoord3svARB;
internal unsafe delegate*<uint, GLfixed, GLfixed, GLfixed, void> glMultiTexCoord3xOES;
internal unsafe delegate*<uint, GLfixed*, void> glMultiTexCoord3xvOES;
internal unsafe delegate*<uint, GlFixed, GlFixed, GlFixed, void> glMultiTexCoord3xOES;
internal unsafe delegate*<uint, GlFixed*, void> glMultiTexCoord3xvOES;
internal unsafe delegate*<uint, sbyte, sbyte, sbyte, sbyte, void> glMultiTexCoord4bOES;
internal unsafe delegate*<uint, sbyte*, void> glMultiTexCoord4bvOES;
internal unsafe delegate*<uint, double, double, double, double, void> glMultiTexCoord4dARB;
internal unsafe delegate*<uint, double*, void> glMultiTexCoord4dvARB;
internal unsafe delegate*<uint, float, float, float, float, void> glMultiTexCoord4fARB;
internal unsafe delegate*<uint, float*, void> glMultiTexCoord4fvARB;
internal unsafe delegate*<uint, glHalfNV, glHalfNV, glHalfNV, glHalfNV, void> glMultiTexCoord4hNV;
internal unsafe delegate*<uint, glHalfNV*, void> glMultiTexCoord4hvNV;
internal unsafe delegate*<uint, glHalfNv, glHalfNv, glHalfNv, glHalfNv, void> glMultiTexCoord4hNV;
internal unsafe delegate*<uint, glHalfNv*, void> glMultiTexCoord4hvNV;
internal unsafe delegate*<uint, int, int, int, int, void> glMultiTexCoord4iARB;
internal unsafe delegate*<uint, int*, void> glMultiTexCoord4ivARB;
internal unsafe delegate*<uint, short, short, short, short, void> glMultiTexCoord4sARB;
internal unsafe delegate*<uint, short*, void> glMultiTexCoord4svARB;
internal unsafe delegate*<uint, GLfixed, GLfixed, GLfixed, GLfixed, void> glMultiTexCoord4xOES;
internal unsafe delegate*<uint, GLfixed*, void> glMultiTexCoord4xvOES;
internal unsafe delegate*<uint, GlFixed, GlFixed, GlFixed, GlFixed, void> glMultiTexCoord4xOES;
internal unsafe delegate*<uint, GlFixed*, void> glMultiTexCoord4xvOES;
internal unsafe delegate*<uint, int, uint, uint, void*, void> glMultiTexCoordPointerEXT;
internal unsafe delegate*<uint, uint, uint, float, void> glMultiTexEnvfEXT;
internal unsafe delegate*<uint, uint, uint, float*, void> glMultiTexEnvfvEXT;
@@ -1431,10 +1431,10 @@ namespace StgSharp.Graphics.OpenGL
internal unsafe delegate*<uint, void*, uint, uint> glNewObjectBufferATI;
internal unsafe delegate*<float, float, float, float, float, float, void> glNormal3fVertex3fSUN;
internal unsafe delegate*<float*, float*, void> glNormal3fVertex3fvSUN;
internal unsafe delegate*<glHalfNV, glHalfNV, glHalfNV, void> glNormal3hNV;
internal unsafe delegate*<glHalfNV*, void> glNormal3hvNV;
internal unsafe delegate*<GLfixed, GLfixed, GLfixed, void> glNormal3xOES;
internal unsafe delegate*<GLfixed*, void> glNormal3xvOES;
internal unsafe delegate*<glHalfNv, glHalfNv, glHalfNv, void> glNormal3hNV;
internal unsafe delegate*<glHalfNv*, void> glNormal3hvNV;
internal unsafe delegate*<GlFixed, GlFixed, GlFixed, void> glNormal3xOES;
internal unsafe delegate*<GlFixed*, void> glNormal3xvOES;
internal unsafe delegate*<uint, uint, void> glNormalFormatNV;
internal unsafe delegate*<uint, uint, uint, void*, void> glNormalPointerEXT;
internal unsafe delegate*<uint, int, void**, int, void> glNormalPointerListIBM;
@@ -1454,11 +1454,11 @@ namespace StgSharp.Graphics.OpenGL
internal unsafe delegate*<uint, uint, uint, uint> glObjectPurgeableAPPLE;
internal unsafe delegate*<uint, uint, uint, uint> glObjectUnpurgeableAPPLE;
internal unsafe delegate*<float, float, float, float, float, float, void> glOrthofOES;
internal unsafe delegate*<GLfixed, GLfixed, GLfixed, GLfixed, GLfixed, GLfixed, void> glOrthoxOES;
internal unsafe delegate*<GlFixed, GlFixed, GlFixed, GlFixed, GlFixed, GlFixed, void> glOrthoxOES;
internal unsafe delegate*<uint, float, void> glPNTrianglesfATI;
internal unsafe delegate*<uint, int, void> glPNTrianglesiATI;
internal unsafe delegate*<uint, uint, uint, void> glPassTexCoordATI;
internal unsafe delegate*<GLfixed, void> glPassThroughxOES;
internal unsafe delegate*<GlFixed, void> glPassThroughxOES;
internal unsafe delegate*<uint, float*, void> glPatchParameterfv;
internal unsafe delegate*<uint, int, void> glPatchParameteri;
internal unsafe delegate*<uint, uint, byte*, uint, uint, void*, void> glPathCommandsNV;
@@ -1482,21 +1482,21 @@ namespace StgSharp.Graphics.OpenGL
internal unsafe delegate*<void> glPauseTransformFeedback;
internal unsafe delegate*<void> glPauseTransformFeedbackNV;
internal unsafe delegate*<uint, uint, void*, void> glPixelDataRangeNV;
internal unsafe delegate*<uint, int, GLfixed*, void> glPixelMapx;
internal unsafe delegate*<uint, int, GlFixed*, void> glPixelMapx;
internal unsafe delegate*<uint, float, void> glPixelStoref;
internal unsafe delegate*<uint, int, void> glPixelStorei;
internal unsafe delegate*<uint, GLfixed, void> glPixelStorex;
internal unsafe delegate*<uint, GlFixed, void> glPixelStorex;
internal unsafe delegate*<uint, float, void> glPixelTexGenParameterfSGIS;
internal unsafe delegate*<uint, float*, void> glPixelTexGenParameterfvSGIS;
internal unsafe delegate*<uint, int, void> glPixelTexGenParameteriSGIS;
internal unsafe delegate*<uint, int*, void> glPixelTexGenParameterivSGIS;
internal unsafe delegate*<uint, void> glPixelTexGenSGIX;
internal unsafe delegate*<uint, GLfixed, void> glPixelTransferxOES;
internal unsafe delegate*<uint, GlFixed, void> glPixelTransferxOES;
internal unsafe delegate*<uint, uint, float, void> glPixelTransformParameterfEXT;
internal unsafe delegate*<uint, uint, float*, void> glPixelTransformParameterfvEXT;
internal unsafe delegate*<uint, uint, int, void> glPixelTransformParameteriEXT;
internal unsafe delegate*<uint, uint, int*, void> glPixelTransformParameterivEXT;
internal unsafe delegate*<GLfixed, GLfixed, void> glPixelZoomxOES;
internal unsafe delegate*<GlFixed, GlFixed, void> glPixelZoomxOES;
internal unsafe delegate*<uint, uint, uint, float, float*, float*, float*, float*, bool> glPointAlongPathNV;
internal unsafe delegate*<uint, float, void> glPointParameterf;
internal unsafe delegate*<uint, float, void> glPointParameterfARB;
@@ -1510,9 +1510,9 @@ namespace StgSharp.Graphics.OpenGL
internal unsafe delegate*<uint, int, void> glPointParameteriNV;
internal unsafe delegate*<uint, int*, void> glPointParameteriv;
internal unsafe delegate*<uint, int*, void> glPointParameterivNV;
internal unsafe delegate*<uint, GLfixed*, void> glPointParameterxvOES;
internal unsafe delegate*<uint, GlFixed*, void> glPointParameterxvOES;
internal unsafe delegate*<float, void> glPointSize;
internal unsafe delegate*<GLfixed, void> glPointSizexOES;
internal unsafe delegate*<GlFixed, void> glPointSizexOES;
internal unsafe delegate*<uint*, int> glPollAsyncSGIX;
internal unsafe delegate*<int*, int> glPollInstrumentsSGIX;
internal unsafe delegate*<uint, uint, void> glPolygonMode;
@@ -1520,7 +1520,7 @@ namespace StgSharp.Graphics.OpenGL
internal unsafe delegate*<float, float, float, void> glPolygonOffsetClamp;
internal unsafe delegate*<float, float, float, void> glPolygonOffsetClampEXT;
internal unsafe delegate*<float, float, void> glPolygonOffsetEXT;
internal unsafe delegate*<GLfixed, GLfixed, void> glPolygonOffsetxOES;
internal unsafe delegate*<GlFixed, GlFixed, void> glPolygonOffsetxOES;
internal unsafe delegate*<void> glPopDebugGroup;
internal unsafe delegate*<void> glPopGroupMarkerEXT;
internal unsafe delegate*<uint, ulong, uint, uint, uint, uint, uint, uint, uint, uint, uint, uint, uint, void> glPresentFrameDualFillNV;
@@ -1529,8 +1529,8 @@ namespace StgSharp.Graphics.OpenGL
internal unsafe delegate*<uint, void> glPrimitiveRestartIndex;
internal unsafe delegate*<uint, void> glPrimitiveRestartIndexNV;
internal unsafe delegate*<void> glPrimitiveRestartNV;
internal unsafe delegate*<uint, uint*, GLclampf*, void> glPrioritizeTexturesEXT;
internal unsafe delegate*<uint, uint*, GLfixed*, void> glPrioritizeTexturesxOES;
internal unsafe delegate*<uint, uint*, GlClampF*, void> glPrioritizeTexturesEXT;
internal unsafe delegate*<uint, uint*, GlFixed*, void> glPrioritizeTexturesxOES;
internal unsafe delegate*<uint, uint, void*, uint, void> glProgramBinary;
internal unsafe delegate*<uint, uint, uint, uint, int*, void> glProgramBufferParametersIivNV;
internal unsafe delegate*<uint, uint, uint, uint, uint*, void> glProgramBufferParametersIuivNV;
@@ -1718,24 +1718,24 @@ namespace StgSharp.Graphics.OpenGL
internal unsafe delegate*<uint, uint, uint, byte*, void> glPushDebugGroup;
internal unsafe delegate*<uint, byte*, void> glPushGroupMarkerEXT;
internal unsafe delegate*<uint, uint, void> glQueryCounter;
internal unsafe delegate*<GLfixed*, int*, uint> glQueryMatrixxOES;
internal unsafe delegate*<GlFixed*, int*, uint> glQueryMatrixxOES;
internal unsafe delegate*<uint, uint, uint, uint, void> glQueryObjectParameteruiAMD;
internal unsafe delegate*<uint, int, uint, int*, int> glQueryResourceNV;
internal unsafe delegate*<int, byte*, void> glQueryResourceTagNV;
internal unsafe delegate*<GLfixed, GLfixed, void> glRasterPos2xOES;
internal unsafe delegate*<GLfixed*, void> glRasterPos2xvOES;
internal unsafe delegate*<GLfixed, GLfixed, GLfixed, void> glRasterPos3xOES;
internal unsafe delegate*<GLfixed*, void> glRasterPos3xvOES;
internal unsafe delegate*<GLfixed, GLfixed, GLfixed, GLfixed, void> glRasterPos4xOES;
internal unsafe delegate*<GLfixed*, void> glRasterPos4xvOES;
internal unsafe delegate*<GlFixed, GlFixed, void> glRasterPos2xOES;
internal unsafe delegate*<GlFixed*, void> glRasterPos2xvOES;
internal unsafe delegate*<GlFixed, GlFixed, GlFixed, void> glRasterPos3xOES;
internal unsafe delegate*<GlFixed*, void> glRasterPos3xvOES;
internal unsafe delegate*<GlFixed, GlFixed, GlFixed, GlFixed, void> glRasterPos4xOES;
internal unsafe delegate*<GlFixed*, void> glRasterPos4xvOES;
internal unsafe delegate*<uint, bool, void> glRasterSamplesEXT;
internal unsafe delegate*<uint, void> glReadBuffer;
internal unsafe delegate*<int, void> glReadInstrumentsSGIX;
internal unsafe delegate*<int, int, int, int, uint, uint, void*, void> glReadPixels;
internal unsafe delegate*<int, int, int, int, uint, uint, uint, void*, void> glReadnPixels;
internal unsafe delegate*<int, int, int, int, uint, uint, uint, void*, void> glReadnPixelsARB;
internal unsafe delegate*<GLfixed, GLfixed, GLfixed, GLfixed, void> glRectxOES;
internal unsafe delegate*<GLfixed*, GLfixed*, void> glRectxvOES;
internal unsafe delegate*<GlFixed, GlFixed, GlFixed, GlFixed, void> glRectxOES;
internal unsafe delegate*<GlFixed*, GlFixed*, void> glRectxvOES;
internal unsafe delegate*<double*, void> glReferencePlaneSGIX;
internal unsafe delegate*<uint, ulong, bool> glReleaseKeyedMutexWin32EXT;
internal unsafe delegate*<void> glReleaseShaderCompiler;
@@ -1777,13 +1777,13 @@ namespace StgSharp.Graphics.OpenGL
internal unsafe delegate*<void> glResolveDepthValuesNV;
internal unsafe delegate*<void> glResumeTransformFeedback;
internal unsafe delegate*<void> glResumeTransformFeedbackNV;
internal unsafe delegate*<GLfixed, GLfixed, GLfixed, GLfixed, void> glRotatexOES;
internal unsafe delegate*<GlFixed, GlFixed, GlFixed, GlFixed, void> glRotatexOES;
internal unsafe delegate*<float, bool, void> glSampleCoverage;
internal unsafe delegate*<float, bool, void> glSampleCoverageARB;
internal unsafe delegate*<uint, uint, uint, void> glSampleMapATI;
internal unsafe delegate*<GLclampf, bool, void> glSampleMaskEXT;
internal unsafe delegate*<GlClampF, bool, void> glSampleMaskEXT;
internal unsafe delegate*<uint, uint, void> glSampleMaskIndexedNV;
internal unsafe delegate*<GLclampf, bool, void> glSampleMaskSGIS;
internal unsafe delegate*<GlClampF, bool, void> glSampleMaskSGIS;
internal unsafe delegate*<uint, uint, void> glSampleMaski;
internal unsafe delegate*<uint, void> glSamplePatternEXT;
internal unsafe delegate*<uint, void> glSamplePatternSGIS;
@@ -1793,7 +1793,7 @@ namespace StgSharp.Graphics.OpenGL
internal unsafe delegate*<uint, uint, float*, void> glSamplerParameterfv;
internal unsafe delegate*<uint, uint, int, void> glSamplerParameteri;
internal unsafe delegate*<uint, uint, int*, void> glSamplerParameteriv;
internal unsafe delegate*<GLfixed, GLfixed, GLfixed, void> glScalexOES;
internal unsafe delegate*<GlFixed, GlFixed, GlFixed, void> glScalexOES;
internal unsafe delegate*<int, int, uint, uint, void> glScissor;
internal unsafe delegate*<uint, uint, int*, void> glScissorArrayv;
internal unsafe delegate*<uint, uint, int*, void> glScissorExclusiveArrayvNV;
@@ -1806,8 +1806,8 @@ namespace StgSharp.Graphics.OpenGL
internal unsafe delegate*<double*, void> glSecondaryColor3dvEXT;
internal unsafe delegate*<float, float, float, void> glSecondaryColor3fEXT;
internal unsafe delegate*<float*, void> glSecondaryColor3fvEXT;
internal unsafe delegate*<glHalfNV, glHalfNV, glHalfNV, void> glSecondaryColor3hNV;
internal unsafe delegate*<glHalfNV*, void> glSecondaryColor3hvNV;
internal unsafe delegate*<glHalfNv, glHalfNv, glHalfNv, void> glSecondaryColor3hNV;
internal unsafe delegate*<glHalfNv*, void> glSecondaryColor3hvNV;
internal unsafe delegate*<int, int, int, void> glSecondaryColor3iEXT;
internal unsafe delegate*<int*, void> glSecondaryColor3ivEXT;
internal unsafe delegate*<short, short, short, void> glSecondaryColor3sEXT;
@@ -1905,10 +1905,10 @@ namespace StgSharp.Graphics.OpenGL
internal unsafe delegate*<uint, int*, void> glTexBumpParameterivATI;
internal unsafe delegate*<sbyte, void> glTexCoord1bOES;
internal unsafe delegate*<sbyte*, void> glTexCoord1bvOES;
internal unsafe delegate*<glHalfNV, void> glTexCoord1hNV;
internal unsafe delegate*<glHalfNV*, void> glTexCoord1hvNV;
internal unsafe delegate*<GLfixed, void> glTexCoord1xOES;
internal unsafe delegate*<GLfixed*, void> glTexCoord1xvOES;
internal unsafe delegate*<glHalfNv, void> glTexCoord1hNV;
internal unsafe delegate*<glHalfNv*, void> glTexCoord1hvNV;
internal unsafe delegate*<GlFixed, void> glTexCoord1xOES;
internal unsafe delegate*<GlFixed*, void> glTexCoord1xvOES;
internal unsafe delegate*<sbyte, sbyte, void> glTexCoord2bOES;
internal unsafe delegate*<sbyte*, void> glTexCoord2bvOES;
internal unsafe delegate*<float, float, float, float, float, float, float, float, void> glTexCoord2fColor3fVertex3fSUN;
@@ -1921,35 +1921,35 @@ namespace StgSharp.Graphics.OpenGL
internal unsafe delegate*<float*, float*, float*, void> glTexCoord2fNormal3fVertex3fvSUN;
internal unsafe delegate*<float, float, float, float, float, void> glTexCoord2fVertex3fSUN;
internal unsafe delegate*<float*, float*, void> glTexCoord2fVertex3fvSUN;
internal unsafe delegate*<glHalfNV, glHalfNV, void> glTexCoord2hNV;
internal unsafe delegate*<glHalfNV*, void> glTexCoord2hvNV;
internal unsafe delegate*<GLfixed, GLfixed, void> glTexCoord2xOES;
internal unsafe delegate*<GLfixed*, void> glTexCoord2xvOES;
internal unsafe delegate*<glHalfNv, glHalfNv, void> glTexCoord2hNV;
internal unsafe delegate*<glHalfNv*, void> glTexCoord2hvNV;
internal unsafe delegate*<GlFixed, GlFixed, void> glTexCoord2xOES;
internal unsafe delegate*<GlFixed*, void> glTexCoord2xvOES;
internal unsafe delegate*<sbyte, sbyte, sbyte, void> glTexCoord3bOES;
internal unsafe delegate*<sbyte*, void> glTexCoord3bvOES;
internal unsafe delegate*<glHalfNV, glHalfNV, glHalfNV, void> glTexCoord3hNV;
internal unsafe delegate*<glHalfNV*, void> glTexCoord3hvNV;
internal unsafe delegate*<GLfixed, GLfixed, GLfixed, void> glTexCoord3xOES;
internal unsafe delegate*<GLfixed*, void> glTexCoord3xvOES;
internal unsafe delegate*<glHalfNv, glHalfNv, glHalfNv, void> glTexCoord3hNV;
internal unsafe delegate*<glHalfNv*, void> glTexCoord3hvNV;
internal unsafe delegate*<GlFixed, GlFixed, GlFixed, void> glTexCoord3xOES;
internal unsafe delegate*<GlFixed*, void> glTexCoord3xvOES;
internal unsafe delegate*<sbyte, sbyte, sbyte, sbyte, void> glTexCoord4bOES;
internal unsafe delegate*<sbyte*, void> glTexCoord4bvOES;
internal unsafe delegate*<float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, void> glTexCoord4fColor4fNormal3fVertex4fSUN;
internal unsafe delegate*<float*, float*, float*, float*, void> glTexCoord4fColor4fNormal3fVertex4fvSUN;
internal unsafe delegate*<float, float, float, float, float, float, float, float, void> glTexCoord4fVertex4fSUN;
internal unsafe delegate*<float*, float*, void> glTexCoord4fVertex4fvSUN;
internal unsafe delegate*<glHalfNV, glHalfNV, glHalfNV, glHalfNV, void> glTexCoord4hNV;
internal unsafe delegate*<glHalfNV*, void> glTexCoord4hvNV;
internal unsafe delegate*<GLfixed, GLfixed, GLfixed, GLfixed, void> glTexCoord4xOES;
internal unsafe delegate*<GLfixed*, void> glTexCoord4xvOES;
internal unsafe delegate*<glHalfNv, glHalfNv, glHalfNv, glHalfNv, void> glTexCoord4hNV;
internal unsafe delegate*<glHalfNv*, void> glTexCoord4hvNV;
internal unsafe delegate*<GlFixed, GlFixed, GlFixed, GlFixed, void> glTexCoord4xOES;
internal unsafe delegate*<GlFixed*, void> glTexCoord4xvOES;
internal unsafe delegate*<int, uint, uint, void> glTexCoordFormatNV;
internal unsafe delegate*<int, uint, uint, uint, void*, void> glTexCoordPointerEXT;
internal unsafe delegate*<int, uint, int, void**, int, void> glTexCoordPointerListIBM;
internal unsafe delegate*<int, uint, void**, void> glTexCoordPointervINTEL;
internal unsafe delegate*<uint, uint, GLfixed, void> glTexEnvxOES;
internal unsafe delegate*<uint, uint, GLfixed*, void> glTexEnvxvOES;
internal unsafe delegate*<uint, uint, GlFixed, void> glTexEnvxOES;
internal unsafe delegate*<uint, uint, GlFixed*, void> glTexEnvxvOES;
internal unsafe delegate*<uint, uint, uint, float*, void> glTexFilterFuncSGIS;
internal unsafe delegate*<uint, uint, GLfixed, void> glTexGenxOES;
internal unsafe delegate*<uint, uint, GLfixed*, void> glTexGenxvOES;
internal unsafe delegate*<uint, uint, GlFixed, void> glTexGenxOES;
internal unsafe delegate*<uint, uint, GlFixed*, void> glTexGenxvOES;
internal unsafe delegate*<uint, int, int, uint, int, uint, uint, void*, void> glTexImage1D;
internal unsafe delegate*<uint, int, uint, uint, uint, int, uint, uint, void*, void> glTexImage2D;
internal unsafe delegate*<uint, uint, uint, uint, uint, bool, void> glTexImage2DMultisample;
@@ -1969,8 +1969,8 @@ namespace StgSharp.Graphics.OpenGL
internal unsafe delegate*<uint, uint, float*, void> glTexParameterfv;
internal unsafe delegate*<uint, uint, int, void> glTexParameteri;
internal unsafe delegate*<uint, uint, int*, void> glTexParameteriv;
internal unsafe delegate*<uint, uint, GLfixed, void> glTexParameterxOES;
internal unsafe delegate*<uint, uint, GLfixed*, void> glTexParameterxvOES;
internal unsafe delegate*<uint, uint, GlFixed, void> glTexParameterxOES;
internal unsafe delegate*<uint, uint, GlFixed*, void> glTexParameterxvOES;
internal unsafe delegate*<uint, uint, void> glTexRenderbufferNV;
internal unsafe delegate*<uint, uint, uint, uint, void> glTexStorage1D;
internal unsafe delegate*<uint, uint, uint, uint, void> glTexStorage1DEXT;
@@ -2059,7 +2059,7 @@ namespace StgSharp.Graphics.OpenGL
internal unsafe delegate*<uint, uint, byte*, byte*, uint, void> glTransformFeedbackVaryingsEXT;
internal unsafe delegate*<uint, uint, int*, uint, void> glTransformFeedbackVaryingsNV;
internal unsafe delegate*<uint, uint, uint, float*, void> glTransformPathNV;
internal unsafe delegate*<GLfixed, GLfixed, GLfixed, void> glTranslatexOES;
internal unsafe delegate*<GlFixed, GlFixed, GlFixed, void> glTranslatexOES;
internal unsafe delegate*<int, double, void> glUniform1d;
internal unsafe delegate*<int, uint, double*, void> glUniform1dv;
internal unsafe delegate*<int, float, void> glUniform1f;
@@ -2217,22 +2217,22 @@ namespace StgSharp.Graphics.OpenGL
internal unsafe delegate*<uint, ushort*, void> glVariantusvEXT;
internal unsafe delegate*<sbyte, sbyte, void> glVertex2bOES;
internal unsafe delegate*<sbyte*, void> glVertex2bvOES;
internal unsafe delegate*<glHalfNV, glHalfNV, void> glVertex2hNV;
internal unsafe delegate*<glHalfNV*, void> glVertex2hvNV;
internal unsafe delegate*<GLfixed, void> glVertex2xOES;
internal unsafe delegate*<GLfixed*, void> glVertex2xvOES;
internal unsafe delegate*<glHalfNv, glHalfNv, void> glVertex2hNV;
internal unsafe delegate*<glHalfNv*, void> glVertex2hvNV;
internal unsafe delegate*<GlFixed, void> glVertex2xOES;
internal unsafe delegate*<GlFixed*, void> glVertex2xvOES;
internal unsafe delegate*<sbyte, sbyte, sbyte, void> glVertex3bOES;
internal unsafe delegate*<sbyte*, void> glVertex3bvOES;
internal unsafe delegate*<glHalfNV, glHalfNV, glHalfNV, void> glVertex3hNV;
internal unsafe delegate*<glHalfNV*, void> glVertex3hvNV;
internal unsafe delegate*<GLfixed, GLfixed, void> glVertex3xOES;
internal unsafe delegate*<GLfixed*, void> glVertex3xvOES;
internal unsafe delegate*<glHalfNv, glHalfNv, glHalfNv, void> glVertex3hNV;
internal unsafe delegate*<glHalfNv*, void> glVertex3hvNV;
internal unsafe delegate*<GlFixed, GlFixed, void> glVertex3xOES;
internal unsafe delegate*<GlFixed*, void> glVertex3xvOES;
internal unsafe delegate*<sbyte, sbyte, sbyte, sbyte, void> glVertex4bOES;
internal unsafe delegate*<sbyte*, void> glVertex4bvOES;
internal unsafe delegate*<glHalfNV, glHalfNV, glHalfNV, glHalfNV, void> glVertex4hNV;
internal unsafe delegate*<glHalfNV*, void> glVertex4hvNV;
internal unsafe delegate*<GLfixed, GLfixed, GLfixed, void> glVertex4xOES;
internal unsafe delegate*<GLfixed*, void> glVertex4xvOES;
internal unsafe delegate*<glHalfNv, glHalfNv, glHalfNv, glHalfNv, void> glVertex4hNV;
internal unsafe delegate*<glHalfNv*, void> glVertex4hvNV;
internal unsafe delegate*<GlFixed, GlFixed, GlFixed, void> glVertex4xOES;
internal unsafe delegate*<GlFixed*, void> glVertex4xvOES;
internal unsafe delegate*<uint, uint, uint, void> glVertexArrayAttribBinding;
internal unsafe delegate*<uint, uint, int, uint, bool, uint, void> glVertexArrayAttribFormat;
internal unsafe delegate*<uint, uint, int, uint, uint, void> glVertexArrayAttribIFormat;
@@ -2275,8 +2275,8 @@ namespace StgSharp.Graphics.OpenGL
internal unsafe delegate*<uint, float*, void> glVertexAttrib1fv;
internal unsafe delegate*<uint, float*, void> glVertexAttrib1fvARB;
internal unsafe delegate*<uint, float*, void> glVertexAttrib1fvNV;
internal unsafe delegate*<uint, glHalfNV, void> glVertexAttrib1hNV;
internal unsafe delegate*<uint, glHalfNV*, void> glVertexAttrib1hvNV;
internal unsafe delegate*<uint, glHalfNv, void> glVertexAttrib1hNV;
internal unsafe delegate*<uint, glHalfNv*, void> glVertexAttrib1hvNV;
internal unsafe delegate*<uint, short, void> glVertexAttrib1s;
internal unsafe delegate*<uint, short, void> glVertexAttrib1sARB;
internal unsafe delegate*<uint, short, void> glVertexAttrib1sNV;
@@ -2295,8 +2295,8 @@ namespace StgSharp.Graphics.OpenGL
internal unsafe delegate*<uint, float*, void> glVertexAttrib2fv;
internal unsafe delegate*<uint, float*, void> glVertexAttrib2fvARB;
internal unsafe delegate*<uint, float*, void> glVertexAttrib2fvNV;
internal unsafe delegate*<uint, glHalfNV, glHalfNV, void> glVertexAttrib2hNV;
internal unsafe delegate*<uint, glHalfNV*, void> glVertexAttrib2hvNV;
internal unsafe delegate*<uint, glHalfNv, glHalfNv, void> glVertexAttrib2hNV;
internal unsafe delegate*<uint, glHalfNv*, void> glVertexAttrib2hvNV;
internal unsafe delegate*<uint, short, short, void> glVertexAttrib2s;
internal unsafe delegate*<uint, short, short, void> glVertexAttrib2sARB;
internal unsafe delegate*<uint, short, short, void> glVertexAttrib2sNV;
@@ -2315,8 +2315,8 @@ namespace StgSharp.Graphics.OpenGL
internal unsafe delegate*<uint, float*, void> glVertexAttrib3fv;
internal unsafe delegate*<uint, float*, void> glVertexAttrib3fvARB;
internal unsafe delegate*<uint, float*, void> glVertexAttrib3fvNV;
internal unsafe delegate*<uint, glHalfNV, glHalfNV, glHalfNV, void> glVertexAttrib3hNV;
internal unsafe delegate*<uint, glHalfNV*, void> glVertexAttrib3hvNV;
internal unsafe delegate*<uint, glHalfNv, glHalfNv, glHalfNv, void> glVertexAttrib3hNV;
internal unsafe delegate*<uint, glHalfNv*, void> glVertexAttrib3hvNV;
internal unsafe delegate*<uint, short, short, short, void> glVertexAttrib3s;
internal unsafe delegate*<uint, short, short, short, void> glVertexAttrib3sARB;
internal unsafe delegate*<uint, short, short, short, void> glVertexAttrib3sNV;
@@ -2351,8 +2351,8 @@ namespace StgSharp.Graphics.OpenGL
internal unsafe delegate*<uint, float*, void> glVertexAttrib4fv;
internal unsafe delegate*<uint, float*, void> glVertexAttrib4fvARB;
internal unsafe delegate*<uint, float*, void> glVertexAttrib4fvNV;
internal unsafe delegate*<uint, glHalfNV, glHalfNV, glHalfNV, glHalfNV, void> glVertexAttrib4hNV;
internal unsafe delegate*<uint, glHalfNV*, void> glVertexAttrib4hvNV;
internal unsafe delegate*<uint, glHalfNv, glHalfNv, glHalfNv, glHalfNv, void> glVertexAttrib4hNV;
internal unsafe delegate*<uint, glHalfNv*, void> glVertexAttrib4hvNV;
internal unsafe delegate*<uint, int*, void> glVertexAttrib4iv;
internal unsafe delegate*<uint, int*, void> glVertexAttrib4ivARB;
internal unsafe delegate*<uint, short, short, short, short, void> glVertexAttrib4s;
@@ -2471,19 +2471,19 @@ namespace StgSharp.Graphics.OpenGL
internal unsafe delegate*<uint, int, uint, uint, void*, void> glVertexAttribPointerNV;
internal unsafe delegate*<uint, uint, double*, void> glVertexAttribs1dvNV;
internal unsafe delegate*<uint, uint, float*, void> glVertexAttribs1fvNV;
internal unsafe delegate*<uint, uint, glHalfNV*, void> glVertexAttribs1hvNV;
internal unsafe delegate*<uint, uint, glHalfNv*, void> glVertexAttribs1hvNV;
internal unsafe delegate*<uint, uint, short*, void> glVertexAttribs1svNV;
internal unsafe delegate*<uint, uint, double*, void> glVertexAttribs2dvNV;
internal unsafe delegate*<uint, uint, float*, void> glVertexAttribs2fvNV;
internal unsafe delegate*<uint, uint, glHalfNV*, void> glVertexAttribs2hvNV;
internal unsafe delegate*<uint, uint, glHalfNv*, void> glVertexAttribs2hvNV;
internal unsafe delegate*<uint, uint, short*, void> glVertexAttribs2svNV;
internal unsafe delegate*<uint, uint, double*, void> glVertexAttribs3dvNV;
internal unsafe delegate*<uint, uint, float*, void> glVertexAttribs3fvNV;
internal unsafe delegate*<uint, uint, glHalfNV*, void> glVertexAttribs3hvNV;
internal unsafe delegate*<uint, uint, glHalfNv*, void> glVertexAttribs3hvNV;
internal unsafe delegate*<uint, uint, short*, void> glVertexAttribs3svNV;
internal unsafe delegate*<uint, uint, double*, void> glVertexAttribs4dvNV;
internal unsafe delegate*<uint, uint, float*, void> glVertexAttribs4fvNV;
internal unsafe delegate*<uint, uint, glHalfNV*, void> glVertexAttribs4hvNV;
internal unsafe delegate*<uint, uint, glHalfNv*, void> glVertexAttribs4hvNV;
internal unsafe delegate*<uint, uint, short*, void> glVertexAttribs4svNV;
internal unsafe delegate*<uint, uint, byte*, void> glVertexAttribs4ubvNV;
internal unsafe delegate*<uint, uint, void> glVertexBindingDivisor;
@@ -2529,8 +2529,8 @@ namespace StgSharp.Graphics.OpenGL
internal unsafe delegate*<int, uint, uint, void*, void> glVertexWeightPointerEXT;
internal unsafe delegate*<float, void> glVertexWeightfEXT;
internal unsafe delegate*<float*, void> glVertexWeightfvEXT;
internal unsafe delegate*<glHalfNV, void> glVertexWeighthNV;
internal unsafe delegate*<glHalfNV*, void> glVertexWeighthvNV;
internal unsafe delegate*<glHalfNv, void> glVertexWeighthNV;
internal unsafe delegate*<glHalfNv*, void> glVertexWeighthvNV;
internal unsafe delegate*<uint, uint*, ulong*, uint> glVideoCaptureNV;
internal unsafe delegate*<uint, uint, uint, double*, void> glVideoCaptureStreamParameterdvNV;
internal unsafe delegate*<uint, uint, uint, float*, void> glVideoCaptureStreamParameterfvNV;
+1 -1
View File
@@ -72,7 +72,7 @@ namespace StgSharp.Graphics.OpenGL
IncompleteDrawBuffer = glConst.FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER, // GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER
IncompleteReadBuffer = glConst.FRAMEBUFFER_INCOMPLETE_READ_BUFFER, // GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER
Unsupported = glConst.FRAMEBUFFER_UNSUPPORTED, // GL_FRAMEBUFFER_UNSUPPORTED
IncompleteMultisample = glConst.FRAMEBUFFER_INCOMPLETE_MULTISAMPLE, // GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE
IncompleteMultiSample = glConst.FRAMEBUFFER_INCOMPLETE_MULTISAMPLE, // GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE
IncompleteLayerTargets = glConst.FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS // GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS
}
@@ -30,24 +30,26 @@ using StgSharp;
using System;
using System.Collections.Concurrent;
using System.Collections.Generic;
using System.Runtime.CompilerServices;
namespace StgSharp.Graphics.OpenGL
{
public partial class OpenGLFunction
{
private Lazy<int> textureUnitCountGetter;
private Lazy<ConcurrentQueue<TextureUnit>> unusedTextureImageUintInitilizing;
private readonly int textureUnitCountGetter;
public int TextureUnitCount
{
get => textureUnitCountGetter.Value;
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get => textureUnitCountGetter;
}
private ConcurrentQueue<TextureUnit> UnusedTextureImageUint
{
get => unusedTextureImageUintInitilizing.Value;
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get;
} = [];
internal void ReturnAvailableUnit(IEnumerable<TextureUnit> source)
{
+53 -82
View File
@@ -26,6 +26,7 @@
// -----------------------------------------------------------------------
// -----------------------------------------------------------------------
using StgSharp.Graphics;
using StgSharp.Graphics;
using StgSharp.Internal;
using StgSharp.Mathematics;
using StgSharp.Mathematics.Numeric;
@@ -46,32 +47,32 @@ namespace StgSharp.Graphics.OpenGL
public unsafe partial class OpenGLFunction
{
private static Dictionary<IntPtr, OpenGLFunction> contextToGLMap = new Dictionary<IntPtr, OpenGLFunction>(
);
private static ThreadLocal<OpenGLFunction> _currentGL = new ThreadLocal<OpenGLFunction>();
private static readonly Dictionary<IntPtr, OpenGLFunction> contextToGLMap = [];
private static readonly ThreadLocal<OpenGLFunction> _currentGL = new ThreadLocal<OpenGLFunction>();
private OpenglContext* _context;
private Lazy<int> _attachmentColorRange;
private OpenGLFunction()
{
textureUnitCountGetter = new Lazy<int>(
() => GetMaskInteger(glConst.MAX_TEXTURE_IMAGE_UNITS));
unusedTextureImageUintInitilizing = new Lazy<ConcurrentQueue<TextureUnit>>(
InitializeUnusedTextureImageUint);
textureUnitCountGetter = glConst.MAX_TEXTURE_IMAGE_UNITS;
UnusedTextureImageUint = [];
_attachmentColorRange = new Lazy<int>(
() => { return GetMaskInteger((uint)glConst.MAX_COLOR_ATTACHMENTS); });
}
public int AttachmentColorRange
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get => _attachmentColorRange.Value;
}
public static OpenGLFunction CurrentGL
{
get { return _currentGL.Value; }
internal set { _currentGL.Value = value; }
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get => _currentGL.Value!;
[MethodImpl(MethodImplOptions.AggressiveInlining)]
internal set => _currentGL.Value = value;
}
internal IntPtr ContextHandle => (IntPtr)_context;
@@ -122,7 +123,7 @@ namespace StgSharp.Graphics.OpenGL
/// <summary>
/// Bind a frame BufferHandle to a frame BufferHandle target Same function as <see ///
/// href="https://docs._gl/gl3/glBindFramebuffer"> glBindFramebuffer </see>.
/// href="https://docs._gl/gl3/glBindFramebuffer">glBindFramebuffer</see>.
/// </summary>
/// <param _label="target">
/// The frame BufferHandle target of the binding operation.
@@ -200,8 +201,8 @@ namespace StgSharp.Graphics.OpenGL
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void CombineFrameBufferRenderBuffer(FrameBufferAttachment attachment, GlHandle rboHandle)
{
Context.glFramebufferRenderbuffer(
glConst.FRAMEBUFFER, (uint)attachment, glConst.RENDERBUFFER, rboHandle.Value);
Context.glFramebufferRenderbuffer(glConst.FRAMEBUFFER, (uint)attachment, glConst.RENDERBUFFER,
rboHandle.Value);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
@@ -213,13 +214,13 @@ namespace StgSharp.Graphics.OpenGL
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public unsafe GlHandle CreateGraphicProgram()
{
return GlHandle.Alloc(Context.glCreateProgram());
return GlHandle.Create(Context.glCreateProgram());
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public GlHandle CreateProgram()
{
return GlHandle.Alloc(Context.glCreateProgram());
return GlHandle.Create(Context.glCreateProgram());
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
@@ -245,7 +246,7 @@ namespace StgSharp.Graphics.OpenGL
uint error = Context.glGetError();
throw new InvalidOperationException($"Failed in creating shader: {error}");
}
ret[i] = GlHandle.Alloc(id);
ret[i] = GlHandle.Create(id);
}
return ret;
}
@@ -273,9 +274,8 @@ namespace StgSharp.Graphics.OpenGL
/// <summary>
/// Delete a render BufferHandle object Very simlilar function as <see ///
/// href="https://docs.gl/gl3/glDeleteRenderbuffers"> glDeleteRenderbuffers </see>. The
/// only deifference is that this mehtod can only delete one renderbuffer at the same
/// time.
/// href="https://docs.gl/gl3/glDeleteRenderbuffers">glDeleteRenderbuffers</see>. The only
/// deifference is that this mehtod can only delete one renderbuffer at the same time.
/// </summary>
/// <param _label="bufferHandle">
/// Handle to BufferHandle to delete.
@@ -369,8 +369,7 @@ namespace StgSharp.Graphics.OpenGL
GlHandle textureHandle,
int level)
{
Context.glFramebufferTexture2D(
(uint)target, attachment, (uint)texTarget, textureHandle.Value, level);
Context.glFramebufferTexture2D((uint)target, attachment, (uint)texTarget, textureHandle.Value, level);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
@@ -446,8 +445,7 @@ namespace StgSharp.Graphics.OpenGL
public string GetShaderStatus(Shader s, int index, int key)
{
IntPtr sptr = IntPtr.Zero;
if (GraphicFramework.glCheckShaderStatus(ref Context, s.handle[index].Value, key,
ref sptr) == 0) {
if (GraphicFramework.glCheckShaderStatus(ref Context, s.handle[index].Value, key, ref sptr) == 0) {
return Marshal.PtrToStringAnsi(sptr);
}
return string.Empty;
@@ -462,13 +460,9 @@ namespace StgSharp.Graphics.OpenGL
T[] dataStream)
where T: unmanaged,INumber<T>
{
#pragma warning disable CS8500
fixed (T* tptr = dataStream)
{
Context.glGetTexImage((uint)target, level, (uint)channel, (uint)channelLayout,
tptr);
fixed (T* tptr = dataStream) {
Context.glGetTexImage((uint)target, level, (uint)channel, (uint)channelLayout, tptr);
}
#pragma warning restore CS8500
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
@@ -495,7 +489,7 @@ namespace StgSharp.Graphics.OpenGL
throw new UniformEmptyReferenceException(nameof(program), name);
}
#endif
return GlHandle.SignedAlloc(ret);
return GlHandle.CreateSigned(ret);
}
}
@@ -546,8 +540,8 @@ namespace StgSharp.Graphics.OpenGL
ref byte[] stream)
{
fixed (byte* bptr = stream) {
Context.glReadPixels
(beginPosition.X, beginPosition.Y, size.width, size.height, (uint)format, (uint)dataType, bptr);
Context.glReadPixels(beginPosition.X, beginPosition.Y, size.width, size.height, (uint)format,
(uint)dataType, bptr);
}
}
@@ -562,8 +556,8 @@ namespace StgSharp.Graphics.OpenGL
throw new GlArrayFormatException(dataType, "i.PixelArray");
}
fixed (byte* bptr = pixels) {
Context.glReadPixels
(beginPosition.X, beginPosition.Y, i.Width, i.Height, (uint)format, (uint)dataType, bptr);
Context.glReadPixels(beginPosition.X, beginPosition.Y, i.Width, i.Height, (uint)format, (uint)dataType,
bptr);
}
i.PixelUpdateCount++;
}
@@ -573,9 +567,9 @@ namespace StgSharp.Graphics.OpenGL
where T: unmanaged,INumber<T>
{
int size = Marshal.SizeOf<T>();
#pragma warning disable CS8500
T* p = &bufferData;
#pragma warning restore CS8500
Context.glBufferData((uint)bufferType, (IntPtr)size, (IntPtr)p, (uint)usage);
}
@@ -587,12 +581,9 @@ namespace StgSharp.Graphics.OpenGL
if (bufferArray == null) {
return;
}
#pragma warning disable CS8500
fixed (void* bufferPtr = bufferArray)
#pragma warning restore CS8500
{
Context.glBufferData((uint)bufferType, (IntPtr)size, (IntPtr)bufferPtr,
(uint)usage);
fixed (void* bufferPtr = bufferArray) {
Context.glBufferData((uint)bufferType, (IntPtr)size, (IntPtr)bufferPtr, (uint)usage);
}
}
@@ -604,12 +595,9 @@ namespace StgSharp.Graphics.OpenGL
if (bufferSpan == null) {
return;
}
#pragma warning disable CS8500
fixed (void* bufferPtr = bufferSpan)
#pragma warning restore CS8500
{
Context.glBufferData((uint)bufferType, (IntPtr)size, (IntPtr)bufferPtr,
(uint)usage);
fixed (void* bufferPtr = bufferSpan) {
Context.glBufferData((uint)bufferType, (IntPtr)size, (IntPtr)bufferPtr, (uint)usage);
}
}
@@ -622,12 +610,9 @@ namespace StgSharp.Graphics.OpenGL
return;
}
#pragma warning disable CS8500
fixed (void* bufferPtr = bufferArray)
#pragma warning restore CS8500
{
Context.glBufferData((uint)bufferType, (IntPtr)size, (IntPtr)bufferPtr,
(uint)usage);
fixed (void* bufferPtr = bufferArray) {
Context.glBufferData((uint)bufferType, (IntPtr)size, (IntPtr)bufferPtr, (uint)usage);
}
}
@@ -636,12 +621,9 @@ namespace StgSharp.Graphics.OpenGL
where T: unmanaged, IUnmanagedVector<T>
{
int size = bufferSpan.Length * Marshal.SizeOf(typeof(T));
#pragma warning disable CS8500
fixed (void* bufferPtr = bufferSpan)
#pragma warning restore CS8500
{
Context.glBufferData((uint)bufferType, (IntPtr)size, (IntPtr)bufferPtr,
(uint)usage);
fixed (void* bufferPtr = bufferSpan) {
Context.glBufferData((uint)bufferType, (IntPtr)size, (IntPtr)bufferPtr, (uint)usage);
}
}
@@ -653,12 +635,8 @@ namespace StgSharp.Graphics.OpenGL
if (bufferArray == null) {
return;
}
#pragma warning disable CS8500
fixed (void* bufferPtr = bufferArray)
#pragma warning restore CS8500
{
Context.glBufferData((uint)bufferType, (IntPtr)size, (IntPtr)bufferPtr,
(uint)usage);
fixed (void* bufferPtr = bufferArray) {
Context.glBufferData((uint)bufferType, (IntPtr)size, (IntPtr)bufferPtr, (uint)usage);
}
}
@@ -667,8 +645,7 @@ namespace StgSharp.Graphics.OpenGL
RenderBufferInternalFormat internalFormat,
(int width, int height) size)
{
Context.glRenderbufferStorage(
glConst.RENDERBUFFER, (uint)internalFormat, size.width, size.height);
Context.glRenderbufferStorage(glConst.RENDERBUFFER, (uint)internalFormat, size.width, size.height);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
@@ -676,8 +653,8 @@ namespace StgSharp.Graphics.OpenGL
RenderBufferInternalFormat internalFormat,
(uint width, uint height) size)
{
Context.glRenderbufferStorage(
glConst.RENDERBUFFER, (uint)internalFormat, (int)size.width, (int)size.height);
Context.glRenderbufferStorage(glConst.RENDERBUFFER, (uint)internalFormat, (int)size.width,
(int)size.height);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
@@ -700,14 +677,12 @@ namespace StgSharp.Graphics.OpenGL
T[] pixels)
where T: unmanaged, INumber<T>
{
#pragma warning disable CS8500
fixed (T* tptr = pixels)
{
T* ptr = ((pixels == null) || (pixels.Length == 0)) ? (T*)IntPtr.Zero : tptr;
Context.glTexImage2D
((uint)target, level, (uint)sourceChannel, width, height, 0, (uint)targetChannel, (uint)type, tptr);
Context.glTexImage2D((uint)target, level, (uint)sourceChannel, width, height, 0, (uint)targetChannel,
(uint)type, tptr);
}
#pragma warning restore CS8500
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
@@ -722,13 +697,10 @@ namespace StgSharp.Graphics.OpenGL
Span<T> pixelSpan)
where T: unmanaged, INumber<T>
{
#pragma warning disable CS8500
fixed (T* tptr = pixelSpan)
{
Context.glTexImage2D
((uint)target, level, (uint)sourceChannel, width, height, 0, (uint)targetChannel, (uint)type, tptr);
fixed (T* tPtr = pixelSpan) {
Context.glTexImage2D((uint)target, level, (uint)sourceChannel, width, height, 0, (uint)targetChannel,
(uint)type, tPtr);
}
#pragma warning restore CS8500
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
@@ -768,8 +740,7 @@ namespace StgSharp.Graphics.OpenGL
internal static OpenGLFunction BuildGlFunctionPackage(IntPtr handle)
{
OpenGLFunction pack;
if (contextToGLMap.TryGetValue(handle, out pack)) {
if (contextToGLMap.TryGetValue(handle, out OpenGLFunction pack)) {
return pack;
}
pack = new OpenGLFunction
@@ -782,7 +753,7 @@ namespace StgSharp.Graphics.OpenGL
~OpenGLFunction()
{
contextToGLMap.Remove(ContextHandle);
_ = contextToGLMap.Remove(ContextHandle);
}
}
@@ -1,69 +0,0 @@
//-----------------------------------------------------------------------
// -----------------------------------------------------------------------
// file="glHalfNV"
// Project: StgSharp
// AuthorGroup: Nitload
// Copyright (c) Nitload. 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.
//
// -----------------------------------------------------------------------
// -----------------------------------------------------------------------
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading.Tasks;
namespace StgSharp.Graphics.OpenGL
{
[StructLayout(LayoutKind.Explicit, Size = 16)]
public struct glHalfNV
{
[FieldOffset(0)] public short binary;
public glHalfNV(short bin)
{
binary = bin;
}
public static glHalfNV FromInt16(short x)
{
return new glHalfNV(x);
}
public static short ToInt16(glHalfNV half)
{
return half.binary;
}
public static explicit operator glHalfNV(short x)
{
return new glHalfNV(x);
}
public static explicit operator short(glHalfNV x)
{
return x.binary;
}
}
}
+3 -2
View File
@@ -48,6 +48,7 @@ namespace StgSharp.Graphics.OpenGL
public static GlHandle Zero
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get => new GlHandle
{
Value = 0
@@ -55,7 +56,7 @@ namespace StgSharp.Graphics.OpenGL
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static GlHandle Alloc(uint value)
public static GlHandle Create(uint value)
{
return new GlHandle
{
@@ -64,7 +65,7 @@ namespace StgSharp.Graphics.OpenGL
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static GlHandle SignedAlloc(int value)
public static GlHandle CreateSigned(int value)
{
return new GlHandle
{
@@ -39,7 +39,7 @@ namespace StgSharp.Graphics.OpenGL
{
private static ConcurrentDictionary<Thread, glRender> threadLocalIndex
= new ConcurrentDictionary<Thread, glRender>();
= new();
private readonly SynchronizationContext mainThreadContext = SynchronizationContext.Current;
}
+47 -27
View File
@@ -35,40 +35,60 @@ namespace StgSharp.Internal.OpenGL
{
internal delegate void GLVULKANPROCNV();
public unsafe struct glHandleARB
public unsafe struct glHandleARB(IntPtr value) { }
/// <summary>
/// OpenGL numeric type. An IEEE-754 floating-point value, clamped to the range [0,1].
/// </summary>
[StructLayout(LayoutKind.Sequential)]
public struct GlClampF
{
private dynamic value;
public float value;
public unsafe glHandleARB(dynamic value)
public GlClampF(float a)
{
if (!RuntimeInformation.IsOSPlatform(OSPlatform.OSX))
{
if (value.GetType().Name != "Uint32")
{
goto errorLog;
}
this.value = value;
} else
{
if (value.GetType().Name != "IntPtr")
{
goto errorLog;
}
this.value = value;
}
errorLog:
{
DefaultLog.InternalWriteLog(
$"{value.GetType().Name} does not match definination of GLhandlARB on OS {Environment.OSVersion.Platform} ",
LogType.Error);
}
value = a;
}
public static implicit operator uint(glHandleARB value)
}
[StructLayout(LayoutKind.Explicit, Size = 16)]
public struct glHalfNv(Half bin)
{
[FieldOffset(0)] public Half binary = bin;
public float ToSingle()
{
return (uint)value;
return (float)binary;
}
}
[StructLayout(LayoutKind.Explicit, Size = 8)]
public struct GlFixed
{
[FieldOffset(0)] public int All;
[FieldOffset(0)] public short Decimals;
[FieldOffset(4)] public short Integer;
}
/// <summary>
/// OpenGL numeric type. An IEEE-754 double precision floating-point value, clamped to the
/// range [0,1].
/// </summary>
[StructLayout(LayoutKind.Sequential)]
public struct GlClampD
{
public double value;
public GlClampD(double a)
{
value = a;
}
}