From ba6d14a7737ef7cd02b61586e39ca2162df3018d Mon Sep 17 00:00:00 2001 From: Kasullian Date: Mon, 8 Sep 2025 23:20:06 -0400 Subject: glew, map parsing for windows --- src/render/gl_3d.cpp | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) (limited to 'src/render/gl_3d.cpp') diff --git a/src/render/gl_3d.cpp b/src/render/gl_3d.cpp index 78e7f5e..7209f61 100644 --- a/src/render/gl_3d.cpp +++ b/src/render/gl_3d.cpp @@ -3,8 +3,8 @@ #include "gl.h" #include "gl_batch.h" -GL_3D* gl_3d_init( GL_DATA* gl, VEC2 screensize, const char* shadername ) { - GL_3D *gl3d = (GL_3D*)gl_program_create( gl, shadername, sizeof(GL_3D) ); +GL3D* gl_3d_init( GL_DATA* gl, VEC2 screensize, const char* shadername ) { + GL3D *gl3d = (GL3D*)gl_program_create( gl, shadername, sizeof(GL3D) ); if( !OK( gl_program_compile( gl, gl3d ) ) ) dlog( "gl_2d_init() : error compiling shader %s\n", shadername ); @@ -17,8 +17,8 @@ GL_3D* gl_3d_init( GL_DATA* gl, VEC2 screensize, const char* shadername ) { return gl3d; } -void gl_3d_projection_setup( GL_PROGRAM *_gl3d, VEC3 pos, F32 fov_deg, F32 yaw, F32 pitch, F32 near, F32 far, VEC2 winsize ) { - GL_3D* gl3d = (GL_3D*)_gl3d; +void gl_3d_projection_setup( GL_SHADER_PROGRAM *_gl3d, VEC3 pos, F32 fov_deg, F32 yaw, F32 pitch, F32 near, F32 far, VEC2 winsize ) { + GL3D* gl3d = (GL3D*)_gl3d; MAT4 proj, yaw_rot, pitch_rot, view, transl, tmp; F32 fov_rad = m_deg2rad( fov_deg ); @@ -63,12 +63,13 @@ void gl_3d_batch_setup( GL_BATCH3D *batch ) { } void gl_3d_polygon( - GL_PROGRAM* gl3d, + GL_SHADER_PROGRAM* gl3d, VERTEX3D* vertices, U32 vertices_count, GL_TEX2D* tex ) { glUseProgram( gl3d->id ); + glBindVertexArray( gl3d->gl->vao ); if( !!tex ) { glActiveTexture( GL_TEXTURE0 ); @@ -99,6 +100,8 @@ void gl_3d_polygon( glBindBuffer( GL_ARRAY_BUFFER, 0 ); glDrawElements( GL_TRIANGLE_FAN, vertices_count, GL_UNSIGNED_SHORT, order ); + + glBindVertexArray( 0 ); } void gl_3d_polygon_fan( -- cgit v1.2.3