running demo

rschlend

12-08-2006 16:31:33

Hello--

I'm new here and am trying to figure out how to make the demo for plsm run. I've tried several different ways without success after following the wiki and tutorial.

Mostly I think I'm getting confused about what configuration files, what the media directory should look like and contain and what directory structure is the easest.

Can someone confirm that MapSplitter is only looking at the following two config files:
maptools.cfg
paginglandscape2.cfg

I was able to get mapsplitter to correctly run using MSVC7.1 with the cvs dagon and the cvs version of PLSM. I've been able to sucessfully build the Demo_PagingLandscape2.exe

I'm not exactly sure what configuration files it looks at though.
Maybe resource.cfg, plsm2_display, IPLSceneManager.cfg, Plugins_plsm2.cfg?

What configuration files do I need and what needs to be in them?

It seems like I'm getting stuck at this point:

assert (!material.isNull() &&
String(mMaterialBaseName + " Must exists in the" + opt->groupName + "group").c_str ());

Any other help or suggestions would be appreciated.

Thanks in advance,

Rob

baronvonarrow

13-08-2006 06:14:27

I've spent many hours on this so far and I'm having the same problems. There are so many .cfg files, and no explanation anywhere of what they do. I hope someone can clear out any unnecessary files and reorganize it in an intuitive way. If you figure anything out, let me know. I'll do the same.

rschlend

13-08-2006 19:31:30

Hey Baronvonarrow-

I've spent many hours as well...north of 15 so far. I'm new to ogre and so I expected a bit of a fight, but was getting pretty frustrated. With yet another attempt I've been able to run the default demo.

Here's what I did to get it to work. I'm hardly an expert here so I aplogize for any misinformation. Hopefully this is helpful to those trying to get the demo working though:

I'm using Microsoft Visual Studio 7.1 with the Ogre SDK

You can get the SDK here: http://www.ogre3d.org/index.php?option=com_remository&Itemid=57&func=selectcat&cat=1

Obtain the PLSM from:
http://tuan.kuranes.free.fr/Ogre.html
and download the link labled source
Also download the 4 maps in the zip file from the link labeled "download"

1) install the SDK (I installed mine to C:\OgreSDK, the rest of this article will assume that you've done the same)
2) unzip the source and place it in C:\OgreSDK\paginglandscape
unzip the 4 maps and unzip them such that your directory looks like:
3) C:\OgreSDK\media\paginglandscape2\materials\datasrcs

4) install the SDK:
http://www.ogre3d.org/wiki/index.php/Installing_An_SDK

5) I built a sample app just to make sure I had this working: See Ogre Application wizard if using MSVS

http://www.ogre3d.org/wiki/index.php/SettingUpAnApplication

6) build run the test file. Mine was in: C:\OgreSDK\Bin\Debug

-----Now to make the demo plsm work-----

7) Initially I didn't have plsm in the C:\OgreSDK directory so I had some linking and include issues.. you may still as well but they can be resolved (if using MSVS) by Right clicking on the project under solution explorer and selecting properties. Choose C\C++ and change the additional include directories to include: "C:\OgreSDK\Include" Also under Linker -> general I included "C:\OgreSDK\lib\" (once you get the demo working be smart and change these links to relative paths)

8) Build MapSplitter, and copy MapSplitterD.exe to: C:\ogresdk\bin\debug

9) When running MapsplitterD.exe I received an error telling me it couldn't find: hf_129_3.gen.cfg.
Mapsplitter uses resource.cfg to determine where to look for files. Modify your resources.cfg file in C:\ogresdk\bin\debug to look like the following:

# Resource locations to be added to the 'boostrap' path
# This also contains the minimum you need to use the Ogre example framework
[Bootstrap]
Zip=../../media/packs/OgreCore.zip

