3dtoys/README.md
2024-09-21 00:38:46 -04:00

1.6 KiB

3D Toys

Everything in here is a little sample program or otherwise which uses haloo3d and unigi. It's all software rendered, but you'll need to get sdl2 so it can render to screen.

The libraries required are set as submodules, so you can pull them when cloning with:

git clone --recurse-submodules https://git.lumen.sh/haloopdy/3dtoys.git

Or if you already cloned, you can do this after the fact:

git submodule update --init

Then, to build any example, just do make name.exe. For example, to build maze.c, you would do

make maze.exe
./maze.exe

If you're having trouble building, you can try to force past the warnings (they're usually nothing):

make FORCE=1 maze.exe

Unigi

Unigi is a small library and is built manually using the 3dtoys makefile. You can tinker around with Unigi if you like; it has its own make system, but I'm not sure what is required. The parts that are required for 3dtoys are handled with the 3dtoys makefile.

Unigi expects some kind of graphics backend to run. In this case, our samples use SDL2, so you'll need to get that.

Haloo3d

You can compile haloo3d using the makefile provided in the library repo, or include the .h and .c files directly into the main translation unit like unigi currently expects.

For these samples, they expect you to build the haloo3d_full.a library using make full in the haloo3d submodule. For convenience, the makefile for the samples assumes you are using the submodule and runs make in there for you.