1 #include "gldefs.h" 2 3 // FBO 4 PFNGLISRENDERBUFFEREXTPROC my_glIsRenderBuffer; 5 PFNGLBINDRENDERBUFFEREXTPROC my_glBindRenderbuffer; 6 PFNGLDELETERENDERBUFFERSEXTPROC my_glDeleteRenderbuffers; 7 PFNGLGENRENDERBUFFERSEXTPROC my_glGenRenderbuffers; 8 PFNGLRENDERBUFFERSTORAGEEXTPROC my_glRenderbufferStorage; 9 PFNGLGETRENDERBUFFERPARAMETERIVEXTPROC my_glGetRenderbufferParameteriv; 10 PFNGLISFRAMEBUFFEREXTPROC my_glIsFramebuffer; 11 PFNGLBINDFRAMEBUFFEREXTPROC my_glBindFramebuffer; 12 PFNGLDELETEFRAMEBUFFERSEXTPROC my_glDeleteFramebuffers; 13 PFNGLGENFRAMEBUFFERSEXTPROC my_glGenFramebuffers; 14 PFNGLCHECKFRAMEBUFFERSTATUSEXTPROC my_glCheckFramebufferStatus; 15 PFNGLFRAMEBUFFERTEXTURE1DEXTPROC my_glFramebufferTexture1D; 16 PFNGLFRAMEBUFFERTEXTURE2DEXTPROC my_glFramebufferTexture2D; 17 PFNGLFRAMEBUFFERTEXTURE3DEXTPROC my_glFramebufferTexture3D; 18 PFNGLFRAMEBUFFERRENDERBUFFEREXTPROC my_glFramebufferRenderbuffer; 19 PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC my_glGetFramebufferAttachmentParameteriv; 20 PFNGLGENERATEMIPMAPEXTPROC my_glGenerateMipmap; 21 PFNGLBLITFRAMEBUFFEREXTPROC my_glBlitFramebuffer; 22 PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC my_glRenderbufferStorageMultisample; 23 24 // shaders 25 26 PFNGLATTACHSHADERPROC my_glAttachShader; 27 PFNGLBINDATTRIBLOCATIONPROC my_glBindAttribLocation; 28 PFNGLCOMPILESHADERPROC my_glCompileShader; 29 PFNGLCREATEPROGRAMPROC my_glCreateProgram; 30 PFNGLCREATESHADERPROC my_glCreateShader; 31 PFNGLDELETEPROGRAMPROC my_glDeleteProgram; 32 PFNGLDELETESHADERPROC my_glDeleteShader; 33 PFNGLDETACHSHADERPROC my_glDetachShader; 34 PFNGLDISABLEVERTEXATTRIBARRAYPROC my_glDisableVertexAttribArray; 35 PFNGLENABLEVERTEXATTRIBARRAYPROC my_glEnableVertexAttribArray; 36 PFNGLGETACTIVEATTRIBPROC my_glGetActiveAttrib; 37 PFNGLGETACTIVEUNIFORMPROC my_glGetActiveUniform; 38 PFNGLGETATTACHEDSHADERSPROC my_glGetAttachedShaders; 39 PFNGLGETATTRIBLOCATIONPROC my_glGetAttribLocation; 40 PFNGLGETPROGRAMIVPROC my_glGetProgramiv; 41 PFNGLGETPROGRAMINFOLOGPROC my_glGetProgramInfoLog; 42 PFNGLGETSHADERIVPROC my_glGetShaderiv; 43 PFNGLGETSHADERINFOLOGPROC my_glGetShaderInfoLog; 44 PFNGLGETSHADERSOURCEPROC my_glGetShaderSource; 45 PFNGLGETUNIFORMLOCATIONPROC my_glGetUniformLocation; 46 PFNGLGETUNIFORMFVPROC my_glGetUniformfv; 47 PFNGLGETUNIFORMIVPROC my_glGetUniformiv; 48 PFNGLGETVERTEXATTRIBDVPROC my_glGetVertexAttribdv; 49 PFNGLGETVERTEXATTRIBFVPROC my_glGetVertexAttribfv; 50 PFNGLGETVERTEXATTRIBIVPROC my_glGetVertexAttribiv; 51 PFNGLGETVERTEXATTRIBPOINTERVPROC my_glGetVertexAttribPointerv; 52 PFNGLISPROGRAMPROC my_glIsProgram; 53 PFNGLISSHADERPROC my_glIsShader; 54 PFNGLLINKPROGRAMPROC my_glLinkProgram; 55 PFNGLSHADERSOURCEPROC my_glShaderSource; 56 PFNGLUSEPROGRAMPROC my_glUseProgram; 57 PFNGLUNIFORM1FPROC my_glUniform1f; 58 PFNGLUNIFORM2FPROC my_glUniform2f; 59 PFNGLUNIFORM3FPROC my_glUniform3f; 60 PFNGLUNIFORM4FPROC my_glUniform4f; 61 PFNGLUNIFORM1IPROC my_glUniform1i; 62 PFNGLUNIFORM2IPROC my_glUniform2i; 63 PFNGLUNIFORM3IPROC my_glUniform3i; 64 PFNGLUNIFORM4IPROC my_glUniform4i; 65 PFNGLUNIFORM1FVPROC my_glUniform1fv; 66 PFNGLUNIFORM2FVPROC my_glUniform2fv; 67 PFNGLUNIFORM3FVPROC my_glUniform3fv; 68 PFNGLUNIFORM4FVPROC my_glUniform4fv; 69 PFNGLUNIFORM1IVPROC my_glUniform1iv; 70 PFNGLUNIFORM2IVPROC my_glUniform2iv; 71 PFNGLUNIFORM3IVPROC my_glUniform3iv; 72 PFNGLUNIFORM4IVPROC my_glUniform4iv; 73 PFNGLUNIFORMMATRIX2FVPROC my_glUniformMatrix2fv; 74 PFNGLUNIFORMMATRIX3FVPROC my_glUniformMatrix3fv; 75 PFNGLUNIFORMMATRIX4FVPROC my_glUniformMatrix4fv; 76 PFNGLVALIDATEPROGRAMPROC my_glValidateProgram; 77 PFNGLVERTEXATTRIB1DPROC my_glVertexAttrib1d; 78 PFNGLVERTEXATTRIB1DVPROC my_glVertexAttrib1dv; 79 PFNGLVERTEXATTRIB1FPROC my_glVertexAttrib1f; 80 PFNGLVERTEXATTRIB1FVPROC my_glVertexAttrib1fv; 81 PFNGLVERTEXATTRIB1SPROC my_glVertexAttrib1s; 82 PFNGLVERTEXATTRIB1SVPROC my_glVertexAttrib1sv; 83 PFNGLVERTEXATTRIB2DPROC my_glVertexAttrib2d; 84 PFNGLVERTEXATTRIB2DVPROC my_glVertexAttrib2dv; 85 PFNGLVERTEXATTRIB2FPROC my_glVertexAttrib2f; 86 PFNGLVERTEXATTRIB2FVPROC my_glVertexAttrib2fv; 87 PFNGLVERTEXATTRIB2SPROC my_glVertexAttrib2s; 88 PFNGLVERTEXATTRIB2SVPROC my_glVertexAttrib2sv; 89 PFNGLVERTEXATTRIB3DPROC my_glVertexAttrib3d; 90 PFNGLVERTEXATTRIB3DVPROC my_glVertexAttrib3dv; 91 PFNGLVERTEXATTRIB3FPROC my_glVertexAttrib3f; 92 PFNGLVERTEXATTRIB3FVPROC my_glVertexAttrib3fv; 93 PFNGLVERTEXATTRIB3SPROC my_glVertexAttrib3s; 94 PFNGLVERTEXATTRIB3SVPROC my_glVertexAttrib3sv; 95 PFNGLVERTEXATTRIB4NBVPROC my_glVertexAttrib4Nbv; 96 PFNGLVERTEXATTRIB4NIVPROC my_glVertexAttrib4Niv; 97 PFNGLVERTEXATTRIB4NSVPROC my_glVertexAttrib4Nsv; 98 PFNGLVERTEXATTRIB4NUBPROC my_glVertexAttrib4Nub; 99 PFNGLVERTEXATTRIB4NUBVPROC my_glVertexAttrib4Nubv; 100 PFNGLVERTEXATTRIB4NUIVPROC my_glVertexAttrib4Nuiv; 101 PFNGLVERTEXATTRIB4NUSVPROC my_glVertexAttrib4Nusv; 102 PFNGLVERTEXATTRIB4BVPROC my_glVertexAttrib4bv; 103 PFNGLVERTEXATTRIB4DPROC my_glVertexAttrib4d; 104 PFNGLVERTEXATTRIB4DVPROC my_glVertexAttrib4dv; 105 PFNGLVERTEXATTRIB4FPROC my_glVertexAttrib4f; 106 PFNGLVERTEXATTRIB4FVPROC my_glVertexAttrib4fv; 107 PFNGLVERTEXATTRIB4IVPROC my_glVertexAttrib4iv; 108 PFNGLVERTEXATTRIB4SPROC my_glVertexAttrib4s; 109 PFNGLVERTEXATTRIB4SVPROC my_glVertexAttrib4sv; 110 PFNGLVERTEXATTRIB4UBVPROC my_glVertexAttrib4ubv; 111 PFNGLVERTEXATTRIB4UIVPROC my_glVertexAttrib4uiv; 112 PFNGLVERTEXATTRIB4USVPROC my_glVertexAttrib4usv; 113 PFNGLVERTEXATTRIBPOINTERPROC my_glVertexAttribPointer; 114 115 // VBO 116 PFNGLBINDBUFFERPROC my_glBindBuffer; 117 PFNGLDELETEBUFFERSPROC my_glDeleteBuffers; 118 PFNGLGENBUFFERSPROC my_glGenBuffers; 119 PFNGLISBUFFERPROC my_glIsBuffer; 120 PFNGLBUFFERDATAPROC my_glBufferData; 121 PFNGLBUFFERSUBDATAPROC my_glBufferSubData; 122 PFNGLGETBUFFERSUBDATAPROC my_glGetBufferSubData; 123 PFNGLMAPBUFFERPROC my_glMapBuffer; 124 PFNGLUNMAPBUFFERPROC my_glUnmapBuffer; 125 PFNGLGETBUFFERPARAMETERIVPROC my_glGetBufferParameteriv; 126 PFNGLGETBUFFERPOINTERVPROC my_glGetBufferPointerv; 127 128 #include <stdio.h> 129 load_exts_entry_points(void)130void load_exts_entry_points(void) 131 { 132 // commented-out functions aren't used in the app and even the entry points are eliminated during compilation (so no size increase) 133 134 // FBO (GL 3.0 or EXT_framebuffer_objects) 135 my_glIsRenderBuffer = (PFNGLISRENDERBUFFEREXTPROC)(glfwGetProcAddress("glIsRenderBufferEXT")); 136 my_glBindRenderbuffer = (PFNGLBINDRENDERBUFFEREXTPROC)(glfwGetProcAddress("glBindRenderbufferEXT")); 137 my_glDeleteRenderbuffers = (PFNGLDELETERENDERBUFFERSEXTPROC)(glfwGetProcAddress("glDeleteRenderbuffersEXT")); 138 my_glGenRenderbuffers = (PFNGLGENRENDERBUFFERSEXTPROC)(glfwGetProcAddress("glGenRenderbuffersEXT")); 139 my_glRenderbufferStorage = (PFNGLRENDERBUFFERSTORAGEEXTPROC)(glfwGetProcAddress("glRenderbufferStorageEXT")); 140 my_glGetRenderbufferParameteriv = (PFNGLGETRENDERBUFFERPARAMETERIVEXTPROC)(glfwGetProcAddress("glGetRenderbufferParameterivEXT")); 141 my_glIsFramebuffer = (PFNGLISFRAMEBUFFEREXTPROC)(glfwGetProcAddress("glIsFramebufferEXT")); 142 my_glBindFramebuffer = (PFNGLBINDFRAMEBUFFEREXTPROC)(glfwGetProcAddress("glBindFramebufferEXT")); 143 my_glDeleteFramebuffers = (PFNGLDELETEFRAMEBUFFERSEXTPROC)(glfwGetProcAddress("glDeleteFramebuffersEXT")); 144 my_glGenFramebuffers = (PFNGLGENFRAMEBUFFERSEXTPROC)(glfwGetProcAddress("glGenFramebuffersEXT")); 145 my_glCheckFramebufferStatus = (PFNGLCHECKFRAMEBUFFERSTATUSEXTPROC)(glfwGetProcAddress("glCheckFramebufferStatusEXT")); 146 my_glFramebufferTexture1D = (PFNGLFRAMEBUFFERTEXTURE1DEXTPROC)(glfwGetProcAddress("glFramebufferTexture1DEXT")); 147 my_glFramebufferTexture2D = (PFNGLFRAMEBUFFERTEXTURE2DEXTPROC)(glfwGetProcAddress("glFramebufferTexture2DEXT")); 148 my_glFramebufferTexture3D = (PFNGLFRAMEBUFFERTEXTURE3DEXTPROC)(glfwGetProcAddress("glFramebufferTexture3DEXT")); 149 my_glFramebufferRenderbuffer = (PFNGLFRAMEBUFFERRENDERBUFFEREXTPROC)(glfwGetProcAddress("glFramebufferRenderbufferEXT")); 150 my_glGetFramebufferAttachmentParameteriv = (PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC)(glfwGetProcAddress("glGetFramebufferAttachmentParameterivEXT")); 151 my_glGenerateMipmap = (PFNGLGENERATEMIPMAPEXTPROC)(glfwGetProcAddress("glGenerateMipmapEXT")); 152 my_glBlitFramebuffer = (PFNGLBLITFRAMEBUFFEREXTPROC)(glfwGetProcAddress("glBlitFramebufferEXT")); 153 my_glRenderbufferStorageMultisample = (PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC)(glfwGetProcAddress("glRenderbufferStorageMultisampleEXT")); 154 155 // shaders (GL 2.0 or ARB_shader_objects + ARB_vertex_shader + ARB_fragment_shader + ARB_shading_language_100) 156 my_glAttachShader = (PFNGLATTACHSHADERPROC)(glfwGetProcAddress("glAttachObjectARB")); 157 my_glBindAttribLocation = (PFNGLBINDATTRIBLOCATIONPROC)(glfwGetProcAddress("glBindAttribLocationARB")); 158 my_glCompileShader = (PFNGLCOMPILESHADERPROC)(glfwGetProcAddress("glCompileShaderARB")); 159 my_glCreateProgram = (PFNGLCREATEPROGRAMPROC)(glfwGetProcAddress("glCreateProgramObjectARB")); 160 my_glCreateShader = (PFNGLCREATESHADERPROC)(glfwGetProcAddress("glCreateShaderObjectARB")); 161 my_glDeleteProgram = (PFNGLDELETEPROGRAMPROC)(glfwGetProcAddress("glDeleteObjectARB")); 162 my_glDeleteShader = (PFNGLDELETESHADERPROC)(glfwGetProcAddress("glDeleteObjectARB")); 163 my_glDetachShader = (PFNGLDETACHSHADERPROC)(glfwGetProcAddress("glDetachObjectARB")); 164 my_glDisableVertexAttribArray = (PFNGLDISABLEVERTEXATTRIBARRAYPROC)(glfwGetProcAddress("glDisableVertexAttribArrayARB")); 165 my_glEnableVertexAttribArray = (PFNGLENABLEVERTEXATTRIBARRAYPROC)(glfwGetProcAddress("glEnableVertexAttribArrayARB")); 166 my_glGetActiveAttrib = (PFNGLGETACTIVEATTRIBPROC)(glfwGetProcAddress("glGetActiveAttribARB")); 167 my_glGetActiveUniform = (PFNGLGETACTIVEUNIFORMPROC)(glfwGetProcAddress("glGetActiveUniformARB")); 168 my_glGetAttachedShaders = (PFNGLGETATTACHEDSHADERSPROC)(glfwGetProcAddress("glGetAttachedObjectsARB")); 169 my_glGetAttribLocation = (PFNGLGETATTRIBLOCATIONPROC)(glfwGetProcAddress("glGetAttribLocationARB")); 170 my_glGetProgramiv = (PFNGLGETPROGRAMIVPROC)(glfwGetProcAddress("glGetObjectParameterivARB")); 171 my_glGetProgramInfoLog = (PFNGLGETPROGRAMINFOLOGPROC)(glfwGetProcAddress("glGetInfoLogARB")); 172 my_glGetShaderiv = (PFNGLGETSHADERIVPROC)(glfwGetProcAddress("glGetObjectParameterivARB")); 173 my_glGetShaderInfoLog = (PFNGLGETSHADERINFOLOGPROC)(glfwGetProcAddress("glGetInfoLogARB")); 174 my_glGetShaderSource = (PFNGLGETSHADERSOURCEPROC)(glfwGetProcAddress("glGetShaderSourceARB")); 175 my_glGetUniformLocation = (PFNGLGETUNIFORMLOCATIONPROC)(glfwGetProcAddress("glGetUniformLocationARB")); 176 my_glGetUniformfv = (PFNGLGETUNIFORMFVPROC)(glfwGetProcAddress("glGetUniformfvARB")); 177 my_glGetUniformiv = (PFNGLGETUNIFORMIVPROC)(glfwGetProcAddress("glGetUniformivARB")); 178 my_glGetVertexAttribdv = (PFNGLGETVERTEXATTRIBDVPROC)(glfwGetProcAddress("glGetVertexAttribdvARB")); 179 my_glGetVertexAttribfv = (PFNGLGETVERTEXATTRIBFVPROC)(glfwGetProcAddress("glGetVertexAttribfvARB")); 180 my_glGetVertexAttribiv = (PFNGLGETVERTEXATTRIBIVPROC)(glfwGetProcAddress("glGetVertexAttribivARB")); 181 my_glGetVertexAttribPointerv = (PFNGLGETVERTEXATTRIBPOINTERVPROC)(glfwGetProcAddress("glGetVertexAttribPointervARB")); 182 //my_glIsProgram = (PFNGLISPROGRAMPROC)(glfwGetProcAddress("glIsProgram")); 183 //my_glIsShader = (PFNGLISSHADERPROC)(glfwGetProcAddress("glIsShader")); 184 my_glLinkProgram = (PFNGLLINKPROGRAMPROC)(glfwGetProcAddress("glLinkProgramARB")); 185 my_glShaderSource = (PFNGLSHADERSOURCEPROC)(glfwGetProcAddress("glShaderSourceARB")); 186 my_glUseProgram = (PFNGLUSEPROGRAMPROC)(glfwGetProcAddress("glUseProgramObjectARB")); 187 my_glUniform1f = (PFNGLUNIFORM1FPROC)(glfwGetProcAddress("glUniform1fARB")); 188 my_glUniform2f = (PFNGLUNIFORM2FPROC)(glfwGetProcAddress("glUniform2fARB")); 189 my_glUniform3f = (PFNGLUNIFORM3FPROC)(glfwGetProcAddress("glUniform3fARB")); 190 my_glUniform4f = (PFNGLUNIFORM4FPROC)(glfwGetProcAddress("glUniform4fARB")); 191 my_glUniform1i = (PFNGLUNIFORM1IPROC)(glfwGetProcAddress("glUniform1iARB")); 192 my_glUniform2i = (PFNGLUNIFORM2IPROC)(glfwGetProcAddress("glUniform2iARB")); 193 my_glUniform3i = (PFNGLUNIFORM3IPROC)(glfwGetProcAddress("glUniform3iARB")); 194 my_glUniform4i = (PFNGLUNIFORM4IPROC)(glfwGetProcAddress("glUniform4iARB")); 195 my_glUniform1fv = (PFNGLUNIFORM1FVPROC)(glfwGetProcAddress("glUniform1fvARB")); 196 my_glUniform2fv = (PFNGLUNIFORM2FVPROC)(glfwGetProcAddress("glUniform2fvARB")); 197 my_glUniform3fv = (PFNGLUNIFORM3FVPROC)(glfwGetProcAddress("glUniform3fvARB")); 198 my_glUniform4fv = (PFNGLUNIFORM4FVPROC)(glfwGetProcAddress("glUniform4fvARB")); 199 my_glUniform1iv = (PFNGLUNIFORM1IVPROC)(glfwGetProcAddress("glUniform1ivARB")); 200 my_glUniform2iv = (PFNGLUNIFORM2IVPROC)(glfwGetProcAddress("glUniform2ivARB")); 201 my_glUniform3iv = (PFNGLUNIFORM3IVPROC)(glfwGetProcAddress("glUniform3ivARB")); 202 my_glUniform4iv = (PFNGLUNIFORM4IVPROC)(glfwGetProcAddress("glUniform4ivARB")); 203 my_glUniformMatrix2fv = (PFNGLUNIFORMMATRIX2FVPROC)(glfwGetProcAddress("glUniformMatrix2fvARB")); 204 my_glUniformMatrix3fv = (PFNGLUNIFORMMATRIX3FVPROC)(glfwGetProcAddress("glUniformMatrix3fvARB")); 205 my_glUniformMatrix4fv = (PFNGLUNIFORMMATRIX4FVPROC)(glfwGetProcAddress("glUniformMatrix4fvARB")); 206 my_glValidateProgram = (PFNGLVALIDATEPROGRAMPROC)(glfwGetProcAddress("glValidateProgramARB")); 207 //my_glVertexAttrib1d = (PFNGLVERTEXATTRIB1DPROC)(glfwGetProcAddress("glVertexAttrib1dARB")); 208 //my_glVertexAttrib1dv = (PFNGLVERTEXATTRIB1DVPROC)(glfwGetProcAddress("glVertexAttrib1dvARB")); 209 //my_glVertexAttrib1f = (PFNGLVERTEXATTRIB1FPROC)(glfwGetProcAddress("glVertexAttrib1fARB")); 210 //my_glVertexAttrib1fv = (PFNGLVERTEXATTRIB1FVPROC)(glfwGetProcAddress("glVertexAttrib1fvARB")); 211 //my_glVertexAttrib1s = (PFNGLVERTEXATTRIB1SPROC)(glfwGetProcAddress("glVertexAttrib1sARB")); 212 //my_glVertexAttrib1sv = (PFNGLVERTEXATTRIB1SVPROC)(glfwGetProcAddress("glVertexAttrib1svARB")); 213 //my_glVertexAttrib2d = (PFNGLVERTEXATTRIB2DPROC)(glfwGetProcAddress("glVertexAttrib2dARB")); 214 //my_glVertexAttrib2dv = (PFNGLVERTEXATTRIB2DVPROC)(glfwGetProcAddress("glVertexAttrib2dvARB")); 215 //my_glVertexAttrib2f = (PFNGLVERTEXATTRIB2FPROC)(glfwGetProcAddress("glVertexAttrib2fARB")); 216 //my_glVertexAttrib2fv = (PFNGLVERTEXATTRIB2FVPROC)(glfwGetProcAddress("glVertexAttrib2fvARB")); 217 //my_glVertexAttrib2s = (PFNGLVERTEXATTRIB2SPROC)(glfwGetProcAddress("glVertexAttrib2sARB")); 218 //my_glVertexAttrib2sv = (PFNGLVERTEXATTRIB2SVPROC)(glfwGetProcAddress("glVertexAttrib2svARB")); 219 //my_glVertexAttrib3d = (PFNGLVERTEXATTRIB3DPROC)(glfwGetProcAddress("glVertexAttrib3dARB")); 220 //my_glVertexAttrib3dv = (PFNGLVERTEXATTRIB3DVPROC)(glfwGetProcAddress("glVertexAttrib3dvARB")); 221 //my_glVertexAttrib3f = (PFNGLVERTEXATTRIB3FPROC)(glfwGetProcAddress("glVertexAttrib3fARB")); 222 //my_glVertexAttrib3fv = (PFNGLVERTEXATTRIB3FVPROC)(glfwGetProcAddress("glVertexAttrib3fvARB")); 223 //my_glVertexAttrib3s = (PFNGLVERTEXATTRIB3SPROC)(glfwGetProcAddress("glVertexAttrib3sARB")); 224 //my_glVertexAttrib3sv = (PFNGLVERTEXATTRIB3SVPROC)(glfwGetProcAddress("glVertexAttrib3svARB")); 225 //my_glVertexAttrib4Nbv = (PFNGLVERTEXATTRIB4NBVPROC)(glfwGetProcAddress("glVertexAttrib4NbvARB")); 226 //my_glVertexAttrib4Niv = (PFNGLVERTEXATTRIB4NIVPROC)(glfwGetProcAddress("glVertexAttrib4NivARB")); 227 //my_glVertexAttrib4Nsv = (PFNGLVERTEXATTRIB4NSVPROC)(glfwGetProcAddress("glVertexAttrib4NsvARB")); 228 // my_glVertexAttrib4Nub = (PFNGLVERTEXATTRIB4NUBPROC)(glfwGetProcAddress("glVertexAttrib4NubARB")); 229 //my_glVertexAttrib4Nubv = (PFNGLVERTEXATTRIB4NUBVPROC)(glfwGetProcAddress("glVertexAttrib4NubvARB")); 230 //my_glVertexAttrib4Nuiv = (PFNGLVERTEXATTRIB4NUIVPROC)(glfwGetProcAddress("glVertexAttrib4NuivARB")); 231 //my_glVertexAttrib4Nusv = (PFNGLVERTEXATTRIB4NUSVPROC)(glfwGetProcAddress("glVertexAttrib4NusvARB")); 232 //my_glVertexAttrib4bv = (PFNGLVERTEXATTRIB4BVPROC)(glfwGetProcAddress("glVertexAttrib4bvARB")); 233 //my_glVertexAttrib4d = (PFNGLVERTEXATTRIB4DPROC)(glfwGetProcAddress("glVertexAttrib4dARB")); 234 //my_glVertexAttrib4dv = (PFNGLVERTEXATTRIB4DVPROC)(glfwGetProcAddress("glVertexAttrib4dvARB")); 235 //my_glVertexAttrib4f = (PFNGLVERTEXATTRIB4FPROC)(glfwGetProcAddress("glVertexAttrib4fARB")); 236 //my_glVertexAttrib4fv = (PFNGLVERTEXATTRIB4FVPROC)(glfwGetProcAddress("glVertexAttrib4fvARB")); 237 //my_glVertexAttrib4iv = (PFNGLVERTEXATTRIB4IVPROC)(glfwGetProcAddress("glVertexAttrib4ivARB")); 238 //my_glVertexAttrib4s = (PFNGLVERTEXATTRIB4SPROC)(glfwGetProcAddress("glVertexAttrib4sARB")); 239 //my_glVertexAttrib4sv = (PFNGLVERTEXATTRIB4SVPROC)(glfwGetProcAddress("glVertexAttrib4svARB")); 240 //my_glVertexAttrib4ubv = (PFNGLVERTEXATTRIB4UBVPROC)(glfwGetProcAddress("glVertexAttrib4ubvARB")); 241 //my_glVertexAttrib4uiv = (PFNGLVERTEXATTRIB4UIVPROC)(glfwGetProcAddress("glVertexAttrib4uivARB")); 242 //my_glVertexAttrib4usv = (PFNGLVERTEXATTRIB4USVPROC)(glfwGetProcAddress("glVertexAttrib4usvARB")); 243 my_glVertexAttribPointer = (PFNGLVERTEXATTRIBPOINTERPROC)(glfwGetProcAddress("glVertexAttribPointerARB")); 244 245 // VBO (GL 1.5 or GL_ARB_vertex_buffer_object) 246 my_glBindBuffer = (PFNGLBINDBUFFERPROC)(glfwGetProcAddress("glBindBufferARB")); 247 my_glDeleteBuffers = (PFNGLDELETEBUFFERSPROC)(glfwGetProcAddress("glDeleteBuffersARB")); 248 my_glGenBuffers = (PFNGLGENBUFFERSPROC)(glfwGetProcAddress("glGenBuffersARB")); 249 my_glIsBuffer = (PFNGLISBUFFERPROC)(glfwGetProcAddress("glIsBufferARB")); 250 my_glBufferData = (PFNGLBUFFERDATAPROC)(glfwGetProcAddress("glBufferDataARB")); 251 my_glBufferSubData = (PFNGLBUFFERSUBDATAPROC)(glfwGetProcAddress("glBufferSubDataARB")); 252 my_glGetBufferSubData = (PFNGLGETBUFFERSUBDATAPROC)(glfwGetProcAddress("glGetBufferSubDataARB")); 253 my_glMapBuffer = (PFNGLMAPBUFFERPROC)(glfwGetProcAddress("glMapBufferARB")); 254 my_glUnmapBuffer = (PFNGLUNMAPBUFFERPROC)(glfwGetProcAddress("glUnmapBufferARB")); 255 my_glGetBufferParameteriv = (PFNGLGETBUFFERPARAMETERIVPROC)(glfwGetProcAddress("glGetBufferParameterivARB")); 256 my_glGetBufferPointerv = (PFNGLGETBUFFERPOINTERVPROC)(glfwGetProcAddress("glGetBufferPointervARB")); 257 } 258