BGE bug #17670: Python controlled mist doesnt work in textured mode.

This commit is contained in:
Benoit Bolsee 2009-04-22 22:12:36 +00:00
parent fd108f1019
commit 90508ed125
5 changed files with 19 additions and 5 deletions

@ -1000,7 +1000,7 @@ void KX_KetsjiEngine::SetWorldSettings(KX_WorldInfo* wi)
wi->getAmbientColorBlue()
);
if (m_drawingmode == RAS_IRasterizer::KX_TEXTURED)
if (m_drawingmode >= RAS_IRasterizer::KX_SOLID)
{
if (wi->hasMist())
{
@ -1012,10 +1012,6 @@ void KX_KetsjiEngine::SetWorldSettings(KX_WorldInfo* wi)
wi->getMistColorBlue()
);
}
else
{
m_rasterizer->DisableFog();
}
}
}
}

@ -632,6 +632,17 @@ static PyObject* gPySetMistColor(PyObject*, PyObject* value)
Py_RETURN_NONE;
}
static PyObject* gPyDisableMist(PyObject*)
{
if (!gp_Rasterizer) {
PyErr_SetString(PyExc_RuntimeError, "Rasterizer.setMistColor(color), Rasterizer not available");
return NULL;
}
gp_Rasterizer->DisableFog();
Py_RETURN_NONE;
}
static PyObject* gPySetMistStart(PyObject*, PyObject* args)
@ -900,6 +911,7 @@ static struct PyMethodDef rasterizer_methods[] = {
METH_VARARGS, "setMousePosition(int x,int y)"},
{"setBackgroundColor",(PyCFunction)gPySetBackgroundColor,METH_O,"set Background Color (rgb)"},
{"setAmbientColor",(PyCFunction)gPySetAmbientColor,METH_O,"set Ambient Color (rgb)"},
{"disableMist",(PyCFunction)gPyDisableMist,METH_NOARGS,"turn off mist"},
{"setMistColor",(PyCFunction)gPySetMistColor,METH_O,"set Mist Color (rgb)"},
{"setMistStart",(PyCFunction)gPySetMistStart,METH_VARARGS,"set Mist Start(rgb)"},
{"setMistEnd",(PyCFunction)gPySetMistEnd,METH_VARARGS,"set Mist End(rgb)"},

@ -280,6 +280,7 @@ public:
/**
*/
virtual void DisableFog()=0;
virtual bool IsFogEnabled()=0;
virtual void SetBackColor(float red,
float green,

@ -210,6 +210,10 @@ void RAS_OpenGLRasterizer::DisableFog()
m_fogenabled = false;
}
bool RAS_OpenGLRasterizer::IsFogEnabled()
{
return m_fogenabled;
}
void RAS_OpenGLRasterizer::DisplayFog()

@ -190,6 +190,7 @@ public:
void DisableFog();
virtual void DisplayFog();
virtual bool IsFogEnabled();
virtual void SetBackColor(
float red,