Texture 3d entry points and enums.
This commit is contained in:
		
							parent
							
								
									a1573d3786
								
							
						
					
					
						commit
						b57d7bed41
					
				| @ -9,7 +9,9 @@ namespace Quik.OpenGL | |||||||
|         private delegate void PixelStoreiProc(GLEnum pname, int param); |         private delegate void PixelStoreiProc(GLEnum pname, int param); | ||||||
|         private delegate void PixelStorefProc(GLEnum pname, float param); |         private delegate void PixelStorefProc(GLEnum pname, float param); | ||||||
|         private delegate void TexImage2DProc(GLEnum target, int level, GLEnum internalFormat, int width, int height, int border, GLEnum format, GLEnum pixelType, void *data); |         private delegate void TexImage2DProc(GLEnum target, int level, GLEnum internalFormat, int width, int height, int border, GLEnum format, GLEnum pixelType, void *data); | ||||||
|  |         private delegate void TexImage3DProc(GLEnum target, int level, GLEnum internalFormat, int width, int height, int depth, int border, GLEnum format, GLEnum pixelType, void* data); | ||||||
|         private delegate void TexSubImage2DProc(GLEnum target, int level, int x, int y, int width, int height, GLEnum format, GLEnum pixelType, void *data); |         private delegate void TexSubImage2DProc(GLEnum target, int level, int x, int y, int width, int height, GLEnum format, GLEnum pixelType, void *data); | ||||||
|  |         private delegate void TexSubImage3DProc(GLEnum target, int level, int x, int y, int z, int width, int height, int depth, int border, GLEnum format, GLEnum pixelType, void* data); | ||||||
|         private delegate void TexParameteriProc(GLEnum target, GLEnum pname, int value); |         private delegate void TexParameteriProc(GLEnum target, GLEnum pname, int value); | ||||||
|         private delegate void TexParameterfProc(GLEnum target, GLEnum pname, float value); |         private delegate void TexParameterfProc(GLEnum target, GLEnum pname, float value); | ||||||
|         private delegate void TexParameterivProc(GLEnum target, GLEnum pname, int* value); |         private delegate void TexParameterivProc(GLEnum target, GLEnum pname, int* value); | ||||||
| @ -23,7 +25,9 @@ namespace Quik.OpenGL | |||||||
|         private static PixelStoreiProc _pixelStorei; |         private static PixelStoreiProc _pixelStorei; | ||||||
|         private static PixelStorefProc _pixelStoref; |         private static PixelStorefProc _pixelStoref; | ||||||
|         private static TexImage2DProc _texImage2D; |         private static TexImage2DProc _texImage2D; | ||||||
|  |         private static TexImage3DProc _texImage3D; | ||||||
|         private static TexSubImage2DProc _texSubImage2D; |         private static TexSubImage2DProc _texSubImage2D; | ||||||
|  |         private static TexSubImage3DProc _texSubImage3D; | ||||||
|         private static TexParameteriProc _texParameteri; |         private static TexParameteriProc _texParameteri; | ||||||
|         private static TexParameterfProc _texParameterf; |         private static TexParameterfProc _texParameterf; | ||||||
|         private static TexParameterivProc _texParameteriv; |         private static TexParameterivProc _texParameteriv; | ||||||
| @ -39,7 +43,9 @@ namespace Quik.OpenGL | |||||||
|             _pixelStorei    = GetProcAddress<PixelStoreiProc>("glPixelStorei"); |             _pixelStorei    = GetProcAddress<PixelStoreiProc>("glPixelStorei"); | ||||||
|             _pixelStoref    = GetProcAddress<PixelStorefProc>("glPixelStoref"); |             _pixelStoref    = GetProcAddress<PixelStorefProc>("glPixelStoref"); | ||||||
|             _texImage2D     = GetProcAddress<TexImage2DProc>("glTexImage2D"); |             _texImage2D     = GetProcAddress<TexImage2DProc>("glTexImage2D"); | ||||||
|  |             _texImage3D     = GetProcAddress<TexImage3DProc>("glTexImage3D"); | ||||||
|             _texSubImage2D  = GetProcAddress<TexSubImage2DProc>("glTexSubImage2D"); |             _texSubImage2D  = GetProcAddress<TexSubImage2DProc>("glTexSubImage2D"); | ||||||
|  |             _texSubImage3D  = GetProcAddress<TexSubImage3DProc>("glTexSubImage3D"); | ||||||
|             _texParameteri  = GetProcAddress<TexParameteriProc>("glTexParameteri"); |             _texParameteri  = GetProcAddress<TexParameteriProc>("glTexParameteri"); | ||||||
|             _texParameterf  = GetProcAddress<TexParameterfProc>("glTexParameterf"); |             _texParameterf  = GetProcAddress<TexParameterfProc>("glTexParameterf"); | ||||||
|             _texParameteriv = GetProcAddress<TexParameterivProc>("glTexParameteriv"); |             _texParameteriv = GetProcAddress<TexParameterivProc>("glTexParameteriv"); | ||||||
| @ -92,7 +98,7 @@ namespace Quik.OpenGL | |||||||
|             _texImage2D(target, level, internalFormat, width, height, border, format, pixelType, (void*)data); |             _texImage2D(target, level, internalFormat, width, height, border, format, pixelType, (void*)data); | ||||||
| 
 | 
 | ||||||
