mirror of
https://github.com/glest/glest-source.git
synced 2025-08-26 01:23:35 +02:00
Fixed setDisplayText issue
This commit is contained in:
@@ -2773,7 +2773,7 @@ namespace Glest {
|
|||||||
textRenderer3D->render(text, pos.x, pos.y);
|
textRenderer3D->render(text, pos.x, pos.y);
|
||||||
safeTextRender.end();
|
safeTextRender.end();
|
||||||
|
|
||||||
glDisable(GL_BLEND);
|
//glDisable(GL_BLEND);
|
||||||
glPopAttrib();
|
glPopAttrib();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2794,7 +2794,7 @@ namespace Glest {
|
|||||||
//textRenderer3D->end();
|
//textRenderer3D->end();
|
||||||
safeTextRender.end();
|
safeTextRender.end();
|
||||||
|
|
||||||
glDisable(GL_BLEND);
|
//glDisable(GL_BLEND);
|
||||||
glPopAttrib();
|
glPopAttrib();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2990,7 +2990,7 @@ namespace Glest {
|
|||||||
textRenderer3D->render(text, pos.x, pos.y);
|
textRenderer3D->render(text, pos.x, pos.y);
|
||||||
safeTextRender.end();
|
safeTextRender.end();
|
||||||
|
|
||||||
glDisable(GL_BLEND);
|
//glDisable(GL_BLEND);
|
||||||
glPopAttrib();
|
glPopAttrib();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -3010,7 +3010,7 @@ namespace Glest {
|
|||||||
textRenderer3D->render(text, pos.x, pos.y, centered);
|
textRenderer3D->render(text, pos.x, pos.y, centered);
|
||||||
safeTextRender.end();
|
safeTextRender.end();
|
||||||
|
|
||||||
glDisable(GL_BLEND);
|
//glDisable(GL_BLEND);
|
||||||
glPopAttrib();
|
glPopAttrib();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -5287,15 +5287,13 @@ namespace Glest {
|
|||||||
|
|
||||||
//dead alpha
|
//dead alpha
|
||||||
const SkillType *st = unit->getCurrSkill();
|
const SkillType *st = unit->getCurrSkill();
|
||||||
|
float alpha = 1.0f;
|
||||||
if (st->getClass() == scDie && static_cast<const DieSkillType*>(st)->getFade()) {
|
if (st->getClass() == scDie && static_cast<const DieSkillType*>(st)->getFade()) {
|
||||||
float alpha = 1.0f - unit->getAnimProgressAsFloat();
|
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);
|
|
||||||
}
|
}
|
||||||
|
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
|
//render
|
||||||
Model *model = unit->getCurrentModelPtr();
|
Model *model = unit->getCurrentModelPtr();
|
||||||
@@ -5305,7 +5303,7 @@ namespace Glest {
|
|||||||
model->updateInterpolationData(unit->getAnimProgressAsFloat(), unit->isAlive() && !unit->isAnimProgressBound());
|
model->updateInterpolationData(unit->getAnimProgressAsFloat(), unit->isAlive() && !unit->isAnimProgressBound());
|
||||||
//}
|
//}
|
||||||
|
|
||||||
modelRenderer->render(model);
|
modelRenderer->render(model, alpha);
|
||||||
triangleCount += model->getTriangleCount();
|
triangleCount += model->getTriangleCount();
|
||||||
pointCount += model->getVertexCount();
|
pointCount += model->getVertexCount();
|
||||||
|
|
||||||
@@ -6021,7 +6019,7 @@ namespace Glest {
|
|||||||
glVertex2i(mx + mw, my + mh);
|
glVertex2i(mx + mw, my + mh);
|
||||||
glEnd();
|
glEnd();
|
||||||
|
|
||||||
glDisable(GL_BLEND);
|
//glDisable(GL_BLEND);
|
||||||
|
|
||||||
glActiveTexture(fowTexUnit);
|
glActiveTexture(fowTexUnit);
|
||||||
glDisable(GL_TEXTURE_2D);
|
glDisable(GL_TEXTURE_2D);
|
||||||
@@ -6140,7 +6138,7 @@ namespace Glest {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
glDisable(GL_BLEND);
|
//glDisable(GL_BLEND);
|
||||||
|
|
||||||
//draw units
|
//draw units
|
||||||
VisibleQuadContainerCache &qCache = getQuadCache();
|
VisibleQuadContainerCache &qCache = getQuadCache();
|
||||||
@@ -6374,7 +6372,7 @@ namespace Glest {
|
|||||||
glDisableClientState(GL_COLOR_ARRAY);
|
glDisableClientState(GL_COLOR_ARRAY);
|
||||||
glDisableClientState(GL_VERTEX_ARRAY);
|
glDisableClientState(GL_VERTEX_ARRAY);
|
||||||
|
|
||||||
glDisable(GL_BLEND);
|
//glDisable(GL_BLEND);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -6752,7 +6750,7 @@ namespace Glest {
|
|||||||
}
|
}
|
||||||
glEnd();
|
glEnd();
|
||||||
}
|
}
|
||||||
glDisable(GL_BLEND);
|
//glDisable(GL_BLEND);
|
||||||
|
|
||||||
//raindrops
|
//raindrops
|
||||||
if (menuBackground->getRain()) {
|
if (menuBackground->getRain()) {
|
||||||
@@ -8059,7 +8057,7 @@ namespace Glest {
|
|||||||
glColor4fv(defColor.ptr());
|
glColor4fv(defColor.ptr());
|
||||||
|
|
||||||
//blend state
|
//blend state
|
||||||
glDisable(GL_BLEND);
|
//glDisable(GL_BLEND);
|
||||||
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
|
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__);
|
//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__);
|
//if(SystemFlags::VERBOSE_MODE_ENABLED) printf("In [%s::%s %d]\n",extractFileFromDirectoryPath(__FILE__).c_str(),__FUNCTION__,__LINE__);
|
||||||
|
|
||||||
//disable everything
|
//disable everything
|
||||||
glDisable(GL_BLEND);
|
//glDisable(GL_BLEND);
|
||||||
glDisable(GL_LIGHTING);
|
glDisable(GL_LIGHTING);
|
||||||
glDisable(GL_ALPHA_TEST);
|
glDisable(GL_ALPHA_TEST);
|
||||||
glDisable(GL_DEPTH_TEST);
|
glDisable(GL_DEPTH_TEST);
|
||||||
@@ -8322,7 +8320,7 @@ namespace Glest {
|
|||||||
glColorMaterial(GL_FRONT_AND_BACK, GL_DIFFUSE);
|
glColorMaterial(GL_FRONT_AND_BACK, GL_DIFFUSE);
|
||||||
|
|
||||||
//blend state
|
//blend state
|
||||||
glDisable(GL_BLEND);
|
//glDisable(GL_BLEND);
|
||||||
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
|
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
|
||||||
|
|
||||||
//alpha test state
|
//alpha test state
|
||||||
@@ -8692,7 +8690,7 @@ namespace Glest {
|
|||||||
glVertex2i(x + maxSize, y + progressbarHeight);
|
glVertex2i(x + maxSize, y + progressbarHeight);
|
||||||
glVertex2i(x + maxSize, y);
|
glVertex2i(x + maxSize, y);
|
||||||
glEnd();
|
glEnd();
|
||||||
glDisable(GL_BLEND);
|
//glDisable(GL_BLEND);
|
||||||
|
|
||||||
//text
|
//text
|
||||||
//glColor3fv(defColor.ptr());
|
//glColor3fv(defColor.ptr());
|
||||||
@@ -8744,7 +8742,7 @@ namespace Glest {
|
|||||||
glVertex2i(x + maxSize, y + 10);
|
glVertex2i(x + maxSize, y + 10);
|
||||||
glVertex2i(x + maxSize, y);
|
glVertex2i(x + maxSize, y);
|
||||||
glEnd();
|
glEnd();
|
||||||
glDisable(GL_BLEND);
|
//glDisable(GL_BLEND);
|
||||||
|
|
||||||
//text
|
//text
|
||||||
glColor3fv(defColor.ptr());
|
glColor3fv(defColor.ptr());
|
||||||
|
@@ -29,10 +29,10 @@ namespace Glest {
|
|||||||
Display::Display() {
|
Display::Display() {
|
||||||
if (SystemFlags::getSystemSettingType(SystemFlags::debugSystem).enabled) SystemFlags::OutputDebug(SystemFlags::debugSystem, "In [%s::%s Line: %d]\n", __FILE__, __FUNCTION__, __LINE__);
|
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[0] = Vec4f(1.f, 1.f, 1.f, 1.0f);
|
||||||
colors[1] = Vec4f(1.f, 0.5f, 0.5f, 0.0f);
|
colors[1] = Vec4f(1.f, 0.5f, 0.5f, 1.0f);
|
||||||
colors[2] = Vec4f(0.5f, 0.5f, 1.0f, 0.0f);
|
colors[2] = Vec4f(0.5f, 0.5f, 1.0f, 1.0f);
|
||||||
colors[3] = Vec4f(0.5f, 1.0f, 0.5f, 0.0f);
|
colors[3] = Vec4f(0.5f, 1.0f, 0.5f, 1.0f);
|
||||||
colors[4] = Vec4f(0.0f, 0.0f, 0.0f, 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[5] = Vec4f(0.0f, 0.0f, 1.0f, 1.0f);
|
||||||
colors[6] = Vec4f(1.0f, 0.0f, 0.0f, 1.0f);
|
colors[6] = Vec4f(1.0f, 0.0f, 0.0f, 1.0f);
|
||||||
|
@@ -36,7 +36,7 @@ namespace Shared {
|
|||||||
ModelRendererGl();
|
ModelRendererGl();
|
||||||
virtual void begin(bool renderNormals, bool renderTextures, bool renderColors, bool colorPickingMode, MeshCallback *meshCallback);
|
virtual void begin(bool renderNormals, bool renderTextures, bool renderColors, bool colorPickingMode, MeshCallback *meshCallback);
|
||||||
virtual void end();
|
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);
|
virtual void renderNormalsOnly(Model *model);
|
||||||
|
|
||||||
void setDuplicateTexCoords(bool duplicateTexCoords) {
|
void setDuplicateTexCoords(bool duplicateTexCoords) {
|
||||||
@@ -48,7 +48,7 @@ namespace Shared {
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
void renderMesh(Mesh *mesh, int renderMode = rmNormal);
|
void renderMesh(Mesh *mesh, int renderMode = rmNormal, float alpha = 1.0f);
|
||||||
void renderMeshNormals(Mesh *mesh);
|
void renderMeshNormals(Mesh *mesh);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@@ -58,7 +58,7 @@ namespace Shared {
|
|||||||
ModelRenderer() {
|
ModelRenderer() {
|
||||||
renderNormals = false;
|
renderNormals = false;
|
||||||
renderTextures = false;
|
renderTextures = false;
|
||||||
renderColors = false;
|
renderColors = true;
|
||||||
colorPickingMode = false;
|
colorPickingMode = false;
|
||||||
|
|
||||||
meshCallback = NULL;
|
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 begin(bool renderNormals, bool renderTextures, bool renderColors, bool colorPickingMode, MeshCallback *meshCallback = NULL) = 0;
|
||||||
virtual void end() = 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;
|
virtual void renderNormalsOnly(Model *model) = 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@@ -124,7 +124,7 @@ namespace Shared {
|
|||||||
assertGl();
|
assertGl();
|
||||||
}
|
}
|
||||||
|
|
||||||
void ModelRendererGl::render(Model *model, int renderMode) {
|
void ModelRendererGl::render(Model *model, int renderMode, float alpha) {
|
||||||
//assertions
|
//assertions
|
||||||
assert(rendering);
|
assert(rendering);
|
||||||
assertGl();
|
assertGl();
|
||||||
@@ -134,7 +134,7 @@ namespace Shared {
|
|||||||
//render every mesh
|
//render every mesh
|
||||||
//if(model->getIsStaticModel() == true) {
|
//if(model->getIsStaticModel() == true) {
|
||||||
for (uint32 i = 0; i < model->getMeshCount(); ++i) {
|
for (uint32 i = 0; i < model->getMeshCount(); ++i) {
|
||||||
renderMesh(model->getMeshPtr(i), renderMode);
|
renderMesh(model->getMeshPtr(i), renderMode, alpha);
|
||||||
}
|
}
|
||||||
//}
|
//}
|
||||||
//assertions
|
//assertions
|
||||||
@@ -159,7 +159,7 @@ namespace Shared {
|
|||||||
|
|
||||||
// ===================== PRIVATE =======================
|
// ===================== 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
|
if (renderMode == rmSelection && mesh->getNoSelect() == true) {// don't render this and do nothing
|
||||||
return;
|
return;
|
||||||
@@ -174,17 +174,19 @@ namespace Shared {
|
|||||||
} else {
|
} else {
|
||||||
glEnable(GL_CULL_FACE);
|
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) {
|
if (renderMode == rmNormal && mesh->getGlow() == true) {
|
||||||
// glow on
|
// glow on
|
||||||
glDisable(GL_LIGHTING);
|
glDisable(GL_LIGHTING);
|
||||||
glBlendFunc(GL_SRC_ALPHA, GL_ONE);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this->colorPickingMode == false) {
|
if (this->colorPickingMode == false) {
|
||||||
//set color
|
//set color
|
||||||
if (renderColors) {
|
if (renderColors) {
|
||||||
Vec4f color(mesh->getDiffuseColor(), mesh->getOpacity());
|
Vec4f color(mesh->getDiffuseColor(), mesh->getOpacity() * alpha);
|
||||||
glColor4fv(color.ptr());
|
glColor4fv(color.ptr());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user