mirror of
https://github.com/glest/glest-source.git
synced 2025-08-25 17:20:43 +02:00
Fixed setDisplayText issue
This commit is contained in:
@@ -2773,7 +2773,7 @@ namespace Glest {
|
||||
textRenderer3D->render(text, pos.x, pos.y);
|
||||
safeTextRender.end();
|
||||
|
||||
glDisable(GL_BLEND);
|
||||
//glDisable(GL_BLEND);
|
||||
glPopAttrib();
|
||||
}
|
||||
|
||||
@@ -2794,7 +2794,7 @@ namespace Glest {
|
||||
//textRenderer3D->end();
|
||||
safeTextRender.end();
|
||||
|
||||
glDisable(GL_BLEND);
|
||||
//glDisable(GL_BLEND);
|
||||
glPopAttrib();
|
||||
}
|
||||
|
||||
@@ -2990,7 +2990,7 @@ namespace Glest {
|
||||
textRenderer3D->render(text, pos.x, pos.y);
|
||||
safeTextRender.end();
|
||||
|
||||
glDisable(GL_BLEND);
|
||||
//glDisable(GL_BLEND);
|
||||
glPopAttrib();
|
||||
}
|
||||
|
||||
@@ -3010,7 +3010,7 @@ namespace Glest {
|
||||
textRenderer3D->render(text, pos.x, pos.y, centered);
|
||||
safeTextRender.end();
|
||||
|
||||
glDisable(GL_BLEND);
|
||||
//glDisable(GL_BLEND);
|
||||
glPopAttrib();
|
||||
}
|
||||
|
||||
@@ -5287,15 +5287,13 @@ namespace Glest {
|
||||
|
||||
//dead alpha
|
||||
const SkillType *st = unit->getCurrSkill();
|
||||
float alpha = 1.0f;
|
||||
if (st->getClass() == scDie && static_cast<const DieSkillType*>(st)->getFade()) {
|
||||
float alpha = 1.0f - unit->getAnimProgressAsFloat();
|
||||
glDisable(GL_COLOR_MATERIAL);
|
||||
glMaterialfv(GL_FRONT_AND_BACK, GL_AMBIENT_AND_DIFFUSE, Vec4f(1.0f, 1.0f, 1.0f, alpha).ptr());
|
||||
} else {
|
||||
glEnable(GL_COLOR_MATERIAL);
|
||||
// we cut off a tiny bit here to avoid problems with fully transparent texture parts cutting units in background rendered later.
|
||||
glAlphaFunc(GL_GREATER, 0.02f);
|
||||
alpha = 1.0f - unit->getAnimProgressAsFloat();
|
||||
}
|
||||
glEnable(GL_COLOR_MATERIAL);
|
||||
// we cut off a tiny bit here to avoid problems with fully transparent texture parts cutting units in background rendered later.
|
||||
glAlphaFunc(GL_GREATER, 0.02f);
|
||||
|
||||
//render
|
||||
Model *model = unit->getCurrentModelPtr();
|
||||
@@ -5305,7 +5303,7 @@ namespace Glest {
|
||||
model->updateInterpolationData(unit->getAnimProgressAsFloat(), unit->isAlive() && !unit->isAnimProgressBound());
|
||||
//}
|
||||
|
||||
modelRenderer->render(model);
|
||||
modelRenderer->render(model, alpha);
|
||||
triangleCount += model->getTriangleCount();
|
||||
pointCount += model->getVertexCount();
|
||||
|
||||
@@ -6021,7 +6019,7 @@ namespace Glest {
|
||||
glVertex2i(mx + mw, my + mh);
|
||||
glEnd();
|
||||
|
||||
glDisable(GL_BLEND);
|
||||
//glDisable(GL_BLEND);
|
||||
|
||||
glActiveTexture(fowTexUnit);
|
||||
glDisable(GL_TEXTURE_2D);
|
||||
@@ -6140,7 +6138,7 @@ namespace Glest {
|
||||
}
|
||||
}
|
||||
|
||||
glDisable(GL_BLEND);
|
||||
//glDisable(GL_BLEND);
|
||||
|
||||
//draw units
|
||||
VisibleQuadContainerCache &qCache = getQuadCache();
|
||||
@@ -6374,7 +6372,7 @@ namespace Glest {
|
||||
glDisableClientState(GL_COLOR_ARRAY);
|
||||
glDisableClientState(GL_VERTEX_ARRAY);
|
||||
|
||||
glDisable(GL_BLEND);
|
||||
//glDisable(GL_BLEND);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -6752,7 +6750,7 @@ namespace Glest {
|
||||
}
|
||||
glEnd();
|
||||
}
|
||||
glDisable(GL_BLEND);
|
||||
//glDisable(GL_BLEND);
|
||||
|
||||
//raindrops
|
||||
if (menuBackground->getRain()) {
|
||||
@@ -8059,7 +8057,7 @@ namespace Glest {
|
||||
glColor4fv(defColor.ptr());
|
||||
|
||||
//blend state
|
||||
glDisable(GL_BLEND);
|
||||
//glDisable(GL_BLEND);
|
||||
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
|
||||
|
||||
//if(SystemFlags::VERBOSE_MODE_ENABLED) printf("In [%s::%s %d]\n",extractFileFromDirectoryPath(__FILE__).c_str(),__FUNCTION__,__LINE__);
|
||||
@@ -8150,7 +8148,7 @@ namespace Glest {
|
||||
//if(SystemFlags::VERBOSE_MODE_ENABLED) printf("In [%s::%s %d]\n",extractFileFromDirectoryPath(__FILE__).c_str(),__FUNCTION__,__LINE__);
|
||||
|
||||
//disable everything
|
||||
glDisable(GL_BLEND);
|
||||
//glDisable(GL_BLEND);
|
||||
glDisable(GL_LIGHTING);
|
||||
glDisable(GL_ALPHA_TEST);
|
||||
glDisable(GL_DEPTH_TEST);
|
||||
@@ -8322,7 +8320,7 @@ namespace Glest {
|
||||
glColorMaterial(GL_FRONT_AND_BACK, GL_DIFFUSE);
|
||||
|
||||
//blend state
|
||||
glDisable(GL_BLEND);
|
||||
//glDisable(GL_BLEND);
|
||||
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
|
||||
|
||||
//alpha test state
|
||||
@@ -8692,7 +8690,7 @@ namespace Glest {
|
||||
glVertex2i(x + maxSize, y + progressbarHeight);
|
||||
glVertex2i(x + maxSize, y);
|
||||
glEnd();
|
||||
glDisable(GL_BLEND);
|
||||
//glDisable(GL_BLEND);
|
||||
|
||||
//text
|
||||
//glColor3fv(defColor.ptr());
|
||||
@@ -8744,7 +8742,7 @@ namespace Glest {
|
||||
glVertex2i(x + maxSize, y + 10);
|
||||
glVertex2i(x + maxSize, y);
|
||||
glEnd();
|
||||
glDisable(GL_BLEND);
|
||||
//glDisable(GL_BLEND);
|
||||
|
||||
//text
|
||||
glColor3fv(defColor.ptr());
|
||||
|
@@ -29,10 +29,10 @@ namespace Glest {
|
||||
Display::Display() {
|
||||
if (SystemFlags::getSystemSettingType(SystemFlags::debugSystem).enabled) SystemFlags::OutputDebug(SystemFlags::debugSystem, "In [%s::%s Line: %d]\n", __FILE__, __FUNCTION__, __LINE__);
|
||||
|
||||
colors[0] = Vec4f(1.f, 1.f, 1.f, 0.0f);
|
||||
colors[1] = Vec4f(1.f, 0.5f, 0.5f, 0.0f);
|
||||
colors[2] = Vec4f(0.5f, 0.5f, 1.0f, 0.0f);
|
||||
colors[3] = Vec4f(0.5f, 1.0f, 0.5f, 0.0f);
|
||||
colors[0] = Vec4f(1.f, 1.f, 1.f, 1.0f);
|
||||
colors[1] = Vec4f(1.f, 0.5f, 0.5f, 1.0f);
|
||||
colors[2] = Vec4f(0.5f, 0.5f, 1.0f, 1.0f);
|
||||
colors[3] = Vec4f(0.5f, 1.0f, 0.5f, 1.0f);
|
||||
colors[4] = Vec4f(0.0f, 0.0f, 0.0f, 1.0f);
|
||||
colors[5] = Vec4f(0.0f, 0.0f, 1.0f, 1.0f);
|
||||
colors[6] = Vec4f(1.0f, 0.0f, 0.0f, 1.0f);
|
||||
|
@@ -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