1
0
mirror of https://github.com/FunkyFr3sh/cnc-ddraw.git synced 2025-03-15 06:04:49 +01:00

#92 allow shader upscale with vhack=true

This commit is contained in:
FunkyFr3sh 2021-05-15 02:36:05 +02:00
parent 39c62d6e7d
commit c467b90e88
2 changed files with 12 additions and 11 deletions

View File

@ -28,6 +28,7 @@ typedef struct ogl_renderer
GLint frame_count_uni_loc;
GLuint frame_buffer_id;
GLuint frame_buffer_tex_id;
GLint scale_tex_coord_attr_loc;
GLuint scale_vbos[3];
GLuint scale_vao;
BOOL use_opengl;

View File

@ -386,7 +386,7 @@ static void ogl_init_scale_program()
glUseProgram(g_ogl.scale_program);
GLint vertex_coord_attr_loc = glGetAttribLocation(g_ogl.scale_program, "VertexCoord");
GLint tex_coord_attr_loc = glGetAttribLocation(g_ogl.scale_program, "TexCoord");
g_ogl.scale_tex_coord_attr_loc = glGetAttribLocation(g_ogl.scale_program, "TexCoord");
g_ogl.frame_count_uni_loc = glGetUniformLocation(g_ogl.scale_program, "FrameCount");
glGenBuffers(3, g_ogl.scale_vbos);
@ -420,8 +420,8 @@ static void ogl_init_scale_program()
glBindBuffer(GL_ARRAY_BUFFER, 0);
glBindBuffer(GL_ARRAY_BUFFER, g_ogl.scale_vbos[1]);
glVertexAttribPointer(tex_coord_attr_loc, 2, GL_FLOAT, GL_FALSE, 0, NULL);
glEnableVertexAttribArray(tex_coord_attr_loc);
glVertexAttribPointer(g_ogl.scale_tex_coord_attr_loc, 2, GL_FLOAT, GL_FALSE, 0, NULL);
glEnableVertexAttribArray(g_ogl.scale_tex_coord_attr_loc);
glBindBuffer(GL_ARRAY_BUFFER, 0);
glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, g_ogl.scale_vbos[2]);
@ -675,17 +675,17 @@ static void ogl_render()
{
if (g_ogl.scale_program && g_ogl.main_program)
{
glBindVertexArray(g_ogl.main_vao);
glBindBuffer(GL_ARRAY_BUFFER, g_ogl.main_vbos[1]);
glBindVertexArray(g_ogl.scale_vao);
glBindBuffer(GL_ARRAY_BUFFER, g_ogl.scale_vbos[1]);
GLfloat texCoord[] = {
0.0f, 0.0f,
0.0f, g_ogl.scale_h,
g_ogl.scale_w, g_ogl.scale_h,
g_ogl.scale_w, 0.0f,
0.0f, 0.0f,
g_ogl.scale_w, 0.0f,
g_ogl.scale_w, g_ogl.scale_h,
0.0f, g_ogl.scale_h,
};
glBufferData(GL_ARRAY_BUFFER, sizeof(texCoord), texCoord, GL_STATIC_DRAW);
glVertexAttribPointer(g_ogl.main_tex_coord_attr_loc, 2, GL_FLOAT, GL_FALSE, 0, NULL);
glEnableVertexAttribArray(g_ogl.main_tex_coord_attr_loc);
glVertexAttribPointer(g_ogl.scale_tex_coord_attr_loc, 2, GL_FLOAT, GL_FALSE, 0, NULL);
glEnableVertexAttribArray(g_ogl.scale_tex_coord_attr_loc);
glBindBuffer(GL_ARRAY_BUFFER, 0);
glBindVertexArray(0);
}