Skip to content

eggyengine/vitellus

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

vitellus

vitellus is a native-first rendering hardware interface written in Zig for building game engines and renderers on modern graphics APIs.

Shaders are parsed with SPIR-V and compiled with the splat project (spirv-cross packaged for zig).

add to project

requires zig 0.16.0

to use this with the zig build system, import as so:

zig fetch --save git+https://github.com/eggyengine/vitellus

and then in build.zig:

const vit = b.dependency("vitellus", .{
    .target = target,
    .optimize = optimize,
});

exe.root_module.addImport("vitellus", vit.module("vitellus"));

Backends can be selected from your dependency options:

const vit = b.dependency("vitellus", .{
    .target = target,
    .optimize = optimize,
    
    // lazy dependency fetching
    // .vulkan = true,
    // .dx12 = true,
    // .metal = true,
    // .opengl = false,
    // .noop = false,
});

If you wish for only the shader compiler splat, take a look at the docs at splat/README.md.

and lastly in your library/executable:

const vit = @import("vitellus");

backend availability

take a look at the current status in src/backends/README.md

About

A WebGPU-inspired implementation in pure zig, allowing for cross compilation

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages