j
jaipkg.dev
packages / app / cool-engine-jai

cool-engine-jai

ae7d012app

It's one of the engines of all time.

No license · updated 10 months ago

cool engine

image

Toy engine + Vulkan renderer I built for fun to learn Odin language, then ported to Jai (to utilize it's awesome metaprogramming features).

Features

  • Sparse entity system (ECS-lite)
  • First person player controller based on Unreal character movement
  • Skeletal meshes and animation
  • Bindless System (see shaders/text.slang for a simple example!)
    • Bindless versions of Texture, SamplerState and SamplerComparisonState as handles, while keeping the usage the same.
    • Buffers use BDA
  • glTF loading of meshes and skeletal meshes
  • Physics (with Physx 5.1)

Renderer Features

  • PBR + IBL + HDR based on Filament
  • Point lights
  • Tonemapping (tony-mc-mapface)
  • CSM
  • Compute skinning
  • Tools for baking IBL (irradiance SH and specular cubemaps)

Screenshots

Dependencies

All the dependencies for this project are included as git submodules. Some of them are forked from another repo!