The Portal Connected Zone Scene Manager: SVN Version

Discussion area about developing or extending OGRE, adding plugins for it or building applications on it. No newbie questions please, use the Help forum for that.
Locked
foxbat
Greenskin
Posts: 131
Joined: Sun Sep 25, 2005 2:44 am
Location: Melbourne, Australia
x 20

Post by foxbat »

The main case is moving the camera through walls. Now that I think about it though, all I need to do is detect the camera/wall collision from the physics engine and use that to trigger zone switching. For that matter, the same thing should work with any object.

For object placement I guess I can drop a ray to the nav mesh and read the zone that way, so it's probably not such a big problem after all.
User avatar
lf3thn4d
Orc
Posts: 478
Joined: Mon Apr 10, 2006 9:12 pm
x 12

Post by lf3thn4d »

I have begun using texture based shadow in PCZ and I found some rather disturbing problem.

I haven't probe more into it yet. But using custom skewed projection matrix like LiSPSM and focused camera projection totally screws up the scene traversal.

Moreover, as textured shadow uses it's own special camera, that camera is not tied to any scene node which in turn is never in any zone. I managed to hack around this with a callback.

The last one is directional light. From what I observed, directional light should affect any zone no matter what since it doesn't really have any point of reference. However, when using textured shadow, this will never be the case anymore as camera needs to be in a scenenode in which the scenenode needs to be in a zone.

Anyways, just some heads up. When I find time, I'll look into solutions of these problems if nobody beats me to it. :)
Chaster
OGRE Expert User
OGRE Expert User
Posts: 557
Joined: Wed May 05, 2004 3:19 pm
Location: Portland, OR, USA
Contact:

Post by Chaster »

Hello Folks,

Glad to see that people are hammering away at the PCZSM. I'm sorry I haven't been able to reply in a timely manner as my work (and home, and 2 kids, blah blah blah) are killing me.

First, an update: Finally got my stupid SVN login (don't know what TortoiseSVN was doing wrong, but suddenly it started working.. weird..). So there's a small update in Subversion (actually it went in late last week, but like I said, I've been busy..)

Here are the main changes:

* if a scene node is anchored to a zone, then child scene nodes created from that
scene node (via SceneNode::createChildSceneNode()) are also anchored to the same zone. (5/8/08)
* Portals can now be closed & opened (see Portal::close() and Portal::open()).
Closing a portal prevents scene traversal through the portal and also prevents
scene nodes from crossing the portal. (4/24/08)

Now, about other stuff:

lf3thn4d: The change for resetPositionTracking() sounds fine to me in theory. I have not had time to add this update & test it. If you would like to submit a patch, it would be most welcome.

Foxbat: If you look through the (loooong) history of this project, you will see that an early version used pure volumetric testing (instead of portal crossing tracking) to determine zone ownership of nodes. It produced waaay too many restrictions/gotchas for scenes. You correctly identify the problem - too many scenes do NOT lend themselves well to AABB's. Also, aabb & spherical portals turn out to create problems when crossing each other because of their volumetric nature (a fair number of situations can lead to non-determinate zone connections for these types of portals). I just encountered this, and it's a tricky problem - especially when portals can move.

One thing I should point out - scene nodes can be "visiting" multiple zones at once. While they only have a single "home zone" at any given time, if they are intersecting portals, they will be added to the connecting zone(s) as "visitors".

Also, the previous SVN update (not the one I just did, but the one before that) changed the way AAB & Spherical portals work. Instead of requiring a "crossing" of the portal boundary, they use a pure "inside or outside" test (i.e. volumetric test) since these portals are volumes, not planes. This does nothing to solve the "zones aren't exactly AAB or sphere shaped" problem, but I thought it would be good to point out.

Foxbat: yes, you can manually change scene node zones by simply removing them from their current zone and adding them to the desired zone. So your idea of using a collision test with walls should work fine.

lf3thn4d: I have not used texture based shadows in PCZSM yet (although I did a very quick test using the RTT demo). The fix that was added to PCZSM to (theoretically) allow PCZSM to work with multiple cameras was/is kind of a hack, but it was the best I could think of at the time. Since I need to use shadows in my own game, I would welcome any assistance you can give towards fixing texture shadows.

The problem with "hidden" cameras (hidden from PCZSM that is) is one which PCZSM can't solve. It's a "feature" of Ogre in its current incarnation which I can't change (although I gave a nice rant on the subject of lights & cameras not using nodes when everything else does about 20 pages back in this thread.. LOL). For now, to get around this, you just have to dig up the camera some how and attach a node to it... Sucks, I know... :\

Directional Lights - I disagree, but feel free to debate the topic - I'm open to arguments. To me, most directional lights are used to simulate the sun (or moon or stars) or other "infinitely distant" light source. So while it is true that technically, directional lights don't have any point of reference, in reality, the user treats them as if they do (for example - using a directional light for the sun in a terrain scene).

That said, it would be fairly trivial to add an option to allow directional lights (or any light type for that matter) to traverse to all zones regardless of portal connectivity.

Whew. Dang, I gotta stay more current with this thread 'cause writing these big *ss responses sucks!

Chaster
andrewfenn
Halfling
Posts: 62
Joined: Fri Mar 23, 2007 2:48 pm
x 2

Post by andrewfenn »

I took out a copy of trunk today and got PCZSM working on Linux.

The biggest change I made was in OgrePCZoneFactory.cpp where I took out the const (see patch) because I was getting this error.

Code: Select all

OgrePCZoneFactory.cpp: In constructor ‘Ogre::DefaultZoneFactory::DefaultZoneFactory()’:
OgrePCZoneFactory.cpp:56: error: expected primary-expression before ‘const’
Simply apply the patch below and do the following.

Code: Select all

./bootstrap
./configure --enable-pczsm=yes --disable-ogre-demos
make
I wasn't able to build the pczsm test app because I got the following error.

Code: Select all

RoomObject.cpp: In member function ‘Ogre::ManualObject* RoomObject::createRoom(Ogre::SceneManager*, const Ogre::String&, short int, bool, Ogre::Vector3, Ogre::Vector3)’:
RoomObject.cpp:231: error: no matching function for call to ‘RoomObject::addMaterial(const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, Ogre::ColourValue, Ogre::SceneBlendType)’
../../../Samples/PCZTestApp/include/RoomObject.h:30: note: candidates are: void RoomObject::addMaterial(const Ogre::String&, Ogre::ColourValue&, Ogre::SceneBlendType)
The patch is below, feel free to use it. :D

Code: Select all

Index: Samples/PCZTestApp/include/RoomObject.h
===================================================================
--- Samples/PCZTestApp/include/RoomObject.h	(revision 7494)
+++ Samples/PCZTestApp/include/RoomObject.h	(working copy)
@@ -72,4 +72,5 @@
 								  Ogre::Vector3 doorDimensions);
 };
 
