mirror of
https://github.com/FunkyFr3sh/cnc-ddraw.git
synced 2025-03-24 17:49:52 +01:00
add support for fake bilinear shader
This commit is contained in:
parent
0b5064152d
commit
af281c38d2
@ -46,6 +46,7 @@ static GLuint FrameBufferTexId;
|
|||||||
static GLuint ScaleVBOs[3], ScaleVAO;
|
static GLuint ScaleVBOs[3], ScaleVAO;
|
||||||
static BOOL UseOpenGL;
|
static BOOL UseOpenGL;
|
||||||
static BOOL AdjustAlignment;
|
static BOOL AdjustAlignment;
|
||||||
|
static BOOL UseBilinear;
|
||||||
|
|
||||||
static HGLRC CreateContext(HDC hdc);
|
static HGLRC CreateContext(HDC hdc);
|
||||||
static void SetMaxFPS();
|
static void SetMaxFPS();
|
||||||
@ -176,6 +177,8 @@ static void BuildPrograms()
|
|||||||
ScaleProgram = OpenGL_BuildProgramFromFile(ddraw->shader);
|
ScaleProgram = OpenGL_BuildProgramFromFile(ddraw->shader);
|
||||||
else
|
else
|
||||||
OpenGL_GotVersion3 = FALSE;
|
OpenGL_GotVersion3 = FALSE;
|
||||||
|
|
||||||
|
UseBilinear = strstr(ddraw->shader, "\\bilinear.glsl") != 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (OpenGL_GotVersion2 && !MainProgram)
|
if (OpenGL_GotVersion2 && !MainProgram)
|
||||||
@ -485,8 +488,8 @@ static void InitScaleProgram()
|
|||||||
|
|
||||||
glGenTextures(1, &FrameBufferTexId);
|
glGenTextures(1, &FrameBufferTexId);
|
||||||
glBindTexture(GL_TEXTURE_2D, FrameBufferTexId);
|
glBindTexture(GL_TEXTURE_2D, FrameBufferTexId);
|
||||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
|
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, UseBilinear ? GL_LINEAR : GL_NEAREST);
|
||||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
|
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, UseBilinear ? GL_LINEAR : GL_NEAREST);
|
||||||
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA8, SurfaceTexWidth, SurfaceTexHeight, 0, GL_RGBA, GL_UNSIGNED_BYTE, 0);
|
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA8, SurfaceTexWidth, SurfaceTexHeight, 0, GL_RGBA, GL_UNSIGNED_BYTE, 0);
|
||||||
|
|
||||||
glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, FrameBufferTexId, 0);
|
glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, FrameBufferTexId, 0);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user