Nico de Poel
75ae399d38
Implemented quad strip topology for rendering faces, which is actually a good bit simpler than triangle strips.
3 years ago
Nico de Poel
7606d89998
Implemented triangle strip topology for drawing faces
3 years ago
Nico de Poel
3167f1474e
Faces can now carry their own per-vertex lighting data, instead of sharing all vertex data with adjacent faces.
3 years ago
Nico de Poel
08008af2a0
Implemented rudimentary baked lighting through vertex colors and gouraud shading.
3 years ago
Nico de Poel
f8a4d171a3
Faces now have a vertex index list, which is more space-efficient and allows easy rewrites of polygon topology.
Also works quite well with the scratchpad RAM setup.
3 years ago
Nico de Poel
79f1e52d1e
Rewrote scratchpad function to work more as I envisioned it:
sequential calls will pass on a variable to each other that gets updated with the new offset position in the scratch buffer.
3 years ago
Nico de Poel
a6e9aa1b21
First simple test with scratch memory, just to verify that it works.
3 years ago
Nico de Poel
a68b2c370f
Set up some helper functions for memory management, including scratchpad memory. Moved the primitive buffer here too.
This will probably have to become inline functions or macros at some point, but for now it's just pure C.
3 years ago
Nico de Poel
f4017d5f56
Modified triangle rendering code so that it finally works on real hardware.
Not sure why the original method doesn't work, probably some weird limitation on the memory/GTE register subsystems.
This will get rewritten anyway so it doesn't matter much now.
3 years ago
Nico de Poel
5a3b6aac46
First implementation of world loading and rendering. No BSP logic or optimizations in here yet, but something is being displayed!
3 years ago