-#endif //--_ROOM_OBJECT_H_
\ No newline at end of file
+#endif //--_ROOM_OBJECT_H_
+
Index: Samples/PCZTestApp/src/Makefile.am
===================================================================
--- Samples/PCZTestApp/src/Makefile.am	(revision 0)
+++ Samples/PCZTestApp/src/Makefile.am	(revision 0)
@@ -0,0 +1,8 @@
+INCLUDES = $(STLPORT_CFLAGS) -I$(top_srcdir)/Samples/PCZTestApp/include -I$(top_srcdir)/OgreMain/include -I$(top_srcdir)/PlugIns/PCZSceneManager/include -I$(top_srcdir)/Samples/Common/include $(OIS_CFLAGS)
+
+ogreexec_PROGRAMS = PCZTestApp
+
+PCZTestApp_SOURCES =  RoomObject.cpp \
+							  PCZTestApp.cpp
+PCZTestApp_LDFLAGS = -L$(top_builddir)/OgreMain/src
+PCZTestApp_LDADD = -lOgreMain $(OIS_LIBS)
Index: Samples/PCZTestApp/Makefile.am
===================================================================
--- Samples/PCZTestApp/Makefile.am	(revision 0)
+++ Samples/PCZTestApp/Makefile.am	(revision 0)
@@ -0,0 +1 @@
+SUBDIRS = src include
Index: Samples/Makefile.am
===================================================================
--- Samples/Makefile.am	(revision 7494)
+++ Samples/Makefile.am	(working copy)
@@ -9,4 +9,8 @@
 if HAVE_CEGUI
  SUBDIRS += Gui FacialAnimation OceanDemo Compositor Shadows Instancing
 endif
+
+if BUILD_PCZSM
+ SUBDIRS += PCZTestApp
 endif
+endif
Index: PlugIns/PCZSceneManager/include/OgrePCZSceneNode.h
===================================================================
--- PlugIns/PCZSceneManager/include/OgrePCZSceneNode.h	(revision 7494)
+++ PlugIns/PCZSceneManager/include/OgrePCZSceneNode.h	(working copy)
@@ -129,4 +129,5 @@
 	};
 }
 
-#endif // PCZ_SCENE_NODE_H
\ No newline at end of file
+#endif // PCZ_SCENE_NODE_H
+
Index: PlugIns/PCZSceneManager/include/OgrePCZLight.h
===================================================================
--- PlugIns/PCZSceneManager/include/OgrePCZLight.h	(revision 7494)
+++ PlugIns/PCZSceneManager/include/OgrePCZLight.h	(working copy)
@@ -135,4 +135,5 @@
 
 
 } // Namespace
-#endif
\ No newline at end of file
+#endif
+
Index: PlugIns/PCZSceneManager/include/Makefile.am
===================================================================
--- PlugIns/PCZSceneManager/include/Makefile.am	(revision 0)
+++ PlugIns/PCZSceneManager/include/Makefile.am	(revision 0)
@@ -0,0 +1,6 @@
+noinst_HEADERS = OgreCapsule.h \
+					  OgreDefaultZone.h \
+					  OgrePCZPrerequisites.h \
+				 	  OgrePCZPlugin.h \
+                 OgrePCZone.h \
+                 OgrePCZoneFactory.h 
Index: PlugIns/PCZSceneManager/src/OgrePCZFrustum.cpp
===================================================================
--- PlugIns/PCZSceneManager/src/OgrePCZFrustum.cpp	(revision 7494)
+++ PlugIns/PCZSceneManager/src/OgrePCZFrustum.cpp	(working copy)
@@ -448,5 +448,5 @@
 		plane = new PCPlane;
 		return plane;
 	}
+}
 
-}
\ No newline at end of file
Index: PlugIns/PCZSceneManager/src/OgrePCZoneFactory.cpp
===================================================================
--- PlugIns/PCZSceneManager/src/OgrePCZoneFactory.cpp	(revision 7494)
+++ PlugIns/PCZSceneManager/src/OgrePCZoneFactory.cpp	(working copy)
@@ -53,7 +53,7 @@
 	//-------------------------------------------------------------------------
 	// DefaultZoneFactory functions
 	//String defaultString = String("ZoneType_Default"); 
-	DefaultZoneFactory::DefaultZoneFactory() : PCZoneFactory(const String("ZoneType_Default"))
+	DefaultZoneFactory::DefaultZoneFactory() : PCZoneFactory(String("ZoneType_Default"))
 	{
 	}
 	DefaultZoneFactory::~DefaultZoneFactory()
Index: PlugIns/PCZSceneManager/src/Makefile.am
===================================================================
--- PlugIns/PCZSceneManager/src/Makefile.am	(revision 0)
+++ PlugIns/PCZSceneManager/src/Makefile.am	(revision 0)
@@ -0,0 +1,22 @@
+INCLUDES = $(STLPORT_CFLAGS) -I$(top_srcdir)/PlugIns/PCZSceneManager/include -I$(top_srcdir)/OgreMain/include
+
+pkglib_LTLIBRARIES = Plugin_PCZSceneManager.la
+
+Plugin_PCZSceneManager_la_SOURCES = OgrePCZSceneQuery.cpp \
+										OgrePCZSceneManager.cpp \
+										OgrePCZCamera.cpp \
+										OgreDefaultZone.cpp \
+										OgrePCZSceneNode.cpp \
+										OgrePCPlane.cpp \
+										OgrePCZFrustum.cpp \
+										OgrePCZLight.cpp \
+										OgreSegment.cpp \
+										OgreCapsule.cpp \
+									  OgrePortal.cpp \
+									  OgrePCZone.cpp \
+									  OgrePCZPlugin.cpp \
+                             OgrePCZoneFactory.cpp \
+                             OgrePCZSceneManagerDll.cpp 
+
+Plugin_PCZSceneManager_la_LDFLAGS = -module $(PLUGIN_FLAGS) -L$(top_builddir)/OgreMain/src -Wl,-z,defs
+Plugin_PCZSceneManager_la_LIBADD = -lOgreMain -lCg $(OGRE_THREAD_LIBS)
Index: PlugIns/PCZSceneManager/Makefile.am
===================================================================
--- PlugIns/PCZSceneManager/Makefile.am	(revision 0)
+++ PlugIns/PCZSceneManager/Makefile.am	(revision 0)
@@ -0,0 +1 @@
+SUBDIRS = src include
Index: PlugIns/Makefile.am
===================================================================
--- PlugIns/Makefile.am	(revision 7494)
+++ PlugIns/Makefile.am	(working copy)
@@ -7,3 +7,7 @@
 if BUILD_EXRPLUGIN
 SUBDIRS += EXRCodec
 endif
+
+if BUILD_PCZSM
+SUBDIRS += PCZSceneManager
+endif
Index: configure.in
===================================================================
--- configure.in	(revision 7494)
+++ configure.in	(working copy)
@@ -89,6 +89,7 @@
 OGRE_CHECK_FREEIMAGE
 OGRE_CHECK_DEVIL
 OGRE_CHECK_CG
+OGRE_CHECK_PCZSM
 OGRE_CHECK_OPENEXR
 OGRE_CHECK_DX9
 OGRE_CHECK_SSE
@@ -132,6 +133,9 @@
     PlugIns/CgProgramManager/Makefile \
     PlugIns/CgProgramManager/src/Makefile \
     PlugIns/CgProgramManager/include/Makefile \
