• Stars
    star
    264
  • Rank 149,899 (Top 4 %)
  • Language
    C
  • Created almost 6 years ago
  • Updated 2 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Zig bindings for the sokol headers (https://github.com/floooh/sokol)

build

Auto-generated Zig bindings for the sokol headers.

For Zig version 0.11.0

Related projects:

NOTE: for experimental package manager support see the branch package, and as example for how to integrate sokol-zig as package the pacman.zig branch sokol-package

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)

# just build:
> zig build
# build and run samples:
> zig build run-clear
> zig build run-triangle
> zig build run-quad
> zig build run-bufferoffsets
> zig build run-cube
> zig build run-noninterleaved
> zig build run-texcube
> zig build run-offscreen
> zig build run-instancing
> zig build run-mrt
> zig build run-saudio
> zig build run-sgl
> zig build run-sgl-context
> zig build run-sgl-points
> zig build run-debugtext
> zig build run-debugtext-print
> zig build run-debugtext-userfont
> zig build run-shapes

(also run zig build --help to inspect the build targets)

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 -Dgl=true:

> zig build -Dgl=true run-clear

The clear sample prints the selected backend to the terminal:

sokol-zig ➤ zig build -Dgl=true run-clear
Backend: .sokol.gfx.Backend.GLCORE33

Use as Library

Clone this repo into your project via git submodule add https://github.com/floooh/sokol-zig.git (for this example into a folder called lib within your project).

Add to your build.zig:

const sokol = @import("lib/sokol-zig/build.zig");

// ...
// pub fn build(b: *std.build.Builder) void {
// ...

const sokol_build = sokol.buildSokol(b, target, optimize, .{}, "lib/sokol-zig/");

// ...
// const exe = b.addExecutable("demo", "src/main.zig");
// ...

exe.addAnonymousModule("sokol", .{ .source_file = .{ .path = "lib/sokol-zig/src/sokol/sokol.zig" } });
exe.linkLibrary(sokol_build);

More Repositories

1

sokol

minimal cross-platform standalone C headers
C
5,629
star
2

oryol

A small, portable and extensible C++ 3D coding framework
C++
1,965
star
3

chips

8-bit chip and system emulators in standalone C headers
C
890
star
4

sokol-samples

Sample code for https://github.com/floooh/sokol
C
527
star
5

pacman.c

Simple Pacman clone written in C99.
C
464
star
6

fips

High-level build system for distributed, multi-platform C/C++ projects.
Python
457
star
7

chips-test

Tests and sample code for https://github.com/floooh/chips
C
366
star
8

v6502r

visual6502 remixed
C
251
star
9

pacman.zig

Simple Pacman clone written in Zig.
Zig
197
star
10

sokol-tools

Command line tools for use with sokol headers
C++
190
star
11

cimgui-sokol-starterkit

A minimal self-contained Dear ImGui starter project for Windows, Linux and macOS.
C++
184
star
12

bookmarks

Links to stuff that looks useful.
139
star
13

qoiview

QOI image viewer on top of the Sokol headers
C
123
star
14

emu-info

Various emulator-related infos from all over the net.
Assembly
105
star
15

yakc

Yet another KC emulator
Assembly
104
star
16

oryol-samples

Oryol extension module samples
C++
81
star
17

rz80

Z80 chip family emulator library written in Rust.
Rust
72
star
18

sokol-nim

nim bindings for https://github.com/floooh/sokol
C
70
star
19

gliml

Minimalistic image loader library for GL projects
C++
62
star
20

fbxc

FBX cruncher (FBX + rules => JSON + vertex data blob)
C++
61
star
21

altai

Modern WebGL wrapper in TypeScript
TypeScript
53
star
22

sokol-odin

