[prog] General purpose 3d graphics engine

Miriam English mim at miriam-english.org
Tue Feb 10 02:17:27 UTC 2009


Hi Helga,

I should have mentioned a couple of things. X3D now has the Xj3D project 
which is a Java implementation of the X3D language. This makes it much 
more cross-platforms than previous implementations of VRML/X3D. However 
VRML/X3d has a major problem with animation: it is absurdly difficult, 
and modifying and adapting complex animations is almost out of the 
question. Simple animations are relatively easy in VRML/X3D though 
(opening a door, changing a light, making a camera fly-thru, etc.). I 
have to admit one of the best aspects of VRML/X3D is that it is built 
around interactivity.

I've programmed a lot of interactive realtime 3D worlds in VRML, but 
never moved on to X3D. X3D and VRML are largely compatible, though there 
are differences.

When I first looked at Blender I thought it was simply a 3D modeler and 
offline renderer, but it is actually a very good real-time renderer too. 
Some folks have even used it with python (twisted communications libs?) 
for running shared, interactive virtual worlds in the same vein as 
SecondLife.

Blender uses the Bullet physics library I believe.

There is an enormous list of 3d engines at:
http://www.3dengines.de/
It is a few years old, but can nevertheless be a good starting point 
when looking for engines.

Sorry I haven't any info on the libraries you mentioned. I looked into 
most of them a while back, but can't find my notes on my reasons for 
dismissing them. My reasons might not fit yours though.

My interest in 3D is mainly to create stories that play out inside 
interactive virtual worlds (like being able to walk around inside a 
movie). Lately a lot of the 3D field has either died off or is withering 
under commercial secrecy. I spent quite a while recently looking at my 
options for continuing my interest in 3D. For many years VRML seemd like 
it would be the solution, but its unbelievably clumsy animation 
gradually convinced me I needed to find something with a better future.

The only thing I've been able to come up with is Blender. The support is 
enthusiastic; there are wonderful, free tutorials on Wikibooks that help 
you come up to speed quite painlessly; the program keeps up with technology.

If you find something else that is free and open, has scripting of some 
sort, and realtime animation, please do let me know. I'd love to hear of 
it. In the meantime I'll keep looking for my notes on the libraries and 
engines I researched.

Best wishes,

	- Miriam


Tauscher wrote:
> Hi Miriam,
> 
>> VRML/X3D http://www.web3d.org/
>> Blender http://www.blender.org/
>> POV-Ray http://www.povray.org/
> 
> thank you very much for the comprehensive overview of these three - a 
> file format, a modelling application and a renderer (a little bit 
> simplified classification, but I think it meets their core). I stumbled 
> upon those in the past, but for some reasons decided to use other tools, 
> see later on. Did you also program interactive apps with realtime 
> rendering? This is more, what I am looking for. I wonder if there are 
> other people on this list 3d interactive applications, scientific 
> visualisations in 3 dimensions or 3d games? I would be very interested 
> in an exchange about the libraries you use. Has anybody used e.g. 
> Soya3D, Panda3D, Coin, OSG ...? Here's my experiences so far:
> 
> _modeling application_
> During my architectural education I was tought to use the commercial 
> Audodesk and former discreet applications. I always wanted to learn 
> blender, since I knew about it, but there was no opportunity, because I 
> realised, that using a full featured modeling application for my purpose 
> was to bloated. If you try to simulate an only small cellular automaton 
> with a scripting language from inside such an application, it will eat 
> your memory und let you sit there waiting for eternity or the crash of 
> your system.
> 
> So I used the computer graphics kit (http://cgkit.sourceforge.net) 
> instead. It is a python library that allows you to build the scene graph 
> model in memory and to output it to a renderer or interactive viewer 
> (based on pygame).
> 
> _renderer_
> As cgkit supports the renderman specification for rendering I tried 
> Aqsis (http://www.aqsis.org/) and Pixie (http://www.renderpixie.com/). I 
> wrote shaders for non photo-realistic (NPR) comic style rendering, 
> created some animations and video sequences, rendered them frame by 
> frame and arranged them as a video with further tools, but these are 
> beyound the scope of the topic. I had also a look at Povray but as it 
> neither supports realtime-rendering for interactivity nor scripting, I 
> didn't explore it very deeply.
> 
> _file formats_
> A human readable file format has a lot of advantages, and so have 
> standards, which are supported by different viewers and libraries. But 
> you reach the limitation of 3D ore 4D file formats if you come to 
> domainspecific information needed on top of the scene description. If 
> you just want to provide a description of a virtual world scene for the 
> user to explore, X3D may still be the preferred choice over any 
> proprietary crap like 3d-pdf. But this is case is very rare, isn't it?
> 
> What I am interested in is a 3d graphics engine which can be used to 
> create interactive applications without diving down to OpenGL.
> 
> Helga
> 
> 
> 
> 
> 

-- 
My time wasn't completely wasted last year.
I went on a 940 million kilometer journey.
-----
Website: http://miriam-english.org
Blog: http://miriam_e.livejournal.com


More information about the Programming mailing list