From: Robert \E. In Paradise\ M. <ex...@we...> - 2009-12-26 23:50:39
|
On Sat, 2009-12-26 at 19:46 +0000, Dave Joubert wrote: > Hi, > At this time of the year my thinking often turns very fuzzy and > futuristic (must be all the food, alcohol and relaxation). > Can one create an 'X-window' object inside a X3DVRML world in which > you could then run an X application ? You could with Java when it was supported. No idea about JavaScript. > Does anyone have links to research on 3D user interfaces and user behaviour ? Sun developed a 3D desktop environment called Project LookingGlass. http:en.wikipedia.orgwikiProject_Looking_Glass 3DNA developed a 3D desktop shell environment for Windows: http:www.3dna.net There are other 3D desktop shells out there too. For rolling your own, the book "Java for 3D and VRML Worlds" ISBN 1-56205-689-1 contained Java and WRL files needed to explore your disk filesystem using VRML to draw a set of iterated nodes and change directory when you clicked a directory node. As a personal experiment when FreeWRL supported Java in Script nodes, I combined that book's disk viewer with the ability to use Java's System.* calls to launch local applications from the 3D view. It was highly insecure, but I do remember sending the code for that to John at the time. Really, the only steps that were left were simple ones: * Have a defined "default" WRL for directory spaces which had none locally defined. * Have a specified WRL for the launcher to look for in each directory you opened. If found, load that rather than the default WRL. * register WRL files against MIME types, so that the directory viewer could load new models based on file type, and know which application to launch for that type of file object. So, when the iterator opened a directory, if it found a custom WRL file for that space, load that, otherwise load a standard theme view. That WRL would also setup the iterator for how to draw the rest of the objects in the space, based on type. Then if you clicked the object, trigger the application by MIME type. If the object was a directory, open that directory, load its custom space if that existed, and start over. Sadly for me, FreeWRL switched to a new faster parser which dropped support for Java in script nodes and SAIEAI in favor of JavaScript only. So, after I asked if Java would be supported and got "no" as an answer, I archived that project and moved into SecondLife. -- Robert "Exile In Paradise" Murphey War is like love, it always finds a way. -- Bertolt Brecht, "Mother Courage" |