mirror of
https://github.com/FunkyFr3sh/cnc-ddraw.git
synced 2025-03-22 08:41:41 +01:00
134 lines
5.7 KiB
C
134 lines
5.7 KiB
C
#pragma once
|
|
#include "glcorearb.h"
|
|
|
|
typedef HGLRC (APIENTRYP PFNWGLCREATECONTEXT)(HDC);
|
|
typedef BOOL (APIENTRYP PFNWGLDELETECONTEXT)(HGLRC);
|
|
typedef PROC (APIENTRYP PFNWGLGETPROCADDRESS)(LPCSTR);
|
|
typedef BOOL (APIENTRYP PFNWGLMAKECURRENT)(HDC, HGLRC);
|
|
|
|
extern PFNWGLCREATECONTEXT xwglCreateContext;
|
|
extern PFNWGLDELETECONTEXT xwglDeleteContext;
|
|
extern PFNWGLGETPROCADDRESS xwglGetProcAddress;
|
|
extern PFNWGLMAKECURRENT xwglMakeCurrent;
|
|
|
|
typedef void (APIENTRYP PFNGLVIEWPORT)(GLint x, GLint y, GLsizei width, GLsizei height);
|
|
typedef void (APIENTRYP PFNGLBINDTEXTURE)(GLenum target, GLuint texture);
|
|
typedef void (APIENTRYP PFNGLGENTEXTURES)(GLsizei n, GLuint *textures);
|
|
typedef void (APIENTRYP PFNGLTEXPARAMETERI)(GLenum target, GLenum pname, GLint param);
|
|
typedef void (APIENTRYP PFNGLDELETETEXTURES)(GLsizei n, const GLuint *textures);
|
|
typedef void (APIENTRYP PFNGLTEXIMAGE2D)(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
|
|
typedef void (APIENTRYP PFNGLDRAWELEMENTS)(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices);
|
|
typedef void (APIENTRYP PFNGLTEXSUBIMAGE2D)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels);
|
|
typedef GLenum (APIENTRYP PFNGLGETERROR)(void);
|
|
typedef const GLubyte * (APIENTRYP PFNGLGETSTRING)(GLenum name);
|
|
typedef void (APIENTRYP PFNGLGETTEXIMAGE)(GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels);
|
|
typedef void (APIENTRYP PFNGLPIXELSTOREI)(GLenum pname, GLint param);
|
|
|
|
extern PFNGLVIEWPORT glViewport;
|
|
extern PFNGLBINDTEXTURE glBindTexture;
|
|
extern PFNGLGENTEXTURES glGenTextures;
|
|
extern PFNGLTEXPARAMETERI glTexParameteri;
|
|
extern PFNGLDELETETEXTURES glDeleteTextures;
|
|
extern PFNGLTEXIMAGE2D glTexImage2D;
|
|
extern PFNGLDRAWELEMENTS glDrawElements;
|
|
extern PFNGLTEXSUBIMAGE2D glTexSubImage2D;
|
|
extern PFNGLGETERROR glGetError;
|
|
extern PFNGLGETSTRING glGetString;
|
|
extern PFNGLGETTEXIMAGE glGetTexImage;
|
|
extern PFNGLPIXELSTOREI glPixelStorei;
|
|
|
|
//compat profile only --->
|
|
#define GL_LUMINANCE 0x1909
|
|
#define GL_LUMINANCE8 0x8040
|
|
typedef void (APIENTRYP PFNGLBEGIN)(GLenum mode);
|
|
typedef void (APIENTRYP PFNGLEND)(void);
|
|
typedef void (APIENTRYP PFNGLTEXCOORD2F)(GLfloat s, GLfloat t);
|
|
typedef void (APIENTRYP PFNGLVERTEX2F)(GLfloat x, GLfloat y);
|
|
|
|
extern PFNGLBEGIN glBegin;
|
|
extern PFNGLEND glEnd;
|
|
extern PFNGLTEXCOORD2F glTexCoord2f;
|
|
extern PFNGLVERTEX2F glVertex2f;
|
|
// <--- compat profile only
|
|
|
|
|
|
BOOL OpenGL_LoadDll();
|
|
void OpenGL_Init();
|
|
BOOL OpenGL_ExtExists(char *ext, HDC hdc);
|
|
GLuint OpenGL_BuildProgram(const GLchar *vertSource, const GLchar *fragSource);
|
|
GLuint OpenGL_BuildProgramFromFile(const char *filePath);
|
|
|
|
typedef void (APIENTRYP PFNWGLSWAPINTERVALEXT) (int interval);
|
|
typedef const char* (WINAPI *PFNWGLGETEXTENSIONSSTRINGARBPROC)(HDC hdc);
|
|
|
|
extern PFNGLCREATEPROGRAMPROC glCreateProgram;
|
|
extern PFNGLDELETEPROGRAMPROC glDeleteProgram;
|
|
extern PFNGLUSEPROGRAMPROC glUseProgram;
|
|
extern PFNGLATTACHSHADERPROC glAttachShader;
|
|
extern PFNGLDETACHSHADERPROC glDetachShader;
|
|
extern PFNGLLINKPROGRAMPROC glLinkProgram;
|
|
extern PFNGLGETPROGRAMIVPROC glGetProgramiv;
|
|
extern PFNGLGETSHADERINFOLOGPROC glGetShaderInfoLog;
|
|
extern PFNGLGETUNIFORMLOCATIONPROC glGetUniformLocation;
|
|
extern PFNGLUNIFORM1IPROC glUniform1i;
|
|
extern PFNGLUNIFORM1IVPROC glUniform1iv;
|
|
extern PFNGLUNIFORM2IVPROC glUniform2iv;
|
|
extern PFNGLUNIFORM3IVPROC glUniform3iv;
|
|
extern PFNGLUNIFORM4IVPROC glUniform4iv;
|
|
extern PFNGLUNIFORM1FPROC glUniform1f;
|
|
extern PFNGLUNIFORM1FVPROC glUniform1fv;
|
|
extern PFNGLUNIFORM2FVPROC glUniform2fv;
|
|
extern PFNGLUNIFORM3FVPROC glUniform3fv;
|
|
extern PFNGLUNIFORM4FVPROC glUniform4fv;
|
|
extern PFNGLUNIFORM4FPROC glUniform4f;
|
|
extern PFNGLUNIFORMMATRIX4FVPROC glUniformMatrix4fv;
|
|
extern PFNGLGETATTRIBLOCATIONPROC glGetAttribLocation;
|
|
extern PFNGLVERTEXATTRIB1FPROC glVertexAttrib1f;
|
|
extern PFNGLVERTEXATTRIB1FVPROC glVertexAttrib1fv;
|
|
extern PFNGLVERTEXATTRIB2FVPROC glVertexAttrib2fv;
|
|
extern PFNGLVERTEXATTRIB3FVPROC glVertexAttrib3fv;
|
|
extern PFNGLVERTEXATTRIB4FVPROC glVertexAttrib4fv;
|
|
extern PFNGLENABLEVERTEXATTRIBARRAYPROC glEnableVertexAttribArray;
|
|
extern PFNGLDISABLEVERTEXATTRIBARRAYPROC glDisableVertexAttribArray;
|
|
extern PFNGLBINDATTRIBLOCATIONPROC glBindAttribLocation;
|
|
extern PFNGLGETACTIVEUNIFORMPROC glGetActiveUniform;
|
|
|
|
extern PFNGLCREATESHADERPROC glCreateShader;
|
|
extern PFNGLDELETESHADERPROC glDeleteShader;
|
|
extern PFNGLSHADERSOURCEPROC glShaderSource;
|
|
extern PFNGLCOMPILESHADERPROC glCompileShader;
|
|
extern PFNGLGETSHADERIVPROC glGetShaderiv;
|
|
|
|
extern PFNGLGENBUFFERSPROC glGenBuffers;
|
|
extern PFNGLBINDBUFFERPROC glBindBuffer;
|
|
extern PFNGLBUFFERDATAPROC glBufferData;
|
|
extern PFNGLMAPBUFFERPROC glMapBuffer;
|
|
extern PFNGLUNMAPBUFFERPROC glUnmapBuffer;
|
|
extern PFNGLBUFFERSUBDATAPROC glBufferSubData;
|
|
extern PFNGLVERTEXATTRIBPOINTERPROC glVertexAttribPointer;
|
|
extern PFNGLDELETEBUFFERSPROC glDeleteBuffers;
|
|
extern PFNGLGENVERTEXARRAYSPROC glGenVertexArrays;
|
|
extern PFNGLBINDVERTEXARRAYPROC glBindVertexArray;
|
|
extern PFNGLDELETEVERTEXARRAYSPROC glDeleteVertexArrays;
|
|
|
|
extern PFNGLACTIVETEXTUREPROC glActiveTexture;
|
|
|
|
extern PFNGLGENFRAMEBUFFERSPROC glGenFramebuffers;
|
|
extern PFNGLBINDFRAMEBUFFERPROC glBindFramebuffer;
|
|
extern PFNGLFRAMEBUFFERTEXTURE2DPROC glFramebufferTexture2D;
|
|
extern PFNGLDRAWBUFFERSPROC glDrawBuffers;
|
|
extern PFNGLCHECKFRAMEBUFFERSTATUSPROC glCheckFramebufferStatus;
|
|
extern PFNGLDELETEFRAMEBUFFERSPROC glDeleteFramebuffers;
|
|
|
|
extern PFNWGLSWAPINTERVALEXT wglSwapIntervalEXT;
|
|
extern PFNWGLGETEXTENSIONSSTRINGARBPROC wglGetExtensionsStringARB;
|
|
|
|
extern PFNGLTEXBUFFERPROC glTexBuffer;
|
|
|
|
extern HMODULE OpenGL_hModule;
|
|
|
|
extern BOOL OpenGL_GotVersion2;
|
|
extern BOOL OpenGL_GotVersion3;
|
|
|
|
extern char OpenGL_Version[];
|