Odin bindings for the sokol headers (https://github.com/floooh/sokol)
C
46
star
23

sokol-rust

Rust bindings for the sokol headers (https://github.com/floooh/sokol)
C
44
star
24

kc85.zig

A KC85 emulator written in Zig
Zig
42
star
25

tiny8bit

WebPage for https://github.com/floooh/chips-test
HTML
36
star
26

docker-c64

C64 emulator running in docker
C
31
star
27

sokol-tools-bin

Binaries and fips integration for https://github.com/floooh/sokol-tools
Python
21
star
28

oryol-animation

Oryol animation and skinned-character-rendering modules
C++
19
star
29

oryol-imgui

Dear Imgui wrapper module for Oryol
C++
18
star
30

fips-bgfx

fipsified version of bgfx (https://github.com/bkaradzic/bgfx)
CMake
17
star
31

sokol-webgpu

HTML
15
star
32

floooh.github.io

Move blog and personal web page over to github (work in progress)
HTML
14
star
33

sokol-nim-samples

Example code for https://github.com/floooh/sokol-nim
Nim
13
star
34

vscode-kcide

Retro assembly IDE for VSCode
TypeScript
13
star
35

vscode-emscripten-debugging

Example repository for Emscripten WASM debugging in VSCode
C
11
star
36

visualz80remix

[WIP] WASM for https://github.com/floooh/v6502r with Z80 netlist
HTML
11
star
37

visual6502remix

Webpage for https://github.com/floooh/v6502r
HTML
11
star
38

oryol-tools

Asset exporter tools for Oryol engine
C++
10
star
39

drahtgitter

A toolkit for converting and processing 3d data in python.
Python
9
star
40

virtualkc

Webpage for the YAKC KC85 emulator
HTML
9
star
41

oryol-tbui

Integrate TurbobadgerUI with Oryol
C++
8
star
42

sokol-html5

webpage for https://github.com/floooh/sokol-samples
HTML
7
star
43

objc-ast-experiments

C
7
star
44

fibs

Nothing to see here, move along :)
TypeScript
7
star
45

fips-libcurl

Precompiled, stripped down libcurl libs for Oryol
C
6
star
46

visual2a03remix

webpage for the Ricoh 2A03 simulation
HTML
6
star
47

tiny8bitvs

Experiment to integrate a 'chips' WASM emulator into a VSCode tab.
TypeScript
6
star
48

kc85sdk

Experimental C-SDK for KC85 home computers
Python
6
star
49

fips-soloud

fipsified version of Soloud audio lib (https://github.com/jarikomppa/soloud)
CMake
6
star
50

voxel-test

Place to experiment with stb_voxel_renderer.h and Oryol
C
5
star
51

oryol-nuklear

Integrate Nuklear UI with Oryol engine
C++
5
star
52

oryol-test-app

Oryol testing app in its own repo
C++
5
star
53

fibs-hello-world

Most minimal fibs test project.
TypeScript
5
star
54

oryol-fileformats

Structure definitions for Oryol binary file formats.
C++
4
star
55

headeronly-perf

C
4
star
56

fibs-libs

Collection of fibs project wrappers for common 3rd-party libraries.
TypeScript
4
star
57

sokol-wgpu-preview

Temporary sneak preview website for sokol WebGPU samples.
HTML
4
star
58

emsc-interop-demo

Simple example to demonstrate calling a C function from Javascript.
HTML
4
star
59

easmx

A fork of the asmx assembler usable as embeddable library.
C
4
star
60

oryol-sound

Legacy Oryol sound module (uses OpenAL)
C++
3
star
61

docker-kc85

A KC85/4 emulator in Docker.
C
3
star
62

hcasm

8-bit home computer assembler in Typescript
TypeScript
3
star
63

fips-nuklear

fips build system wrapper for nuklear UI (https://github.com/vurtun/nuklear)
Python
3
star
64

chef-emscripten

Chef cookbook to setup an emscripten build environment.
Ruby
3
star
65

kcide-sample

Sample project for VSCode KC IDE extension
Assembly
3
star
66

oryol-webgl2

Webpage files for bleeding edge WebGL2 Oryol samples.
HTML
3
star
67

fips-hello-world

Test project for fips build system.
Python
3
star
68

fips-bullet

fips wrapper for bullet phyiscs
CMake
2
star
69

fips-spirvcross

fips wrapper for SPIRV-Cross
CMake
2
star
70

flohofwoe.www

JavaScript
2
star
71

fips-glfw

fipsified GLFW (https://github.com/glfw/glfw)
CMake
2
star
72

fips-cjson

fipsified cJSON lib
CMake
2
star
73

fibs-sokol-test

Fibs + sokol + sokol-shdc + stb
C
2
star
74

fips-cpptoml

fipsified cpptoml (https://github.com/skystrife/cpptoml)
2
star
75

fips-vld

Fipsified VLD (Visual Leak Detector)
C
2
star
76

fips-zlib

fipsified zlib
C
2
star
77

nvidia-driver-issue

C
1
star
78

fips-unittestpp

fipsified UnitTest++
C++
1
star
79

chef-cmake

Chef cookbook for installing cmake from source tarball
Ruby
1
star
80

webgl2-test

WebGL2 bug repro tests (wip)
JavaScript
1
star
81

chef-nacl

Chef cookbook to install the Google Native Client SDK
Ruby
1
star
82

fips-remotery

fipsified version of Remotery (https://github.com/Celtoys/Remotery)
CMake
1
star
83

tmp-http-test

TypeScript
1
star
84

fibs-test

Top level test project for https://github.com/floooh/fibs
C
1
star
85

oryol-simple

The most simple Oryol Gfx app
Python
1
star
86

fips-lua

fips wrapper for lua
CMake
1
star
87

fips-glm

Fipsified glm lib (https://github.com/g-truc/glm)
1
star
88

fibs-utils

Common helpers and utilities for fibs projects.
TypeScript
1
star
89

tiny8bit-preview

Temporary preview webpage repo for https://github.com/floooh/chips-test
HTML
1
star