51 lines
1.4 KiB
Markdown
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.
|
|
|