[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [20123] trunk/blender/source/gameengine/ Ketsji/KX_Dome.cpp: BGE Dome: Reducing FBO size to warped meshes.

Dalai Felinto dfelinto at gmail.com
Sat May 9 23:54:22 CEST 2009


Revision: 20123
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=20123
Author:   dfelinto
Date:     2009-05-09 23:54:22 +0200 (Sat, 09 May 2009)

Log Message:
-----------
BGE Dome: Reducing FBO size to warped meshes.

Commit 20099 started using a FBO way too big.
According to Paul Bourke this is how it's done in other Engines:

Projectors HD:
1920x1050 - buffersize = 1024; FBO size = 2048
1400x1050 - buffersize = 1024; FBO size = 2048

Projectors XGA:
1024x768 - buffersize = 512; FBO size = 1024

Now in Blender Game Engine we are using:

Projectors HD:
1920x1050 - buffersize = 1050; FBO size = 2048
1400x1050 - buffersize = 1050; FBO size = 2048

Projectors XGA:
1024x768 - buffersize = 768; FBO size = 1024

(I guess I should be committing code to the ge_dome branch instead of the trunk. I feel bad doing all those adjustments in a hurry to 2.49 final release in the trunk. That is ok, right?)

Modified Paths:
--------------
    trunk/blender/source/gameengine/Ketsji/KX_Dome.cpp

Modified: trunk/blender/source/gameengine/Ketsji/KX_Dome.cpp
===================================================================
--- trunk/blender/source/gameengine/Ketsji/KX_Dome.cpp	2009-05-09 21:04:03 UTC (rev 20122)
+++ trunk/blender/source/gameengine/Ketsji/KX_Dome.cpp	2009-05-09 21:54:22 UTC (rev 20123)
@@ -251,16 +251,11 @@
 	m_imagesize = (1 << i);
 
 	if (warp.usemesh){
-		// trying to use twice the size of the cube faces
-		GLint glMaxTexDim;
-		glGetIntegerv(GL_MAX_TEXTURE_SIZE, &glMaxTexDim);
+		// warp FBO needs to be up to twice as big as m_buffersize to get more resolution
+		warp.imagesize = m_imagesize;
+		if (m_buffersize == m_imagesize)
+			warp.imagesize *= 2;
 
-		if (2 * m_imagesize > glMaxTexDim)
-			warp.imagesize = m_imagesize;
-
-		else
-			warp.imagesize = 2 * m_imagesize;
-
 		//if FBO is not working/supported, we use the canvas dimension as buffer
 		warp.bufferwidth  = canvaswidth;
 		warp.bufferheight = canvasheight;





More information about the Bf-blender-cvs mailing list