# Resource locations to be added to the default path
[General]
FileSystem=../../media
FileSystem=../../media/fonts
FileSystem=../../media/materials/programs
FileSystem=../../media/materials/scripts
FileSystem=../../media/materials/textures
FileSystem=../../media/models
FileSystem=../../media/overlays
FileSystem=../../media/particle
FileSystem=../../media/gui
FileSystem=../../media/DeferredShadingMedia
Zip=../../media/packs/cubemap.zip
Zip=../../media/packs/cubemapsJS.zip
Zip=../../media/packs/dragon.zip
Zip=../../media/packs/fresneldemo.zip
Zip=../../media/packs/ogretestmap.zip
Zip=../../media/packs/skybox.zip

[PLSM2]
FileSystem:=../../media/paginglandscape2/
FileSystem:=../../media/paginglandscape2/terrains
FileSystem:=../../media/paginglandscape2/materials\textures
FileSystem:=../../media/paginglandscape2/materials\datasrcs
FileSystem:=../../media/paginglandscape2/models
FileSystem:=../../media/paginglandscape2/overlays
FileSystem:=../../media/paginglandscape2/materials
FileSystem:=../../media/paginglandscape2/materials/scripts
FileSystem:=../../media/paginglandscape2/materials/programs


10) Run mapsplitterD.exe again. Hopefully it will run and generate some files for you in: C:\OgreSDK\media\paginglandscape2\terrains\hf129_3

If you have any difficulties look at : Mapsplitter.log in the same directory where you ran Mapsplitter.exe for clues.

If this doesn't work let me know and I'll see if I have any ideas.

-----------------Now onto the demo:-------------------------

11) Try to run the Demo by coping the following files:


Copy Demo_PagingLandScape2.exe and Plugin_PagingLandScapeSceneManager2.dll and
'resources_plsm2.cfg' from
C:\OgreSDK\paginglandscape\Samples\Common\bin\Debug to: C:\OgreSDK\bin\Debug

My resources_plsm2.cfg file looks like:


# Resource locations to be added to the 'boostrap' path
# This also contains the minimum you need to use the Ogre example framework
[Bootstrap]
Zip=../../Media/packs/OgreCore.zip

# Resource locations to be added to the default path
[General]
FileSystem=../../Media
FileSystem=../../Media/fonts
FileSystem=../../Media/materials/programs
FileSystem=../../Media/materials/scripts
FileSystem=../../Media/materials/textures
FileSystem=../../Media/models
FileSystem=../../Media/overlays
FileSystem=../../Media/particle
FileSystem=../../Media/gui
FileSystem=../../Media/DeferredShadingMedia
Zip=../../Media/packs/cubemap.zip
Zip=../../Media/packs/cubemapsJS.zip
Zip=../../Media/packs/dragon.zip
Zip=../../Media/packs/fresneldemo.zip
Zip=../../Media/packs/ogretestmap.zip
Zip=../../Media/packs/skybox.zip


[PLSM2]
FileSystem:=../../media/paginglandscape2/
FileSystem:=../../media/paginglandscape2/terrains
FileSystem:=../../media/paginglandscape2/materials\textures
FileSystem:=../../media/paginglandscape2/materials\datasrcs
FileSystem:=../../media/paginglandscape2/models
FileSystem:=../../media/paginglandscape2/overlays
FileSystem:=../../media/paginglandscape2/materials
FileSystem:=../../media/paginglandscape2/materials/scripts
FileSystem:=../../media/paginglandscape2/materials/programs



12) At this point I got the setup window to appear, but was unable to select between OpenGL and DirectX. Looking at the plsm.log I realized the program couldn't find: plsm2_display.cfg

I found a copy of this in the CVS root but it looked nearly identical to the Ogre.cfg found in C:\OgreSDK\bin so I made a copy of Ogre.cfg and renamed it plsm2_display.cfg.

My plsm2_display.cfg file looks like:

Render System=Direct3D9 Rendering Subsystem

[Direct3D9 Rendering Subsystem]
Allow NVPerfHUD=No
Anti aliasing=None
Floating-point mode=Fastest
Full Screen=No
Rendering Device=ATI MOBILITY RADEON X300
VSync=No
Video Mode=800 x 600 @ 32-bit colour

