From 7a45b1bc96bf3b7d50edacc837a613027e0c1f41 Mon Sep 17 00:00:00 2001 From: ZappoMan Date: Wed, 11 Feb 2015 15:50:04 -0800 Subject: [PATCH] fix the quad color being broken after rendering text --- .../entities-renderer/src/RenderableTextEntityItem.cpp | 6 ++++++ libraries/render-utils/src/TextRenderer.cpp | 3 +++ 2 files changed, 9 insertions(+) diff --git a/libraries/entities-renderer/src/RenderableTextEntityItem.cpp b/libraries/entities-renderer/src/RenderableTextEntityItem.cpp index 4dc2a07249..b1b3678dc9 100644 --- a/libraries/entities-renderer/src/RenderableTextEntityItem.cpp +++ b/libraries/entities-renderer/src/RenderableTextEntityItem.cpp @@ -13,6 +13,7 @@ #include +#include #include #include #include @@ -49,7 +50,12 @@ void RenderableTextEntityItem::render(RenderArgs* args) { glm::vec3 topLeft(-halfDimensions.x, -halfDimensions.y, SLIGHTLY_BEHIND); glm::vec3 bottomRight(halfDimensions.x, halfDimensions.y, SLIGHTLY_BEHIND); + + // TODO: Determine if we want these entities to have the deferred lighting effect? I think we do, so that the color + // used for a sphere, or box have the same look as those used on a text entity. + DependencyManager::get()->bindSimpleProgram(); DependencyManager::get()->renderQuad(topLeft, bottomRight, glm::vec4(toGlm(getBackgroundColorX()), alpha)); + DependencyManager::get()->releaseSimpleProgram(); TextRenderer* textRenderer = TextRenderer::getInstance(SANS_FONT_FAMILY, FIXED_FONT_POINT_SIZE / 2.0f); diff --git a/libraries/render-utils/src/TextRenderer.cpp b/libraries/render-utils/src/TextRenderer.cpp index 5a1d09a148..f1fcb3cb8b 100644 --- a/libraries/render-utils/src/TextRenderer.cpp +++ b/libraries/render-utils/src/TextRenderer.cpp @@ -481,9 +481,12 @@ glm::vec2 Font::drawString(float x, float y, const QString & str, } _vao->release(); + _texture->release(); // TODO: Brad & Sam, let's discuss this. Without this non-textured quads get their colors borked. _program->release(); // FIXME, needed? // glDisable(GL_TEXTURE_2D); + + return advance; }