VulkanLearn  by enjiushi

Vulkan render lab for real-time planet-scale scenes

created 8 years ago
296 stars

Top 90.6% on sourcepulse

GitHubView on GitHub
Project Summary

This project is a Vulkan-based rendering lab focused on creating large-scale, real-time planet scenes. It implements advanced techniques like physically based rendering, deferred rendering, and various post-processing effects, targeting developers interested in Vulkan and large-scene rendering.

How It Works

The project utilizes a scene graph similar to Unity, organizing rendering work with a frame graph and triple-ring swapchain. It features a sophisticated two-level memory management system for Vulkan buffers and images, optimizing resource allocation and avoiding per-frame descriptor set updates by using offsets. Materials are structured with four descriptor sets (global, per-frame, per-object, per-material) and employ indirect drawing for efficient rendering of multiple objects and material instances.

Quick Start & Requirements

  • Install: Vulkan SDK, CMake, and Visual Studio (for Windows).
  • Build: Generate Visual Studio project using cmake . -G "Visual Studio [version] Win64" and build.
  • Platform: Windows only, with potential for porting.
  • Docs: https://vulkan.lunarg.com/sdk/home

Highlighted Details

  • Implements runtime atmosphere scattering and IBL image generation.
  • Features advanced rendering techniques: deferred rendering, PBR, bloom, SSAO, SSR, depth of field.
  • Includes skeleton animation with dual quaternion interpolation.
  • Uses a reversed depth buffer for accurate world-space position reconstruction.

Maintenance & Community

  • Last updated May 2020.
  • No explicit community links or contributor information provided in the README.

Licensing & Compatibility

  • License not specified in the README.
  • Compatibility for commercial use or closed-source linking is undetermined.

Limitations & Caveats

The project is Windows-only and was last updated in May 2020, suggesting potential for outdated practices or unaddressed issues. The license is not specified, which may impact commercial adoption.

Health Check
Last commit

4 years ago

Responsiveness

Inactive

Pull Requests (30d)
0
Issues (30d)
0
Star History
2 stars in the last 90 days

Explore Similar Projects

Feedback? Help us improve.