mirror of
https://github.com/glest/glest-source.git
synced 2025-08-25 09:10:49 +02:00
Fixed setDisplayText issue
This commit is contained in:
@@ -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);
|
||||
};
|
||||
|
||||
|
@@ -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;
|
||||
};
|
||||
|
||||
|
@@ -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());
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user