[OpenGL Rendering Subsystem]
Colour Depth=32
Display Frequency=60
FSAA=0
Full Screen=Yes
RTT Preferred Mode=FBO
VSync=No
Video Mode=1024 x 768


Copying my version of the file directly however will probably cause you problems unless you have the same graphics card as I do.

13) Ok, we're getting there. Now when I launch it, I can select between OpenGL and DirectX however it still crashes because it can't find:
plugin_plsm2.cfg

I copied this from
C:\OgreSDK\paginglandscape\Samples\Common\bin\Debug to: C:\OgreSDK\bin\Debug

My plugin_plsm2.cfg file looks like:


# Defines plugins to load

# Define plugin folder
PluginFolder=.

# Define plugins
Plugin=RenderSystem_Direct3D9
Plugin=RenderSystem_GL

Plugin=Plugin_CgProgramManager

Plugin=Plugin_ParticleFX
Plugin=Plugin_PagingLandScapeSceneManager2


14) now I get the following error

parsing script DecompressVertex.program
parsing script olsPLLightingCG.program
parsing script PLShaders.program
error at line 6 of PLShaders.program: Could not create GPU program 'PLDecompress
ambientVPCG', error reported was: An exception has been thrown!

----------------------------------
details:
----------------------------------
error #: 6
function: ResourceManager::add
description: Resource with the name PLDecompressAmbientVPCG already exists..
file: d:\ogredev\dagon\ogremain\src\ogreresourcemanager.cpp
line: 89
stack unwinding: <<beginning of stack>>
error at line 13 of PLShaders.program: Could not create GPU program 'PLDecompres
DirectionalVP2CG', error reported was: An exception has been thrown!

----------------------------------
details:
----------------------------------
error #: 6
function: ResourceManager::add
.....


Reviewing the forums I found this helpful post:
http://www.ogre3d.org/phpBB2addons/viewtopic.php?t=1825&sid=2a85ca3df931b3ac5621b205601c9416

I followed the instructions and tried yet again to run the Demo

16) YES! it finally ran for me. Now onto a few troubleshooting tips.

Make sure to check the logs (plsm.log if you're trying to run the demo and Mapsplitter.log if you are trying to run the MapsplitterD.exe)

The Demo tries to look in a directory called ogeraddons if it cannot find the resource group [PLSM2] in resources_plsm2.cfg . This is the CVS root and led me astray because it was pulling and reading configuration data from there. To ensure that it could not do that I renamed my ogeraddons folder temporarily.

17) I'm still unable to run more than the default map on the Demo. I've edited maptools.cfg in order for it to build all of the maps.

When I try to switch to the other maps I get the following Error:

Added resource location '../../media/paginglandscape2/terrains/ps_height_1k' of
type 'FileSystem' to resource group 'PLSM2'
Assertion failed: minLevelDistSqr.size () == numLod, file \plsm\PlugIns\PagingLa
ndScape2\src\OgrePagingLandScapeOptions.cpp, line 1552


I'll let you know if I figure out anything else Good Luck!

baronvonarrow

13-08-2006 21:54:06

Thanks for the response! I managed to get the demo to run too. In fact, I think I'm at the exact same point as you. I just edited maptools.cfg to batch split the files, but it won't load any other maps. I wonder why it's so difficult to get this running.. I hope the plugin itself isn't as hard to use.

I am going to just skip the rest of the demo functionality and try to import PLSM data into my own program. I hope to have Newton running with PLSM by the end of the week. I'll let you know how it goes.

edit:
If you've got any questions about the main Ogre stuff, just let me know. I just started a few days ago but I haven't run into any major problems, and it seems really easy!

rschlend

14-08-2006 00:37:22

Great News!

Let me know how it goes with newton and PLSM. I'm still trying to determine what to use..ode vs netwon. Let me know if you have any good links to read or opinions.

Also if you get PLSM installed outside of the Demo can you post the steps? (Hopefully it's pretty straightforward...I haven't tried to do it yet though)