3dtoys/README.md
2024-08-22 02:02:37 -04:00

51 lines
1.4 KiB
Markdown

# 3D Toys
Everything in here is a little sample program or otherwise which
uses [haloo3d](https://github.com/randomouscrap98/haloo3d) and
[unigi](https://git.lumen.sh/Fierelier/unigi). It's all software
rendered, but you'll need to get sdl1 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
```
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
```
## Unigi
For the time being, unigi is designed such that it expects you to
compile your entire program as a single unit. This means you must
include all your .c files into the main file, in the right order.
This may change in the future.
Unigi expects some kind of graphics backend to run. In this case,
our samples use SDL1, 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.