Thanks to visit codestin.com
Credit goes to github.com

Skip to content

wrapperup/cool-engine-odin

Repository files navigation

cool engine

image

Toy engine + Vulkan renderer I built for fun to learn Odin language (and some graphics techniques).

Features

  • Sparse entity system (ECS-like)
  • First person player controller based on Unreal character movement
  • Skeletal meshes and animation
  • Bindless System (see shaders/tonemapping.slang for a simple example!)
    • Bindless versions of Texture*, SamplerState and SamplerComparisonState, while keeping the usage the same.
    • Buffers use BDA
  • Metaprogram to generate assets tables and shader glue code
  • 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)
  • Very Crude Text Rendering
  • CSM
  • Compute skinning
  • Tools for baking IBL (irradiance SH and specular cubemaps)

How to build:

  1. Clone repo
  2. Run setup.bat once (this will download some large PhysX binaries and ensure submodules are up to date)
  3. Run build.bat to generate build/debug/main.exe

Screenshots

image

Dependencies

All the dependencies for this project are included as git submodules.

About

Odin version of my toy Vulkan game engine

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages