diff options
author | Elizabeth (Lizzy) Hunt <elizabeth.hunt@simponic.xyz> | 2023-11-28 14:47:29 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-11-28 14:47:29 -0700 |
commit | 4dcdd32bf7578acf3ea9bc1e98d39d82e3e1afdd (patch) | |
tree | 2d9eb3fbc17d453ee33e478bafb9936beff12eb3 /src/main.cpp | |
parent | ebc517c800a90f6f0ed157e5c3bd7c3bd18165b5 (diff) | |
parent | 3197f9e40cd7079e19990c64c98de667e2457d75 (diff) | |
download | gbarubik-4dcdd32bf7578acf3ea9bc1e98d39d82e3e1afdd.tar.gz gbarubik-4dcdd32bf7578acf3ea9bc1e98d39d82e3e1afdd.zip |
Cube
Diffstat (limited to 'src/main.cpp')
-rw-r--r-- | src/main.cpp | 27 |
1 files changed, 17 insertions, 10 deletions
diff --git a/src/main.cpp b/src/main.cpp index f147f2f..cc21223 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1,4 +1,7 @@ +#include "cube.hpp" #include "palette.hpp" +#include "renderable.hpp" +#include "scene.hpp" #include "vector.hpp" #include <tonc.h> @@ -7,23 +10,27 @@ int main() { irq_init(NULL); irq_enable(II_VBLANK); REG_DISPCNT = DCNT_MODE4 | DCNT_BG2; - - // initialize our palette palette::put_palette((std::uint16_t *)MEM_PAL); - // begin - bmp16_line(1, 3, 1 + SCREEN_WIDTH / 2 - 2, SCREEN_HEIGHT, 0x0101, vid_page, - SCREEN_WIDTH); - vid_flip(); - bmp16_line(2, 3, 2 + SCREEN_WIDTH / 2 - 2, SCREEN_HEIGHT, 0x0101, vid_page, - SCREEN_WIDTH); + auto scene = std::make_shared<Scene>(); + + auto cube = std::shared_ptr<Mesh>((Mesh *)new Cube); + + ModelInstance model_instance(cube, float2fx(0.25), {0, 0x0C00, 0}, + {int2fx(3), int2fx(3), int2fx(3)}); + + auto model_instance_ptr = std::shared_ptr<Renderable>(&model_instance); + scene->renderables.add(model_instance_ptr); - std::uint32_t frame = 0; + std::uint8_t frame = 0; while (1) { - frame = (frame + 1) % 60; if (frame == 0) { + model_instance.add_pos({0, 0, float2fx(0.2)}); + M4_CLEAR(); + Scene::render(scene); vid_flip(); } + frame = (frame + 1) % 10; VBlankIntrWait(); } |