update image urls in readme to remove github refs
parent
ec49c37f1b
commit
ebdc87c88d
16
README.md
16
README.md
|
@ -4,7 +4,7 @@
|
|||
|
||||
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.
|
||||
|
||||
### Show me the money!
|
||||
|
||||
|
@ -12,7 +12,7 @@ Sure thing.
|
|||
|
||||
#### **Demo 1**: without wires
|
||||
|
||||

|
||||

|
||||
|
||||
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
|
|||
|
||||
#### **Demo 1b**: with wires
|
||||
|
||||

|
||||

|
||||
|
||||
A lot less smooth. 20 FPS. I implemented Bresenham somewhat similar to David's approach, without any good results.
|
||||
MODE4's weird byte write problems are causing trouble. Time to consult _tonc_ and fix this:
|
||||
|
||||

|
||||

|
||||
|
||||
30 FPS, winning 10 frames using `bmp8_line()`.
|
||||
|
||||
|
@ -36,7 +36,7 @@ From Blender/Babylon based on [this](https://david.blob.core.windows.net/softeng
|
|||
|
||||
A JS script has been provided that generates the needed C++ code. It's not great, and not very performant.
|
||||
|
||||

|
||||

|
||||
|
||||
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)
|
||||
|
||||

|
||||

|
||||
|
||||
Changing colors indicate certain triangles were not drawn (into the background). It does not help a lot with our monkey, alas. Too many vertices...
|
||||
|
||||
More examples of meshes (box, cylinder, octahedron, sphere, torus) included.
|
||||
|
||||
### GBA-Specific problems
|
||||
### GBA-Specific problems
|
||||
|
||||
**Fixed-point math** sums up things nicely.
|
||||
|
||||
|
|
Loading…
Reference in New Issue