Revision: 19906
          
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=19906
Author:   blendix
Date:     2009-04-23 15:30:34 +0200 (Thu, 23 Apr 2009)

Log Message:
-----------
Fix for part of bug #18496: issue with light state switching
when using Dome.

Modified Paths:
--------------
    trunk/blender/source/gameengine/BlenderRoutines/KX_BlenderRenderTools.cpp
    trunk/blender/source/gameengine/GamePlayer/common/GPC_RenderTools.cpp
    trunk/blender/source/gameengine/Ketsji/KX_Dome.cpp
    trunk/blender/source/gameengine/Ketsji/KX_Dome.h
    trunk/blender/source/gameengine/Ketsji/KX_KetsjiEngine.cpp

Modified: 
trunk/blender/source/gameengine/BlenderRoutines/KX_BlenderRenderTools.cpp
===================================================================
--- trunk/blender/source/gameengine/BlenderRoutines/KX_BlenderRenderTools.cpp   
2009-04-23 13:29:54 UTC (rev 19905)
+++ trunk/blender/source/gameengine/BlenderRoutines/KX_BlenderRenderTools.cpp   
2009-04-23 13:30:34 UTC (rev 19906)
@@ -68,8 +68,8 @@
 {
        m_clientobject = NULL;
        m_lastlightlayer = -1;
-       m_lastlighting = false;
        m_lastauxinfo = NULL;
+       m_lastlighting = true; /* force disable in DisableOpenGLLights() */
        DisableOpenGLLights();
 }
 

Modified: trunk/blender/source/gameengine/GamePlayer/common/GPC_RenderTools.cpp
===================================================================
--- trunk/blender/source/gameengine/GamePlayer/common/GPC_RenderTools.cpp       
2009-04-23 13:29:54 UTC (rev 19905)
+++ trunk/blender/source/gameengine/GamePlayer/common/GPC_RenderTools.cpp       
2009-04-23 13:30:34 UTC (rev 19906)
@@ -76,8 +76,8 @@
 {
        m_clientobject = NULL;
        m_lastlightlayer = -1;
-       m_lastlighting = false;
        m_lastauxinfo = NULL;
+       m_lastlighting = true; /* force disable in DisableOpenGLLights() */
        DisableOpenGLLights();
 }
 

Modified: trunk/blender/source/gameengine/Ketsji/KX_Dome.cpp
===================================================================
--- trunk/blender/source/gameengine/Ketsji/KX_Dome.cpp  2009-04-23 13:29:54 UTC 
(rev 19905)
+++ trunk/blender/source/gameengine/Ketsji/KX_Dome.cpp  2009-04-23 13:30:34 UTC 
(rev 19906)
@@ -52,18 +52,18 @@
        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 @@
        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 @@
 }
 
 bool KX_Dome::CreateDL(){
-       int i,j;
-
        dlistId = glGenLists((GLsizei) m_numimages);
        if (dlistId != 0) {
                if(m_mode == DOME_FISHEYE){
@@ -409,7 +407,7 @@
 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 @@
        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::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::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::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::DrawDomeWarped(void)
 {
-       int i,j;
-
        glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
        glMatrixMode(GL_PROJECTION);
        glLoadIdentity();
@@ -1880,10 +1874,6 @@
        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 @@
        // restore the original orientation
        cam->NodeSetLocalOrientation(camori);
        cam->NodeUpdateGS(0.f);
-}
\ No newline at end of file
+}
+

Modified: trunk/blender/source/gameengine/Ketsji/KX_Dome.h
===================================================================
--- trunk/blender/source/gameengine/Ketsji/KX_Dome.h    2009-04-23 13:29:54 UTC 
(rev 19905)
+++ trunk/blender/source/gameengine/Ketsji/KX_Dome.h    2009-04-23 13:30:34 UTC 
(rev 19906)
@@ -181,4 +181,5 @@
     KX_KetsjiEngine* m_engine;
 };
 
-#endif
\ No newline at end of file
+#endif
+

Modified: trunk/blender/source/gameengine/Ketsji/KX_KetsjiEngine.cpp
===================================================================
--- trunk/blender/source/gameengine/Ketsji/KX_KetsjiEngine.cpp  2009-04-23 
13:29:54 UTC (rev 19905)
+++ trunk/blender/source/gameengine/Ketsji/KX_KetsjiEngine.cpp  2009-04-23 
13:30:34 UTC (rev 19906)
@@ -145,8 +145,6 @@
        m_stereo(false),
        m_curreye(0),
 
-       m_usedome(false),
-
        m_logger(NULL),
        
        // Set up timing info display variables
@@ -164,7 +162,9 @@
        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);


_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to