C++ Pbr

Open-source C++ projects categorized as Pbr

Top 21 C++ Pbr Projects

  • filament

    Filament is a real-time physically based rendering engine for Android, iOS, Windows, Linux, macOS, and WebGL2

    Project mention: Show HN: 3D rendering toolkit for Flutter and/or Dart | news.ycombinator.com | 2024-06-28

    I'd like to share Thermion, an open source 3D rendering toolkit I made for Flutter and/or Dart.

    This came about when I needed a 3D renderer for a Flutter app I was building (https://polyvox.app). At the time, the only off-the-shelf option was to embed Unity, which wasn't ideal for a few reasons - unstable build process, compositing and transparency issues, and licensing uncertainty, just to name a few. In any event, frankensteining Unity (C#) together with Flutter (Dart) didn't seem like a great solution.

    After browsing for alternative renderers, I discovered Filament (https://github.com/google/filament), an open-source, cross-platform Physically Based Rendering engine from Google. I initially only wrote some simple bindings to embed Filament inside a Flutter Android/iOS app, but have since added more functionality, and have expanded this to cover Windows, MacOS and Web (there was Linux support at one point, too, but I haven't been keeping up with it I'm afraid).

    Last week I published the first Thermion release to pub.dev (https://pub.dev/packages/thermion_dart), and with that milestone it seemed a good time to share with HN. This is also a call for contributors to anyone who is interested in helping! The repository is hosted at https://github.com/nmfisher/thermion).

    Some examples:

    - A live DartPad playground so you can try the Dart-only (i.e. non-Flutter version) of Thermion in browser (Chrome only for now).

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • WickedEngine

    3D engine with modern graphics

    Project mention: Wicked Engine replaced Bullet with Jolt physics, immediate performance gains | news.ycombinator.com | 2024-06-24

    Doom 3 BFG Edition source port with updated DX12 / Vulkan renderer and modern game engine features

    Project mention: 1+ Years of Unemployment Lately, What To Do Next? | /r/cscareerquestions | 2023-12-07
  • SoftGLRender

    Tiny C++ Software Renderer / Rasterizer, and implements OpenGL and Vulkan renderers for comparison

  • Vulkan-glTF-PBR

    Physical based rendering with Vulkan using glTF 2.0 models

  • StratusGFX

    Realtime 3D rendering engine

    Project mention: Show HN: Realtime Global Illumination on Older Hardware [video] | news.ycombinator.com | 2023-07-24

    Hi everyone,

    A few months ago I posted here on HN about my open source 3D rendering engine. Since then I've been working on the new version which implements additional modern graphics techniques while still running on older GTX 10 series hardware.

    This includes emission mapping, FXAA+TAA, better mesh LOD generation and selection, but the biggest one was an overhaul of the global illumination system.

    The global illumination overhaul was the biggest aspect of the new release. The goal was better visuals than the previous version while maintaining equal performance. I wanted to outline how it works and what I had to do to make it work.

    = How It Works =

    * Direct lighting: Handled using standard rasterization pipeline with cascaded shadow mapping

    * 2nd bounce of light: Approximated by a set of virtual point lights

    * 3rd bounce of light: Not directly simulated but shadows are tapered to prevent harsh cutoff. VPLs can also be placed in open spaces to help spread light where it wouldn't be able to go without a true 3rd bounce.

    * Adaptive sampling: maximum of 4200 virtual lights per frame are selected. Each pixel computes lighting using between 1 and 10 random samples based on object's distance to camera and whether or not the lighting history was recently discarded for that pixel (recently discarded = temporarily sample more heavily).

    * Spatial resampling: each pixel can look at a few of its neighbors each frame. If the neighbor is a good fit it will merge that neighbor's samples into its own to increase the effective sample count.

    * Denoise and temporal accumulation: 2 level wavelet denoiser combined with temporal accumulation to get rid of most noise and stabilize the image even when in motion.

    = Maintaining Performance =

    There are a few key ways that this version is able to both look better yet have the same performance as the previous version on the same hardware.

    1) Reuse as much data as possible between frames. This is where the temporal accumulation aspect comes into play.

    2) VPLs are updated slowly over many frames to prevent any single frame from halting the system.

    3) With thousands of VPLs per frame, they can't all be factored in for each pixel. It's too much work. The approach was to instead sample from the set of VPLs randomly, reuse as much data spatially as possible, denoise the result and temporally accumulate 1 second worth of frames.

    I'm very happy with the results! Roughly the same performance as the previous version but better visuals.

    GitHub (open sourced under the MPL-2.0 license): https://github.com/KTStephano/StratusGFX

    Image Showreel: https://ktstephano.github.io/portfolio

    High-Level Tech Breakdown: https://ktstephano.github.io/rendering/stratusgfx/frame_anal...

  • harfang3d

    HARFANG 3D source code public repository

    Project mention: 3D Engine in Python: New update on Harfang 3D | /r/Python | 2023-08-23

    👉 Last release - Github

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
  • Yave

    Yet Another Vulkan Engine

    Project mention: Abstraction arround CommandBuffers and Queues | /r/vulkan | 2023-12-11


  • Cluster

    Clustered shading implementation with bgfx (by pezcode)

  • RayTracing

    Realtime GPU Path tracer based on OpenCL and OpenGL (by AlexanderVeselov)

  • Daemon

    The Dæmon game engine. With some bits of ioq3 and XreaL. (by DaemonEngine)

  • limitless-engine

    OpenGL C++ Graphics Engine

  • source-pbr

    Source Engine Physically Based Rendering implementation

  • quarkGL

    A subatomic OpenGL graphics library.

  • vulkan-renderer

    Game engine written with C++ and Vulkan.

  • Axomae

    A texture baking tool / 3D viewer

    Project mention: Am I not good enough? | /r/learnprogramming | 2023-09-23

    Hi, this is one of my projects today : https://github.com/HamilcarR/Axomae . Go check the first commits... It's shit and you'll see you pretty much always start small , and build upon it ... Do not be discouraged. As long as you don't give up, you'll always end up better than yesterday

  • muon

    A subatomic path tracer. (by voithos)

  • CubiCAD

    A fast and modern vulkan based rendering engine

  • Physically-based-deferred-shading

    First attempt at writing a good looking 3D renderer. Written in C++ using OpenGL on Ubuntu.

  • Hemlock-Renderer-Opengl-3D-PBR-Renderer

    Opengl based 3D real time PBR render engine.

    Project mention: OpenGL Based PBR render engine | /r/opengl | 2023-12-05

    Hello there , I developed this opengl based pbr render engine to learn more about graphics programming. I’d be happy to hear any advice on the process. The model was also modelled by me using Blender and Substance Painter . Here is the github repository for the project: https://github.com/KaganBaldiran/Hemlock-Renderer-Opengl-3D-PBR-Renderer

  • Cinder

    Cross-platform, modular, extendable ray-tracer. (by SparkyPotato)

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020).

