Re: Shapes and geometry

Brent Gulanowski <[email protected]> Mon, 8 Jul 2002 23:27:02 -0400
Newsgroups gmane.comp.gnu.3dkit.general
Message-ID <[email protected]>
On Sunday, July 7, 2002, at 06:58  AM, Philippe C.D. Robert wrote:

> Hi,
>
> working on the new shape/geometry code I wonder how important it is to 
> have shapes which manage multiple geometry objects, what do you think?
>
> FYI I turned G3DGeometry into a class from which all other geometries 
> inherit. This will make it much easier to have different kinds of 
> geometries, such as tri strips, vertex arrays or whatever...

Well, that is where I would have first thought to handle LOD and animation 
geometries, but you've already covered that with the related groups. Since 
the texture is part of the shape, you'd need the texture to be multiple 
too, no? Assuming the geometries where different-looking objects as 
opposed to just differently ordered vertices.

What is the mapping of the scene graph classes to the things that a 
user/player would see in a world made with 3DKit? If there's a stegosaurus 
wandering around eating plants, does that correspond to a group object 
with a bunch of shapes, each of which is a frame of animation? And if one 
object has LOD *and* animation shape sets, which one would be the child of 
the other? I'm thinking animation would be the parent, giving a 
timedSwitch group having children which are LODSwitch groups full of 
shapes representing the same frame of the animation.

But that points out an inefficiency which your idea would remove: if there 
is a different shape attached to every LOD version of a shape, they 
probably all use the same transforms and everything, meaning wasted space 
and the need to synchronize the static arrays. I would see groups as being 
most useful for dynamic groupings of objects, based on spatial proximity 
or temporary life spans, or for complex objects whose components animated 
independently of each other.

Brent
--
Inkubator: creating free, open source Mac games.
http://inkubator.idevgames.com - homepage
http://www.sourceforge.net/project/inkubator - project page
http://64.246.17.165/forum/forumdisplay.php?s=&forumid=17 - discussion 
forums