Skip to content

StereoKit/sk_renderer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

75 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

sk_renderer

A cross-platform MIT licensed forward renderer written in modern C with a Vulkan backend! Desgined for use in StereoKit.

Overview

sk_renderer provides a clean, immediate-mode rendering API designed for VR applications. It abstracts Vulkan complexity while maintaining high performance, targeting Android VR headsets (Vulkan 1.1), Linux, Windows, and macOS via MoltenVK.

Key Features:

  • Immediate-mode API with no scene graph overhead
  • Triple-buffered rendering with async resource uploads
  • PBR materials, compute shaders, shadow mapping, and post-processing
  • Optimized for mobile VR with MSAA and low CPU overhead

Building

Prerequisites: CMake 3.10+, Vulkan SDK

From the repository root:

cmake -B build
cmake --build build -j8 --target run
# For Android
cmake -B build-android -G Ninja -DCMAKE_ANDROID_NDK=$ANDROID_NDK_HOME -DCMAKE_SYSTEM_NAME=Android -DCMAKE_SYSTEM_VERSION=32 -DCMAKE_ANDROID_ARCH_ABI=arm64-v8a
cmake --build build-android -j8
cmake --build build-android -j8 --target run_apk

cmake -B build-androidx86 -G Ninja -DCMAKE_ANDROID_NDK=$ANDROID_NDK_HOME -DCMAKE_SYSTEM_NAME=Android -DCMAKE_SYSTEM_VERSION=32 -DCMAKE_ANDROID_ARCH_ABI=x86_64
cmake --build build-androidx86 -j8
cmake --build build-androidx86 -j8 --target run_apk
# For Windows .exe from linux with mingw-w64
cmake -B build-mingw -DCMAKE_TOOLCHAIN_FILE=cmake/mingw-toolchain.cmake -DCMAKE_BUILD_TYPE=Release
cmake --build build-mingw -j8
cd build-mingw/ && WINEPATH=./_deps/sdl2-build/ wine example/sk_renderer_test.exe ; cd -

This builds and runs the example application with multiple demo scenes. Use arrow keys to switch between scenes.

Documentation

About

Vulkan renderer for StereoKit

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •