From bowman@cc.gatech.edu Thu Oct 1 12:22:48 1998 Received: from burdell.cc.gatech.edu (root@burdell.cc.gatech.edu [130.207.3.207]) by lennon.cc.gatech.edu (8.9.1/8.9.1) with ESMTP id MAA09992 for ; Thu, 1 Oct 1998 12:22:45 -0400 (EDT) Received: from wheaten.hitl.washington.edu (IDENT:/qi5uWoA2lR5hT87EyjFwB1yiC829VWK@[128.95.73.60]) by burdell.cc.gatech.edu (8.9.1/8.9.1) with ESMTP id MAA08980 for ; Thu, 1 Oct 1998 12:23:31 -0400 (EDT) Received: from burdell.cc.gatech.edu (root@burdell.cc.gatech.edu [130.207.3.207]) by wheaten.hitl.washington.edu (8.8.8/8.6.12) with ESMTP id JAA00960 for <3d-ui@hitl.washington.edu>; Thu, 1 Oct 1998 09:23:00 PDT Received: from lennon.cc.gatech.edu (bowman@lennon.cc.gatech.edu [130.207.7.134]) by burdell.cc.gatech.edu (8.9.1/8.9.1) with ESMTP id MAA08944 for <3d-ui@hitl.washington.edu>; Thu, 1 Oct 1998 12:22:59 -0400 (EDT) Received: (from bowman@localhost) by lennon.cc.gatech.edu (8.9.1/8.9.1) id MAA09963 for 3d-ui@hitl.washington.edu; Thu, 1 Oct 1998 12:22:10 -0400 (EDT) From: bowman@cc.gatech.edu (Doug Bowman) Message-Id: <199810011622.MAA09963@lennon.cc.gatech.edu> Subject: Re: Data Flow in a Generic VR Application To: 3d-ui@hitl.washington.edu (3D UI List) Date: Thu, 1 Oct 1998 12:22:10 -0400 (EDT) In-Reply-To: <19980930090537.23324.qmail@omega.ru.ac.za> from "Mike Rorke" at Sep 30, 98 11:05:37 am X-Mailer: ELM [version 2.4 PL23] Content-Type: text Status: RO A few comments and questions about Mike's work: > I am currently working on my Masters project, doing research into virtual > reality interaction. At present, my research is focusing on isolating the > different components of a generic virtual reality system, and the data that > flows between them. The idea being that if I can produce a good enough > interface, I can implement multiple interaction techniques and simply slot > in the one best suited to a particular application/user. OK, I was confused for a minute there. I assume by "interface" you mean the API and not the user interface. So am I correct in saying that you're trying to build a software architechture for VE applications that will make rapid prototyping and implementing of specific applications possible? > Interaction Component(s) : these are the users 'handles' into the world e.g. > a virtual hand. These relay the users commands (through a standard > interface) to the system which implemets them, and give the user information > about the virtual world. So this is the user interface, different routines and objects that the user uses to control the system. Do you think it's possible to define a standard set of commands that will cover the range of actions one might want to take? What are some of the fundamental ones that will definitely be in there? I think this is an interesting but challenging project. What do you expect to be able to do when the architecture is in place? Is it something like the Mac Toolbox for VEs, where everyone uses the standard interface components and API, so programs look and feel the same? I have a little experience in something related to this. I took a taxonomy for VE selection and manipulation techniques and "implemented" it. Meaning that I wrote separable routines for each of the parts of an interaction technique, and then code that let me tie any of the components together to create a full selection/manipulation technique. It works pretty well, and I have the potential to create almost 700 different interaction techniques with just the press of a few buttons. However, it was difficult to do, and there are still a lot of problems. There are global variables running all over the place, multi-level dependencies between routines, many combinations that probably wouldn't work, etc. I'm wondering if trying to do something like this for a complete VE application is feasible. I'm especially interested in how you view this from the programmer/ designer's point-of-view. The way I read your message, they will be writing their own interaction techniques that will interface with your architecture. How rigid and limiting will the architecture be on what these routines can do? How hard will it be to write a routine for an existing technique within your framework? Thanks for the message - hopefully we will start some fresh discussion here... Doug -- Doug Bowman, Ph.D. Candidate College of Computing, GVU Center, Georgia Tech Room 388 CRB, (404) 894-5104 bowman@cc.gatech.edu http://www.cc.gatech.edu/gvu/people/Phd/Doug.Bowman/