|         [MethodImpl(AggressiveInlining)] |         [MethodImpl(AggressiveInlining)] | ||||||
|         public static void TexImage2d<T>(GLEnum target, int level, GLEnum internalFormat, int width, int height, int border, GLEnum format, GLEnum pixelType, in T data) where T : unmanaged |         public static void TexImage2D<T>(GLEnum target, int level, GLEnum internalFormat, int width, int height, int border, GLEnum format, GLEnum pixelType, in T data) where T : unmanaged | ||||||
|         { |         { | ||||||
|             fixed(T *ptr = &data) |             fixed(T *ptr = &data) | ||||||
|                 _texImage2D(target, level, internalFormat, width, height, border, format, pixelType, ptr); |                 _texImage2D(target, level, internalFormat, width, height, border, format, pixelType, ptr); | ||||||
| @ -100,7 +106,24 @@ namespace Quik.OpenGL | |||||||
| 
 | 
 | ||||||
|         [MethodImpl(AggressiveInlining)] |         [MethodImpl(AggressiveInlining)] | ||||||
|         public static void TexImage2D<T>(GLEnum target, int level, GLEnum internalFormat, int width, int height, int border, GLEnum format, GLEnum pixelType, T[] data) where T : unmanaged => |         public static void TexImage2D<T>(GLEnum target, int level, GLEnum internalFormat, int width, int height, int border, GLEnum format, GLEnum pixelType, T[] data) where T : unmanaged => | ||||||
|             TexImage2d<T>(target, level, internalFormat, width, height, border, format, pixelType, in data[0]); |             TexImage2D(target, level, internalFormat, width, height, border, format, pixelType, in data[0]); | ||||||
|  | 
 | ||||||
|  |         [MethodImpl(AggressiveInlining)] | ||||||
|  |         public static void TexImage3D(GLEnum target, int level, GLEnum internalFormat, int width, int height, int depth, int border, GLEnum format, GLEnum pixelType, void* data) => | ||||||
|  |             _texImage3D(target, level, internalFormat, width, height, depth, border, format, pixelType, data); | ||||||
|  | 
 | ||||||
|  |         [MethodImpl(AggressiveInlining)] | ||||||
|  |         public static void TexImage3D<T>(GLEnum target, int level, GLEnum internalFormat, int width, int height, int depth, int border, GLEnum format, GLEnum pixelType, in T data) | ||||||
|  |             where T : unmanaged | ||||||
|  |         { | ||||||
|  |             fixed (T* ptr = &data) | ||||||
|  |                 _texImage3D(target, level, internalFormat, width, height, depth, border, format, pixelType, ptr); | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         [MethodImpl(AggressiveInlining)] | ||||||
|  |         public static void TexImage3D<T>(GLEnum target, int level, GLEnum internalFormat, int width, int height, int depth, int border, GLEnum format, GLEnum pixelType, T[] data) | ||||||
|  |             where T : unmanaged => | ||||||
|  |                 TexImage3D(target, level, internalFormat, width, height, depth, border, format, pixelType, in data[0]); | ||||||
| 
 | 
 | ||||||
|         [MethodImpl(AggressiveInlining)] |         [MethodImpl(AggressiveInlining)] | ||||||
|         public static void TexSubImage2D(GLEnum target, int level, int x, int y, int width, int height, GLEnum format, GLEnum pixelType, IntPtr data) => |         public static void TexSubImage2D(GLEnum target, int level, int x, int y, int width, int height, GLEnum format, GLEnum pixelType, IntPtr data) => | ||||||
| @ -117,6 +140,23 @@ namespace Quik.OpenGL | |||||||
|         public static void TexSubImage2D<T>(GLEnum target, int level, int x, int y, int width, int height, GLEnum format, GLEnum pixelType, T[] data) where T : unmanaged => |         public static void TexSubImage2D<T>(GLEnum target, int level, int x, int y, int width, int height, GLEnum format, GLEnum pixelType, T[] data) where T : unmanaged => | ||||||
|             TexSubImage2d<T>(target, level, x, y, width, height, format, pixelType, in data[0]); |             TexSubImage2d<T>(target, level, x, y, width, height, format, pixelType, in data[0]); | ||||||
| 
 | 
 | ||||||
|  |         [MethodImpl(AggressiveInlining)] | ||||||
|  |         public static void TexSubImage3D(GLEnum target, int level, int x, int y, int z, int width, int height, int depth, int border, GLEnum format, GLEnum pixelType, void* data) => | ||||||
|  |             _texSubImage3D(target, level, x, y, z, width, height, depth, border, format, pixelType, data); | ||||||
|  | 
 | ||||||
|  |         [MethodImpl(AggressiveInlining)] | ||||||
|  |         public static void TexSubImage3D<T>(GLEnum target, int level, int x, int y, int z, int width, int height, int depth, int border, GLEnum format, GLEnum pixelType, in T data) | ||||||
|  |             where T : unmanaged | ||||||
|  |         { | ||||||
|  |             fixed (T* ptr = &data) | ||||||
|  |                 _texSubImage3D(target, level, x, y, z, width, height, depth, border, format, pixelType, ptr); | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         [MethodImpl(AggressiveInlining)] | ||||||
|  |         public static void TexSubImage3D<T>(GLEnum target, int level, int x, int y, int z, int width, int height, int depth, int border, GLEnum format, GLEnum pixelType, T[] data) | ||||||
|  |             where T : unmanaged => | ||||||
|  |                 TexSubImage3D(target, level, x, y, z, width, height, depth, border, format, pixelType, in data[0]); | ||||||
|  | 
 | ||||||
|         [MethodImpl(AggressiveInlining)] |         [MethodImpl(AggressiveInlining)] | ||||||
|         public static void TexParameter(GLEnum target, GLEnum pname, int value) => _texParameteri(target, pname, value); |         public static void TexParameter(GLEnum target, GLEnum pname, int value) => _texParameteri(target, pname, value); | ||||||
|         [MethodImpl(AggressiveInlining)] |         [MethodImpl(AggressiveInlining)] | ||||||
|  | |||||||
| @ -50,6 +50,7 @@ namespace Quik.OpenGL | |||||||
|         GL_TEXTURE6 = GL_TEXTURE0 + 6, |         GL_TEXTURE6 = GL_TEXTURE0 + 6, | ||||||
| 
 | 
 | ||||||
|         GL_TEXTURE_2D = 0x0DE1, |         GL_TEXTURE_2D = 0x0DE1, | ||||||
|  |         GL_TEXTURE_2D_ARRAY = 0x8C1A, | ||||||
|         GL_UNPACK_ALIGNMENT = 0x0CF5, |         GL_UNPACK_ALIGNMENT = 0x0CF5, | ||||||
| 
 | 
 | ||||||
|         GL_TEXTURE_MAG_FILTER = 0x2800, |         GL_TEXTURE_MAG_FILTER = 0x2800, | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user