Higher-Level Graphics Libraries?

Hi all,

I am pretty comfortable with Java’s Swing and AWT libraries but have never done any 3D.
After taking a quick look at Java 3D and Open GL, it appears to me that all I can do is create geometrical figures, which means that I’d have to draw a lot of polygons to create, say, a dinosaur.

Is this (drawing many geometrical figures) the only way to create 3D graphics or is there some better way?

This field is completely new to me, so any help would be greatly appreciated.

Thanks.

You might want to have a look around for the term “loaders”. Normally, people model particular objects (say your dinosaur) in a modelling tool and import them into their program.

Kev

Is this (drawing many geometrical figures) the only way to
create 3D graphics or is there some better way?

You don’t draw sprites with tons of little drawing instructions, do you? :wink:

Usually you just load an image and draw that whole thing on the screen. In 3D it’s (as Kevin already pointed out) similar: you load your model(s) and/or map [together with their assoziated images] and just draw 'em on the screen.

Of corse you need to use a different api this time. The easier route would be Xith3D together with one of the loaders.

If you want to try creating models by yourself you can try some of the various (free) modeling packages:
www.anim8or.com
www.wings3d.com
www.openfx.org

IMO anim8or is the easiest at the beginning.

For UV-Mapping you can use the build-in uvmapping capabilities of those packages (wings recommended) or you can use an external uvmapping programm:
www.uvmapper.com (classic version free - pro ~50$)

And phew for texturing you’ll need a paint programm. If you don’t already have something like photoshop try that one (free):

For specific modelling/uvmapping/texturing(skinning) quesions:

Se the "create dinosaur " call?
Its rigth next to the “win academy award” call in th docs.

Sorry, its an old joke among frustrated instructors.

Doing 3D is work. There is no such thing as a “dinosaur primitive.” You are either going to have to buy a dinosaur model (try Viewpoint labs) or build one out of polygons in a good modeling package. Omnce you ahve the model, you can use a loader to laod it into a scene graph API like Java3D. (Mke sure you have a loader that will handle the format and detaisl of your model BEFORE you buy one.)

Really good modeling packages, the type professionals use to build these mdoels have all kinds of modeling tools to help you but you still need to have the 3D art skilsl to use them ADN they are vrey expensive. There are some free or cheap modelers (eg Milkshape), IMO you get what you pay for. Theya ren’t bad programs but the toosl are much more limited then the 'real" modeling programs like Maya and 3DMax.

Hang on a sec guys - perhaps the poster just meant as in “different ways to build up complex models”?

e.g. bezier-patch modelling is a MUCH better way to build a dinosaur than using individual triangles, or geometric primitives (remembers the jack-in-the-box povray scene which built a detailed face alkmost entirely out of spheres and ellipsoids etc. Yuck!)

Nowadays you should be able to do complex spline and patch-based modelling in any good modelling app, and not need to worry about it - the app will just export the triangles in a custom format which you then load (as described above).

Yep BBB. This was implcit in my point about advanced tools.

Originbal Poster: If you are lookinf for bezier render, noone does that at run-time because the hardware does not yet support it.

[quote][…]There are some free or cheap modelers (eg Milkshape), IMO you get what you pay for. Theya ren’t bad programs but the toosl are much more limited then the 'real" modeling programs like Maya and 3DMax.
[/quote]
I’m rather new to modelling, but… it depends :slight_smile:

For games the poly count is rather low and you need fine control over the mesh in order to get as much quads as possible. Sounds odd, since they become all tris at the end (when spit onto the screen), but if they are animated the deformations look much better if it’s done with quads (strange but it’s true).

Alot of the pros agree, that (sub-d) modelling itself is done fastest with wings (if you are used to it and know all the shortcuts).

Take a look at those tutorials to get an idea:
http://www.geocities.com/paulthepuzzles/aardvarks.html
(Yes it’s really that weird and complicated. With the big fat tools it’s about as weird but usually more complicated.)

I shoudl add that description of 3D forms with vertexes lines and polys (or spline meshes0 is called Boundary Repesentation or BREP.

In theory, there is another entirely different way to build models. Its called Constructive SOlid Geometry or CSG.

Thia starts from 3D geometric primitives like cubes and spheres and set oprations (and, or, etc). Unfortunately all the hardware today are designed for BREPs. CSGs are generally rendered directly by ray-tracers which is somethign no hardware today does.

While there are ways to translate CSG to BREP its the long-way around and for these reasons these days everyone just modees in BREP to begin with as that way you have precise control over the results.

Thanks a lot to everyone who contributed/is contributing to this topic - I have a much better understanding of 3D in general now.
I’ve browsed through some of the links, and the sites, IMHO, are great!
I never knew people could be so supportive of newbies… ;D