Cala is the Quenya word for light so this project is a simulatio of light.
- Linux support
- Render graph
- Visibility buffer
- Mesh shaders
- Meshlet frustum culling
- Mesh LOD
- Direct and point lights
- Clusterd lights
- Cascading shadow maps for direct light
- PCSS (Percentage Closer Soft Shadows) for direct light
- PCF (Percentage Closer Filtering) for point light
- Shader reflection and hot reloading
- Multiple tonemaping functions available (AGX, ACES, Reinhard, ...)
git clone --recursive https://github.com/olorin99/Cala.git
cd Cala
mkdir build
cd build
cmake ..
make
A static library and an executable called main should be built. To use simply link the static library or run the executable to test. The executable supports drag and drop for gltf files. So can simply drag gltf files into the window to view them using Cala.
- SDL2 - windowing system
- meshoptimizer - Meshlet and LOD generation
- spirv-cross - spirv reflection
- spirv-headers
- spirv-tools
- glslang
- shaderc - glsl compilation
- Ende - some common functionality
- fastgltf - gltf loader
- imgui - gui
- implot - nice plots for gui
- node_editor - create graphs in gui
- stb_image - image loader
- vma - vulkan memory allocator
- nlohmann json - json parser
- tsl - robin hash map



