[help] pages missing

elementarladung

02-05-2007 13:19:50

Hi,
i've create a terrain with the same configuration as grand canyon except my terrain size is 8x8 tiles. When i start the demo some tiles are missing. On the right side all tiles are missing.

Here is a screen:


Any idea ?

nindim

03-05-2007 02:47:12

Are you using shadows? They've been known to hide parts of the terrain, in my app enabling modulative texture shadows only allows me to see the first page.

Jon

05-05-2007 16:49:21

I'm seeing the same thing on one data set (no shadows). When exploring the map using the demo application, one can walk off the edge of the world (where valid terrain should be). I have noticed that by default a narrow rectangular region of the map is rendered correctly, with pages missing on each side. But when I moved the camera higher (+Y) some pages outside of the rectangle appeared. Line-of-sight does not appear to be a valid concern, as seen in the following image.

The following is part of an island. It is not the best picture, but good enough to show the missing page. The camera is high in elevation looking down at the terrain.

This hasn't been a priority for me to investigate yet, but that time may come shortly. (At the moment I'm investigating the coverage map usage and trying to learn if more than 4 splats is possible).


Here is another angle:



Here is what I mean by the rectangular region (horizontally across the center of the map).


Moving the camera in and out would cause pages to appear and disappear, but distance to the camera and line-of-sight did not appear to be factors.

Here is an example of a page reappearing after zooming back in:


Oh, by the way, here is the minimap of the original heightmap to give everyone some idea of what pages are missing.


Zooming in a little closer caused an assertion failure while unloading a page:


> msvcr71d.dll!_NMSG_WRITE(int rterrnum=10) Line 195 C
msvcr71d.dll!abort() Line 44 + 0x7 C
msvcr71d.dll!_assert(const char * expr=0x02fd8174, const char * filename=0x02fd8110, unsigned int lineno=203) Line 306 C
Plugin_PagingLandScapeSceneManager2_d.dll!Ogre::PagingLandScapePage::uninit() Line 203 + 0x20 C++
Plugin_PagingLandScapeSceneManager2_d.dll!Ogre::PagingLandScapePageManager::releasePage(Ogre::PagingLandScapePage * p=0x04f7b4f0) Line 230 C++
Plugin_PagingLandScapeSceneManager2_d.dll!Ogre::PagingLandScapePageManager::processUnloadQueues() Line 545 C++
Plugin_PagingLandScapeSceneManager2_d.dll!Ogre::PagingLandScapePageManager::frameEnded(const Ogre::FrameEvent & evt={...}) Line 175 C++
OgreMain_d.dll!Ogre::Root::_fireFrameEnded(Ogre::FrameEvent & evt={...}) Line 648 + 0x27 C++
OgreMain_d.dll!Ogre::Root::_fireFrameEnded() Line 683 C++
OgreMain_d.dll!Ogre::Root::renderOneFrame() Line 754 C++
OgreMain_d.dll!Ogre::Root::startRendering() Line 741 + 0x8 C++
Demo_PagingLandScape2.exe!ExampleApplication::go() Line 92 + 0xe C++
Demo_PagingLandScape2.exe!main(int argc=1, char * * argv=0x00aea1b0) Line 54 + 0x8 C++
Demo_PagingLandScape2.exe!mainCRTStartup() Line 398 + 0x11 C
kernel32.dll!7c816fd7()
ntdll.dll!7c915b4f()

Jon

06-05-2007 21:04:43

Just to follow up... I have rebuilt everything using VC8 and am seeing the same behavior. The debugger was giving me fits under VC7 :evil:

Thankfully VC8's debugger is working as I expect.

Jon

07-05-2007 18:30:49

What I was seeing was related to the max adjacent pages shown by the camera. Increasing this value seems to get rid of the missing pages.

The threshold test for page distance on diagonals might be too conservative. The above screenshots were taken with a setting of one page.