Alex Terrazas wrote: > I am trying to propose some grants and wanted > a little background on how people would > approach the problem of making an individually > specific rooms (e.g. favorite bar or close promitity > thereof) or outside environment (e.g. alley).
In our current major project (virtual libraries of rare books) we have a similar situation. The way we've approached this is a mix of custom software development over the top of normal standards. The hardest problem that you will have is the intermediate representation of the environment. Unless your vis environment is directly backed by a database, you will need some file format to describe the "room". Even then, it is unlikely your DB will include the exact dimensions of every chair, table etc, so these will need to be described in a model format. In our solution, we chose to go with the X3D format for describing both the world and the models. The reason is the extensibility the spec provides for doing just this scenario. For us, if you substitute needle for book, the requirements are similar. With X3D, we define a new component called "Library" and the nodes in that are "Shelf, Table, Chair" etc. This allows us the flexibility of having locally cached models for small items, and yet dynamically create the larger environment while keeping the download size small. While the VRML97 spec can support this in some ways using the EXTERNPROTO mechanism, it is not as flexible because you are stuck with the basic scene graph heirarchy defined by VRML. With X3D, you can pretty much create your own entire environment and yet stay spec compliant. Another reason for chosing X3D over other file formats like DXF is the ability to embed behaviours within the file. For our project, we have to have heavily detailed models of the individual books (and possibly other items like letters or CD cases). Instead of custom coding each model into the rendering engine, we embed it as part of the model as a script. This gives us very nice, customised information on a per-model basis, without the rendering application needing to know about it. For example, a 13th century book has very stiff pages and a page turn is very different from the modern paperback. As far as our rapid build environment is concerned, it is just a "book model" and nothing more. Finally, the most difficult end-user part is the 3D model building in the first place. As your requirement is to enable very fast switching or remodelling of environments, you can expect to have the application user be familiar with a traditional CAD/Modelling tool like 3DSMax or AutoCAD. The only real solution is to write an application/domain-specific modelling tool that offers a rapid prototyping capability. This way you can have a point and click scenario builder that then assembles the bits from the pre-built catalogue of models and assembles into the final environment. Again, this is where the X3D spec comes in really handy as it makes this situation sooooo much simpler to write a tool for - all you need concern yourself about is a bunch of 2D/Swing GUI hacking. -- Justin Couch http://www.vlc.com.au/~justin/ Java Architect & Bit Twiddler http://www.yumetech.com/ Author, Java 3D FAQ Maintainer http://www.j3d.org/ ------------------------------------------------------------------- "Humanism is dead. Animals think, feel; so do machines now. Neither man nor woman is the measure of all things. Every organism processes data according to its domain, its environment; you, with all your brains, would be useless in a mouse's universe..." - Greg Bear, Slant ------------------------------------------------------------------- =========================================================================== To unsubscribe, send email to [EMAIL PROTECTED] and include in the body of the message "signoff JAVA3D-INTEREST". For general help, send email to [EMAIL PROTECTED] and include in the body of the message "help".
