Caelum - [WARNING: Screenshot intensive]
- SiENcE
- Goblin
- Posts: 231
- Joined: Thu May 11, 2006 3:07 pm
- Location: Berlin
- Contact:
- cdleonard
- Goblin
- Posts: 266
- Joined: Thu May 31, 2007 9:45 am
@Commander: You can also call CaelumSystem::setEnsureSingleShadowSource. Hopefully it actually does what it claims.
@lilljohan: I took another look at your log and it seems you load the Cg plugin AFTER parsing resource scripts. I guess that means cg programs declared in scripts won't work (all of them). Somehow I expected ogre to complain loudly about something like that. Can you please try loading all plugins at the start?
@ahmedismaiel: There were some issues with a missing "Caelum" resource group. Hopefully those should be all fixed now.
@JeDi: There were some issues with the far clip distance. I hope I fixed them; can you please retry the latest version? Sorry for the (very) late response.
@corywinter: I looked at the "clouds disappearing when looking on -z" bug. It only happens in 0.3; trunk is not affected. As far as I can tell it's a bug in Ogre::MeshManager::createCurvedPlane which doesn't set the bounding box correctly. When looking on just the right direction the clouds fail camera clipping and are no longer drawn. A fix is available in branches/Caelum-0.3; it forces a larger bounding box.
@lilljohan: I took another look at your log and it seems you load the Cg plugin AFTER parsing resource scripts. I guess that means cg programs declared in scripts won't work (all of them). Somehow I expected ogre to complain loudly about something like that. Can you please try loading all plugins at the start?
@ahmedismaiel: There were some issues with a missing "Caelum" resource group. Hopefully those should be all fixed now.
@JeDi: There were some issues with the far clip distance. I hope I fixed them; can you please retry the latest version? Sorry for the (very) late response.
@corywinter: I looked at the "clouds disappearing when looking on -z" bug. It only happens in 0.3; trunk is not affected. As far as I can tell it's a bug in Ogre::MeshManager::createCurvedPlane which doesn't set the bounding box correctly. When looking on just the right direction the clouds fail camera clipping and are no longer drawn. A fix is available in branches/Caelum-0.3; it forces a larger bounding box.
-
- Halfling
- Posts: 82
- Joined: Tue Jan 03, 2006 4:05 pm
- Location: Växjö, Sweden
- Contact:
Haha that was stupid Gonna try it out later, will need to get all the addons first, they got deleted during my cleanup. But somehow i got the feeling that this is my problem =)cdleonard wrote: @lilljohan: I took another look at your log and it seems you load the Cg plugin AFTER parsing resource scripts. I guess that means cg programs declared in scripts won't work (all of them). Somehow I expected ogre to complain loudly about something like that. Can you please try loading all plugins at the start?
- KungFooMasta
- OGRE Contributor
- Posts: 2087
- Joined: Thu Mar 03, 2005 7:11 am
- Location: WA, USA
- x 16
- Contact:
SiENcE, nice screenshot! I like how the horse is not shadowed, it emphasizes who the player is.
Creator of QuickGUI!
- SiENcE
- Goblin
- Posts: 231
- Joined: Thu May 11, 2006 3:07 pm
- Location: Berlin
- Contact:
-
- Greenskin
- Posts: 116
- Joined: Tue Feb 06, 2007 8:54 pm
- Location: Berlin, Germany
- x 25
Hi, I use Ogre 1.6 RC1 and the latest Caelum from SVN. The Caelum Demo works fine, but I don't manage do integrate Caelum in my game properly.
I don't see a starfield or a moon, all in all in the night the Skydome ist just black (maybe an ambient light problem?). If I use the HDR compositor from the Ogre samples (which works fine with a static skybox), I get another error, but ironically I can "see" stars and moon here:
I use the same code to init Caelum like the demo, with infinite FarClipDistance and AmbientLight(1,1,1), I also tried without Ambient light....
EDIT: Ok I see stars now using Caelum's Ambient light system, but there's still the problem with HDR.
I don't see a starfield or a moon, all in all in the night the Skydome ist just black (maybe an ambient light problem?). If I use the HDR compositor from the Ogre samples (which works fine with a static skybox), I get another error, but ironically I can "see" stars and moon here:
I use the same code to init Caelum like the demo, with infinite FarClipDistance and AmbientLight(1,1,1), I also tried without Ambient light....
EDIT: Ok I see stars now using Caelum's Ambient light system, but there's still the problem with HDR.
- cdleonard
- Goblin
- Posts: 266
- Joined: Thu May 31, 2007 9:45 am
What do you mean by "Caelum's ambient light system"? You mean CaelumSystem::setManageAmbientLight? That's generally a good idea; ambient(1, 1, 1) at all times will probably look bad. Also; stars should not be affected by lighting in any way.Caphalor wrote:Hi, I use Ogre 1.6 RC1 and the latest Caelum from SVN. The Caelum Demo works fine, but I don't manage do integrate Caelum in my game properly.
I don't see a starfield or a moon, all in all in the night the Skydome ist just black (maybe an ambient light problem?). If I use the HDR compositor from the Ogre samples (which works fine with a static skybox), I get another error, but ironically I can "see" stars and moon here:
I use the same code to init Caelum like the demo, with infinite FarClipDistance and AmbientLight(1,1,1), I also tried without Ambient light....
EDIT: Ok I see stars now using Caelum's Ambient light system, but there's still the problem with HDR.
You're probably not updating CaelumSystem correctly; that is currently sort of messy. I'll try to document this properly.
Try to review CaelumDemo carefully (it's short) and make sure you do everything that demo does. You should also try to disable all your compositors because they don't mix well with RenderTargetListener.
-
- Kobold
- Posts: 34
- Joined: Fri Aug 22, 2008 7:58 am
-EDIT- Actually it seems that with the latest SVN checkout I have some problems.
The demo works fine, but when I try to start my application it gives me this two erros:
Other elements works fine and I just copied the resources folder into my project
Does anyone know why it says that it is unsupported but in the demo it's working?
The demo works fine, but when I try to start my application it gives me this two erros:
Code: Select all
10:23:28: OGRE EXCEPTION(-1:UnsupportedException): Can't load point starfield material: Pass 0: Vertex program Caelum/StarPointVP cannot be used - not supported.
in PointStarfield at .\src\PointStarfield.cpp (line 53)
10:23:28: Caelum: Failed to initialize starfield: OGRE EXCEPTION(-1:UnsupportedException): Can't load point starfield material: Pass 0: Vertex program Caelum/StarPointVP cannot be used - not supported.
in PointStarfield at .\src\PointStarfield.cpp (line 53)
10:23:28: WARNING: material Caelum/FlatCloudLayer/Material/149521984 has no supportable Techniques and will be blank. Explanation:
Pass 0: Vertex program CaelumLayeredCloudsVP cannot be used - not supported.
10:23:28: OGRE EXCEPTION(-1:UnsupportedException): Can't load flat cloud layer material: Pass 0: Vertex program CaelumLayeredCloudsVP cannot be used - not supported.
in FlatCloudLayer at .\src\FlatCloudLayer.cpp (line 44)
10:23:28: Caelum: Failed to initialize clouds: OGRE EXCEPTION(-1:UnsupportedException): Can't load flat cloud layer material: Pass 0: Vertex program CaelumLayeredCloudsVP cannot be used - not supported.
in FlatCloudLayer at .\src\FlatCloudLayer.cpp (line 44)
Does anyone know why it says that it is unsupported but in the demo it's working?
- cdleonard
- Goblin
- Posts: 266
- Joined: Thu May 31, 2007 9:45 am
@Illidanz: I'm not sure why some components work but others don't. Maybe you could post the full log somewhere?
Maybe you have some stale resources somewhere? Resources get renamed sometimes; having stale resources in your paths can cause interesting things to happen.
Do both CaelumLab and CaelumDemo work without errors? CaelumDemo will automatically disable unsupported components and carry on; CaelumLab will complain.
@Caphalor: Did you make any progress? There are some nasty issues using Caelum with compositors and I should explain them. The problem is that both CaelumSystem and compositors registers as RenderTargetListeners.
When you attach a compositor to a viewport a render texture is created and updated before the main viewport is updated. Caelum also wants to do some things before every viewport update (it moves domes with the camera). Caelum's update will generally get called AFTER the compositor has updated the scene render-to-texture target but before the actual screen viewport is updated. This is too late to move the domes and dumb things happen (usually while moving the camera).
In trunk CaelumSystem::notifyCameraChanged is public. You can skip the whole RenderTargetListener mess and just call this function directly after you move your camera. CaelumLab does just that. This is similar to how CaelumSystem::updateSubcomponents is public and also works without frame listeners. This way you get full control and avoid listener chaos.
There are also other possible solutions. You could probably attach CaelumSystem to the compositor's inner rtt somehow; but that means walking the compositor chain somehow. SceneManager::Listener from 1.6 could be more useful here. Also; Caelum's domes could derive from Ogre::Renderable and avoid the need for explicit viewport/camera notifications.
Maybe you have some stale resources somewhere? Resources get renamed sometimes; having stale resources in your paths can cause interesting things to happen.
Do both CaelumLab and CaelumDemo work without errors? CaelumDemo will automatically disable unsupported components and carry on; CaelumLab will complain.
@Caphalor: Did you make any progress? There are some nasty issues using Caelum with compositors and I should explain them. The problem is that both CaelumSystem and compositors registers as RenderTargetListeners.
When you attach a compositor to a viewport a render texture is created and updated before the main viewport is updated. Caelum also wants to do some things before every viewport update (it moves domes with the camera). Caelum's update will generally get called AFTER the compositor has updated the scene render-to-texture target but before the actual screen viewport is updated. This is too late to move the domes and dumb things happen (usually while moving the camera).
In trunk CaelumSystem::notifyCameraChanged is public. You can skip the whole RenderTargetListener mess and just call this function directly after you move your camera. CaelumLab does just that. This is similar to how CaelumSystem::updateSubcomponents is public and also works without frame listeners. This way you get full control and avoid listener chaos.
There are also other possible solutions. You could probably attach CaelumSystem to the compositor's inner rtt somehow; but that means walking the compositor chain somehow. SceneManager::Listener from 1.6 could be more useful here. Also; Caelum's domes could derive from Ogre::Renderable and avoid the need for explicit viewport/camera notifications.
-
- Greenskin
- Posts: 116
- Joined: Tue Feb 06, 2007 8:54 pm
- Location: Berlin, Germany
- x 25
Thank you for the detailed response!
What exactly is the right time to call notifyCameraChanged and updateSubcomponents? At the moment, I call it before RenderOneFrame, but it still doesn't work (same error). :/
If possible, I would like to avoid attaching Caelum to the compositor's rendertarget because it seems to be complicated.
What exactly is the right time to call notifyCameraChanged and updateSubcomponents? At the moment, I call it before RenderOneFrame, but it still doesn't work (same error). :/
If possible, I would like to avoid attaching Caelum to the compositor's rendertarget because it seems to be complicated.
-
- Gnoblar
- Posts: 14
- Joined: Fri Jul 11, 2008 3:09 am
I am using Ogre with QT and here are the errors I am getting
anybody has any idea why they are occuring? The problem can't be just qtmaind.lib...I've been able to run the program up until I tried adding Caelum to it
Code: Select all
Error 8 fatal error LNK1169: one or more multiply defined symbols found d:\My Documents\Projects\Ogre3D\WorldEditor\WorldEditor\Bin\Debug\WorldEditor.exe 1
Error 5 error LNK2005: "class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __cdecl std::operator+<char,struct std::char_traits<char>,class std::allocator<char> >(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@ABV10@0@Z) already defined in msvcprtd.lib(MSVCP80D.dll) qtmaind.lib
Error 7 error LNK2005: "class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __cdecl std::operator+<char,struct std::char_traits<char>,class std::allocator<char> >(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,char const *)" (??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@ABV10@PBD@Z) already defined in msvcprtd.lib(MSVCP80D.dll) qtmaind.lib
Error 6 error LNK2005: "class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __cdecl std::operator+<char,struct std::char_traits<char>,class std::allocator<char> >(char const *,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@PBDABV10@@Z) already defined in msvcprtd.lib(MSVCP80D.dll) qtmaind.lib
- xadhoom
- Minaton
- Posts: 973
- Joined: Fri Dec 28, 2007 4:35 pm
- Location: Germany
- x 1
The compiler says that there are two locations where std::string is defined. "... already defined in msvcprtd.lib(MSVCP80D.dll)". This problem shouldn´t be Caelum related.Penut wrote:anybody has any idea why they are occuring? The problem can't be just qtmaind.lib...I've been able to run the program up until I tried adding Caelum to it
It means that the compiler does not know which of the both string implementation should be used. Maybe he complains because Ogre includes strings, too.
Normally this is solved with "#ifdefs" in the header files and right ordered "#include"´s in your project.
-
- Gnoblar
- Posts: 14
- Joined: Fri Jul 11, 2008 3:09 am
Well all the files that I am using have #ifdefs check and I have tried including Ogre, QT and Caelum in all the possible orders and the error is still there. Any suggestions as to in what order I should include them?xadhoom wrote:The compiler says that there are two locations where std::string is defined. "... already defined in msvcprtd.lib(MSVCP80D.dll)". This problem shouldn´t be Caelum related.Penut wrote:anybody has any idea why they are occuring? The problem can't be just qtmaind.lib...I've been able to run the program up until I tried adding Caelum to it
It means that the compiler does not know which of the both string implementation should be used. Maybe he complains because Ogre includes strings, too.
Normally this is solved with "#ifdefs" in the header files and right ordered "#include"´s in your project.
I did not get this error before when I had just Qt and Ogre. So any idea why this error pops in all of a sudden without mentioning anything caelum related in the error code?
Thanks for your reply
- xadhoom
- Minaton
- Posts: 973
- Joined: Fri Dec 28, 2007 4:35 pm
- Location: Germany
- x 1
-
- Kobold
- Posts: 25
- Joined: Sun Jul 27, 2008 2:42 am
- Location: Canada
this might sound a little noob but to get caelum in my projet i build the caelum and took caelum.dll and caelum.lib in my projet release folder, and added plugin=caelum to plugin.cfg added the include caelum.h to my class
what else do i do or what wrong have i done to get
Cannot open include file: 'Caelum.h': No such file or directory
what else do i do or what wrong have i done to get
Cannot open include file: 'Caelum.h': No such file or directory
-
- Gremlin
- Posts: 193
- Joined: Fri Jan 25, 2008 6:55 pm
- Location: Nantes / France
- x 17
Hum, caelum do not use Ogre's plugin system.
check the wiki to integrate this lib in your project
check the wiki to integrate this lib in your project
-
- Kobold
- Posts: 25
- Joined: Sun Jul 27, 2008 2:42 am
- Location: Canada
-
- Gremlin
- Posts: 193
- Joined: Fri Jan 25, 2008 6:55 pm
- Location: Nantes / France
- x 17
- cdleonard
- Goblin
- Posts: 266
- Joined: Thu May 31, 2007 9:45 am
nath31337: Caelum is not a plugin in the same way as rendersystem_direct3d9. It does not use the ogre plugin mechanism in any way. Instead it's "just a C++ library" like OIS or CEGUI etc. If you want to use it you have to do all the standard magic required to link to a C++ dll; look at the msvc settings for CaelumDemo.
Somebody should write a good tutorial for compiling and linking C++ dlls. It is not really trivial and newbies frequently get stuck on this.
Somebody should write a good tutorial for compiling and linking C++ dlls. It is not really trivial and newbies frequently get stuck on this.
-
- Kobold
- Posts: 25
- Joined: Sun Jul 27, 2008 2:42 am
- Location: Canada
yes thanks i did that and i no longer get the error but i get one sayingNodrev wrote: Just add caelum's include directory to your include path. I assume you are using msvs, so tools/options/Project and solution/vc++ directories and add the path there.
Could not load dynamic library .\Plugin_PCZSceneManager.dll. In DynLib::load at ..\src\OgreDynLib.cpp
well go ahead and make it im sure you can do it!cdleonard wrote:Somebody should write a good tutorial for compiling and linking C++ dlls.
- Rusty6800
- Gnoblar
- Posts: 17
- Joined: Tue Jun 12, 2007 10:01 pm
Bit of a problem, dunno if this has already been posted.
Trying to set up shadows. But, caelum's sky seems to be casting a shadow over everything. Regardless if it's Texture (cast from backfaces OFF) or Stencil shadow, it still produces the same affect; the entire map is cast in a shadow.
I quickly read through earlier in this thread about some shadow problems but nothing i tryed worked. Using latest caeulm and ogre 1.6
Thanks in advance.
Trying to set up shadows. But, caelum's sky seems to be casting a shadow over everything. Regardless if it's Texture (cast from backfaces OFF) or Stencil shadow, it still produces the same affect; the entire map is cast in a shadow.
I quickly read through earlier in this thread about some shadow problems but nothing i tryed worked. Using latest caeulm and ogre 1.6
Thanks in advance.
Developer of Simufarm, proudly powered by Ogre3d!
- Rusty6800
- Gnoblar
- Posts: 17
- Joined: Tue Jun 12, 2007 10:01 pm
Any way of doing this without PSSM? (i have my reasons..)Caphalor wrote:The new PSSM camera setup supported by Ogre 1.6 works fine with Caelum (which uses a directional light). Have a look at PlayPen, it's implemented there.
Developer of Simufarm, proudly powered by Ogre3d!
- cdleonard
- Goblin
- Posts: 266
- Joined: Thu May 31, 2007 9:45 am
Caelum uses directional lights and those are tough for texture-based shadows. PSSM is claimed to work well; but other techniques should also work.
Caelum's components should not cast shadows. Try cutting out components one by one; maybe you can then isolate the problem?
I've been meaning to add shadows to Caelum's demos for a long time but never got around to doing it.
Caelum's components should not cast shadows. Try cutting out components one by one; maybe you can then isolate the problem?
I've been meaning to add shadows to Caelum's demos for a long time but never got around to doing it.