This is (very) loosely based on David's 3D soft engine in C#/JS: https://www.davrous.com/2013/06/13/tutorial-series-learning-how-to-write-a-3d-soft-engine-from-scratch-in-c-typescript-or-javascript/
Engine blueprint: a stripped-down version of [https://github.com/wgroeneveld/gba-sprite-engine/](https://github.com/wgroeneveld/gba-sprite-engine/) combined with more _tonc_ library functions.
Engine blueprint: a stripped-down version of [https://git.brainbaking.com/wgroeneveld/gba-sprite-engine](https://git.brainbaking.com/wgroeneveld/gba-sprite-engine) combined with more _tonc_ library functions.
Camera rotates `2/256` units on x and y each render cycle.
You 'should' see a cube forming based on 8 vertices. It's a simple example to showcase what the `Mesh` class is about, and how `GBAEngine` handles projections.
@ -21,12 +21,12 @@ You 'should' see a cube forming based on 8 vertices. It's a simple example to sh
2 FPS. Ouch!! This thing has 507 meshes and 968 faces. GLHF! The GBA CPU does not seem to be very happy with that. Like everyone indeed says:
@ -52,7 +52,7 @@ This is a high-level C++ engine, meaning redundant stack objects could also caus
The `RasterizerRenderer` class draws triangles as 'fast' as possible, using horizontal scanlines.
There is a fast way to lines into VRAM. I tried implementing Z-buffering, but the buffer was too big and too slow as z-coords also had to be interpolated...
At this point, I do not think it's that interesting to go on to texture mapping other than the fun of it. Even with a lot of haxx and tricks, the colored monkey won't ever spin at 30FPS...
@ -60,13 +60,13 @@ At this point, I do not think it's that interesting to go on to texture mapping
It did improve performance. I exported a few Babylon meshes, and the octahedron with 8 faces does run at 20FPS compared to 11FPS when back-face culling was implemented (that omits rendering certain faces if z <0)