a vulkan renderer
0

Configure Feed

Select the types of activity you want to include in your feed.

C 67.4%
Zig 22.6%
Slang 9.8%
Shell 0.2%
C++ 0.1%
144 3 0

Clone this repository

https://tangled.org/lark.tngl.sh/opal https://tangled.org/did:plc:3h54vxameml5phk4ygm4qvls
git@tangled.org:lark.tngl.sh/opal git@tangled.org:did:plc:3h54vxameml5phk4ygm4qvls

For self-hosted knots, clone URLs may differ based on your setup.



README.md

opal (a vulkan renderer)#

Currently developed on Linux, occasionally tested on MacOS (with KosmicKrisp), and aiming to support Windows (but not tested yet.)

Obligatory Sponza, showing screen space indirect lighting:

sponza

Running#

On Linux, it should be as simple as

zig build run -- ./assets/glTF-Sample-Assets/Models/Sponza/glTF/Sponza.gltf

(You can download assets using the ./tools/download-assets.sh script.)

Features (completed and planned)#

  • glTF loading
    • PBR shader
    • tangent space generation
    • emissive materials
    • transforms
    • custom samplers
    • animations
  • scenes (i.e. multiple assets)
  • mipmapped textures
  • (directional) shadows
    • CSM
    • PCF
    • GPU driven submission/improved cascade splits
  • MSAA with custom resolve pass (currently disabled)
  • GPU driven rendering
    • indirect rendering
    • GPU culling
  • improved lighting
    • IBL
    • point lights
    • (forward?) clustered rendering
  • post processing
    • HDR pipeline with ACES filmic tonemapping
    • SMAA
    • bloom
  • Screen space indirect lighting using visibility bitmasks
  • debug UI
  • tracing
    • Tracy CPU tracing
    • Tracy GPU zones