As I previously said, and as mentioned in the current Sam Revival, I'm experimenting with 3d on the Sam. At the minute I'm just playing with vector graphics, since they move reasonably quickly, making it easy to observe problems with the algorithms.

I'm not doing too terribly (see http://www.youtube.com/watch?v=hcMiB1ZkukM for my attempt at a Cobra Mk 3 versus the Spectrum original), but I'm intimidated by the revelation by Marc Broster on this list 12 years ago that "with my dead wild cat demo I had about 70-80 points being calculated in 3D with lines being plotted in 25fps."

70 points at 25 fps would be just over 3,428 cycles/point, even if line drawing were completely free and memory was uncontended. Even my divide routine costs something like 2,000 cycles. Part of it seems to be that the perspective in Dead Wild Cat isn't correct — when objects transition in and out they are obviously zooming rather than actually moving (because the relative perspective of points doesn't change correctly; though it's mostly hidden by the fact that many of the objects have a flat front), and moving them around manually shows some very odd effects. But even eliminating the divide in favour of some weird limited range (i.e. unsuitable for a real game) table approach doesn't account for everything. I would imagine that even when I've pulled out all the stops, I'd still be spending at least 7,000 to 8,000 (pencil calculated, uncontended and hence unrealistic) cycles to process each individual point all the way from world space to a location on screen.

So, is Marc on the list? If not, has anyone done any significant disassembly on the demo? I've been told before that most of RAM is given over to pre-calculated line drawing routines. I'm only spending something like 15% of my time on drawing so it isn't the major concern. Is there anything else that can be learnt from it that isn't essentially limited to doing small objects with local perspective?

Reply via email to