View Single Post
Old 25 February 2015, 10:57   #21
Mrs Beanbag
Glastonbridge Software
Mrs Beanbag's Avatar
Join Date: Jan 2012
Location: Edinburgh/Scotland
Posts: 2,202
Originally Posted by mc6809e View Post
But you can't usually render a poly directly to a frame buffer unless it's the only poly to be rendered, unless I'm missing something.
One can render an entire 3-colour convex polyhedron and fill it with a single blit, and then copy it to the screen with another single blit. All the ships on elite, for instance, are convex polyhedra!

This whole discussion of speed ignores one important point, however, and that's the ability of the Amiga to perform operations concurrently with the CPU. For 3d games where many multiplies and divides are performed, many cycles are left free for the blitter. Huge gains are possible.

But again there's a problem. To gain maximum concurrency, poly fill/render must happen with data that has already been computed since poly render order can only be known after all calculation have been performed. This means that calculations for the next frame must occur while the previous frame is being built.
I don't understand why it makes a difference. Whether you fill a polygon with the CPU or the Blitter, you need to have calculated it first.

It is easy enough to sort all the objects by Z-distance first, then one can multiply the points of the next object by the rotation matrix and calculate screen co-ordinates, while the previous object is still being drawn.
Mrs Beanbag is offline  
AdSense AdSense  
Page generated in 0.03949 seconds with 10 queries