Files
2025-04-14 14:49:36 -04:00

82 lines
2.5 KiB
Markdown

[![Odin](https://github.com/floooh/sokol-odin/actions/workflows/main.yml/badge.svg)](https://github.com/floooh/sokol-odin/actions/workflows/main.yml)
Auto-generated [Odin](https://github.com/odin-lang/odin) bindings for the [sokol headers](https://github.com/floooh/sokol).
To include sokol in your project you can copy the [sokol](sokol/) directory.
## BUILD
Supported platforms are: Windows, macOS, Linux (with X11)
On Linux install the following packages: libglu1-mesa-dev, mesa-common-dev, xorg-dev, libasound-dev
(or generally: the dev packages required for X11, GL and ALSA development)
1. First build the required static link libraries:
```
cd sokol
# on macOS:
./build_clibs_macos.sh
# on Linux:
./build_clibs_linux.sh
# on Windows with MSVC (from a 'Visual Studio Developer Command Prompt')
build_clibs_windows.cmd
cd ..
```
2. Create a build directory and cd into it:
```
mkdir build
cd build
```
3. Build and run the samples:
```
odin run ../examples/clear -debug
odin run ../examples/triangle -debug
odin run ../examples/quad -debug
odin run ../examples/bufferoffsets -debug
odin run ../examples/cube -debug
odin run ../examples/noninterleaved -debug
odin run ../examples/texcube -debug
odin run ../examples/shapes -debug
odin run ../examples/offscreen -debug
odin run ../examples/instancing -debug
odin run ../examples/mrt -debug
odin run ../examples/blend -debug
odin run ../examples/debugtext -debug
odin run ../examples/debugtext-print -debug
odin run ../examples/debugtext-userfont -debug
odin run ../examples/saudio -debug
odin run ../examples/sgl -debug
odin run ../examples/sgl-points -debug
odin run ../examples/sgl-context -debug
odin run ../examples/vertexpull -debug
```
By default, the backend 3D API will be selected based on the target platform:
- macOS: Metal
- Windows: D3D11
- Linux: GL
To force the GL backend on macOS or Windows, build with ```-define:SOKOL_USE_GL=true```:
```
odin run ../examples/clear -debug -define:SOKOL_USE_GL=true
```
The ```clear``` sample prints the selected backend to the terminal:
```
odin run ../examples/clear -debug -define:SOKOL_USE_GL=true
>> using GL backend
```
On Windows, you can get rid of the automatically opened terminal window
by building with the ```-subsystem:windows``` option:
```
odin build ../examples/clear -subsystem:windows
```