Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Vulkan
  3. Vulkan-glTF-PBR

Vulkan-glTF-PBR

MITC++

A Vulkan-based physically-based rendering (PBR) implementation for loading and rendering glTF 2.0 models with image-based lighting.

GitHubGitHub
1.2k stars142 forks0 contributors

What is Vulkan-glTF-PBR?

Vulkan-glTF-PBR is a C++ implementation of physically-based rendering (PBR) using the Vulkan graphics API, designed to load and render glTF 2.0 models with full image-based lighting. It generates necessary texture maps on the GPU and supports key glTF extensions, serving as a reference for modern graphics programming.

Target Audience

Graphics programmers and developers working with Vulkan who need a practical example of implementing PBR pipelines or loading glTF assets in real-time applications.

Value Proposition

It provides a production-ready, cross-platform reference that closely follows the Khronos glTF PBR specification, with on-the-fly GPU texture generation and support for advanced glTF features like animations and Draco compression.

Overview

Physical based rendering with Vulkan using glTF 2.0 models

Use Cases

Best For

  • Learning Vulkan-based PBR implementation techniques
  • Rendering glTF 2.0 models with image-based lighting in Vulkan
  • Cross-platform graphics development targeting Windows, Linux, and Android
  • Generating BRDF lookup tables and environment maps on the GPU
  • Implementing support for glTF extensions like Specular-Glossiness workflow
  • Building educational tools for real-time graphics programming

Not Ideal For

  • Projects requiring immediate startup without GPU texture generation delays
  • Teams needing a full game engine with built-in tools like physics or UI systems
  • Applications targeting platforms without Vulkan support, such as macOS or iOS
  • Developers requiring complete glTF 2.0 spec compliance, including all features like morph targets

Pros & Cons

Pros

On-the-Fly GPU Texture Generation

Generates essential PBR texture maps like BRDF lookup tables and environment maps on the GPU during startup, eliminating the need for external preprocessing tools.

Cross-Platform Build Support

Includes CMake configurations and dependencies for Windows, Linux, and Android, making it straightforward to compile and run on multiple operating systems.

Educational Reference Quality

Closely follows the Khronos glTF PBR specification with clear code and a YouTube tutorial playlist, serving as a practical learning resource for Vulkan developers.

Extension and Feature Support

Implements key glTF extensions like KHR_materials_pbrSpecularGlossiness and supports animations, Draco compression, and node hierarchies for advanced rendering.

Cons

Incomplete glTF 2.0 Support

The README explicitly states that the model loader does not implement all glTF 2.0 features, such as morph targets, which limits compatibility with some assets.

Startup Performance Overhead

Generates all required texture maps on the GPU during startup, which can cause significant delays, especially for complex scenes or on lower-end hardware.

Complex Dependency Management

Requires recursive cloning with submodules and manual steps for features like Draco compression, adding setup complexity and potential build issues.

Frequently Asked Questions

Quick Stats

Stars1,167
Forks142
Contributors0
Open Issues1
Last commit24 days ago
CreatedSince 2018

Tags

#vulkan#real-time-graphics#graphics#gpu-compute#pbr#android#c-plus-plus#physically-based-rendering#gltf#cross-platform#3d-rendering

Built With

V
Vulkan
C
CMake
C
C++

Included in

Vulkan3.7k
Auto-fetched 5 hours ago

Related Projects

vkQuakevkQuake

Vulkan Quake port based on QuakeSpasm

Stars2,175
Forks262
Last commit2 days ago
Ray Tracing In One Weekend (Vulkan RTX)Ray Tracing In One Weekend (Vulkan RTX)

Implementation of Peter Shirley's Ray Tracing In One Weekend book using Vulkan and NVIDIA's RTX extension.

Stars1,485
Forks131
Last commit10 months ago
LunarG's SamplesLunarG's Samples

Vulkan Samples

Stars1,420
Forks303
Last commit4 years ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub