mirror of
https://github.com/FunkyFr3sh/cnc-ddraw.git
synced 2025-03-24 17:49:52 +01:00
move wglSwapIntervalEXT to opengl.c
This commit is contained in:
parent
5ed60e662e
commit
90758a08c8
@ -8,6 +8,8 @@ BOOL OpenGL_ExtExists(char *ext);
|
|||||||
GLuint OpenGL_BuildProgram(const GLchar *vertSource, const GLchar *fragSource);
|
GLuint OpenGL_BuildProgram(const GLchar *vertSource, const GLchar *fragSource);
|
||||||
GLuint OpenGL_BuildProgramFromFile(const char *filePath);
|
GLuint OpenGL_BuildProgramFromFile(const char *filePath);
|
||||||
|
|
||||||
|
typedef void (APIENTRYP PFNWGLSWAPINTERVALEXT) (int interval);
|
||||||
|
|
||||||
// Program
|
// Program
|
||||||
extern PFNGLCREATEPROGRAMPROC glCreateProgram;
|
extern PFNGLCREATEPROGRAMPROC glCreateProgram;
|
||||||
extern PFNGLDELETEPROGRAMPROC glDeleteProgram;
|
extern PFNGLDELETEPROGRAMPROC glDeleteProgram;
|
||||||
@ -66,3 +68,5 @@ extern PFNGLFRAMEBUFFERTEXTURE2DPROC glFramebufferTexture2D;
|
|||||||
extern PFNGLDRAWBUFFERSPROC glDrawBuffers;
|
extern PFNGLDRAWBUFFERSPROC glDrawBuffers;
|
||||||
extern PFNGLCHECKFRAMEBUFFERSTATUSPROC glCheckFramebufferStatus;
|
extern PFNGLCHECKFRAMEBUFFERSTATUSPROC glCheckFramebufferStatus;
|
||||||
extern PFNGLDELETEFRAMEBUFFERSPROC glDeleteFramebuffers;
|
extern PFNGLDELETEFRAMEBUFFERSPROC glDeleteFramebuffers;
|
||||||
|
|
||||||
|
extern PFNWGLSWAPINTERVALEXT wglSwapIntervalEXT;
|
||||||
|
@ -62,6 +62,8 @@ PFNGLDRAWBUFFERSPROC glDrawBuffers = NULL;
|
|||||||
PFNGLCHECKFRAMEBUFFERSTATUSPROC glCheckFramebufferStatus = NULL;
|
PFNGLCHECKFRAMEBUFFERSTATUSPROC glCheckFramebufferStatus = NULL;
|
||||||
PFNGLDELETEFRAMEBUFFERSPROC glDeleteFramebuffers = NULL;
|
PFNGLDELETEFRAMEBUFFERSPROC glDeleteFramebuffers = NULL;
|
||||||
|
|
||||||
|
PFNWGLSWAPINTERVALEXT wglSwapIntervalEXT = NULL;
|
||||||
|
|
||||||
void OpenGL_Init()
|
void OpenGL_Init()
|
||||||
{
|
{
|
||||||
// Program
|
// Program
|
||||||
@ -120,6 +122,8 @@ void OpenGL_Init()
|
|||||||
glDrawBuffers = (PFNGLDRAWBUFFERSPROC)wglGetProcAddress("glDrawBuffers");
|
glDrawBuffers = (PFNGLDRAWBUFFERSPROC)wglGetProcAddress("glDrawBuffers");
|
||||||
glCheckFramebufferStatus = (PFNGLCHECKFRAMEBUFFERSTATUSPROC)wglGetProcAddress("glCheckFramebufferStatus");
|
glCheckFramebufferStatus = (PFNGLCHECKFRAMEBUFFERSTATUSPROC)wglGetProcAddress("glCheckFramebufferStatus");
|
||||||
glDeleteFramebuffers = (PFNGLDELETEFRAMEBUFFERSPROC)wglGetProcAddress("glDeleteFramebuffers");
|
glDeleteFramebuffers = (PFNGLDELETEFRAMEBUFFERSPROC)wglGetProcAddress("glDeleteFramebuffers");
|
||||||
|
|
||||||
|
wglSwapIntervalEXT = (PFNWGLSWAPINTERVALEXT)wglGetProcAddress("wglSwapIntervalEXT");
|
||||||
}
|
}
|
||||||
|
|
||||||
BOOL OpenGL_ExtExists(char *ext)
|
BOOL OpenGL_ExtExists(char *ext)
|
||||||
|
13
src/render.c
13
src/render.c
@ -49,7 +49,6 @@ DWORD WINAPI render_main(void)
|
|||||||
|
|
||||||
if (OpenGL_ExtExists("WGL_EXT_swap_control"))
|
if (OpenGL_ExtExists("WGL_EXT_swap_control"))
|
||||||
{
|
{
|
||||||
BOOL(APIENTRY *wglSwapIntervalEXT)(int) = (BOOL(APIENTRY *)(int))wglGetProcAddress("wglSwapIntervalEXT");
|
|
||||||
if (wglSwapIntervalEXT)
|
if (wglSwapIntervalEXT)
|
||||||
{
|
{
|
||||||
if (ddraw->vsync)
|
if (ddraw->vsync)
|
||||||
@ -532,15 +531,19 @@ DWORD WINAPI render_main(void)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (scaleProgram && paletteConvProgram)
|
if (paletteConvProgram)
|
||||||
{
|
{
|
||||||
// draw surface into framebuffer
|
|
||||||
glUseProgram(paletteConvProgram);
|
|
||||||
|
|
||||||
glActiveTexture(GL_TEXTURE0);
|
glActiveTexture(GL_TEXTURE0);
|
||||||
glBindTexture(GL_TEXTURE_2D, surfaceTexId);
|
glBindTexture(GL_TEXTURE_2D, surfaceTexId);
|
||||||
glActiveTexture(GL_TEXTURE1);
|
glActiveTexture(GL_TEXTURE1);
|
||||||
glBindTexture(GL_TEXTURE_2D, paletteTexId);
|
glBindTexture(GL_TEXTURE_2D, paletteTexId);
|
||||||
|
glActiveTexture(GL_TEXTURE0);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (scaleProgram && paletteConvProgram)
|
||||||
|
{
|
||||||
|
// draw surface into framebuffer
|
||||||
|
glUseProgram(paletteConvProgram);
|
||||||
|
|
||||||
glViewport(0, 0, ddraw->width, ddraw->height);
|
glViewport(0, 0, ddraw->width, ddraw->height);
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user