Demo Engine Based on the Ogre 3D Engine
category: general [glöplog]
I've made some serious effort with not too much success to find proper C++ libraries that I could use for my demo prods. Hopefully I am not the only one with this problem? Luckily, I found the general-purpose graphics library Ogre. And what a diamond it is! Here's some advertising:
First of all, Ogre is free, open source, available for various operating systems and actively developed by a growing community. It offers a level of abstraction above the graphics interfaces like Direct3D and OpenGL providing an array of classes to ease and speed up the development work. In my opinion, it is a fantastic piece of software offering a careful design, documentation, tutorials and lots of good work done for free.
Here’s link to Ogre Home
http://www.ogre3d.org/
and a more detailed feature list can be found here:
http://www.ogre3d.org/index.php?option=com_content&task=view&id=13&Itemid=62
So that's what Ogre offers (and much more!). However, it is a general-purpose graphics engine, mostly used for games I presume, and thus does not contain some of the necessary features for a demo engine.
It remains to combine Ogre with proper program modules or libraries to create a framework for demo prods. As I have no previous experience on building a demo engine, I would be more than happy to team up with other hopefully more experienced programmers to share the effort. At least a system for playing music (using bass, for example), synchronizing graphics with music and mixing scenes are needed. I would be grateful if someone could share some code to be reused or used as a source of inspiration, especially for the synchronization part.
I believe Ogre can both save me (and you!) from lots of programming and offer a better graphics library than anyone could possibly code only for a demo engine. I am hopefully not the only one in need of a good C++ demo engine to build my own algorithms on. All help, comments and ideas are appreciated. Please feel free to post a reply or email me at napataatta@yahoo.com.
P.S. I must admit that I'm not familiar with other free 3D engines. Ogre, however, seems to be the most popular. Also, it is almost too good to be true. If you find something better, it must be too good to be true and then it probably isn’t.
(This is a slightly modified version of my post to scene.org forums.)
if you don't want to code, then use a demomaker.
looks like publicity. we all know Ogre is crappy.
usually democoders want to use their own engine - even if there are a few avaiable for free that are better. and all I still say is: writing your own stuff does take not that much longer than completely understanding stuff other people developed.
1. Release any modifications to the OGRE source back to the community
2. Pass on the source to Ogre with all the copyrights intact
3. Make it clear where you have customised it.
In addition, if you use Ogre it would be nice if you would display the Ogre logo somewhere in your application (start up or shutdown) for a minimum of 2 seconds. This splash-screen is displayed on the standard Ogre configuration dialog anyway, so if you use that you don't need to do anything extra.
2. Pass on the source to Ogre with all the copyrights intact
3. Make it clear where you have customised it.
In addition, if you use Ogre it would be nice if you would display the Ogre logo somewhere in your application (start up or shutdown) for a minimum of 2 seconds. This splash-screen is displayed on the standard Ogre configuration dialog anyway, so if you use that you don't need to do anything extra.
Should I also put a copy here of my scene.org forum answer to this post?
I've actually used the Ogre engine a couple of years ago. Back then it wasn't really usable for demos and the model exporters available were not as good as I hoped. I had problems with the whole system being scene graph based, back then only one graph could be active at the time and incorporating post processing wasn't that trivial.
Nowadays Ogre seems to be quite feature rich but I'm not sure if it is usable.
It's not a bad idea to use an open source renderer and build a demo system on top of that, especially if the used renderer is quite mature and available for a number of platforms. Most demo coders (including me) prefer to do it the hard way and write their own toy render engines, simply because it is fun.
Conclusion: don't expect anyone here to use Ogre for demos :)
Nowadays Ogre seems to be quite feature rich but I'm not sure if it is usable.
It's not a bad idea to use an open source renderer and build a demo system on top of that, especially if the used renderer is quite mature and available for a number of platforms. Most demo coders (including me) prefer to do it the hard way and write their own toy render engines, simply because it is fun.
Conclusion: don't expect anyone here to use Ogre for demos :)
Ogre is a general purpose rendering engine. To do demos, you need a lot more than that and a lot less than that at the same time (cool, ain't it?).
Why a lot more: you need some tools (or at least workflow) to edit/preview/timeline/synch your demo.
Why a lot less: in most demos you can easily ditch the whole scenegraph concept (well, you can ditch it with no big pain everywhere, but that's not the point) as it more often gets into your way than is actually useable. Most demos are about drawing "stuff" on the screen, with no clear/predefined structure (ala scenegraph).
I haven't used Ogre, of course (but I looked at it closely at some point). Some *cough* demo engines (i.e. bunch of code that was used in some demos) are free and with source as well, you know...
Why a lot more: you need some tools (or at least workflow) to edit/preview/timeline/synch your demo.
Why a lot less: in most demos you can easily ditch the whole scenegraph concept (well, you can ditch it with no big pain everywhere, but that's not the point) as it more often gets into your way than is actually useable. Most demos are about drawing "stuff" on the screen, with no clear/predefined structure (ala scenegraph).
I haven't used Ogre, of course (but I looked at it closely at some point). Some *cough* demo engines (i.e. bunch of code that was used in some demos) are free and with source as well, you know...
I'll happily reinvent the wheel every time I do something, thank you. In my opinion, It's more fun and educational that way. I don't even have synch tools, editors or any sort of advanced timeline thingies... that's what's CODING is all about, after all ;)
That said, the thing looks pretty cool if you're into that sort of things.
That said, the thing looks pretty cool if you're into that sort of things.
preacher: hehe, yeah :)
having to work with several scenegraph packages (like e.g openscenegraph) at university right now I'm currently a bit fed up of this kind of concept. it's far too general purpose and bloated for my taste. didn't have a glance at ogre yet though.
having to work with several scenegraph packages (like e.g openscenegraph) at university right now I'm currently a bit fed up of this kind of concept. it's far too general purpose and bloated for my taste. didn't have a glance at ogre yet though.
Thanks for comments. I realize I'm on my own.
Methinks the issue with using/notusing Ogre (or any other engine/framework for that matter) is that a lot depends on how do you make demos. E.g. I think there's huge difference in how mfx and plastic demos are made (prove me wrong :)).
Sure, Ogre has lots of things already done for you. Also any framework also imposes certain limitations; Ogre is no exception. In the end, if it's great for you - then just go and use it :)
Sure, Ogre has lots of things already done for you. Also any framework also imposes certain limitations; Ogre is no exception. In the end, if it's great for you - then just go and use it :)
Violet, it is not so much that you are on your own on this, but that you should be asking the ogre developers for the features you would like to see to make demomaking practical with their api. Not democoders that likely never have touched or used ogre, and that are more motivated by actually doing demos than doing frameworks. This is my point at least.
hitchhikr t'es un gros connard!
Go hand in hand with your friend Dipswitch and Unlock: you've the same level (LOW).
I repeat
hitchhikr t'es un gros connard!
Go hand in hand with your friend Dipswitch and Unlock: you've the same level (LOW).
*bump*
DEMO CODERS WANT FAST PHYSICS (1000FPS!!!!!) NOT JUS T ENV MAPP ED SPIKE BALL S!