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".

Reply via email to