Fixed setDisplayText issue

This commit is contained in:
mathusummut
2018-06-25 17:29:50 +02:00
parent 91af4e3dd3
commit 2a42a10d43
5 changed files with 35 additions and 35 deletions

View File

@@ -36,7 +36,7 @@ namespace Shared {
ModelRendererGl();
virtual void begin(bool renderNormals, bool renderTextures, bool renderColors, bool colorPickingMode, MeshCallback *meshCallback);
virtual void end();
virtual void render(Model *model, int renderMode = rmNormal);
virtual void render(Model *model, int renderMode = rmNormal, float alpha = 1.0f);
virtual void renderNormalsOnly(Model *model);
void setDuplicateTexCoords(bool duplicateTexCoords) {
@@ -48,7 +48,7 @@ namespace Shared {
private:
void renderMesh(Mesh *mesh, int renderMode = rmNormal);
void renderMesh(Mesh *mesh, int renderMode = rmNormal, float alpha = 1.0f);
void renderMeshNormals(Mesh *mesh);
};

View File

@@ -58,7 +58,7 @@ namespace Shared {
ModelRenderer() {
renderNormals = false;
renderTextures = false;
renderColors = false;
renderColors = true;
colorPickingMode = false;
meshCallback = NULL;
@@ -69,7 +69,7 @@ namespace Shared {
virtual void begin(bool renderNormals, bool renderTextures, bool renderColors, bool colorPickingMode, MeshCallback *meshCallback = NULL) = 0;
virtual void end() = 0;
virtual void render(Model *model, int renderMode = rmNormal) = 0;
virtual void render(Model *model, int renderMode = rmNormal, float alpha = 1.0f) = 0;
virtual void renderNormalsOnly(Model *model) = 0;
};

View File

@@ -124,7 +124,7 @@ namespace Shared {
assertGl();
}
void ModelRendererGl::render(Model *model, int renderMode) {
void ModelRendererGl::render(Model *model, int renderMode, float alpha) {
//assertions
assert(rendering);
assertGl();
@@ -134,7 +134,7 @@ namespace Shared {
//render every mesh
//if(model->getIsStaticModel() == true) {
for (uint32 i = 0; i < model->getMeshCount(); ++i) {
renderMesh(model->getMeshPtr(i), renderMode);
renderMesh(model->getMeshPtr(i), renderMode, alpha);
}
//}
//assertions
@@ -159,7 +159,7 @@ namespace Shared {
// ===================== PRIVATE =======================
void ModelRendererGl::renderMesh(Mesh *mesh, int renderMode) {
void ModelRendererGl::renderMesh(Mesh *mesh, int renderMode, float alpha) {
if (renderMode == rmSelection && mesh->getNoSelect() == true) {// don't render this and do nothing
return;
@@ -174,17 +174,19 @@ namespace Shared {
} else {
glEnable(GL_CULL_FACE);
}
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
//glMaterialfv(GL_FRONT_AND_BACK, GL_AMBIENT_AND_DIFFUSE, Vec4f(1.0f, 1.0f, 1.0f, alpha).ptr());
if (renderMode == rmNormal && mesh->getGlow() == true) {
// glow on
glDisable(GL_LIGHTING);
glBlendFunc(GL_SRC_ALPHA, GL_ONE);
}
if (this->colorPickingMode == false) {
//set color
if (renderColors) {
Vec4f color(mesh->getDiffuseColor(), mesh->getOpacity());
Vec4f color(mesh->getDiffuseColor(), mesh->getOpacity() * alpha);
glColor4fv(color.ptr());
}