Fix for part of bug #18496: issue with light state switching
when using Dome.
This commit is contained in:
parent
0d347e12ea
commit
70f1b45430
@ -68,8 +68,8 @@ void KX_BlenderRenderTools::BeginFrame(RAS_IRasterizer* rasty)
|
||||
{
|
||||
m_clientobject = NULL;
|
||||
m_lastlightlayer = -1;
|
||||
m_lastlighting = false;
|
||||
m_lastauxinfo = NULL;
|
||||
m_lastlighting = true; /* force disable in DisableOpenGLLights() */
|
||||
DisableOpenGLLights();
|
||||
}
|
||||
|
||||
|
@ -76,8 +76,8 @@ void GPC_RenderTools::BeginFrame(RAS_IRasterizer* rasty)
|
||||
{
|
||||
m_clientobject = NULL;
|
||||
m_lastlightlayer = -1;
|
||||
m_lastlighting = false;
|
||||
m_lastauxinfo = NULL;
|
||||
m_lastlighting = true; /* force disable in DisableOpenGLLights() */
|
||||
DisableOpenGLLights();
|
||||
}
|
||||
|
||||
|
@ -52,18 +52,18 @@ KX_Dome::KX_Dome (
|
||||
struct Text* warptext
|
||||
|
||||
):
|
||||
m_canvas(canvas),
|
||||
m_rasterizer(rasterizer),
|
||||
m_rendertools(rendertools),
|
||||
m_engine(engine),
|
||||
dlistSupported(false),
|
||||
canvaswidth(-1), canvasheight(-1),
|
||||
m_drawingmode(engine->GetDrawType()),
|
||||
m_size(size),
|
||||
m_resolution(res),
|
||||
m_mode(mode),
|
||||
m_angle(angle),
|
||||
m_resbuffer(resbuf),
|
||||
canvaswidth(-1), canvasheight(-1),
|
||||
dlistSupported(false)
|
||||
m_canvas(canvas),
|
||||
m_rasterizer(rasterizer),
|
||||
m_rendertools(rendertools),
|
||||
m_engine(engine)
|
||||
{
|
||||
warp.usemesh = false;
|
||||
|
||||
@ -206,7 +206,7 @@ void KX_Dome::CalculateImageSize(void)
|
||||
canvasheight = m_canvas->GetHeight();
|
||||
|
||||
m_buffersize = (canvaswidth > canvasheight?canvasheight:canvaswidth);
|
||||
m_buffersize *= m_resbuffer; //reduce buffer size for better performance
|
||||
m_buffersize = (int)(m_buffersize*m_resbuffer); //reduce buffer size for better performance
|
||||
|
||||
int i = 0;
|
||||
while ((1 << i) <= m_buffersize)
|
||||
@ -230,8 +230,6 @@ void KX_Dome::CalculateImageSize(void)
|
||||
}
|
||||
|
||||
bool KX_Dome::CreateDL(){
|
||||
int i,j;
|
||||
|
||||
dlistId = glGenLists((GLsizei) m_numimages);
|
||||
if (dlistId != 0) {
|
||||
if(m_mode == DOME_FISHEYE){
|
||||
@ -409,7 +407,7 @@ y varies from -1 to 1
|
||||
u and v vary from 0 to 1
|
||||
i ranges from 0 to 1, if negative don't draw that mesh node
|
||||
*/
|
||||
int i,j,k;
|
||||
int i;
|
||||
int nodeX=0, nodeY=0;
|
||||
|
||||
vector<STR_String> columns, lines;
|
||||
@ -431,7 +429,7 @@ i ranges from 0 to 1, if negative don't draw that mesh node
|
||||
warp.n_width = atoi(columns[0]);
|
||||
warp.n_height = atoi(columns[1]);
|
||||
|
||||
if (lines.size() < 2 + (warp.n_width * warp.n_height)){
|
||||
if ((int)lines.size() < 2 + (warp.n_width * warp.n_height)){
|
||||
printf("Error: Warp Mesh File with insufficient data!\n");
|
||||
return false;
|
||||
}else{
|
||||
@ -1543,8 +1541,6 @@ void KX_Dome::Draw(void)
|
||||
|
||||
void KX_Dome::DrawEnvMap(void)
|
||||
{
|
||||
int i,j;
|
||||
|
||||
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
|
||||
glMatrixMode(GL_PROJECTION);
|
||||
glLoadIdentity();
|
||||
@ -1675,7 +1671,7 @@ void KX_Dome::DrawEnvMap(void)
|
||||
|
||||
void KX_Dome::DrawDomeFisheye(void)
|
||||
{
|
||||
int i,j;
|
||||
int i;
|
||||
|
||||
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
|
||||
glMatrixMode(GL_PROJECTION);
|
||||
@ -1759,7 +1755,7 @@ void KX_Dome::DrawDomeFisheye(void)
|
||||
|
||||
void KX_Dome::DrawPanorama(void)
|
||||
{
|
||||
int i,j;
|
||||
int i;
|
||||
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
|
||||
glMatrixMode(GL_PROJECTION);
|
||||
glLoadIdentity();
|
||||
@ -1846,8 +1842,6 @@ void KX_Dome::DrawPanorama(void)
|
||||
|
||||
void KX_Dome::DrawDomeWarped(void)
|
||||
{
|
||||
int i,j;
|
||||
|
||||
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
|
||||
glMatrixMode(GL_PROJECTION);
|
||||
glLoadIdentity();
|
||||
@ -1880,10 +1874,6 @@ void KX_Dome::DrawDomeWarped(void)
|
||||
glEnable(GL_TEXTURE_2D);
|
||||
glColor3f(1.0,1.0,1.0);
|
||||
|
||||
|
||||
float uv_width = (float)(warp.bufferwidth-1) / warp.imagewidth;
|
||||
float uv_height = (float)(warp.bufferheight-1) / warp.imageheight;
|
||||
|
||||
if (dlistSupported){
|
||||
glBindTexture(GL_TEXTURE_2D, domefacesId[m_numfaces]);
|
||||
glCallList(dlistId + m_numfaces);
|
||||
@ -1934,4 +1924,5 @@ void KX_Dome::RenderDomeFrame(KX_Scene* scene, KX_Camera* cam, int i)
|
||||
// restore the original orientation
|
||||
cam->NodeSetLocalOrientation(camori);
|
||||
cam->NodeUpdateGS(0.f);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -181,4 +181,5 @@ protected:
|
||||
KX_KetsjiEngine* m_engine;
|
||||
};
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
@ -145,8 +145,6 @@ KX_KetsjiEngine::KX_KetsjiEngine(KX_ISystem* system)
|
||||
m_stereo(false),
|
||||
m_curreye(0),
|
||||
|
||||
m_usedome(false),
|
||||
|
||||
m_logger(NULL),
|
||||
|
||||
// Set up timing info display variables
|
||||
@ -164,7 +162,9 @@ KX_KetsjiEngine::KX_KetsjiEngine(KX_ISystem* system)
|
||||
m_overrideFrameColor(false),
|
||||
m_overrideFrameColorR(0.0),
|
||||
m_overrideFrameColorG(0.0),
|
||||
m_overrideFrameColorB(0.0)
|
||||
m_overrideFrameColorB(0.0),
|
||||
|
||||
m_usedome(false)
|
||||
{
|
||||
// Initialize the time logger
|
||||
m_logger = new KX_TimeCategoryLogger (25);
|
||||
|
Loading…
Reference in New Issue
Block a user