From 7a80f0de04c3b07d88ba2ab3e51544d38fe924f6 Mon Sep 17 00:00:00 2001 From: dec05eba Date: Sun, 21 Aug 2022 21:57:31 +0200 Subject: Attempt to fix vertex draw when using texcoords without a texture (such as when using a shader) --- src/graphics/vertex.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'src/graphics/vertex.c') diff --git a/src/graphics/vertex.c b/src/graphics/vertex.c index b45f38c..e55c180 100644 --- a/src/graphics/vertex.c +++ b/src/graphics/vertex.c @@ -1,4 +1,5 @@ #include "../../include/mgl/graphics/vertex.h" +#include "../../include/mgl/graphics/texture.h" #include "../../include/mgl/mgl.h" void mgl_vertices_draw(mgl_context *context, const mgl_vertex *vertices, size_t vertex_count, mgl_primitive_type primitive_type, mgl_vec2f position) { @@ -6,11 +7,14 @@ void mgl_vertices_draw(mgl_context *context, const mgl_vertex *vertices, size_t return; context->gl.glPushMatrix(); - context->gl.glTranslatef(position.x, position.y, 0.0f); - context->gl.glMatrixMode(GL_TEXTURE); - context->gl.glLoadIdentity(); + if(!mgl_texture_current_texture()) { + context->gl.glMatrixMode(GL_TEXTURE); + context->gl.glLoadIdentity(); + } + context->gl.glMatrixMode(GL_MODELVIEW); + context->gl.glTranslatef(position.x, position.y, 0.0f); context->gl.glVertexPointer(2, GL_FLOAT, sizeof(mgl_vertex), (void*)&vertices[0].position); context->gl.glTexCoordPointer(2, GL_FLOAT, sizeof(mgl_vertex), (void*)&vertices[0].texcoords); -- cgit v1.2.3