170 lines
7.3 KiB
C
170 lines
7.3 KiB
C
#pragma once
|
|
|
|
#ifdef __cplusplus
|
|
extern "C"
|
|
{
|
|
#endif
|
|
|
|
#if defined(ANDROID) || defined(__ANDROID__)
|
|
#include <GLES2/gl2.h>
|
|
#include <GLES2/gl2ext.h>
|
|
|
|
typedef unsigned int GLenum;
|
|
#else
|
|
#include <GL/gl.h> // Header file for the OpenGL library
|
|
#endif
|
|
|
|
#ifndef APIENTRY
|
|
#define APIENTRY
|
|
#endif
|
|
#ifndef APIENTRYP
|
|
#define APIENTRYP APIENTRY *
|
|
#endif
|
|
|
|
#define GL_UNSIGNED_SHORT_5_6_5 0x8363
|
|
#define GL_UNSIGNED_SHORT_4_4_4_4_REV 0x8365
|
|
#define GL_UNSIGNED_SHORT_1_5_5_5_REV 0x8366
|
|
#define GL_UNSIGNED_INT_8_8_8_8_REV 0x8367
|
|
#define GL_BGRA 0x80E1
|
|
#define GL_CLAMP_TO_EDGE 0x812F
|
|
|
|
#ifndef GL_ARB_multitexture
|
|
#define GL_TEXTURE0_ARB 0x84C0
|
|
#define GL_TEXTURE1_ARB 0x84C1
|
|
#define GL_TEXTURE2_ARB 0x84C2
|
|
#define GL_MAX_TEXTURE_UNITS_ARB 0x84E2
|
|
#endif
|
|
|
|
#ifndef GL_EXT_texture_compression_s3tc
|
|
#define GL_COMPRESSED_RGB_S3TC_DXT1_EXT 0x83F0
|
|
#define GL_COMPRESSED_RGBA_S3TC_DXT3_EXT 0x83F2
|
|
#define GL_COMPRESSED_RGBA_S3TC_DXT5_EXT 0x83F3
|
|
#endif
|
|
|
|
#ifndef GL_3DFX_texture_compression_FXT1
|
|
#define GL_COMPRESSED_RGBA_FXT1_3DFX 0x86B1
|
|
#endif
|
|
|
|
#ifndef GL_EXT_texture_filter_anisotropic
|
|
#define GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT 0x84FF
|
|
#endif
|
|
|
|
#ifndef GL_EXT_framebuffer_object
|
|
#define GL_FRAMEBUFFER_BINDING_EXT 0x8CA6
|
|
#define GL_FRAMEBUFFER_COMPLETE_EXT 0x8CD5
|
|
#define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT 0x8CD6
|
|
#define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT 0x8CD7
|
|
#define GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT 0x8CD9
|
|
#define GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT 0x8CDA
|
|
#define GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT 0x8CDB
|
|
#define GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT 0x8CDC
|
|
#define GL_FRAMEBUFFER_UNSUPPORTED_EXT 0x8CDD
|
|
#define GL_COLOR_ATTACHMENT0_EXT 0x8CE0
|
|
#define GL_DEPTH_ATTACHMENT_EXT 0x8D00
|
|
#define GL_FRAMEBUFFER_EXT 0x8D40
|
|
#define GL_RENDERBUFFER_EXT 0x8D41
|
|
#endif
|
|
|
|
#include <stddef.h>
|
|
#ifndef GL_VERSION_2_0
|
|
// OpenGL type for program/shader text
|
|
typedef char GLchar;
|
|
#endif
|
|
|
|
#if defined(__APPLE__)
|
|
typedef void *GLhandleARB;
|
|
#else
|
|
typedef unsigned int GLhandleARB;
|
|
#endif
|
|
|
|
#ifndef GL_ARB_texture_env_combine
|
|
#define GL_COMBINE_ARB 0x8570
|
|
#define GL_COMBINE_RGB_ARB 0x8571
|
|
#define GL_COMBINE_ALPHA_ARB 0x8572
|
|
#define GL_SOURCE0_RGB_ARB 0x8580
|
|
#define GL_SOURCE1_RGB_ARB 0x8581
|
|
#define GL_SOURCE2_RGB_ARB 0x8582
|
|
#define GL_SOURCE0_ALPHA_ARB 0x8588
|
|
#define GL_SOURCE1_ALPHA_ARB 0x8589
|
|
#define GL_SOURCE2_ALPHA_ARB 0x858A
|
|
#define GL_OPERAND0_RGB_ARB 0x8590
|
|
#define GL_OPERAND1_RGB_ARB 0x8591
|
|
#define GL_OPERAND2_RGB_ARB 0x8592
|
|
#define GL_OPERAND0_ALPHA_ARB 0x8598
|
|
#define GL_OPERAND1_ALPHA_ARB 0x8599
|
|
#define GL_OPERAND2_ALPHA_ARB 0x859A
|
|
#define GL_CONSTANT_ARB 0x8576
|
|
#define GL_PRIMARY_COLOR_ARB 0x8577
|
|
#define GL_PREVIOUS_ARB 0x8578
|
|
#endif
|
|
|
|
#ifndef GL_ARB_texture_mirrored_repeat
|
|
#define GL_MIRRORED_REPEAT_ARB 0x8370
|
|
#endif
|
|
|
|
#ifndef GL_ARB_shader_objects
|
|
#define GL_OBJECT_LINK_STATUS_ARB 0x8B82
|
|
#endif
|
|
|
|
#ifndef GL_ARB_vertex_shader
|
|
#define GL_VERTEX_SHADER_ARB 0x8B31
|
|
#endif
|
|
|
|
#ifndef GL_ARB_fragment_shader
|
|
#define GL_FRAGMENT_SHADER_ARB 0x8B30
|
|
#endif
|
|
|
|
#ifndef GL_EXT_fog_coord
|
|
#define GL_FOG_COORDINATE_SOURCE_EXT 0x8450
|
|
#define GL_FOG_COORDINATE_EXT 0x8451
|
|
#endif
|
|
|
|
#ifndef GL_ARB_shader_objects
|
|
// OpenGL types for program/shader text and shader object handles
|
|
typedef char GLcharARB;
|
|
#if defined(__APPLE__)
|
|
typedef void *GLhandleARB;
|
|
#else
|
|
typedef unsigned int GLhandleARB;
|
|
#endif
|
|
#endif
|
|
|
|
typedef void (APIENTRYP PFNGLACTIVETEXTUREARBPROC) (GLenum texture);
|
|
typedef void (APIENTRYP PFNGLATTACHOBJECTARBPROC) (GLhandleARB containerObj, GLhandleARB obj);
|
|
typedef void (APIENTRYP PFNGLBINDRENDERBUFFEREXTPROC) (GLenum target, GLuint renderbuffer);
|
|
typedef void (APIENTRYP PFNGLBINDFRAMEBUFFEREXTPROC) (GLenum target, GLuint framebuffer);
|
|
typedef GLenum(APIENTRYP PFNGLCHECKFRAMEBUFFERSTATUSEXTPROC) (GLenum target);
|
|
typedef void (APIENTRYP PFNGLDELETERENDERBUFFERSEXTPROC) (GLsizei n, const GLuint *renderbuffers);
|
|
typedef void (APIENTRYP PFNGLFRAMEBUFFERRENDERBUFFEREXTPROC) (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
|
|
typedef GLhandleARB(APIENTRYP PFNGLCREATESHADEROBJECTARBPROC) (GLenum shaderType);
|
|
typedef void (APIENTRYP PFNGLCOMPILESHADERARBPROC) (GLhandleARB shaderObj);
|
|
typedef GLhandleARB(APIENTRYP PFNGLCREATEPROGRAMOBJECTARBPROC) (void);
|
|
typedef void (APIENTRYP PFNGLBLENDFUNCSEPARATEEXTPROC) (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);
|
|
typedef void (APIENTRYP PFNGLDELETEFRAMEBUFFERSEXTPROC) (GLsizei n, const GLuint *framebuffers);
|
|
typedef void (APIENTRYP PFNGLFOGCOORDFEXTPROC) (GLfloat coord);
|
|
typedef void (APIENTRYP PFNGLLINKPROGRAMARBPROC) (GLhandleARB programObj);
|
|
typedef void (APIENTRYP PFNGLGETOBJECTPARAMETERIVARBPROC) (GLhandleARB obj, GLenum pname, GLint *params);
|
|
typedef void (APIENTRYP PFNGLGETINFOLOGARBPROC) (GLhandleARB obj, GLsizei maxLength, GLsizei *length, GLcharARB *infoLog);
|
|
typedef GLint(APIENTRYP PFNGLGETUNIFORMLOCATIONARBPROC) (GLhandleARB programObj, const GLcharARB *name);
|
|
typedef void (APIENTRYP PFNGLGENRENDERBUFFERSEXTPROC) (GLsizei n, GLuint *renderbuffers);
|
|
typedef void (APIENTRYP PFNGLGENFRAMEBUFFERSEXTPROC) (GLsizei n, GLuint *framebuffers);
|
|
typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DEXTPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
|
|
typedef void (APIENTRYP PFNGLSECONDARYCOLOR3FPROC) (GLfloat red, GLfloat green, GLfloat blue);
|
|
typedef void (APIENTRYP PFNGLMULTITEXCOORD2FARBPROC) (GLenum target, GLfloat s, GLfloat t);
|
|
typedef void (APIENTRYP PFNGLRENDERBUFFERSTORAGEEXTPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
|
|
typedef GLhandleARB(APIENTRYP PFNGLGETHANDLEARBPROC) (GLenum pname);
|
|
typedef void (APIENTRYP PFNGLSHADERSOURCEARBPROC) (GLhandleARB shaderObj, GLsizei count, const GLcharARB* *string, const GLint *length);
|
|
typedef void (APIENTRYP PFNGLUSEPROGRAMOBJECTARBPROC) (GLhandleARB programObj);
|
|
typedef void (APIENTRYP PFNGLUNIFORM1FARBPROC) (GLint location, GLfloat v0);
|
|
typedef void (APIENTRYP PFNGLUNIFORM4FARBPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
|
|
typedef void (APIENTRYP PFNGLUNIFORM1IARBPROC) (GLint location, GLint v0);
|
|
typedef void (APIENTRYP PFNGLFOGCOORDFPROC) (GLfloat coord);
|
|
typedef void (APIENTRYP PFNGLUNIFORM4IARBPROC) (GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
|
|
typedef void (APIENTRYP PFNGLDELETEOBJECTARBPROC) (GLhandleARB obj);
|
|
typedef void (APIENTRYP PFNGLCOMPRESSEDTEXIMAGE2DARBPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data);
|
|
typedef void (APIENTRYP PFNGLCOMPRESSEDTEXIMAGE2DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|