volviewer

Volumetric Data Toy Viewer
git clone anongit@rnpnr.xyz:volviewer.git
Log | Files | Refs | Feed | LICENSE

opengl.h (6208B)


      1 /* See LICENSE for license details. */
      2 #if OS_WINDOWS
      3 /* NOTE: msys2 compatibility kludge */
      4 #define WINGDIAPI
      5 #define APIENTRY
      6 #endif
      7 
      8 #include <GL/gl.h>
      9 
     10 #define GL_DYNAMIC_STORAGE_BIT  0x0100
     11 
     12 #define GL_UNSIGNED_INT_8_8_8_8 0x8035
     13 #define GL_TEXTURE_3D           0x806F
     14 #define GL_MULTISAMPLE          0x809D
     15 #define GL_DEPTH_COMPONENT24    0x81A6
     16 #define GL_RG                   0x8227
     17 #define GL_RG32F                0x8230
     18 #define GL_PROGRAM              0x82E2
     19 #define GL_MIRRORED_REPEAT      0x8370
     20 #define GL_STATIC_DRAW          0x88E4
     21 #define GL_FRAGMENT_SHADER      0x8B30
     22 #define GL_VERTEX_SHADER        0x8B31
     23 #define GL_COMPILE_STATUS       0x8B81
     24 #define GL_LINK_STATUS          0x8B82
     25 #define GL_INFO_LOG_LENGTH      0x8B84
     26 #define GL_COLOR_ATTACHMENT0    0x8CE0
     27 #define GL_DEPTH_ATTACHMENT     0x8D00
     28 #define GL_FRAMEBUFFER          0x8D40
     29 #define GL_RENDERBUFFER         0x8D41
     30 
     31 typedef char      GLchar;
     32 typedef ptrdiff_t GLsizeiptr;
     33 typedef ptrdiff_t GLintptr;
     34 
     35 /* X(name, ret, params) */
     36 #define OGLProcedureList \
     37 	X(glAttachShader,                        void,   (GLuint program, GLuint shader)) \
     38 	X(glBindFramebuffer,                     void,   (GLenum target, GLuint framebuffer)) \
     39 	X(glBindTextureUnit,                     void,   (GLuint unit, GLuint texture)) \
     40 	X(glBindVertexArray,                     void,   (GLuint array)) \
     41 	X(glBlitNamedFramebuffer,                void,   (GLuint sfb, GLuint dfb, GLint sx0, GLint sy0, GLint sx1, GLint sy1, GLint dx0, GLint dy0, GLint dx1, GLint dy1, GLbitfield mask, GLenum filter)) \
     42 	X(glClearNamedFramebufferfv,             void,   (GLuint framebuffer, GLenum buffer, GLint drawbuffer, const GLfloat *value)) \
     43 	X(glCompileShader,                       void,   (GLuint shader)) \
     44 	X(glCreateBuffers,                       void,   (GLsizei n, GLuint *buffers)) \
     45 	X(glCreateFramebuffers,                  void,   (GLsizei n, GLuint *ids)) \
     46 	X(glCreateProgram,                       GLuint, (void)) \
     47 	X(glCreateRenderbuffers,                 void,   (GLsizei n, GLuint *renderbuffers)) \
     48 	X(glCreateShader,                        GLuint, (GLenum shaderType)) \
     49 	X(glCreateTextures,                      void,   (GLenum target, GLsizei n, GLuint *textures)) \
     50 	X(glCreateVertexArrays,                  void,   (GLsizei n, GLuint *arrays)) \
     51 	X(glDebugMessageCallback,                void,   (void (*)(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *message, const void *user), void *user)) \
     52 	X(glDeleteProgram,                       void,   (GLuint program)) \
     53 	X(glDeleteShader,                        void,   (GLuint shader)) \
     54 	X(glEnableVertexArrayAttrib,             void,   (GLuint vao, GLuint index)) \
     55 	X(glGenerateTextureMipmap,               void,   (GLuint texture)) \
     56 	X(glGetProgramInfoLog,                   void,   (GLuint program, GLsizei maxLength, GLsizei *length, GLchar *infoLog)) \
     57 	X(glGetProgramiv,                        void,   (GLuint program, GLenum pname, GLint *params)) \
     58 	X(glGetShaderInfoLog,                    void,   (GLuint shader, GLsizei maxLength, GLsizei *length, GLchar *infoLog)) \
     59 	X(glGetShaderiv,                         void,   (GLuint shader, GLenum pname, GLint *params)) \
     60 	X(glGetTextureImage,                     void,   (GLuint texture, GLint level, GLenum format, GLenum type, GLsizei bufSize, void *pixels)) \
     61 	X(glLinkProgram,                         void,   (GLuint program)) \
     62 	X(glNamedBufferData,                     void,   (GLuint buffer, GLsizeiptr size, const void *data, GLenum usage)) \
     63 	X(glNamedBufferStorage,                  void,   (GLuint buffer, GLsizeiptr size, const void *data, GLbitfield flags)) \
     64 	X(glNamedBufferSubData,                  void,   (GLuint buffer, GLintptr offset, GLsizei size, const void *data)) \
     65 	X(glNamedFramebufferRenderbuffer,        void,   (GLuint fb, GLenum attachment, GLenum renderbuffertarget, GLuint rb)) \
     66 	X(glNamedFramebufferTexture,             void,   (GLuint fb, GLenum attachment, GLuint texture, GLint level)) \
     67 	X(glNamedRenderbufferStorageMultisample, void,   (GLuint rb, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height)) \
     68 	X(glObjectLabel,                         void,   (GLenum identifier, GLuint name, GLsizei length, const char *label)) \
     69 	X(glProgramUniform1f,                    void,   (GLuint program, GLint location, GLfloat v0)) \
     70 	X(glProgramUniform1ui,                   void,   (GLuint program, GLint location, GLuint v0)) \
     71 	X(glProgramUniform4fv,                   void,   (GLuint program, GLint location, GLsizei count, const GLfloat *value)) \
     72 	X(glProgramUniformMatrix4fv,             void,   (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)) \
     73 	X(glShaderSource,                        void,   (GLuint shader, GLsizei count, const GLchar **strings, const GLint *lengths)) \
     74 	X(glTextureParameteri,                   void,   (GLuint texture, GLenum pname, GLint param)) \
     75 	X(glTextureStorage2D,                    void,   (GLuint texture, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height)) \
     76 	X(glTextureStorage3D,                    void,   (GLuint texture, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth)) \
     77 	X(glTextureSubImage3D,                   void,   (GLuint texture, GLint level, GLint xoff, GLint yoff, GLint zoff, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pix)) \
     78 	X(glUseProgram,                          void,   (GLuint program)) \
     79 	X(glVertexArrayAttribBinding,            void,   (GLuint vao, GLuint attribindex, GLuint bindingindex)) \
     80 	X(glVertexArrayAttribFormat,             void,   (GLuint vao, GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset)) \
     81 	X(glVertexArrayElementBuffer,            void,   (GLuint vao, GLuint buffer)) \
     82 	X(glVertexArrayVertexBuffer,             void,   (GLuint vao, GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride))
     83 
     84 #define X(name, ret, params) typedef ret name##_fn params;
     85 OGLProcedureList
     86 #undef X
     87 #define X(name, ret, params) global name##_fn *name;
     88 OGLProcedureList
     89 #undef X
     90