+    PlugIns/PCZSceneManager/Makefile \
+    PlugIns/PCZSceneManager/src/Makefile \
+    PlugIns/PCZSceneManager/include/Makefile \
     PlugIns/OctreeSceneManager/Makefile \
     PlugIns/OctreeSceneManager/src/Makefile \
     PlugIns/OctreeSceneManager/include/Makefile \
@@ -200,6 +204,9 @@
     Samples/TextureFX/Makefile \
     Samples/TextureFX/src/Makefile \
     Samples/TextureFX/include/Makefile \
+    Samples/PCZTestApp/Makefile \
+    Samples/PCZTestApp/src/Makefile \
+    Samples/PCZTestApp/include/Makefile \
     Samples/Shadows/Makefile \
     Samples/Shadows/src/Makefile \
     Samples/SkyBox/Makefile \
Index: acinclude.m4
===================================================================
--- acinclude.m4	(revision 7494)
+++ acinclude.m4	(working copy)
@@ -347,6 +347,20 @@
 
 ])
 
+AC_DEFUN([OGRE_CHECK_PCZSM],
+[AC_ARG_ENABLE(pczsm,
+              AC_HELP_STRING([--enable-pczsm],
+                             [Build the Portal Connected Zone Scene Manager]),
+              [build_pczsm=$enableval],
+              [build_pczsm=no])
+
+AM_CONDITIONAL(BUILD_PCZSM, test x$build_pczsm = xyes)
+
+])
+
+
+
+
 AC_DEFUN([OGRE_CHECK_CPPUNIT],
 [
 AM_PATH_CPPUNIT([1.10.0], [build_unit_tests=true])
Chaster
OGRE Expert User
OGRE Expert User
Posts: 557
Joined: Wed May 05, 2004 3:19 pm
Location: Portland, OR, USA
Contact:

Post by Chaster »

Thanks Andrew, I'll see about adding that patch as soon as I sort out some other stuff (hardware problems... blech!)

Chaster
User avatar
Wolfmanfx
OGRE Team Member
OGRE Team Member
Posts: 1525
Joined: Fri Feb 03, 2006 10:37 pm
Location: Austria - Leoben
x 99
Contact:

Post by Wolfmanfx »

ähm if the PCZoneFactory would eat a const String & you could change the call PCZoneFactory (String("ZoneType_Default")) to PCZoneFactory("ZoneType_Default").
Chaster
OGRE Expert User
OGRE Expert User
Posts: 557
Joined: Wed May 05, 2004 3:19 pm
Location: Portland, OR, USA
Contact:

Post by Chaster »

Wolfmanfx wrote:ähm if the PCZoneFactory would eat a const String & you could change the call PCZoneFactory (String("ZoneType_Default")) to PCZoneFactory("ZoneType_Default").

Okay, I'll slide that in too (when I get my dev station back to functioning... !@#@##%$@!)

Chaster
Chaster
OGRE Expert User
OGRE Expert User
Posts: 557
Joined: Wed May 05, 2004 3:19 pm
Location: Portland, OR, USA
Contact:

Post by Chaster »

A minor status update: I have been experiencing a terrible curse on my computers (both my work computer and my home computer) which has caused both to be hosed (hard drive failures).

I didn't lose any data (at least, I don't think so - thank god for version control and multiple backups done religiously) but it's been a long slog getting things back to "normal" (and it will probably take a couple days more)..

So, the patches/fixes/changes haven't gone in yet,.. sorry..

Chaster
Firecracker
Halfling
Posts: 42
Joined: Fri Oct 07, 2005 9:47 am

Post by Firecracker »

Wow this looks really cool. I just downloaded 1.6.0RC1 and had a bit of a play. Just two quick questions:

Which sceenmanager is the 'TerrainSM' ? I Couldn't find it as a plugin.

Does TerrainSM support terrain paging ?
Chaster
OGRE Expert User
OGRE Expert User
Posts: 557
Joined: Wed May 05, 2004 3:19 pm
Location: Portland, OR, USA
Contact:

Post by Chaster »

The TerrainSM is used for doing Terrain, although it's not as advanced as some of the other Terrain-rendering Scene Managers out there. It has some (incomplete?) support for paging in it, but I haven't tried it myself.

As for questions about the TerrainSM, it would probably be more appropriate for you to start a new thread on it, as this thread is for the Portal Connected Zone Scene Manager.

Chaster
JohnM
Gnoblar
Posts: 4
Joined: Sat Sep 06, 2008 3:18 am

Post by JohnM »

I'm having a problem getting PCZSceneManager to work in my project. It crashes when I call init(zoneTypeName). Someone else reported the same problem in this thread:

http://www.ogre3d.org/phpBB2/viewtopic.php?p=303979

I'm using OGRE 1.6.0 RC1 Source For Windows package compiled with Visual C++ 2008 Express.

The PCZTestApp works fine and the code I'm using in my project is very similar to that so I don't know what's going wrong. I'm not using the example framework though, I'm using my own code but that shouldn't make a difference.

Here is the code I'm using:

Code: Select all

   mSceneMgr = mRoot->createSceneManager("PCZSceneManager", "PCZSceneManager"); 
   String zoneTypeName = "ZoneType_Default"; 
   String zoneFilename = "none"; 
   ((PCZSceneManager*)mSceneMgr)->init(zoneTypeName);
Any suggestions?
Chaster
OGRE Expert User
OGRE Expert User
Posts: 557
Joined: Wed May 05, 2004 3:19 pm
Location: Portland, OR, USA
Contact:

Post by Chaster »

Hm. Let's start with the basics. Is the PCZSceneManager .dll available and loaded correctly?

Also, can you post your debug log? That will help eliminate some basic issues.

Chaster
JohnM
Gnoblar
Posts: 4
Joined: Sat Sep 06, 2008 3:18 am

Post by JohnM »

The PCZSceneManager .dll seems to be loaded correctly. Here is the debug output:

'3dengine.exe': Loaded 'I:\Compilers\Work\3dengine\bin\Release\3dengine.exe', Symbols loaded.
'3dengine.exe': Loaded 'C:\WINDOWS\system32\ntdll.dll'
'3dengine.exe': Loaded 'C:\WINDOWS\system32\kernel32.dll'
'3dengine.exe': Loaded 'I:\Compilers\Work\3dengine\bin\Release\OgreMain_d.dll', Symbols loaded.
'3dengine.exe': Loaded 'C:\WINDOWS\system32\user32.dll'
'3dengine.exe': Loaded 'C:\WINDOWS\system32\gdi32.dll'
'3dengine.exe': Loaded 'C:\WINDOWS\WinSxS\x86_Microsoft.VC90.DebugCRT_1fc8b3b9a1e18e3b_9.0.21022.8_x-ww_597c3456\msvcp90d.dll'
'3dengine.exe': Loaded 'C:\WINDOWS\WinSxS\x86_Microsoft.VC90.DebugCRT_1fc8b3b9a1e18e3b_9.0.21022.8_x-ww_597c3456\msvcr90d.dll'
'3dengine.exe': Loaded 'I:\Compilers\Work\3dengine\bin\Release\OIS_d.dll', Binary was not built with debug information.
'3dengine.exe': Loaded 'C:\WINDOWS\system32\dinput8.dll'
'3dengine.exe': Loaded 'C:\WINDOWS\system32\msvcrt.dll'
'3dengine.exe': Loaded 'C:\WINDOWS\system32\advapi32.dll'
'3dengine.exe': Loaded 'C:\WINDOWS\system32\rpcrt4.dll'
'3dengine.exe': Loaded 'I:\Compilers\Work\3dengine\bin\Release\Newton.dll', Binary was not built with debug information.
'3dengine.exe': Loaded 'I:\Compilers\Work\3dengine\bin\Release\Plugin_PCZSceneManager_vc8_d.dll', Symbols loaded.
'3dengine.exe': Loaded 'C:\WINDOWS\system32\shimeng.dll'
'3dengine.exe': Loaded 'C:\WINDOWS\system32\imm32.dll'
'3dengine.exe': Unloaded 'C:\WINDOWS\system32\shimeng.dll'
'3dengine.exe': Loaded 'I:\Compilers\ogre\Samples\Common\bin\Debug\RenderSystem_Direct3D9_d.dll', Symbols loaded.
'3dengine.exe': Loaded 'C:\WINDOWS\system32\d3d9.dll'
'3dengine.exe': Loaded 'C:\WINDOWS\system32\d3d8thk.dll'
'3dengine.exe': Loaded 'C:\WINDOWS\system32\version.dll'
'3dengine.exe': Loaded 'C:\WINDOWS\system32\winmm.dll'
'3dengine.exe': Loaded 'C:\WINDOWS\system32\D3DX9_39.dll'
'3dengine.exe': Loaded 'C:\WINDOWS\system32\serwvdrv.dll'
'3dengine.exe': Loaded 'C:\WINDOWS\system32\umdmxfrm.dll'
'3dengine.exe': Loaded 'C:\WINDOWS\system32\ctwdm32.dll'
'3dengine.exe': Unloaded 'C:\WINDOWS\system32\ctwdm32.dll'
'3dengine.exe': Loaded 'C:\WINDOWS\system32\ctwdm32.dll'
'3dengine.exe': Unloaded 'C:\WINDOWS\system32\ctwdm32.dll'
'3dengine.exe': Loaded 'I:\Compilers\ogre\Samples\Common\bin\Debug\RenderSystem_GL_d.dll', Symbols loaded.
'3dengine.exe': Loaded 'C:\WINDOWS\system32\opengl32.dll'
'3dengine.exe': Loaded 'C:\WINDOWS\system32\glu32.dll'
'3dengine.exe': Loaded 'C:\WINDOWS\system32\ddraw.dll'
'3dengine.exe': Loaded 'C:\WINDOWS\system32\dciman32.dll'
'3dengine.exe': Loaded 'C:\WINDOWS\system32\nview.dll'
'3dengine.exe': Loaded 'C:\WINDOWS\system32\shlwapi.dll'
'3dengine.exe': Loaded 'C:\WINDOWS\system32\shell32.dll'
'3dengine.exe': Loaded 'C:\WINDOWS\system32\psapi.dll'
'3dengine.exe': Loaded 'C:\WINDOWS\system32\ole32.dll'
'3dengine.exe': Loaded 'C:\WINDOWS\system32\oleaut32.dll'
'3dengine.exe': Loaded 'C:\WINDOWS\system32\comctl32.dll'
'3dengine.exe': Loaded 'C:\WINDOWS\WinSxS\x86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.2600.2180_x-ww_a84f1ff9\comctl32.dll'
'3dengine.exe': Loaded 'C:\WINDOWS\system32\ntmarta.dll'
'3dengine.exe': Loaded 'C:\WINDOWS\system32\wldap32.dll'
'3dengine.exe': Loaded 'C:\WINDOWS\system32\samlib.dll'
'3dengine.exe': Loaded 'C:\WINDOWS\system32\nvwrseng.dll', Binary was not built with debug information.
'3dengine.exe': Loaded 'C:\WINDOWS\system32\MSCTF.dll'
'3dengine.exe': Loaded 'C:\WINDOWS\system32\apphelp.dll'
'3dengine.exe': Loaded 'C:\WINDOWS\system32\MSCTFIME.IME'
'3dengine.exe': Loaded 'C:\WINDOWS\system32\nvoglnt.dll'
The thread 'Win32 Thread' (0x840) has exited with code 0 (0x0).
The thread 'Win32 Thread' (0x914) has exited with code 0 (0x0).
The thread 'Win32 Thread' (0x3e4) has exited with code 0 (0x0).
'3dengine.exe': Loaded 'C:\WINDOWS\system32\mcd32.dll'
'3dengine.exe': Unloaded 'C:\WINDOWS\system32\mcd32.dll'
'3dengine.exe': Loaded 'I:\Compilers\ogre\Samples\Common\bin\Debug\Plugin_ParticleFX_d.dll', Symbols loaded.
'3dengine.exe': Loaded 'I:\Compilers\ogre\Samples\Common\bin\Debug\Plugin_BSPSceneManager_d.dll', Symbols loaded.
'3dengine.exe': Loaded 'I:\Compilers\ogre\Samples\Common\bin\Debug\Plugin_CgProgramManager_d.dll', Symbols loaded.
'3dengine.exe': Loaded 'I:\Compilers\ogre\Samples\Common\bin\Debug\cg.dll', Binary was not built with debug information.
'3dengine.exe': Loaded 'I:\Compilers\ogre\Samples\Common\bin\Debug\Plugin_PCZSceneManager_d.dll', Symbols loaded.
'3dengine.exe': Loaded 'I:\Compilers\ogre\Samples\Common\bin\Debug\Plugin_OctreeZone_d.dll', Symbols loaded.
'3dengine.exe': Loaded 'I:\Compilers\ogre\Samples\Common\bin\Debug\Plugin_OctreeSceneManager_d.dll', Symbols loaded.
'3dengine.exe': Loaded 'C:\WINDOWS\system32\CTAGENT.DLL', Binary was not built with debug information.
First-chance exception at 0x00767176 (Plugin_PCZSceneManager_vc8_d.dll) in 3dengine.exe: 0xC0000005: Access violation reading location 0x00000014.
Unhandled exception at 0x00767176 (Plugin_PCZSceneManager_vc8_d.dll) in 3dengine.exe: 0xC0000005: Access violation reading location 0x00000014.
The program '[2456] 3dengine.exe: Native' has exited with code 0 (0x0).


Here is my ogre.log:

20:46:04: Creating resource group General
20:46:04: Creating resource group Internal
20:46:04: Creating resource group Autodetect
20:46:04: SceneManagerFactory for type 'DefaultSceneManager' registered.
20:46:04: Registering ResourceManager for type Material
20:46:04: Registering ResourceManager for type Mesh
20:46:04: Registering ResourceManager for type Skeleton
20:46:04: MovableObjectFactory for type 'ParticleSystem' registered.
20:46:04: OverlayElementFactory for type Panel registered.
20:46:04: OverlayElementFactory for type BorderPanel registered.
20:46:04: OverlayElementFactory for type TextArea registered.
20:46:04: Registering ResourceManager for type Font
20:46:04: ArchiveFactory for archive type FileSystem registered.
20:46:04: ArchiveFactory for archive type Zip registered.
20:46:04: FreeImage version: 3.10.0
20:46:04: This program uses FreeImage, a free, open source image library supporting all common bitmap formats. See http://freeimage.sourceforge.net for details
20:46:04: Supported formats: bmp,ico,jpg,jif,jpeg,jpe,jng,koa,iff,lbm,mng,pbm,pbm,pcd,pcx,pgm,pgm,png,ppm,ppm,ras,tga,targa,tif,tiff,wap,wbmp,wbm,psd,cut,xbm,xpm,gif,hdr,g3,sgi,exr,j2k,j2c,jp2
20:46:04: DDS codec registering
20:46:04: Registering ResourceManager for type HighLevelGpuProgram
20:46:04: Registering ResourceManager for type Compositor
20:46:04: MovableObjectFactory for type 'Entity' registered.
20:46:04: MovableObjectFactory for type 'Light' registered.
20:46:04: MovableObjectFactory for type 'BillboardSet' registered.
20:46:04: MovableObjectFactory for type 'ManualObject' registered.
20:46:04: MovableObjectFactory for type 'BillboardChain' registered.
20:46:04: MovableObjectFactory for type 'RibbonTrail' registered.
20:46:04: Loading library ../../../../ogre/samples/common/bin/debug\RenderSystem_Direct3D9_d
20:46:04: Installing plugin: D3D9 RenderSystem
20:46:04: D3D9 : Direct3D9 Rendering Subsystem created.
20:46:04: D3D9: Driver Detection Starts
20:46:04: D3D9: Driver Detection Ends
20:46:04: Plugin successfully installed
20:46:04: Loading library ../../../../ogre/samples/common/bin/debug\RenderSystem_GL_d
20:46:04: Installing plugin: GL RenderSystem
20:46:04: OpenGL Rendering Subsystem created.
20:46:05: Plugin successfully installed
20:46:05: Loading library ../../../../ogre/samples/common/bin/debug\Plugin_ParticleFX_d
20:46:05: Installing plugin: ParticleFX
20:46:05: Particle Emitter Type 'Point' registered
20:46:05: Particle Emitter Type 'Box' registered
20:46:05: Particle Emitter Type 'Ellipsoid' registered
20:46:05: Particle Emitter Type 'Cylinder' registered
20:46:05: Particle Emitter Type 'Ring' registered
20:46:05: Particle Emitter Type 'HollowEllipsoid' registered
20:46:05: Particle Affector Type 'LinearForce' registered
20:46:05: Particle Affector Type 'ColourFader' registered
20:46:05: Particle Affector Type 'ColourFader2' registered
20:46:05: Particle Affector Type 'ColourImage' registered
20:46:05: Particle Affector Type 'ColourInterpolator' registered
20:46:05: Particle Affector Type 'Scaler' registered
20:46:05: Particle Affector Type 'Rotator' registered
20:46:05: Particle Affector Type 'DirectionRandomiser' registered
20:46:05: Particle Affector Type 'DeflectorPlane' registered
20:46:05: Plugin successfully installed
20:46:05: Loading library ../../../../ogre/samples/common/bin/debug\Plugin_BSPSceneManager_d
20:46:05: Installing plugin: BSP Scene Manager
20:46:05: Plugin successfully installed
20:46:05: Loading library ../../../../ogre/samples/common/bin/debug\Plugin_CgProgramManager_d
20:46:05: Installing plugin: Cg Program Manager
20:46:05: Plugin successfully installed
20:46:05: Loading library ../../../../ogre/samples/common/bin/debug\Plugin_PCZSceneManager_d
20:46:05: Installing plugin: Portal Connected Zone Scene Manager
20:46:05: PCZone Factory Type 'ZoneType_Default' registered
20:46:05: Plugin successfully installed
20:46:05: Loading library ../../../../ogre/samples/common/bin/debug\Plugin_OctreeZone_d
20:46:05: Installing plugin: Octree Zone Factory
20:46:05: Plugin successfully installed
20:46:05: Loading library ../../../../ogre/samples/common/bin/debug\Plugin_OctreeSceneManager_d
20:46:05: Installing plugin: Octree & Terrain Scene Manager
20:46:05: Plugin successfully installed
20:46:05: *-*-* OGRE Initialising
20:46:05: *-*-* Version 1.6.0RC1 (Shoggoth)
20:46:05: Creating resource group Bootstrap
20:46:05: Added resource location '../../../../Ogre/samples/media/packs/OgreCore.zip' of type 'Zip' to resource group 'Bootstrap'
20:46:05: Added resource location '../../../../Ogre/samples/media' of type 'FileSystem' to resource group 'General'
20:46:05: Added resource location '../../../../Ogre/samples/media/fonts' of type 'FileSystem' to resource group 'General'
20:46:05: Added resource location '../../../../Ogre/samples/media/materials/programs' of type 'FileSystem' to resource group 'General'
20:46:05: Added resource location '../../../../Ogre/samples/media/materials/scripts' of type 'FileSystem' to resource group 'General'
20:46:05: Added resource location '../../../../Ogre/samples/media/materials/textures' of type 'FileSystem' to resource group 'General'
20:46:05: Added resource location '../../../../Ogre/samples/media/models' of type 'FileSystem' to resource group 'General'
20:46:05: Added resource location '../../../../Ogre/samples/media/overlays' of type 'FileSystem' to resource group 'General'
20:46:05: Added resource location '../../../../Ogre/samples/media/particle' of type 'FileSystem' to resource group 'General'
20:46:05: Added resource location '../../../../Ogre/samples/media/gui' of type 'FileSystem' to resource group 'General'
20:46:05: Added resource location '../../../../Ogre/samples/media/DeferredShadingMedia' of type 'FileSystem' to resource group 'General'
20:46:05: Added resource location '../../../../Ogre/samples/media/primitives' of type 'FileSystem' to resource group 'General'
20:46:05: Added resource location '../../../../ogre/Samples/media/PCZAppMedia' of type 'FileSystem' to resource group 'General'
20:46:05: Added resource location '../../../../Ogre/samples/media/packs/cubemap.zip' of type 'Zip' to resource group 'General'
20:46:05: Added resource location '../../../../Ogre/samples/media/packs/cubemapsJS.zip' of type 'Zip' to resource group 'General'
20:46:05: Added resource location '../../../../Ogre/samples/media/packs/dragon.zip' of type 'Zip' to resource group 'General'
20:46:05: Added resource location '../../../../Ogre/samples/media/packs/fresneldemo.zip' of type 'Zip' to resource group 'General'
20:46:05: Added resource location '../../../../Ogre/samples/media/packs/ogretestmap.zip' of type 'Zip' to resource group 'General'
20:46:05: Added resource location '../../../../Ogre/samples/media/packs/skybox.zip' of type 'Zip' to resource group 'General'
20:46:05: D3D9 : RenderSystem Option: Allow NVPerfHUD = No
20:46:05: D3D9 : RenderSystem Option: Anti aliasing = None
20:46:05: D3D9 : RenderSystem Option: Floating-point mode = Fastest
20:46:05: D3D9 : RenderSystem Option: Full Screen = Yes
20:46:05: D3D9 : RenderSystem Option: Rendering Device = NVIDIA GeForce 8800 GT
20:46:05: D3D9 : RenderSystem Option: VSync = No
20:46:05: D3D9 : RenderSystem Option: Video Mode = 800 x 600 @ 32-bit colour
20:46:05: D3D9 : RenderSystem Option: sRGB Gamma Conversion = No
20:46:05: CPU Identifier & Features
20:46:05: -------------------------
20:46:05: * CPU ID: GenuineIntel: Intel(R) Core(TM)2 Duo CPU E8400 @ 3.00GHz
20:46:05: * SSE: yes
20:46:05: * SSE2: yes
20:46:05: * SSE3: yes
20:46:05: * MMX: yes
20:46:05: * MMXEXT: yes
20:46:05: * 3DNOW: no
20:46:05: * 3DNOWEXT: no
20:46:05: * CMOV: yes
20:46:05: * TSC: yes
20:46:05: * FPU: yes
20:46:05: * PRO: yes
20:46:05: * HT: no
20:46:05: -------------------------
20:46:05: *** Starting Win32GL Subsystem ***
20:46:05: GLRenderSystem::_createRenderWindow "GameEngine Render Window", 1280x1024 fullscreen miscParams: FSAA=0 colourDepth=32 displayFrequency=60 gamma=false vsync=false
20:46:05: Created Win32Window 'GameEngine Render Window' : 1280x1024, 32bpp
20:46:05: GL_VERSION = 2.1.2
20:46:05: GL_VENDOR = NVIDIA Corporation
20:46:05: GL_RENDERER = GeForce 8800 GT/PCI/SSE2
20:46:05: GL_EXTENSIONS = GL_ARB_color_buffer_float GL_ARB_depth_texture GL_ARB_draw_buffers GL_ARB_fragment_program GL_ARB_fragment_program_shadow GL_ARB_fragment_shader GL_ARB_half_float_pixel GL_ARB_imaging GL_ARB_multisample GL_ARB_multitexture GL_ARB_occlusion_query GL_ARB_pixel_buffer_object GL_ARB_point_parameters GL_ARB_point_sprite GL_ARB_shadow GL_ARB_shader_objects GL_ARB_shading_language_100 GL_ARB_texture_border_clamp GL_ARB_texture_compression GL_ARB_texture_cube_map GL_ARB_texture_env_add GL_ARB_texture_env_combine GL_ARB_texture_env_dot3 GL_ARB_texture_float GL_ARB_texture_mirrored_repeat GL_ARB_texture_non_power_of_two GL_ARB_texture_rectangle GL_ARB_transpose_matrix GL_ARB_vertex_buffer_object GL_ARB_vertex_program GL_ARB_vertex_shader GL_ARB_window_pos GL_ATI_draw_buffers GL_ATI_texture_float GL_ATI_texture_mirror_once GL_S3_s3tc GL_EXT_texture_env_add GL_EXT_abgr GL_EXT_bgra GL_EXT_blend_color GL_EXT_blend_equation_separate GL_EXT_blend_func_separate GL_EXT_blend_minmax GL_EXT_blend_subtract GL_EXT_compiled_vertex_array GL_EXT_Cg_shader GL_EXT_bindable_uniform GL_EXT_depth_bounds_test GL_EXT_draw_buffers2 GL_EXT_draw_instanced GL_EXT_draw_range_elements GL_EXT_fog_coord GL_EXT_framebuffer_blit GL_EXT_framebuffer_multisample GL_EXT_framebuffer_object GL_EXTX_framebuffer_mixed_formats GL_EXT_framebuffer_sRGB GL_EXT_geometry_shader4 GL_EXT_gpu_program_parameters GL_EXT_gpu_shader4 GL_EXT_multi_draw_arrays GL_EXT_packed_depth_stencil GL_EXT_packed_float GL_EXT_packed_pixels GL_EXT_pixel_buffer_object GL_EXT_point_parameters GL_EXT_rescale_normal GL_EXT_secondary_color GL_EXT_separate_specular_color GL_EXT_shadow_funcs GL_EXT_stencil_two_side GL_EXT_stencil_wrap GL_EXT_texture3D GL_EXT_texture_array GL_EXT_texture_buffer_object GL_EXT_texture_compression_latc GL_EXT_texture_compression_rgtc GL_EXT_texture_compression_s3tc GL_EXT_texture_cube_map GL_EXT_texture_edge_clamp GL_EXT_texture_env_combine GL_EXT_texture_env_dot3 GL_EXT_texture_filter_anisotropic GL_EXT_texture_integer GL_EXT_texture_lod GL_EXT_texture_lod_bias GL_EXT_texture_mirror_clamp GL_EXT_texture_object GL_EXT_texture_sRGB GL_EXT_texture_shared_exponent GL_EXT_timer_query GL_EXT_vertex_array GL_IBM_rasterpos_clip GL_IBM_texture_mirrored_repeat GL_KTX_buffer_region GL_NV_blend_square GL_NV_copy_depth_to_color GL_NV_depth_buffer_float GL_NV_conditional_render GL_NV_depth_clamp GL_NV_fence GL_NV_float_buffer GL_NV_fog_distance GL_NV_fragment_program GL_NV_fragment_program_option GL_NV_fragment_program2 GL_NV_framebuffer_multisample_coverage GL_NV_geometry_shader4 GL_NV_gpu_program4 GL_NV_half_float GL_NV_light_max_exponent GL_NV_multisample_coverage GL_NV_multisample_filter_hint GL_NV_occlusion_query GL_NV_packed_depth_stencil GL_NV_parameter_buffer_object GL_NV_pixel_data_range GL_NV_point_sprite GL_NV_primitive_restart GL_NV_register_combiners GL_NV_register_combiners2 GL_NV_texgen_reflection GL_NV_texture_compression_vtc GL_NV_texture_env_combine4 GL_NV_texture_expand_normal GL_NV_texture_rectangle GL_NV_texture_shader GL_NV_texture_shader2 GL_NV_texture_shader3 GL_NV_transform_feedback GL_NV_vertex_array_range GL_NV_vertex_array_range2 GL_NV_vertex_program GL_NV_vertex_program1_1 GL_NV_vertex_program2 GL_NV_vertex_program2_option GL_NV_vertex_program3 GL_NVX_conditional_render GL_SGIS_generate_mipmap GL_SGIS_texture_lod GL_SGIX_depth_texture GL_SGIX_shadow GL_SUN_slice_accum GL_WIN_swap_hint WGL_EXT_swap_control
20:46:05: Supported WGL extensions: WGL_ARB_buffer_region WGL_ARB_extensions_string WGL_ARB_make_current_read WGL_ARB_multisample WGL_ARB_pbuffer WGL_ARB_pixel_format WGL_ARB_pixel_format_float WGL_ARB_render_texture WGL_ATI_pixel_format_float WGL_EXT_extensions_string WGL_EXT_framebuffer_sRGB WGL_EXT_pixel_format_packed_float WGL_EXT_swap_control WGL_NV_float_buffer WGL_NV_multisample_coverage WGL_NV_render_depth_texture WGL_NV_render_texture_rectangle
20:46:05: ***************************
20:46:05: *** GL Renderer Started ***
20:46:05: ***************************
20:46:05: Registering ResourceManager for type GpuProgram
20:46:05: GLSL support detected
20:46:05: GL: Using GL_EXT_framebuffer_object for rendering to textures (best)
20:46:05: FBO PF_UNKNOWN depth/stencil support: D16S0 D24S0 D32S0 Packed-D24S8
20:46:05: FBO PF_L8 depth/stencil support: D0S0 D16S0 D24S0 D32S0 Packed-D24S8
20:46:05: FBO PF_A8 depth/stencil support: D0S0 D16S0 D24S0 D32S0 Packed-D24S8
20:46:05: FBO PF_A4L4 depth/stencil support: D0S0 D16S0 D24S0 D32S0 Packed-D24S8
20:46:05: FBO PF_BYTE_LA depth/stencil support: D0S0 D16S0 D24S0 D32S0 Packed-D24S8
20:46:05: FBO PF_R5G6B5 depth/stencil support: D0S0 D16S0 D24S0 D32S0 Packed-D24S8
20:46:05: FBO PF_B5G6R5 depth/stencil support: D0S0 D16S0 D24S0 D32S0 Packed-D24S8
20:46:05: FBO PF_A1R5G5B5 depth/stencil support: D0S0 D16S0 D24S0 D32S0 Packed-D24S8
20:46:05: FBO PF_R8G8B8 depth/stencil support: D0S0 D16S0 D24S0 D32S0 Packed-D24S8
20:46:05: FBO PF_B8G8R8 depth/stencil support: D0S0 D16S0 D24S0 D32S0 Packed-D24S8
20:46:05: FBO PF_A8R8G8B8 depth/stencil support: D0S0 D16S0 D24S0 D32S0 Packed-D24S8
20:46:05: FBO PF_B8G8R8A8 depth/stencil support: D0S0 D16S0 D24S0 D32S0 Packed-D24S8
20:46:05: FBO PF_A2R10G10B10 depth/stencil support: D0S0 D16S0 D24S0 D32S0 Packed-D24S8
20:46:05: FBO PF_A2B10G10R10 depth/stencil support: D0S0 D16S0 D24S0 D32S0 Packed-D24S8
20:46:05: FBO PF_FLOAT16_RGB depth/stencil support: D0S0 D16S0 D24S0 D32S0 Packed-D24S8
20:46:05: FBO PF_FLOAT16_RGBA depth/stencil support: D0S0 D16S0 D24S0 D32S0 Packed-D24S8
20:46:06: FBO PF_FLOAT32_RGB depth/stencil support: D0S0 D16S0 D24S0 D32S0 Packed-D24S8
20:46:06: FBO PF_FLOAT32_RGBA depth/stencil support: D0S0 D16S0 D24S0 D32S0 Packed-D24S8
20:46:06: FBO PF_X8R8G8B8 depth/stencil support: D0S0 D16S0 D24S0 D32S0 Packed-D24S8
20:46:06: FBO PF_X8B8G8R8 depth/stencil support: D0S0 D16S0 D24S0 D32S0 Packed-D24S8
20:46:06: FBO PF_SHORT_RGBA depth/stencil support: D0S0 D16S0 D24S0 D32S0 Packed-D24S8
20:46:06: FBO PF_R3G3B2 depth/stencil support: D0S0 D16S0 D24S0 D32S0 Packed-D24S8
20:46:06: FBO PF_FLOAT16_R depth/stencil support: D0S0 D16S0 D24S0 D32S0 Packed-D24S8
20:46:06: FBO PF_FLOAT32_R depth/stencil support: D0S0 D16S0 D24S0 D32S0 Packed-D24S8
20:46:06: FBO PF_FLOAT16_GR depth/stencil support: D0S0 D16S0 D24S0 D32S0 Packed-D24S8
20:46:06: FBO PF_FLOAT32_GR depth/stencil support: D0S0 D16S0 D24S0 D32S0 Packed-D24S8
20:46:06: FBO PF_SHORT_RGB depth/stencil support: D0S0 D16S0 D24S0 D32S0 Packed-D24S8
20:46:06: [GL] : Valid FBO targets PF_UNKNOWN PF_L8 PF_A8 PF_A4L4 PF_BYTE_LA PF_R5G6B5 PF_B5G6R5 PF_A1R5G5B5 PF_R8G8B8 PF_B8G8R8 PF_A8R8G8B8 PF_B8G8R8A8 PF_A2R10G10B10 PF_A2B10G10R10 PF_FLOAT16_RGB PF_FLOAT16_RGBA PF_FLOAT32_RGB PF_FLOAT32_RGBA PF_X8R8G8B8 PF_X8B8G8R8 PF_SHORT_RGBA PF_R3G3B2 PF_FLOAT16_R PF_FLOAT32_R PF_FLOAT16_GR PF_FLOAT32_GR PF_SHORT_RGB
20:46:06: RenderSystem capabilities
20:46:06: -------------------------
20:46:06: RenderSystem Name: OpenGL Rendering Subsystem
20:46:06: GPU Vendor: nvidia
20:46:06: Device Name: GeForce 8800 GT/PCI/SSE2
20:46:06: Driver Version: 2.1.2.0
20:46:06: * Fixed function pipeline: yes
20:46:06: * Hardware generation of mipmaps: yes
20:46:06: * Texture blending: yes
20:46:06: * Anisotropic texture filtering: yes
20:46:06: * Dot product texture operation: yes
20:46:06: * Cube mapping: yes
20:46:06: * Hardware stencil buffer: yes
20:46:06: - Stencil depth: 8
20:46:06: - Two sided stencil support: yes
20:46:06: - Wrap stencil values: yes
20:46:06: * Hardware vertex / index buffers: yes
20:46:06: * Vertex programs: yes
20:46:06: * Fragment programs: yes
20:46:06: * Geometry programs: yes
20:46:06: * Supported Shader Profiles: arbfp1 arbvp1 fp20 fp30 fp40 glsl gp4gp gpu_gp nvgp4 vp30 vp40
20:46:06: * Texture Compression: yes
20:46:06: - DXT: yes
20:46:06: - VTC: yes
20:46:06: * Scissor Rectangle: yes
20:46:06: * Hardware Occlusion Query: yes
20:46:06: * User clip planes: yes
20:46:06: * VET_UBYTE4 vertex element type: yes
20:46:06: * Infinite far plane projection: yes
20:46:06: * Hardware render-to-texture: yes
20:46:06: * Floating point textures: yes
20:46:06: * Non-power-of-two textures: yes
20:46:06: * Volume textures: yes
20:46:06: * Multiple Render Targets: 8
20:46:06: - With different bit depths: yes
20:46:06: * Point Sprites: yes
20:46:06: * Extended point parameters: yes
20:46:06: * Max Point Size: 63.375
20:46:06: * Vertex texture fetch: yes
20:46:06: - Max vertex textures: 32
20:46:06: - Vertex textures shared: yes
20:46:06: * Render to Vertex Buffer : yes
20:46:06: * GL 1.5 without VBO workaround: no
20:46:06: * Frame Buffer objects: yes
20:46:06: * Frame Buffer objects (ARB extension): no
20:46:06: * Frame Buffer objects (ATI extension): no
20:46:06: * PBuffer suppport: no
20:46:06: * GL 1.5 without HW-occlusion workaround: no
20:46:06: Registering ResourceManager for type Texture
20:46:06: ResourceBackgroundQueue - threading disabled
20:46:06: Particle Renderer Type 'billboard' registered
20:46:06: SceneManagerFactory for type 'BspSceneManager' registered.
20:46:06: Registering ResourceManager for type BspLevel
20:46:06: SceneManagerFactory for type 'PCZSceneManager' registered.
20:46:06: MovableObjectFactory for type 'PCZLight' registered.
20:46:06: PCZone Factory Type 'ZoneType_Octree' registered
20:46:06: PCZone Factory Type 'ZoneType_Terrain' registered
20:46:06: SceneManagerFactory for type 'OctreeSceneManager' registered.
20:46:06: SceneManagerFactory for type 'TerrainSceneManager' registered.


Thanks for your help.

John.
Chaster
OGRE Expert User
OGRE Expert User
Posts: 557
Joined: Wed May 05, 2004 3:19 pm
Location: Portland, OR, USA
Contact:

Post by Chaster »

Hmm....

Do you need to have the BSP Scene Manager in there too? The PCZ Default Zone type will probably do a better job for you for indoor environments..

If you don't need the bsp scene manager for some specific reason, can you not load that (just to eliminate that as a source of conflict)...

Chatser
JohnM
Gnoblar
Posts: 4
Joined: Sat Sep 06, 2008 3:18 am

Post by JohnM »

I've found out what the problem was. I copied all of the DLLs from the ogre\samples\common\bin\release folder to the directory that my program .exe is in and set PluginFolder=. in my plugins.cfg and it worked.

Before that I had my PluginFolder set to ogre\samples\common\bin\release and it appeared to be working because there were no errors saying it couldn't find DLLs and the ogre.log seemed to indicate that the DLLs were loaded properly.

Anyway it's working now, thanks Chaster :)
Chaster
OGRE Expert User
OGRE Expert User
Posts: 557
Joined: Wed May 05, 2004 3:19 pm
Location: Portland, OR, USA
Contact:

Post by Chaster »

Cool. Gotta love the easy fixes.

Chaster
User avatar
Fish
Greenskin
Posts: 131
Joined: Fri Aug 22, 2008 6:12 pm

Post by Fish »

Chaster wrote:Cool. Gotta love the easy fixes.

Chaster
Except that the Plugin_PCZSceneManager.dll will not function from the directory defined by the 'PluginFolder=' line like the other plugins.
Chaster
OGRE Expert User
OGRE Expert User
Posts: 557
Joined: Wed May 05, 2004 3:19 pm
Location: Portland, OR, USA
Contact:

Post by Chaster »

Eh? Really? I use the PluginFolder=... for mine...?
User avatar
Fish
Greenskin
Posts: 131
Joined: Fri Aug 22, 2008 6:12 pm

Post by Fish »

Chaster wrote:Eh? Really? I use the PluginFolder=... for mine...?
Indeed. I had my plugins in a folder like .\Plugins with the script line 'PluginFolder = .\Plugins'. In my app PCZSceneManager.dll will not operate from the .\plugins folder. It will only operate from the folder containing my executable.

Has anyone tried using Caelum in conjunction with the PCZSceneManager? Caelum will assert an error to the effect of, "Can't find the center of a NULL AAB." This error does not occur with the other SceneManagers...any clues?
Chaster
OGRE Expert User
OGRE Expert User
Posts: 557
Joined: Wed May 05, 2004 3:19 pm
Location: Portland, OR, USA
Contact:

Post by Chaster »

Fish wrote:
Chaster wrote:Eh? Really? I use the PluginFolder=... for mine...?
Indeed. I had my plugins in a folder like .\Plugins with the script line 'PluginFolder = .\Plugins'. In my app PCZSceneManager.dll will not operate from the .\plugins folder. It will only operate from the folder containing my executable.

Has anyone tried using Caelum in conjunction with the PCZSceneManager? Caelum will assert an error to the effect of, "Can't find the center of a NULL AAB." This error does not occur with the other SceneManagers...any clues?
Sigh. Okay, I'll put it on my list of bugs to check out (the Plugin folder problem). I don't have any experience with Caelum so can't help ya there.

Chaster
User avatar
Fish
Greenskin
Posts: 131
Joined: Fri Aug 22, 2008 6:12 pm

Post by Fish »

Chaster wrote:Sigh. Okay, I'll put it on my list of bugs to check out (the Plugin folder problem). I don't have any experience with Caelum so can't help ya there.

Chaster
:) not a big deal, it's a low priority issue.
User avatar
Fish
Greenskin
Posts: 131
Joined: Fri Aug 22, 2008 6:12 pm

