From: Niklas Elmqvist [d97elm@dtek.chalmers.se] Sent: Monday, October 04, 1999 3:07 PM To: 3d-ui@hitl.washington.edu Subject: RE: 3D window management On Mon, 4 Oct 1999, Maarten van Dantzich wrote: [snip] > The infrastructure is a modification to a few DLLs in Windows 2000 that > allow us to redirect both output (the app's visual bits) and input (mouse & > keyboard events). We force an app render to an offscreen-bitmap without it > being aware that this happens; we filter input events, particularly mouse > events, at a very low level in the system to detect if they're over the > app's 3D representation, and do coordinate touch-up as necessary to recover > the 2D mouse point in the app's coordinate frame. Etc. Ahh. Sounds very similar to what we did with 3Dwm, only we used XFree86. It is perhaps a little easier in X11 than Win2k since X is based on an explicit client/server model (don't know if that's true of Windows 2000). We were actually able to base the X11-interaction part of the system on the Xvfb virtual frame buffer server, which normally is used for diagnostic checking of applications (such as making sure that an app works with all different screen resolutions and bit depths). In Xvfb, all data is rendered to an off-screen memory buffer (in shared mem or mapped to a file in vanilla Xvfb, but we altered it to run the X server in a thread and then used mutexes to access it) and then uploaded as an OpenGL texture. The interaction part is done by capturing input events from whatever input device is used and then generating new events which are passed to the clients (applications) connected to the X server -- none of this functionality is present in Xvfb, so we had to add it. > I suspect the work at Chalmers is similar in flavor, though I haven't looked > at it yet; don't they hack up an X Server? (XFree86?) Right. > By the way, I totally agree with your reasoning for the motivations to bring > 2D apps into 3D; our aim was to create a 3D environment in which all your > productivity tools come along, so you can live in it and start adding novel > features to it while doing real work. So many existing 3D environments are > interesting but only usable in narrow applications or for demos. :) (That > said, making something good enough that you can use it full-time is a bear > of a task for a small research team!) Tell me about it. :) We're still working on a low scale here, as well: four people are involved in the project, and I'm the main programmer and systems architect. Still, it is great fun! > >> Maarten. > > > PS: are any of the Chalmers folks on this list? We sure are (at least I am, and I suspect one of my colleagues is getting on the list pretty soon). > Are y'all going to be at UIST this year? Maybe we should do a "birds > of a feather" session to talk abuot the systems issues in this domain. As for the UIST and the BOF, well, we'd love to. It would probably be very beneficial for our work. Unfortunately, I'm not sure we'll be "allowed" to go -- 3Dwm was/is still a side-project at Medialab (although I'm pouring all my available time into it), and the Atlantic is a rather large hop! :) I'll see how things unfold during the coming days. /Nick -- Niklas Elmqvist (d97elm@dtek.chalmers.se) ---------------------- "One of the universal rules of happiness is: always be wary of any helpful item that weighs less than its operating manual." -- Terry Pratchett, Jingo