[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
Re: CrystalSpace vs Ogre3d
On Sunday 10 July 2005 22:56, Frédéric Lopez wrote:
> Francesco Orsenigo a écrit :
> > moreover, the only way to create a terrain is loading it from
> > a .cfg file, while i would to generate it and maybe morph during
> > gametime.
>
> Same thing, see :
> http://www.ogre3d.org/phpBB2/viewtopic.php?t=6630&highlight=realtime+genera
>tion
>
I don't think that this is what Francesco meant. Some terrain plugins
(paginglandscape, for example) do indeed require a config file as input and
that can't easily be fixed. But as far as I can remember, the paginglandscape
plugin allows morphing the terrain in the demo. I never really tested it,
though.
If you want to generate terrain dynamically you might have a look at the
nature and terrain scene managers. Maybe you can start out with one them as a
base for an own scene manager which runs on dynamically generated data.
> > most of the programming is made inside headers so that it takes biblic
> > times to compile,
>
> Compiling is not particulary slow on my machine. I don't understand what
> you mean by "most of the programming is made inside headers".
>
The Ogre example applications are indeed written in a fashion that - quite
stupidly - puts all of the interesting code into a single header file. But
this coding style is in no way binding or even recommendable for bigger
projects. I never tried anything close to that, but put initialisation code
in a simple, straight-forward init() function. The ExampleApplication class
may be correct from an OO design point of view, but it's suggesting a coding
style which is unusable for anything bigger than those simple examples
shipped with the engine.
> > and it is almost impossible search methods to see how they
> > work...
>
> You've got the manual and the API reference for that.
>
The API reference is really quite good. And if you really have to look at the
implementation, you usually have only to look into the right source file. The
sources all follow a convenient naming scheme. For the main Ogre classes it's
Ogre[classname].cpp, for plugins and platform managers the prefix may be
different, but the basic scheme is identical. Header files are named
accordingly. I find it really simple to locate a function on Ogre.
If you're still not satisfied you can regenerate the Doxygen API reference
with source code included. This simplifies browsing the Ogre source code
quite a bit. Just modify Docs/src/html.cfg accordingly and run makedocs.sh. I
found this to be really useful in the past.
> > And it seems a bit too windows-oriented...
>
> How so ? I use it on my machine with the official Debian/unstable
> packages without any problem.
>
Ogre itself runs perfectly on Linux. It's practically guaranteed to do that.
However, quite a number of addons in the ogreaddons collection does not ship
with proper build systems for Linux and some won't even compile if you're
going for the naive approach. Most of the Ogre users are windows-centric,
although the core team isn't. And that shows, unfortunately.
Regards,
Gregor