Path: utzoo!mnetor!uunet!seismo!sundc!pitstop!sun!decwrl!labrea!glacier!jbn From: jbn@glacier.STANFORD.EDU (John B. Nagle) Newsgroups: comp.graphics Subject: Re: Point Graphics Message-ID: <17360@glacier.STANFORD.EDU> Date: 15 Mar 88 17:19:38 GMT References: <165500005@uiucdcsb> Reply-To: jbn@glacier.UUCP (John B. Nagle) Organization: Stanford University Lines: 28 Keywords: Z-buffer, smart pixels Hidden surface elimination is often performed in hardware by storing a Z value for each pixel and updating pixels in such a way that points further than the one already stored at a given X,Y do not update the screen, while nearer points update both the screen and the Z value. This is called a Z-buffer. A number of high-end graphics machines have Z-buffers, including the high-end HP and Apollo solid modelling workstations. Matrox makes a graphics board set for the IBM PC that includes a Z-buffer. Collision detection in 2D is standard on low-end game machines. Expansion of this concept into 3D is an obvious next step. I've been thinking idly about 3D sprites, and suspect that it wouldn't be all that hard to do. Z-depth is just like sprite priority, but with more bits. That alone would give you 3D isometric sprites that could be moved in X,Y and Z. Perspective will require a bit more support. But recognize that you can probably get away with recomputing the perspective view of the moving object only a few times a second (assuming that the 3D sprite is double-buffered) since it will blur as it moves and this will conceal any transient effects. All this just gets you the ability to move a few objects around in real time against a generally static background without having enough computational power to redraw everything on every fram cycle. But you still don't have full collision detection. A true voxel-based collision detection system is likely to be a bit expensive for now. But it might be possible to fake it for some common situations. John Nagle