Hydrax/SkyX demos

ofcaveman

24-03-2012 10:45:58

Currently, I have gotten Hydrax 0.5.1 and SkyX 0.3 and Ogre 1.7.4 merged together. I have SkyX Demo2 and Demo3 working fine. I have the Hydrax Demo working fine. I am unable to get the SkyX demo1 working, or the HydraxSkyX demo working. I have an ATI Radeon HD 5800 graphics card.

For Demo1, I get:
Finished parsing scripts for resource group SkyX
Can't assign material _NULL_ to SubEntity of SkyXMeshEnt because this Material does not exist. Have you forgotten to define it in a .material script?
I then get a pop-up which says something like: "Abort was called", and then debug shows the crash to originate here:
// Add the atmospheric scattering pass to our terrain material
// The ground atmospheric scattering pass must be added to all materials that are going to be used to
// render object which we want to have atmospheric scattering effects on.
mSkyX->getGPUManager()->addGroundPass(
static_cast<Ogre::MaterialPtr>(Ogre::MaterialManager::getSingleton().
getByName("Terrain"))->getTechnique(0)->createPass(), 5000, Ogre::SBT_TRANSPARENT_COLOUR);
And then next in the call stack is in OgreSharedPtr: inline T* operator->() const { assert(pRep); return pRep; } where pRep is NULL/0.

So, am I missing "Terrain" in one of the resource files, or perhaps some files for "Terrain", or is it expecting something within the code?

For the Hydrax/SkyX demo, what I was really hoping to get working, I have tried several different angles of attack.
Trying to run OpenGL:
'HydraxSkyXDemo.exe': Loaded 'C:\Windows\winsxs\x86_microsoft.windows.common-controls_6595b64144ccf1df_6.0.7601.17514_none_41e6975e2bd6f2b2\comctl32.dll', Cannot find or open the PDB file
First-chance exception at 0x7592b9bc in HydraxSkyXDemo.exe: Microsoft C++ exception: Ogre::InvalidParametersException at memory location 0x001bdcb4..
'HydraxSkyXDemo.exe': Unloaded 'D:\Public\downloads\ogre_src_v1-7-4\HydraxSkyXDemo\bin\debug\Plugin_OctreeSceneManager_d.dll'

And in the log:
06:37:02: [Hydrax] HydraxDemo.hdx loaded.
06:37:02: OGRE EXCEPTION(2:InvalidParametersException): Named constants have not been initialised, perhaps a compile error. in GpuProgramParameters::_findNamedConstantDefinition at D:\Public\downloads\ogre_src_v1-7-4\OgreMain\src\OgreGpuProgramParams.cpp (line 1425)
06:37:02: DefaultWorkQueue('Root') shutting down on thread main.
06:37:02: *-*-* OGRE Shutdown

When I run in DirectX, I get:
First-chance exception at 0x7592b9bc in HydraxSkyXDemo.exe: Microsoft C++ exception: OIS::Exception at memory location 0x0026f514..
First-chance exception at 0x7592b9bc in HydraxSkyXDemo.exe: Microsoft C++ exception: OIS::Exception at memory location 0x0026f64c..
First-chance exception at 0x7592b9bc in HydraxSkyXDemo.exe: Microsoft C++ exception: Ogre::InvalidParametersException at memory location 0x0026eeb8.

And in the log:
06:40:04: Mesh: Loading Palm.mesh.
06:40:04: *** Initializing OIS ***
06:40:05: *** Initializing OIS ***
06:40:05: OGRE EXCEPTION(2:InvalidParametersException): Parameter called uMoonPhase does not exist. in GpuProgramParameters::_findNamedConstantDefinition at D:\Public\downloads\ogre_src_v1-7-4\OgreMain\src\OgreGpuProgramParams.cpp (line 1435)
06:40:05: DefaultWorkQueue('Root') shutting down on thread main.
06:40:05: *-*-* OGRE Shutdown

Again, the issue is I seem to be missing a resource, but I am not sure where I am supposed to add it.

Thanks,

-Kevin

ofcaveman

20-04-2012 03:33:25

OK, I finally found the issue. One of the other skyx demos had the missing uMoonPhase parameter in it, so I just used that entire media/SkyX folder, along with the media/Terrains folder as well. Much mo betta now...