Post by Fish »

Chaster wrote:I don't have any experience with Caelum so can't help ya there.
Caelum apparently defines a bounding box that is "infinite" in size so that the Starfield effects are always visible. PCZSM apparently does not like Bounding Boxes (AAB) that are infinite in size and so asserts, "can't find the center of an infinite or null AAB". I have yet to dig into the PCZSM code but do you know of a particular reason why an "infinite" AAB cannot be tolerated?

I wonder how the 'TerrainSceneManager' handles an infinite AAB.
User avatar
Fish
Greenskin
Posts: 131
Joined: Fri Aug 22, 2008 6:12 pm

Post by Fish »

Or better yet, include code during the visibility check that assumes NULL AABB is never visible and that INFINITE AABB are always visible.
User avatar
Fish
Greenskin
Posts: 131
Joined: Fri Aug 22, 2008 6:12 pm

Post by Fish »

Here is the patch that fixes a compatibility issue between Caelum and PCZSM. Caelum and other scene managers assume that infinite AABB are always visible. Other scene managers also assume that NULL AABB are never visible.

The following .patch fixes a crash that occurs when infinite or NULL AABB are checked for visibility in the PCZSM.

Code: Select all

Index: src/OgrePCZFrustum.cpp
===================================================================
--- src/OgrePCZFrustum.cpp	(revision 8111)
+++ src/OgrePCZFrustum.cpp	(working copy)
@@ -79,6 +79,12 @@
 
     bool PCZFrustum::isVisible( const AxisAlignedBox & bound) const
     {
+        // Null boxes are always invisible
+        if (bound.isNull()) return false;
+
+        // Infinite boxes are always visible 
+        if (bound.isInfinite()) return true;
+
         // Get centre of the box
         Vector3 centre = bound.getCenter();
         // Get the half-size of the box
-Fish
Chaster
OGRE Expert User
OGRE Expert User
Posts: 557
Joined: Wed May 05, 2004 3:19 pm
Location: Portland, OR, USA
Contact:

Post by Chaster »

Thanks Fish, I'll put that in.

Chaster
Locked