[Opensim-dev] SOG/SOP

Stefan Andersson stefan at tribalmedia.se
Fri Aug 29 11:12:47 UTC 2008


I believe it's time to take that old discussion up again.
 
The mess called SOG/SOP that we have get to know and love came out of a simple question:
 
* How would we, as application providers, like our object model?
 
Now, 'we' at that time was mostly me and Darren, so empirical data and peer input was rather scarce.
Anyway, at that time, I was still an LSL coder, and one of the things I really hated with LSL was the object model - the notion that an object could change 'role' and thus, you always had to if-then around cases like, 'is this a single object', 'is it a linkset?', 'is it the root object', 'is it attached?' in your code - adn where stuff like 'position' always changed meaning depending on the context. That's what I call 'if-then' coding. And it's bad.
 
So, when reviewing how scene content was organized, we thought 
 
"we really should have a hierarchihcal model internally, where objects do NOT change behaviour and property meaning. And that model should be rendered into protocol-specific representations at the endpoint, ie, in the clientview."
 
I still think that having an object that represents the object in scene, as opposed to having ten scene objects magically linked on 'root' id is a good idea - especially when considering stuff like mesh-enabled objects, where 'child prims' simply does not apply.
 
But this time, maybe we should get more discussion. I bid you all ventilate your ideas. And references to other 3D models, and suggestions incorporating how grid, region, scene, avatars, attachments, mesh objects and linksets can work togehter in a single, simple API paradigm are extra welcome. Best regards,Stefan AnderssonTribal Media AB Join the 3d web revolution : http://tribalnet.se/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://opensimulator.org/pipermail/opensim-dev/attachments/20080829/3eba3b99/attachment-0001.html>


More information about the Opensim-dev mailing list