support bilinear shaders
This commit is contained in:
parent
0d35c746e1
commit
01ca7b739f
1 changed files with 5 additions and 2 deletions
|
@ -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 FilterBilinear;
|
||||||
|
|
||||||
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;
|
||||||
|
|
||||||
|
FilterBilinear = 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, FilterBilinear ? GL_LINEAR : GL_NEAREST);
|
||||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
|
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, FilterBilinear ? 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…
Reference in a new issue