Received: from watserv1.uwaterloo.ca (watserv1.waterloo.edu) by karazm.math.UH.EDU with SMTP id AA21298 (5.65c/IDA-1.4.4 for ); Tue, 22 Oct 1991 15:00:41 -0500 Received: by watserv1.uwaterloo.ca id ; Tue, 22 Oct 91 15:56:26 -0400 Date: Tue, 22 Oct 91 15:56:26 -0400 From: Dave Stampe-Psy+Eng Message-Id: <9110221956.AA24923@watserv1.uwaterloo.ca> To: glove-list@karazm.math.uh.edu Replying to Lance Norskog >>>You should also consider that background walls and floors can be done >>>by pre-rendering them onto pixmaps, then resampling the pixmaps >>>onto the screen first. Then, start drawing your wire-frames or >>>filled polygons. >> >The VGA hardware is terminally weird. It has this mode where you >can copy from one part of card RAM to another faster than from >main RAM. This makes pre-rendered textures interesting, since 320x200 >is only 64k, and the VGA boards now support 1meg of RAM. Well... that IS true, and you can copy 4 bytes with 2 CPU accesses, or fill all 4 with 1 CPU access. The 1 meg cards are'nt that good, though, as accessing that extra RAM is highly card- and mode- specific. So the software will have to assume a 256K VGA card. Now, the most memory used is for double-buffered 320x200x256 color mode in stereo (4 pages) which eats up all but 1536 pixels worth of memory.. Still possible, I guess. But if we drop down to 320x200x16 colors, we get 8 pages so it's quite possible there, and the copy takes less than 10 mS. Quite possible. Except any major viewpoint shift wrecks your background... < discussing BSP and ASP algorithms> >You'll want four or five different polygon database management >algorithms to handle different parts of the scene: walls&furniture, >moving hard objects, moving flexible objects, glove cursor, etc. >BSP and ASP help with models for moving hard objects and furniture. > >A once-every-time sort must be done on the database of large moving >and still objects, then each object must itself be added to the >polygon list, then you do a scan-line render on a small polygon >list. This gets very complex, and may be slow. In fact, this >method may only get used when you're rendering animations in >batch mode of fly-throughs which you've logged. Autodesk animator >does 320x200x256 colors, and of course you'll want to share >your demos :-) Hmm, are we discussing the same algorithms? As I read Foley's latest book "Computer Graphics: principles and practice" the BSP seems to help with 2 things: - eliminating polys that fall outside the viewport efficiently - generating an ordered list of polys so that masking is done by _drawing_ the polygons. Now I am aware that the conversion from an object tree to a poly list (hopefully ordered in some way) is expensive and the BSP and ASP help here, but there are other ways to optimize this. I am proposing a simple set of "enclosing" points for each object that would control the sorting, masking and clipping of each object. This would reduce computations by 90% during list transversal. Let me know what you think. A technical point about BSP: what happens if another object intrudes into a concave object? Is this a problem, or not? IMHO, Foley does not cover the BSP that thoroughly. Any other references? CAN the BSP be used to eliminate polys inside the viewport BEFORE rendering (no z-buffer here-- just draw and draw...) -------------------------------------------------------------------------- | My life is Hardware, | | | my destiny is Software, | Dave Stampe | | my CPU is Wetware... | | | Anybody got a SDB I can borrow? | dstamp@watserv1.uwaterloo.ca | __________________________________________________________________________