Yes, that is about right. Except that doing per-pixel raytracing would be a lot slower. I don't think DROD really has to worry about speed, though. The main difference is that my algorithm would calculate the start/end point of the shadow a light would cast, instead of doing it for every pixel. This should also be easy to adapt to the primitives you specified.
I think it is a good idea to do lighting using 3D primitives, although you can also consider bit array voxels for more complex shapes, since triangles are a bit slow when it comes to things like characters with lots of curves. Voxels aren't too hard to bring into my algorithm either, since you only trace along the plane where the triangle cuts the voxel object's bounding cube, you can make a fast voxel tracing algorithm like that. Which brings me to add; perhaps DROD could make use of voxels instead of sprites, you would only need one object for all orientations. My friend,
Ken Silverman, has done a lot of research on voxels and has given me a few good ideas regarding their rendering.
Hmmm... then you can add dynamic destructibility: The roach
really splits in two when Beethro smites it. Feel free to ignore my suggestions, though. Being a programmer, I know it is a lot easier to say things than to actually implement them.
[Last edited by RRodgers at 09-15-2008 07:27 PM]