Miniquad

Github Actions Docs Crates.io version Discord chat Matrix

Miniquad is safe and cross-platform rendering library focused on portability and low-end platforms support

API is highly inspired by sokol-gfx (sokol overview, 2019 update). Implementation influenced by crayon.

For context management and input on Windows/Linux(and potentially mobiles) "sokol-app" was used. And no external dependencies for WASM.

For higher level API take a look on:

good-web-game: implementation of some ggez subset on top of miniquad, made as compatibility layer to run ggez games on wasm

macroquad: raylib-like library on top of miniquad. 100loc arkanoid with macroquad

Supported platforms

Not supported, but desirable platforms

Examples

Imgur

examples/quad.rs: web demo
examples/offscreen.rs: web demo

PonasKovas/miniquad-mandelbrot: web demo

Worth to mention zemeroth port and astroblasto, built with miniquad-powered good-web-game

Building examples

linux

```bash

ubuntu system dependencies

apt install libx11-dev libxi-dev libgl1-mesa-dev

cargo run --example quad ```

windows

```bash

both MSVC and GNU target is supported:

rustup target add x86_64-pc-windows-msvc

or

rustup target add x86_64-pc-windows-gnu

cargo run --example quad ```

wasm

bash rustup target add wasm32-unknown-unknown cargo build --example quad --target wasm32-unknown-unknown

And then use the following .html to load .wasm:

index.html

```html

TITLE

```

One of the ways to server static .wasm and .html:

cargo install basic-http-server basic-http-server .

android

Recommended way to build for android is using Docker.
miniquad use slightly modifed version of cargo-apk

docker run --rm -v $(pwd)":/root/src" -w /root/src notfl3/cargo-apk cargo quad-apk build --example quad

APK file will be in target/android-artifacts/(debug|release)/apk

With "log-impl" enabled all log calls will be forwarded to adb console. No code modifications for Android required, everything should just works.

iOS

See miniquad iOS sample project.

cross compilation

```bash

windows target from linux host:

this is how windows builds are tested from linux machine:

rustup target add x8664-pc-windows-gnu cargo run --example quad --target x8664-pc-windows-gnu ```

Goals

Non goals

Platinum sponsors

Miniquad is supported by: