From 54b857bd9b8db41737f415023deca3d9e4446ad5 Mon Sep 17 00:00:00 2001 From: wgroeneveld Date: Sun, 12 Jul 2020 09:29:54 +0200 Subject: [PATCH] color index generation for rasterizer --- README.md | 26 +++++++++++++++++----- demos/demo2-blender-import/src/monkey.cpp | 5 +++-- engine/src/renderer/raserizerrenderer.cpp | 6 +++-- img/raster.gif | Bin 0 -> 67958 bytes 4 files changed, 28 insertions(+), 9 deletions(-) create mode 100644 img/raster.gif diff --git a/README.md b/README.md index e4aebbc..529e54b 100644 --- a/README.md +++ b/README.md @@ -6,9 +6,11 @@ This is (very) loosely based on David's 3D soft engine in C#/JS: https://www.dav 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. -#### Show me the money +### Show me the money! -Sure thing. **Demo 1**: without wires +Sure thing. + +#### **Demo 1**: without wires ![design](https://github.com/wgroeneveld/gba-bitmap-engine/blob/master/img/wireless.gif?raw=true) @@ -17,7 +19,7 @@ You 'should' see a cube forming based on 8 vertices. It's a simple example to sh 60 FPS. Yay. -**Demo 1b**: with wires +#### **Demo 1b**: with wires ![design](https://github.com/wgroeneveld/gba-bitmap-engine/blob/master/img/wired.gif?raw=true) @@ -28,7 +30,11 @@ MODE4's weird byte write problems are causing trouble. Time to consult _tonc_ an 30 FPS, winning 10 frames using `bmp8_line()`. -**Demo 2**: load actual vertex content from Blender/Babylon based on [this](https://david.blob.core.windows.net/softengine3d/part3/index.html): +#### **Demo 2**: load actual vertex content + +From Blender/Babylon based on [this](https://david.blob.core.windows.net/softengine3d/part3/index.html). + +A JS script has been provided that generates the needed C++ code. It's not great, and not very performant. ![design](https://github.com/wgroeneveld/gba-bitmap-engine/blob/master/img/monkey.gif?raw=true) @@ -41,7 +47,16 @@ Use the `gba-sprite-engine` instead. I am aware of countless optimization opportunities but even thinking about that makes me sleepy. This is a high-level C++ engine, meaning redundant stack objects could also cause problems. And I'm okay with that - it's a proof-of-concept! -#### GBA-Specific problems +#### **Demo 3**: rasterization + +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... + +![design](https://github.com/wgroeneveld/gba-bitmap-engine/blob/master/img/raster.gif?raw=true) + +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... + +### GBA-Specific problems **Fixed-point math** sums up things nicely. @@ -78,3 +93,4 @@ More details in `math.h`. In any case, lots of rounding errors occur. It is luckily not a problem due to GBA's limited screen dimensions. +**Limited iWRAM** size is another problem. Use `const` arrays as much as possible! \ No newline at end of file diff --git a/demos/demo2-blender-import/src/monkey.cpp b/demos/demo2-blender-import/src/monkey.cpp index d5f3055..27aee70 100644 --- a/demos/demo2-blender-import/src/monkey.cpp +++ b/demos/demo2-blender-import/src/monkey.cpp @@ -5,8 +5,9 @@ #include #include "monkey.h" -const unsigned short pal[4] __attribute__((aligned(4))) = { - 0x0000, 0xFFFF, 0x3AE2 +// BLACK, [white->black] from 0xFFFF / 252 +const unsigned short pal[253] __attribute__((aligned(4))) = { + 0x0000, 65535,32767,21845,16383,13107,10922,9362,8191,7281,6553,5957,5461,5041,4681,4369,4095,3855,3640,3449,3276,3120,2978,2849,2730,2621,2520,2427,2340,2259,2184,2114,2047,1985,1927,1872,1820,1771,1724,1680,1638,1598,1560,1524,1489,1456,1424,1394,1365,1337,1310,1285,1260,1236,1213,1191,1170,1149,1129,1110,1092,1074,1057,1040,1023,1008,992,978,963,949,936,923,910,897,885,873,862,851,840,829,819,809,799,789,780,771,762,753,744,736,728,720,712,704,697,689,682,675,668,661,655,648,642,636,630,624,618,612,606,601,595,590,585,579,574,569,564,560,555,550,546,541,537,532,528,524,520,516,511,508,504,500,496,492,489,485,481,478,474,471,468,464,461,458,455,451,448,445,442,439,436,434,431,428,425,422,420,417,414,412,409,407,404,402,399,397,394,392,390,387,385,383,381,378,376,374,372,370,368,366,364,362,360,358,356,354,352,350,348,346,344,343,341,339,337,336,334,332,330,329,327,326,324,322,321,319,318,316,315,313,312,310,309,307,306,304,303,302,300,299,297,296,295,293,292,291,289,288,287,286,284,283,282,281,280,278,277,276,275,274,273,271,270,269,268,267,266,265,264,263,262,261,260 }; std::vector MonkeyScene::meshes() { diff --git a/engine/src/renderer/raserizerrenderer.cpp b/engine/src/renderer/raserizerrenderer.cpp index fc1d202..0bdfc59 100644 --- a/engine/src/renderer/raserizerrenderer.cpp +++ b/engine/src/renderer/raserizerrenderer.cpp @@ -66,6 +66,7 @@ void RasterizerRenderer::plotTriangle(const VectorFx& pt1, const VectorFx& pt2, void RasterizerRenderer::render(const MatrixFx &transformationMatrix, const Mesh *mesh) { bool colorSwitch = false; + int i = 0; for (auto &face : mesh->faces()) { auto &vertexA = mesh->vertices()[face.a]; auto &vertexB = mesh->vertices()[face.b]; @@ -75,8 +76,9 @@ void RasterizerRenderer::render(const MatrixFx &transformationMatrix, const Mesh auto pixelB = engine->project(*vertexB.get(), transformationMatrix); auto pixelC = engine->project(*vertexC.get(), transformationMatrix); - plotTriangle(pixelA, pixelB, pixelC, colorSwitch ? 2 : 1); + COLOR cI = ONE + fxmul(fxdiv(int2fx(i), int2fx(mesh->faces().size())), int2fx(250)); + plotTriangle(pixelA, pixelB, pixelC, fx2int(cI)); colorSwitch = !colorSwitch; + i++; } - } \ No newline at end of file diff --git a/img/raster.gif b/img/raster.gif new file mode 100644 index 0000000000000000000000000000000000000000..7cbed5f030a7418396ec6750515e29eff747e494 GIT binary patch literal 67958 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 A#{d8T literal 0 HcmV?d00001