[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Gnu3dkit-discuss] Shapes and geometry
From: |
Philippe C.D. Robert |
Subject: |
Re: [Gnu3dkit-discuss] Shapes and geometry |
Date: |
Tue, 9 Jul 2002 09:02:39 +0200 |
Hi,
On Tuesday, July 9, 2002, at 05:27 AM, Brent Gulanowski wrote:
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.
Well, this I have to figure out yet...:-) I don't want the shape to
become a group like node. Unfortunately this leads to the problem that I
don't know exactly anymore how to handle textures... If I have multiple
textures I will need multiple state objects which I definitly don't want
to have... I need some more brain cycles spent on that!
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.
Well, I guess the mapping is app specific, no?
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.
I am not sure what you mean exactly. But don't bother some space wasting
due to duplicated transformations, this is a minor issue in that
context. Since the 3DKit is a true scene graph I try to keep the
different entities separated ( hence I do not put everything into the
shape class ). But you still can/will be able to compile specific part
of the graph into optimised G3DDisplayLists ( now called node list ) to
gain rendering performance.
-Phil
--
Philippe C.D. Robert
http://www.nice.ch/~phip