Update of /cvsroot/ogre/ogrenew/PlugIns/OctreeSceneManager/src
In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv30961/PlugIns/OctreeSceneManager/src
Modified Files:
Tag: v1-4
OgreTerrainRenderable.cpp
Log Message:
[ 1880838 ] Allow creation of terrain before any camera/viewport
Index: OgreTerrainRenderable.cpp
===================================================================
RCS file: /cvsroot/ogre/ogrenew/PlugIns/OctreeSceneManager/src/OgreTerrainRenderable.cpp,v
retrieving revision 1.67.2.1
retrieving revision 1.67.2.2
diff -C2 -d -r1.67.2.1 -r1.67.2.2
*** OgreTerrainRenderable.cpp 21 Dec 2007 23:57:06 -0000 1.67.2.1
--- OgreTerrainRenderable.cpp 12 Mar 2008 21:30:24 -0000 1.67.2.2
***************
*** 49,52 ****
--- 49,53 ----
#include "OgreViewport.h"
#include "OgreException.h"
+ #include "OgreRenderSystem.h"
namespace Ogre
***************
*** 655,676 ****
Real TerrainRenderable::_calculateCFactor()
{
! Real A, T;
! if (!mOptions->primaryCamera)
! {
! OGRE_EXCEPT(Exception::ERR_ITEM_NOT_FOUND,
! "You have not created a camera yet!",
! "TerrainRenderable::_calculateCFactor");
! }
! //A = 1 / Math::Tan(Math::AngleUnitsToRadians(opts.primaryCamera->getFOVy()));
! // Turn off detail compression at higher FOVs
! A = 1.0f;
! int vertRes = mOptions->primaryCamera->getViewport()->getActualHeight();
- T = 2 * ( Real ) mOptions->maxPixelError / ( Real ) vertRes;
! return A / T;
}
//-----------------------------------------------------------------------
--- 656,687 ----
Real TerrainRenderable::_calculateCFactor()
{
! Real A, T;
! A = 1.0f;
! int vertRes = 0;
! if (mOptions->primaryCamera && mOptions->primaryCamera->getViewport())
! {
! vertRes = mOptions->primaryCamera->getViewport()->getActualHeight();
! }
! else
! {
! // default to first render target
! RenderSystem* rsys = Root::getSingleton().getRenderSystem();
! if (rsys->getRenderTargetIterator().hasMoreElements())
! vertRes = Root::getSingleton().getRenderSystem()->getRenderTargetIterator().getNext()->getHeight();
! else
! // oh, just guess
! vertRes = 768;
! }
! //A = 1 / Math::Tan(Math::AngleUnitsToRadians(opts.primaryCamera->getFOVy()));
! // Turn off detail compression at higher FOVs
!
! T = 2 * ( Real ) mOptions->maxPixelError / ( Real ) vertRes;
!
! return A / T;
}
//-----------------------------------------------------------------------
|