From: avi@usl.com Subject: Re: DESIGN: Doors between virtual worlds Date: Tue, 11 Aug 92 14:09 EDT Organization: The Ohio State University, Department of Computer and Information Science In article <1992Aug11.064350.5974@u.washington.edu> autodesk!robertj@uunet.UU.NET (Young Rob Jellinghaus) writes: >Ah. This assumes that the "visual representation" of this portal-door >can in fact be a projected perspective onto another place. (It can't >be a static projection, as then it'd just be a painting. It needs to >change in perspective as you move around looking into it.) > >I was just thinking of what this kind of door would look like, and it >occurred to me that there is a physical counterpart: a hologram! A >hologram is just a physical piece of plastic which reflects light in >such a way as to create a three-dimensional view of some objects in a >virtual space. These "dimensional doors" would be essentially >cyberspatial holograms, which allow you to teleport to the space on >the "other side" by walking through them. (And what's more, they >could be _moving_ holograms!) I'm not quite sure how to (efficiently) render holograms but I have two suggestions. First, I would assert that any rendering algorithm which could render reflections could render windows into other worlds. For an intuitive argument, just think of Alice in Wonderland's looking glass. Concretely, what we would be doing is, when we hit the mirror/ window surface, we switch databases. A raytracer could do this very easily by simlpy recursing, when a ray hits the window/door, into the other world and returning (upon completion of recursion) with a color to the original world. Since raytracing is not the method of choice for most VR applications :) there is a better way. In scanline algorithms, we use environmental mapping to simulate some raytracing functionality without the cost. The basic idea is to pre-render a spherical or hemi-spherical view of the world from a central viewpoint to a bitmap. This map is then used as a target for reflection rays (generally) from some reflective surface with no recursion. The problem can be simplified (with some loss of accuracy) to indexing a point on a sphere given an interior position and two angles. Anyway, this can be applied to a door/window into another world with about the same cost as environmental mapping. If we position a camera/eye on the far side of the door (in the other world) and take a 180 degree hemispherical snapshot, we can use environmental mapping techniques when we render the door/window. All we need to do is compute the angles from the observer to the door/window and project onto the bitmap to find out what it looks like in the other world. Problems? Of course motion in the other world requires rerendering the environmental map and there are some anti-aliasing considerations which complicate the issue a little bit. Advantages? We wouldn't need to rerender the e-map for multiple observers in this world, just index it differently. Also, e-maps were faulted for not including self- reflections (remember the metallic dynosaurs) but in this case, there is no interaction of objects in this world and the rendition of the other world so no problem. There is a problem for networked implement- ations and storage of the bitmap but those are tradeoffs to be considered. >get from one part of your universe to another--it might be a gateway >to another universe altogether, in which case something weirder than >coordinate translation is going on. And the issue of changing contexts is important. If we move from a universe without gravity to one with it, we could, _under certain circumstances_ fall apart. Assuming rigid body transformations, we might simply tumble off-balance into the other universe and there is the possibility that the transition is instantaneous to avoid these issues but it's not clear. If the system wasn't well thought out, we could shear ourselves as we pass through. >Now the question is: how hard is it actually to implement a cyber- >spatial renderer capable of depicting virtual holograms? I doubt it's >entirely trivial, as most renderers currently assume that all the >objects they're rendering are present in "real" virtual space, not >"virtual", holographic virtual space. (Virtual virtual space!) > I think the environmental mapping solution would work for z-buffer or scanline approaches. It doesn't really have a place for regular painter's algorithms. >-- >Rob Jellinghaus | "Next time you see a lie being spread or >Autodesk, Inc. | a bad decision being made out of sheer >Internet: robertj@Autodesk.COM | ignorance, pause, and think of hypertext." >AMIX: RJELLINGHAUS | -- K. Eric Drexler, _Engines of Creation_ Avi Bar-Zeev UNIX Systems Laboratories avi@usl.com Speaking for myself as usual.