Ok, well I can totally support deviating from TheWayX3DDoesThings if it's less efficient than something VOS can support or if it doesn't support required VOS/Interreality features very well. But I'd recommend keeping it rendering-engine agnostic as much as possible, and to try to keep the focus on content and interoperability. Don't let an arbitrary decision get weighed too heavily by "this would be easier in crystal space," for example, but rather "this is existing practice" or "this is the most flexible and interoperable."
I guess my suggestion really comes down to, when in doubt, follow X3D, because they're putting a lot of work into making this stuff flexible and interoperable :) For example, for mesh vertex/polygon data, a3dl would ideally natively support the exact formats that X3D uses, defined directly from their spec. If additional formats that support more features are necessary, then that's fine, but I think the support should be in there. And "this is native data that CS uses internally" really shouldn't be one of the options unless it's conveniently used *outside* of CS. And when you get into stuff like advanced shaders and things like that, seeing how X3D is attacking the problem would probably be a very good starting point. (And again, using "the shader structure of CS" would probably be a less-than-ideal starting point if it's not a common way to go about it). As for ease of use, you want to support editing in-world, but I wouldn't have a problem letting the client do most of the work translating the easy editing interface to actual a3dl representation. You don't want to restrain what advanced things people using external editing tools or importing data from other formats can do just to allow a simple programmer interface for dynamically generated data. Some people will want to be able to make lush, interesting worlds with lots of advanced content, and others will want to make things quickly and in real-time with primitives, and VOS should be able to make both groups happy. (Ideally, those who want to make lush, complex worlds with advanced content in real-time should be happy too!) However, I do agree that allowing anything to dynamically change should be a major goal of VOS, and if something in X3D artificially stands in the way of that, that's a good reason to look for a different design. I may just be re-iterating a lot of stuff you already are thinking, but I just wanted to get these thoughts down. -Ken ----- Original Message ----- From: "Reed Hedges" <[EMAIL PROTECTED]> To: "VOS Discussion" <[email protected]> Sent: Tuesday, May 22, 2007 8:20 AM Subject: Re: [vos-d] A3dl redesign (was Re: Scaling and Origins -- 0.23 vs0.24) > > In making A3DL we did take some inspiration from VRML. However, VRML > (and X3D) have some aspects that if adopted directly would make A3DL > a bit less efficient or more cumbersome. We have all the structure that > comes from VOS to use. X3D does some stuff just because VRML did it, > and VRML97 does it because VRML 1.0 did it, and VRML 1.0 did it because > Inventor did it, and SGI GL, etc. etc. > > We should do what is closest to overall common practice. i.e. if VRML, > CrystalSpace, other 3D engines, Collada, etc. all do somtehing in a very > similar way, we should probably do that. In some cases we will have to > break with X3D (or other existing stuff) though and do it better (better > for VOS). > > The two overarching design goals for A3DL are to first, make it work > efficiently and be flexible and useful to manipulate A3DL objects in and > of itself. Second, to make it easy to import existing content. These > two things will be in conflict sometimes. I don't know which should be > primary, but I lean towards making A3DL itself easy to use (e.g. imagine > you're interactively editing A3DL objects with a GUI version of mesh) > and very flexible (e.g. imagine that you want to share content between a > 3D and a 2D application, or between 3D worlds, you want to make something > clever and neat in A3DL.) > > (Also, in the "designing metaobject structures" vein, there's a Wiki > page about "Tips and Best Practices" here: > http://interreality.org/wiki/TipsAndBestPractices . I started it out > with a few tips and TODO items, add more TODOs (and tips) as you > encounter situations and figure things out.) > > > > Reed > > _______________________________________________ > vos-d mailing list > [email protected] > http://www.interreality.org/cgi-bin/mailman/listinfo/vos-d > _______________________________________________ vos-d mailing list [email protected] http://www.interreality.org/cgi-bin/mailman/listinfo/vos-d
