1 2 // Copyright 2018 - 2021 Michael D. Parker 3 // Distributed under the Boost Software License, Version 1.0. 4 // (See accompanying file LICENSE_1_0.txt or copy at 5 // http://www.boost.org/LICENSE_1_0.txt) 6 7 module bindbc.opengl.bind.dep.dep13; 8 9 import bindbc.loader; 10 import bindbc.opengl.context; 11 import bindbc.opengl.bind.types; 12 13 version(GL_AllowDeprecated) { 14 enum : uint { 15 GL_CLIENT_ACTIVE_TEXTURE = 0x84E1, 16 GL_MAX_TEXTURE_UNITS = 0x84E2, 17 GL_TRANSPOSE_MODELVIEW_MATRIX = 0x84E3, 18 GL_TRANSPOSE_PROJECTION_MATRIX = 0x84E4, 19 GL_TRANSPOSE_TEXTURE_MATRIX = 0x84E5, 20 GL_TRANSPOSE_COLOR_MATRIX = 0x84E6, 21 GL_MULTISAMPLE_BIT = 0x20000000, 22 GL_NORMAL_MAP = 0x8511, 23 GL_REFLECTION_MAP = 0x8512, 24 GL_COMPRESSED_ALPHA = 0x84E9, 25 GL_COMPRESSED_LUMINANCE = 0x84EA, 26 GL_COMPRESSED_LUMINANCE_ALPHA = 0x84EB, 27 GL_COMPRESSED_INTENSITY = 0x84EC, 28 GL_COMBINE = 0x8570, 29 GL_COMBINE_RGB = 0x8571, 30 GL_COMBINE_ALPHA = 0x8572, 31 GL_SOURCE0_RGB = 0x8580, 32 GL_SOURCE1_RGB = 0x8581, 33 GL_SOURCE2_RGB = 0x8582, 34 GL_SOURCE0_ALPHA = 0x8588, 35 GL_SOURCE1_ALPHA = 0x8589, 36 GL_SOURCE2_ALPHA = 0x858A, 37 GL_OPERAND0_RGB = 0x8590, 38 GL_OPERAND1_RGB = 0x8591, 39 GL_OPERAND2_RGB = 0x8592, 40 GL_OPERAND0_ALPHA = 0x8598, 41 GL_OPERAND1_ALPHA = 0x8599, 42 GL_OPERAND2_ALPHA = 0x859A, 43 GL_RGB_SCALE = 0x8573, 44 GL_ADD_SIGNED = 0x8574, 45 GL_INTERPOLATE = 0x8575, 46 GL_SUBTRACT = 0x84E7, 47 GL_CONSTANT = 0x8576, 48 GL_PRIMARY_COLOR = 0x8577, 49 GL_PREVIOUS = 0x8578, 50 GL_DOT3_RGB = 0x86AE, 51 GL_DOT3_RGBA = 0x86AF, 52 } 53 54 extern(System) @nogc nothrow { 55 alias pglClientActiveTexture = void function(GLenum); 56 alias pglMultiTexCoord1d = void function(GLenum, GLdouble); 57 alias pglMultiTexCoord1dv = void function(GLenum, const(GLdouble)*); 58 alias pglMultiTexCoord1f = void function(GLenum, GLfloat); 59 alias pglMultiTexCoord1fv = void function(GLenum, const(GLfloat)*); 60 alias pglMultiTexCoord1i = void function(GLenum, GLint); 61 alias pglMultiTexCoord1iv = void function(GLenum, const(GLint)*); 62 alias pglMultiTexCoord1s = void function(GLenum, GLshort); 63 alias pglMultiTexCoord1sv = void function(GLenum, const(GLshort)*); 64 alias pglMultiTexCoord2d = void function(GLenum, GLdouble, GLdouble); 65 alias pglMultiTexCoord2dv = void function(GLenum, const(GLdouble)*); 66 alias pglMultiTexCoord2f = void function(GLenum, GLfloat, GLfloat); 67 alias pglMultiTexCoord2fv = void function(GLenum, const(GLfloat)*); 68 alias pglMultiTexCoord2i = void function(GLenum, GLint, GLint); 69 alias pglMultiTexCoord2iv = void function(GLenum, const(GLint)*); 70 alias pglMultiTexCoord2s = void function(GLenum, GLshort, GLshort); 71 alias pglMultiTexCoord2sv = void function(GLenum, const(GLshort)*); 72 alias pglMultiTexCoord3d = void function(GLenum, GLdouble, GLdouble, GLdouble); 73 alias pglMultiTexCoord3dv = void function(GLenum, const(GLdouble)*); 74 alias pglMultiTexCoord3f = void function(GLenum, GLfloat, GLfloat, GLfloat); 75 alias pglMultiTexCoord3fv = void function(GLenum, const(GLfloat)*); 76 alias pglMultiTexCoord3i = void function(GLenum, GLint, GLint, GLint); 77 alias pglMultiTexCoord3iv = void function(GLenum, const(GLint)*); 78 alias pglMultiTexCoord3s = void function(GLenum, GLshort, GLshort, GLshort); 79 alias pglMultiTexCoord3sv = void function(GLenum, const(GLshort)*); 80 alias pglMultiTexCoord4d = void function(GLenum, GLdouble, GLdouble, GLdouble, GLdouble); 81 alias pglMultiTexCoord4dv = void function(GLenum, const(GLdouble)*); 82 alias pglMultiTexCoord4f = void function(GLenum, GLfloat, GLfloat, GLfloat, GLfloat); 83 alias pglMultiTexCoord4fv = void function(GLenum, const(GLfloat)*); 84 alias pglMultiTexCoord4i = void function(GLenum, GLint, GLint, GLint, GLint); 85 alias pglMultiTexCoord4iv = void function(GLenum, const(GLint)*); 86 alias pglMultiTexCoord4s = void function(GLenum, GLshort, GLshort, GLshort, GLshort); 87 alias pglMultiTexCoord4sv = void function(GLenum, const(GLshort)*); 88 alias pglLoadTransposeMatrixd = void function(GLdouble*); 89 alias pglLoadTransposeMatrixf = void function(const(GLfloat)*); 90 alias pglMultTransposeMatrixd = void function(const(GLdouble)*); 91 alias pglMultTransposeMatrixf = void function(const(GLfloat)*); 92 } 93 94 __gshared { 95 pglClientActiveTexture glClientActiveTexture; 96 pglMultiTexCoord1d glMultiTexCoord1d; 97 pglMultiTexCoord1dv glMultiTexCoord1dv; 98 pglMultiTexCoord1f glMultiTexCoord1f; 99 pglMultiTexCoord1fv glMultiTexCoord1fv; 100 pglMultiTexCoord1i glMultiTexCoord1i; 101 pglMultiTexCoord1iv glMultiTexCoord1iv; 102 pglMultiTexCoord1s glMultiTexCoord1s; 103 pglMultiTexCoord1sv glMultiTexCoord1sv; 104 pglMultiTexCoord2d glMultiTexCoord2d; 105 pglMultiTexCoord2dv glMultiTexCoord2dv; 106 pglMultiTexCoord2f glMultiTexCoord2f; 107 pglMultiTexCoord2fv glMultiTexCoord2fv; 108 pglMultiTexCoord2i glMultiTexCoord2i; 109 pglMultiTexCoord2iv glMultiTexCoord2iv; 110 pglMultiTexCoord2s glMultiTexCoord2s; 111 pglMultiTexCoord2sv glMultiTexCoord2sv; 112 pglMultiTexCoord3d glMultiTexCoord3d; 113 pglMultiTexCoord3dv glMultiTexCoord3dv; 114 pglMultiTexCoord3f glMultiTexCoord3f; 115 pglMultiTexCoord3fv glMultiTexCoord3fv; 116 pglMultiTexCoord3i glMultiTexCoord3i; 117 pglMultiTexCoord3iv glMultiTexCoord3iv; 118 pglMultiTexCoord3s glMultiTexCoord3s; 119 pglMultiTexCoord3sv glMultiTexCoord3sv; 120 pglMultiTexCoord4d glMultiTexCoord4d; 121 pglMultiTexCoord4dv glMultiTexCoord4dv; 122 pglMultiTexCoord4f glMultiTexCoord4f; 123 pglMultiTexCoord4fv glMultiTexCoord4fv; 124 pglMultiTexCoord4i glMultiTexCoord4i; 125 pglMultiTexCoord4iv glMultiTexCoord4iv; 126 pglMultiTexCoord4s glMultiTexCoord4s; 127 pglMultiTexCoord4sv glMultiTexCoord4sv; 128 pglLoadTransposeMatrixd glLoadTransposeMatrixd; 129 pglLoadTransposeMatrixf glLoadTransposeMatrixf; 130 pglMultTransposeMatrixd glMultTransposeMatrixd; 131 pglMultTransposeMatrixf glMultTransposeMatrixf; 132 } 133 134 package(bindbc.opengl.bind) @nogc nothrow 135 bool loadDeprecatedGL13(SharedLib lib) 136 { 137 lib.bindGLSymbol(cast(void**)&glClientActiveTexture, "glClientActiveTexture"); 138 lib.bindGLSymbol(cast(void**)&glMultiTexCoord1d, "glMultiTexCoord1d"); 139 lib.bindGLSymbol(cast(void**)&glMultiTexCoord1dv, "glMultiTexCoord1dv"); 140 lib.bindGLSymbol(cast(void**)&glMultiTexCoord1f, "glMultiTexCoord1f"); 141 lib.bindGLSymbol(cast(void**)&glMultiTexCoord1fv, "glMultiTexCoord1fv"); 142 lib.bindGLSymbol(cast(void**)&glMultiTexCoord1i, "glMultiTexCoord1i"); 143 lib.bindGLSymbol(cast(void**)&glMultiTexCoord1iv, "glMultiTexCoord1iv"); 144 lib.bindGLSymbol(cast(void**)&glMultiTexCoord1s, "glMultiTexCoord1s"); 145 lib.bindGLSymbol(cast(void**)&glMultiTexCoord1sv, "glMultiTexCoord1sv"); 146 lib.bindGLSymbol(cast(void**)&glMultiTexCoord2d, "glMultiTexCoord2d"); 147 lib.bindGLSymbol(cast(void**)&glMultiTexCoord2dv, "glMultiTexCoord2dv"); 148 lib.bindGLSymbol(cast(void**)&glMultiTexCoord2f, "glMultiTexCoord2f"); 149 lib.bindGLSymbol(cast(void**)&glMultiTexCoord2fv, "glMultiTexCoord2fv"); 150 lib.bindGLSymbol(cast(void**)&glMultiTexCoord2i, "glMultiTexCoord2i"); 151 lib.bindGLSymbol(cast(void**)&glMultiTexCoord2iv, "glMultiTexCoord2iv"); 152 lib.bindGLSymbol(cast(void**)&glMultiTexCoord2s, "glMultiTexCoord2s"); 153 lib.bindGLSymbol(cast(void**)&glMultiTexCoord2sv, "glMultiTexCoord2sv"); 154 lib.bindGLSymbol(cast(void**)&glMultiTexCoord3d, "glMultiTexCoord3d"); 155 lib.bindGLSymbol(cast(void**)&glMultiTexCoord3dv, "glMultiTexCoord3dv"); 156 lib.bindGLSymbol(cast(void**)&glMultiTexCoord3f, "glMultiTexCoord3f"); 157 lib.bindGLSymbol(cast(void**)&glMultiTexCoord3fv, "glMultiTexCoord3fv"); 158 lib.bindGLSymbol(cast(void**)&glMultiTexCoord3i, "glMultiTexCoord3i"); 159 lib.bindGLSymbol(cast(void**)&glMultiTexCoord3iv, "glMultiTexCoord3iv"); 160 lib.bindGLSymbol(cast(void**)&glMultiTexCoord3s, "glMultiTexCoord3s"); 161 lib.bindGLSymbol(cast(void**)&glMultiTexCoord3sv, "glMultiTexCoord3sv"); 162 lib.bindGLSymbol(cast(void**)&glMultiTexCoord4d, "glMultiTexCoord4d"); 163 lib.bindGLSymbol(cast(void**)&glMultiTexCoord4dv, "glMultiTexCoord4dv"); 164 lib.bindGLSymbol(cast(void**)&glMultiTexCoord4f, "glMultiTexCoord4f"); 165 lib.bindGLSymbol(cast(void**)&glMultiTexCoord4fv, "glMultiTexCoord4fv"); 166 lib.bindGLSymbol(cast(void**)&glMultiTexCoord4i, "glMultiTexCoord4i"); 167 lib.bindGLSymbol(cast(void**)&glMultiTexCoord4iv, "glMultiTexCoord4iv"); 168 lib.bindGLSymbol(cast(void**)&glMultiTexCoord4s, "glMultiTexCoord4s"); 169 lib.bindGLSymbol(cast(void**)&glMultiTexCoord4sv, "glMultiTexCoord4sv"); 170 lib.bindGLSymbol(cast(void**)&glLoadTransposeMatrixd, "glLoadTransposeMatrixd"); 171 lib.bindGLSymbol(cast(void**)&glLoadTransposeMatrixf, "glLoadTransposeMatrixf"); 172 lib.bindGLSymbol(cast(void**)&glMultTransposeMatrixd, "glMultTransposeMatrixd"); 173 lib.bindGLSymbol(cast(void**)&glMultTransposeMatrixf, "glMultTransposeMatrixf"); 174 175 return errorCountGL() == 0; 176 } 177 }