C++ Pbr discussion

Log in or Post with

C++ Pbr related posts

  • Show HN: 3D rendering toolkit for Flutter and/or Dart

    4 projects | news.ycombinator.com | 28 Jun 2024
  • Filament – A Language for Fearless Hardware Design

    3 projects | news.ycombinator.com | 4 Mar 2024
  • DX12/Vulkan Doom 3 port with Blender maps

    1 project | news.ycombinator.com | 8 Nov 2023
  • What was the highlight of your education as a CS major?

    1 project | /r/csMajors | 23 Jun 2023
  • Looking for resources / mentor

    3 projects | /r/vulkan | 13 Jun 2023
  • C++: idtech 4.5 math library

    1 project | news.ycombinator.com | 10 May 2023
  • RBDOOM3-BFG 1.5.0 released: replaces OpenGL with DX12 and Vulkan using NVRHI API

    1 project | news.ycombinator.com | 30 Apr 2023
  • A note from our sponsor - InfluxDB
    www.influxdata.com | 21 Jul 2024
    Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality. Learn more →


What are some of the best open-source Pbr projects in C++? This list will help you:

Project Stars
1 filament 17,379
2 WickedEngine 5,566
3 RBDOOM-3-BFG 1,416
4 SoftGLRender 951
5 Vulkan-glTF-PBR 923
6 StratusGFX 637
7 harfang3d 530
8 Yave 466
9 Cluster 419
10 RayTracing 305
11 Daemon 293
12 limitless-engine 278
13 source-pbr 120
14 quarkGL 84
15 vulkan-renderer 20
16 Axomae 18
17 muon 17
18 CubiCAD 17
19 Physically-based-deferred-shading 11
20 Hemlock-Renderer-Opengl-3D-PBR-Renderer 7
21 Cinder 6

Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

Did you konow that C++ is
the 6th most popular programming language
based on number of metions?