GRAPHICS: Remove duplicate EBO [OpenGLS]
This commit is contained in:
parent
f4626819ce
commit
583eafc2d6
2 changed files with 5 additions and 13 deletions
|
@ -80,8 +80,6 @@ static float textured_quad_centered[] = {
|
||||||
+0.5f, -0.5f, 0.0f, 1.0f, 1.0f,
|
+0.5f, -0.5f, 0.0f, 1.0f, 1.0f,
|
||||||
};
|
};
|
||||||
|
|
||||||
static unsigned short quad_indices[] = { 0, 1, 2, 0, 2, 3};
|
|
||||||
|
|
||||||
static float zero_texVerts[] = { 0.0, 0.0 };
|
static float zero_texVerts[] = { 0.0, 0.0 };
|
||||||
|
|
||||||
struct GrimVertex {
|
struct GrimVertex {
|
||||||
|
@ -212,7 +210,7 @@ void GfxOpenGLS::setupZBuffer() {
|
||||||
_zBufTexCrop = Math::Vector2d(width / nextHigher2((int)width), height / nextHigher2((int)height));
|
_zBufTexCrop = Math::Vector2d(width / nextHigher2((int)width), height / nextHigher2((int)height));
|
||||||
}
|
}
|
||||||
|
|
||||||
void GfxOpenGLS::setupBigEBO() {
|
void GfxOpenGLS::setupQuadEBO() {
|
||||||
// FIXME: Probably way too big...
|
// FIXME: Probably way too big...
|
||||||
unsigned short quad_indices[6 * 1000];
|
unsigned short quad_indices[6 * 1000];
|
||||||
|
|
||||||
|
@ -224,10 +222,6 @@ void GfxOpenGLS::setupBigEBO() {
|
||||||
p[5] = start++;
|
p[5] = start++;
|
||||||
}
|
}
|
||||||
|
|
||||||
_bigQuadEBO = Graphics::Shader::createBuffer(GL_ELEMENT_ARRAY_BUFFER, sizeof(quad_indices), quad_indices, GL_STATIC_DRAW);
|
|
||||||
}
|
|
||||||
|
|
||||||
void GfxOpenGLS::setupQuadEBO() {
|
|
||||||
_quadEBO = Graphics::Shader::createBuffer(GL_ELEMENT_ARRAY_BUFFER, sizeof(quad_indices), quad_indices, GL_STATIC_DRAW);
|
_quadEBO = Graphics::Shader::createBuffer(GL_ELEMENT_ARRAY_BUFFER, sizeof(quad_indices), quad_indices, GL_STATIC_DRAW);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -285,7 +279,6 @@ void GfxOpenGLS::setupShaders() {
|
||||||
static const char* primAttributes[] = {"position", NULL};
|
static const char* primAttributes[] = {"position", NULL};
|
||||||
_primitiveProgram = Graphics::Shader::fromFiles("grim_primitive", primAttributes);
|
_primitiveProgram = Graphics::Shader::fromFiles("grim_primitive", primAttributes);
|
||||||
|
|
||||||
setupBigEBO();
|
|
||||||
setupQuadEBO();
|
setupQuadEBO();
|
||||||
setupTexturedQuad();
|
setupTexturedQuad();
|
||||||
setupTexturedCenteredQuad();
|
setupTexturedCenteredQuad();
|
||||||
|
@ -832,7 +825,7 @@ void GfxOpenGLS::drawBitmap(const Bitmap *bitmap, int dx, int dy, uint32 layer)
|
||||||
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
|
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
|
||||||
|
|
||||||
shader->use();
|
shader->use();
|
||||||
glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, _bigQuadEBO);
|
glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, _quadEBO);
|
||||||
uint32 offset = data->_layers[layer]._offset;
|
uint32 offset = data->_layers[layer]._offset;
|
||||||
for (uint32 i = offset; i < offset + data->_layers[layer]._numImages; ++i) {
|
for (uint32 i = offset; i < offset + data->_layers[layer]._numImages; ++i) {
|
||||||
glBindTexture(GL_TEXTURE_2D, textures[data->_verts[i]._texid]);
|
glBindTexture(GL_TEXTURE_2D, textures[data->_verts[i]._texid]);
|
||||||
|
@ -1098,7 +1091,7 @@ void GfxOpenGLS::drawTextObject(const TextObject *text) {
|
||||||
float(td->color.getBlue()) / 255.0f);
|
float(td->color.getBlue()) / 255.0f);
|
||||||
_textProgram->setUniform("color", colors);
|
_textProgram->setUniform("color", colors);
|
||||||
glBindTexture(GL_TEXTURE_2D, td->texture);
|
glBindTexture(GL_TEXTURE_2D, td->texture);
|
||||||
glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, _bigQuadEBO);
|
glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, _quadEBO);
|
||||||
glDrawElements(GL_TRIANGLES, td->characters * 6, GL_UNSIGNED_SHORT, 0);
|
glDrawElements(GL_TRIANGLES, td->characters * 6, GL_UNSIGNED_SHORT, 0);
|
||||||
glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 0);
|
glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 0);
|
||||||
glEnable(GL_DEPTH_TEST);
|
glEnable(GL_DEPTH_TEST);
|
||||||
|
|
|
@ -214,7 +214,7 @@ private:
|
||||||
Graphics::Shader* _actorProgram;
|
Graphics::Shader* _actorProgram;
|
||||||
Graphics::Shader* _spriteProgram;
|
Graphics::Shader* _spriteProgram;
|
||||||
Graphics::Shader* _smushProgram;
|
Graphics::Shader* _smushProgram;
|
||||||
GLuint _smushVBO, _quadEBO, _bigQuadEBO;
|
GLuint _smushVBO, _quadEBO;
|
||||||
Graphics::Shader* _textProgram;
|
Graphics::Shader* _textProgram;
|
||||||
Graphics::Shader* _primitiveProgram;
|
Graphics::Shader* _primitiveProgram;
|
||||||
|
|
||||||
|
@ -223,7 +223,7 @@ private:
|
||||||
GLuint _smushTexId;
|
GLuint _smushTexId;
|
||||||
bool _smushSwizzle;
|
bool _smushSwizzle;
|
||||||
void setupTexturedQuad();
|
void setupTexturedQuad();
|
||||||
void setupBigEBO();
|
void setupQuadEBO();
|
||||||
|
|
||||||
void setupZBuffer();
|
void setupZBuffer();
|
||||||
void drawDepthBitmap(int x, int y, int w, int h, char *data);
|
void drawDepthBitmap(int x, int y, int w, int h, char *data);
|
||||||
|
@ -236,7 +236,6 @@ private:
|
||||||
Math::Matrix4 _mvpMatrix;
|
Math::Matrix4 _mvpMatrix;
|
||||||
|
|
||||||
void setupTexturedCenteredQuad();
|
void setupTexturedCenteredQuad();
|
||||||
void setupQuadEBO();
|
|
||||||
|
|
||||||
GLuint _spriteVBO;
|
GLuint _spriteVBO;
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue