paulscottrobson wrote: ↑Sun Sep 10, 2023 8:02 pm
Is Mario Kart for real or a cheat ? The 2Mb requirement made me wonder ; there's a pretty demo on here which looks spectacularly 3D but is really just all pre-calculated and rendered simply on the fly ; it's not doing 3D in real time.
Not knocking the project, looks great ; things that Vera was rubbish at such as line drawing are way better - could now do a very nice Tempest I suspect.
The Mario Kart is for real. This is a demonstrator of the Vera firmware capabilities. Vera can now do (or better: help with) affine transformations, which is what you need for mode7-like effects. For single player it runs at around 60fps. Of course the rest of the game is not implemented yet (all the sprite and sound stuff), but we already know Vera/the x16 is good at that. The demo does use (large) look up tables for the perspective calculations (hence the 2MB requirement): those are needed to look in every direction and they work on every map and every position. This makes this a mode7-engine and not just a nice gimmick.
A long time ago i wrote (a remake of) the STNICCC demo (which you are referring to, i think), which still a bit of a "cheat", although still very hard to accomplish: it drew a stream of precalculated polygons: so only the very last part of a 3D Polygon engine pipeline. Basically a video. The butterfly demo (see above) contains a actual 3D engine, with 3D rotation, blackface culling, perspective calculations and dynamic lighting. On top of that a rasterizer (which was the hardest part to make performant enough: a Polygon filler helper). So this is real 3D now. You can use the cursor keys to steer it! Its still limited of course (couple of hundred polygons) which is a bit like the SNES FX, but quite capable. This was impossible with the old VERA firmware.
Note that the above demos (including both engines) and the VERA firmware additions have taken an incredible amount of time to develop over the time of almost a year now. I hope that the official X16 team will use this new firmware as the new default firmware of upcoming x16 machines. Its fully backwards compatible and is currently being verified.
regards,
jeffrey