Re: [OT] Best 3D format for Cocoa apps
Re: [OT] Best 3D format for Cocoa apps
- Subject: Re: [OT] Best 3D format for Cocoa apps
- From: Gregory Block <email@hidden>
- Date: Tue, 3 Jul 2001 13:26:10 +0100
On Monday, July 2, 2001, at 07:49 , Ken Tabb wrote:
Hi,
I'm developing a Cocoa app for viewing 3D (computer generated) models of
anatomical bits and pieces, some of which are animated (eg. beating
hearts). I was previously intending to use QuickTimeVR Objects as a
means
of displaying the objects (i.e. outputting the object as a QTVR Object
movie from Cinema 4D), but it's looking like the sheer file sizes
generated (even tinkering with the various QuickTime codecs) may make
this an impractical solution. It will run over a switched 100BaseT
network, but even so, 30 people all downloading a 30Mb QTVR Object
movie = 900Mb, and that's just for a static spinnable eyeball!
30M sounds a bit large; you might check to see if the problem is with
your export operation. Then again, perhaps it's accurate.
So I'm looking at, rather than the pre-rendered QTVR format, some form
of
3D file format, with rendering on the fly (all the clients are Summer
2000 450MHz iMacs w/192Mb RAM). However I have next to no experience of
3D rendering programming (with a slight exception of brief OpenGL
programming on Solaris (under X Windows)).
What would be the preferred 3D method for Cocoa developers? I'm guessing
OpenGL (not that that's a file format), or possibly VRML?
You *COULD* do something with VRML; that would have the benefit of
sitting in end-user proxy servers, as well, and VRML does in theory have
the ability to stream the 3D animation information and world data.
VRML can be a wee bit fiddly, though. And you might have a good time
trying to get VRML rendering in a browser on OSX without dropping
through to classic apps.
You could also just cheat and generate movies from different angles;
generate say 8x8x8 different views and create ordinary QT streams, and
use a web app to allow view selection. That's not true 3D, but it does
guarantee quality while keeping actual streams low. Not as trippy as
real 3D either, but it may serve your purposes, depending on what you
actually want to do with this.
If you want to build an APPLICATION to do it, though, it's probably not
too difficult, if...
The criteria are:
[1] Image quality (in terms of colours / resolution)
[2] File sizes
[3] Needs to support animation (eg. the heart beating)
[4] Technology directly supported by both Cinema4D and Cocoa APIs gets
double points!
You're talking about exporting a scene from Cinema4D and playing it back
with a custom animation. For this kind of thing, you can try...
1) Writing your own GL (or for that matter, any other API) rendering
engine. Which I just can't honestly suggest.
2) Use an existing engine to do this. You could look into building a
simple application out of, say, the CrystalSpace engine, and using the
export/import facilities of Cinema4D/CrystalSpace to get your animation
and world into the system. This probably isn't terribly difficult.
3) Using VRML, but this requires a good client - and I don't know of a
good one offhand.
I'd say something along the lines of CrystalSpace or one of the other 3D
engines will be the easiest way forward for you; it avoids you having to
learn low-level 3D rendering.
--
http://www.livejournal.com/users/lightyear/