On Wed, Jan 31, 2007 at 11:29:37AM +0100, Karsten Otto wrote:
> The problem here is the clash of two different mindsets, computer  
> graphics people versus knowledge engineering people. The first prefer  
> scene graphs, which are well understood as Braden pointed out, and  
> are good for rendering. The second prefer semantic descriptions of  
> objects and their relationships, which is slightly less well  
> understood. Striving for a mix of both bears the potential for  
> disaster, or at least to bad compromises as you pointed out.

And just to make things more complicated, there's the networking aspect 
of all of this, which is if you're not very careful with the structure 
of your data model, latency is going to eat you alive ;-)

> That said, I'm actually quite happy with the current VOS model. The  
> flexible typing allows a vobject to be both a semantic and geometric  
> entity. It can be a misc:Avatar with descriptive properties, and a  
> a3dl:Cone heading a scene graph structure. There are even child  
> vobjects which are useful to both aspects, e.g. a3dl:position &  
> friends. So far, this approach has worked out nicely, right?

It has!  Although as you pointed out in a previous email, a better 
design still may be to try and separate dynamic data (position, 
orientation, etc) and semi-static (appearance) a bit more, to facilitate 
sharing and caching.  This is going to require quite a bit more design.

> What I'd like to do is improve this model in a few places, from a  
> semantics point of view. For example, an a3dl:bounds child specifying  
> the rough size and shape of a 3D entity would be helpful. It could  
> give non-visual clients a better understanding of a scene, without  
> requiring them to understand the actual scene graph data in order to  
> compute this information.

I agree.  This would be useful for rendering as well -- one way of 
prioritizing downloads would be to get a list of bounding boxes and 
start with the ones that are closest to the camera and also work 
largest->smallest.  You could also render transparent boxes as 
placeholders.
 
> Another point is the relation between the sector and its contents. So  
> far, the relations only specify generic membership, as a set of  
> conceptually unsorted and arbitrarily chosen contextual names. This  
> does not mean anything to anybody, neither from a semantic nor scene  
> graph view. I'd like to see a more structured approach here, using  
> proper "role" names instead. For example, "m:avatar" for user  
> avatars, "m:scenery" for (static) background entities, and so on.  
> This makes it much easier for a client to select child vobjects of  
> interest for inspection and caching.

Did I mention this in a previous email?  I must have.  Yes, I was 
thinking of just such a top-level organization, splitting mostly-static 
and mostly-dynamic entities into separate subgroups to facilitate 
caching (among other things).  Also, our experience is that best 
practice VOS design is that mixing static (schema-defined) and dynamic 
entries in a vobject's child list is bad, and instead dynamic lists 
should be kept on a separate child vobject (these might be embedded 
vobjects in s5, though).

-- 
[   Peter Amstutz  ][ [EMAIL PROTECTED] ][ [EMAIL PROTECTED] ]
[Lead Programmer][Interreality Project][Virtual Reality for the Internet]
[ VOS: Next Generation Internet Communication][ http://interreality.org ]
[ http://interreality.org/~tetron ][ pgpkey:  pgpkeys.mit.edu  18C21DF7 ]

Attachment: signature.asc
Description: Digital signature

_______________________________________________
vos-d mailing list
vos-d@interreality.org
http://www.interreality.org/cgi-bin/mailman/listinfo/vos-d

Reply via email to