CompuServe Messages

#Three-Dee graphics

#: 33897 S7/ProgrammingForum unknown
    21-Sep-86 20:02:32
Fm: Jack Crenshaw 72325,1327
To: Jez San @ Argonaut S/W 72247,3661

This message turned up in search, but its forum couldn’t be identified from the original transcript, so it may not be linked into its thread.

Jez: I also would use matrix math. I was trying to make it simple for Jeric. Too late, though … he's already slithered away in embarrassment, or something. Took a short course some years ago on Computer Graphics, and learned that all the hot dogs use a 4 x 4 matrix approach, so you get the rotation and translation in one step. Assume that's what you mean. Not sure I follow your comments re hidden line removal speeding things up. For skeleton figures, hidden line removal is _THE_ big problem, and lots of papers have been published on the subject. A friend and I came up with a pretty slick way to do it for simple figures, but when you go to arbitrary shapes and multiple bodies, there's really no recourse but to compare every surface with every other surface to see which one's in front. That takes a _LONG_ time, so I fail to understand your comment. BTW, about the same time frame did a little research on the Evans & Sutherland approach ( my company was working on a real-time simulator using same.) Their approach is very clever… it's based on the idea that at any instant of time, the raster point on a CRT represents a single line in space, sweeping across a plane that corresponds to the current raster line. So "all" you have to do is extend this line till it hits some surface. Neat thing about it is: color and shading comes almost free, and the idea of clipping or windowing goes away entirely. The catch: many comparisons to make to find out which surface is hit. E & S do it with mucho parallel hardware, hardwired for the specific algorithm. COme to think of it, the idea fits very well with the Amiga's raster-oriented Blitter control. If you could compute fast enough, perhaps you could compute the next color change _BEFORE_ it has to happen, so the Blitter could be set up for it while the CPU is continuing to compute ahead. It has possibilities. Jack