texture check fix

This commit is contained in:
Erwin Coumans
2017-07-01 09:15:00 -07:00
parent 743d69ef69
commit c17625a4d0

View File

@@ -118,6 +118,7 @@ GLint lineWidthRange[2]={1,1};
enum enum
{ {
eGfxTransparency=1, eGfxTransparency=1,
eGfxHasTexture = 2,
}; };
struct b3GraphicsInstance struct b3GraphicsInstance
@@ -125,7 +126,6 @@ struct b3GraphicsInstance
GLuint m_cube_vao; GLuint m_cube_vao;
GLuint m_index_vbo; GLuint m_index_vbo;
GLuint m_textureIndex; GLuint m_textureIndex;
int m_numIndices; int m_numIndices;
int m_numVertices; int m_numVertices;
@@ -974,6 +974,7 @@ void GLInstancingRenderer::replaceTexture(int shapeIndex, int textureId)
if (textureId>=0) if (textureId>=0)
{ {
gfxObj->m_textureIndex = textureId; gfxObj->m_textureIndex = textureId;
gfxObj->m_flags |= eGfxHasTexture;
} }
} }
@@ -1052,6 +1053,7 @@ int GLInstancingRenderer::registerShape(const float* vertices, int numvertices,
if (textureId>=0) if (textureId>=0)
{ {
gfxObj->m_textureIndex = textureId; gfxObj->m_textureIndex = textureId;
gfxObj->m_flags |= eGfxHasTexture;
} }
gfxObj->m_primitiveType = primitiveType; gfxObj->m_primitiveType = primitiveType;
@@ -1438,8 +1440,8 @@ void GLInstancingRenderer::updateCamera(int upAxis)
//#define STB_IMAGE_WRITE_IMPLEMENTATION ////#define STB_IMAGE_WRITE_IMPLEMENTATION
#include "stb_image/stb_image_write.h" #include "third_party/stblib/stb_image_write.h"
void writeTextureToPng(int textureWidth, int textureHeight, const char* fileName, int numComponents) void writeTextureToPng(int textureWidth, int textureHeight, const char* fileName, int numComponents)
{ {
@@ -2204,7 +2206,7 @@ b3Assert(glGetError() ==GL_NO_ERROR);
{ {
glActiveTexture(GL_TEXTURE0); glActiveTexture(GL_TEXTURE0);
GLuint curBindTexture = 0; GLuint curBindTexture = 0;
if (gfxObj->m_textureIndex>=0) if (gfxObj->m_flags & eGfxHasTexture)
{ {
curBindTexture = m_data->m_textureHandles[gfxObj->m_textureIndex].m_glTexture; curBindTexture = m_data->m_textureHandles[gfxObj->m_textureIndex].m_glTexture;