105 Resources
C/C++ deferred-rendering Libraries
Tiny C++ Software Renderer/Rasterizer
SoftGLRender Tiny C++ Software Renderer/Rasterizer, it implements the main GPU rendering pipeline, 3D models (GLTF) are loaded by assimp, and using GL
Lightweight framework for 3D rendering.
Ink 3D Ink 3D is a lightweight and easy to use framework for 3D rendering. Features High Performance Rendering Pipeline Forward Rendering / Deferred R
OpenGL Template Engine - a C++ OpenGL graphics engine which aimed to be a simple startup template for 3D OpenGL projects.
OpenGL Template Engine is a C++ OpenGL graphics engine which aimed to be a simple startup template for 3D OpenGL projects. This is the template I personally use for my own projects and provides me with the general OpenGL 3D render setup with model import and UI.
Graphics engine written in C++ using DirectX12/DXR
Adria-DX12 Graphics engine written in C++ using DirectX12/DXR. For successful build you will need textures that you can find here. Features Entity-Com
Graphics engine written in C++ using DirectX11
Adria-DX11 Graphics engine written in C++/DirectX11. For successful build you will need textures that you can find here. Features Entity-Component Sys
Vire is a C++ voxel rendering engine. It is written in C++14 and uses OpenGL for graphics.
Vire Vire is a C++ voxel rendering engine. It is written in C++14 and uses OpenGL for graphics. Downloads If you'd just like to just download and try,
Simple console tool to get all the information from DXGI and Direct3D 12 on current system
D3d12info Simple console tool to get all the information from DXGI and Direct3D 12 (D3D12) on current system. Built and tested on Windows 10 64-bit us
A rendering sample that demonstrates bindless deferred texturing using D3D12
Bindless Deferred Texturing and Decals Sample This project is a D3D12 rendering sample that implements a deferred renderer using bindless deferred tex
DirectX 11 and 12 library that provides a scalable and GCN-optimized solution for deferred shadow filtering
AMD ShadowFX The ShadowFX library provides a scalable and GCN-optimized solution for deferred shadow filtering. Currently the library supports uniform
A sample app that demonstrates several techniques for rendering real-time shadow maps
Shadows This is a D3D11 sample app that demonstrates several techniques for rendering real-time shadow maps. The following techniques are implemented:
Rendering isometric terrain in the C language on the TI-84+ CE.
Iso-Render Rendering beautiful isometric terrain, using sprites, in C on the TI-84+ CE. This program is currently in progress, its mostly an experimen
Physically-based GPU and CPU ray-tracer emerging on a surface
etx-tracer Physically-based GPU and CPU ray-tracer emerging on a surface. Features Vertex Connection and Merging algorithm (CPU and GPU); Full-spectra
rlottie is a platform independent standalone c++ library for rendering vector based animations and art in realtime
rlottie rlottie is a platform independent standalone c++ library for rendering vector based animations and art in realtime. Lottie loads and renders a
Fast Volume Rendering with Spatiotemporal Reservoir Resampling (Volumetric ReSTIR)
Fast Volume Rendering with Spatiotemporal Reservoir Resampling (Volumetric ReSTIR) Introduction This repo includes the source code for the SIGGRAPH As
Im3d is a small, self-contained library for immediate mode rendering of basic primitives
Im3d is a small, self-contained library for immediate mode rendering of basic primitives (points, lines, triangles), plus an immediate mode UI which provides 3d manipulation 'gizmos' and other tools. It is platform and graphics API agnostic and designed to be compatible with VR.
appleseed is an open source, physically-based global illumination rendering engine primarily designed for animation and visual effects.
appleseed is an open source, physically-based global illumination rendering engine primarily designed for animation and visual effects.
An OpenGL 4.3 / C++ 11 rendering engine oriented towards animation
aer-engine About An OpenGL 4.3 / C++ 11 rendering engine oriented towards animation. Features: Custom animation model format, SKMA, with a Blender exp
F3D - Fast and minimalist 3D viewer
F3D - Fast and minimalist 3D viewer By Michael Migliore and Mathieu Westphal. F3D (pronounced /fɛd/) is a VTK-based 3D viewer following the KISS princ
Hyperion Engine is a 3D game engine written in C++
Hyperion Engine About Hyperion Engine is a 3D game engine written in C++. We aim to make Hyperion be easy to understand and use, while still enabling
A texture compression algorithm for sprite sheets that allows decompression on the GPU during rendering.
CRABBY A texture compression format for spritesheets Crabby TL;DR Crabby is a compressed texture format for spritesheets and flipbook animations. What
Source code for pbrt, the renderer described in the third edition of "Physically Based Rendering: From Theory To Implementation", by Matt Pharr, Wenzel Jakob, and Greg Humphreys.
pbrt, Version 3 This repository holds the source code to the version of pbrt that is described in the third edition of Physically Based Rendering: Fro
BRDF LUT generation for PBR Pipelines
BRDF Generator This is a simple program that generates Smith GGX BRDF lookup tables for the split sum approximation of the UE4-based PBR pipeline. The
Immediate-mode fork of the mitsuba renderer. (See Wiki for branches.)
Mitsuba IM — Physically Based Renderer (Interactive Fork) Mitsuba IM is a fork of the comprehensive physically-based renderer mitsuba (http://mitsuba-
Real-Time Rendering with Lighting Grid Hierarchy I3D 2019 Demo
Real-Time Rendering with Lighting Grid Hierarchy I3D 2019 Demo Daqi Lin This demo is for the I3D 2019 paper Real-Time Rendering with Lighting Grid Hie
Source Code for "Ray Tracing Gems: High-Quality and Real-Time Rendering with DXR and Other APIs" by Eric Haines and Tomas Akenine-Möller
Apress Source Code This repository accompanies Ray Tracing Gems: High-Quality and Real-Time Rendering with DXR and Other APIs by Eric Haines and Tomas
An implementation of physically based shading & image based lighting in D3D11, D3D12, Vulkan, and OpenGL 4.
Physically Based Rendering (c) 2017 - 2018 Michał Siejak (@Nadrin) An implementation of physically based shading model & image based lighting in vario
The Forge Cross-Platform Rendering Framework PC Windows, Linux, Ray Tracing, macOS / iOS, Android, XBOX, PS4, PS5, Switch, Quest 2
The Forge is a cross-platform rendering framework supporting PC Windows 10 / 7 with DirectX 12 / Vulkan 1.1 with DirectX Ray Tracing API DirectX 11 Fa
3D GPUs Strange Attractors and Hypercomplex Fractals explorer - up to 256 Million particles in RealTime
glChAoS.P ⋅ wglChAoS.P - Ver 1.5.3 glChAoS.P / wglChAoS.P ⋅ opengl / webgl ⋅ Chaotic Attractors of Slight (dot) Particles RealTime 3D Strange Attracto
An experimental sprite rendering setup utilizing SSBO's, Threading, EnTT reactive systems, and array-textures based sprite caching.
entt-reactive An experimental sprite rendering setup utilizing pooled SSBO's, a multithreaded setup based on Even Todd's The Poor Man's Threading Arch
Yet another approach to developing a personal 3D graphics engine. Windows + Direct3D 12.
RegEngine Yet another approach to developing a personal 3D graphics engine. Windows + Direct3D 12. Work in progress... Nothing to see here. I just ren
Procedural world generator written in C++. Uses SFML for map rendering.
World Generator Archived as the code is a big mess and it'd be easier to start from scratch than to clean up this code. A procedural world generator i
High dynamic range (HDR) image comparison tool for graphics people. With an emphasis on OpenEXR images.
tev — The EXR Viewer A high dynamic range (HDR) image comparison tool for graphics people. tev allows viewing images through various tonemapping opera
Blender is the free and open source 3D creation suite
Blender is the free and open source 3D creation suite. It supports the entirety of the 3D pipeline-modeling, rigging, animation, simulation, rendering, compositing, motion tracking and video editing.
VTK is an open-source software system for image processing, 3D graphics, volume rendering and visualization
Introduction VTK is an open-source software system for image processing, 3D graphics, volume rendering and visualization. VTK includes many advanced a
OpenVDB - Sparse volume data structure and tools
OpenVDB AX Nano Houdini Website | Discussion Forum | Documentation OpenVDB is an open source C++ library comprising a novel hierarchical data structur
Modern & multiplatform game engine in C++17
RaZ Modern & multiplatform 3D game engine in C++17 Linux Windows macOS WebAssembly Compilation Unit tests No CI yet No CI yet N/A Codacy Coveralls Sum
Gcpp - Experimental deferred and unordered destruction library for C++
You can find a talk that describes this library here: Video: "Leak-Freedom in C++... By Default" (CppCon 2016) PDF slides gcpp: Deferred and unordered
Px - Single header C++ Libraries for Thread Scheduling, Rendering, and so on...
px 'PpluX' Single header C++(11/14) Libraries Name Code Description px_sched px_sched.h Task oriented scheduler. See more px_render px_render.h Multit
An open collection of tools and experiments for rendering wide-gamut scene-linear data into an image for an SDR or HDR display device.
Open Display Transform An open collection of tools and experiments for rendering wide-gamut scene-linear data into an image for an SDR or HDR display
OptimizedMetaBall - 🔮GPU-based real-time raytracing rendering of transparent metaball
Optimized Raytracing MetaBall: Acceleration and Transparent 🔮 GPU-based real-time raytracing rendering of transparent metaball. (Project for CS337 Co
An implementation of OpenGL 3.x-ish in clean C
PortableGL "Because of the nature of Moore's law, anything that an extremely clever graphics programmer can do at one point can be replicated by a mer
Experimental Rendering Backend for Manim.
Maki Mathematical Animation and Knickknack Inscriber (Maki), an experimental rendering backend for Manim. References christopher-besch/opengl_referenc
Code samples to show how to use Rendering features in Unreal :)
UE4GraphicsSample Code samples to show how to use Rendering features in Unreal :) Clear Texture Example (MAP_ClearTexture) Shows basics of how to use
Volumetric progressive photon mapping written in C++.
volppm Volumetric progressive photon mapping written in C++. WIP. Features Homogeneous medium Hero wavelength sampling for chromatic absorption/scatte
PlenOctree Volume Rendering (supports CUDA & fragment shader backends)
PlenOctree Volume Rendering This is a real-time PlenOctree volume renderer written in C++ using OpenGL, constituting part of the code release for: Ple
NVRHI (NVIDIA Rendering Hardware Interface) is a library that implements a common abstraction layer over multiple graphics APIs
NVRHI Introduction NVRHI (NVIDIA Rendering Hardware Interface) is a library that implements a common abstraction layer over multiple graphics APIs (GA
Filament is a real-time physically based rendering engine for Android, iOS, Windows, Linux, macOS, and WebGL2
Filament Filament is a real-time physically based rendering engine for Android, iOS, Linux, macOS, Windows, and WebGL. It is designed to be as small a
ORE (OpenGL Rendering Engine) is a rendering engine developed for my college minor project assessment.
ORE (OPENGL RENDERING ENGINE) What is ORE? ORE(OpenGL Rendering Engine) is a rendering engine with great and easy to use UI that allows the user to lo
All-in-one library and application for processing and rendering PDF documents.
All-in-one library and application for processing and rendering PDF documents. Contains document viewer/editor application, application for splitting/merging PDF documents and page manipulation, application for comparison of similar PDF documents.
Header only implementation of Progressive Photon Mapping: A Probabilistic Approach(PPMAPA) in C++.
ppmapa Header only implementation of Progressive Photon Mapping: A Probabilistic Approach(PPMAPA) in C++. In this reformulation of (stochastic) progre
a Vulkan real-time rendering engine (Windows and Linux).
Luz Engine A Vulkan engine that I'm developing to study and implement modern rendering techniques used by AAA games. Videos on Youtube Features How to
Authors' implementation of our SIGGRAPH Asia 2021 Technical Communications (Viewport-Resolution Independent Anti-Aliased Ray Marching on Interior Faces in Cube-Map Space) demo II. Fast real-time volume rendering for an external volume texture with mesh occlusion.
VolumeRender Authors' implementation of our SIGGRAPH Asia 2021 Technical Communications (Viewport-Resolution Independent Anti-Aliased Ray Marching on
minimal but extensible header only implementation of photon mapping in C++
photon_mapping minimal but extensible header only implementation of photon mapping in C++. Features Direct illumination with explicit light sampling I
Intrinsic is a Vulkan based cross-platform game and rendering engine
Intrinsic is a Vulkan based cross-platform game and rendering engine
A Minecraft like game with basic rendering, movement, block placement.. All made from scratch
Voxel-Game-Demo A Minecraft like game with basic rendering, movement, block placement.. All made from scratch Downlod Pre-compiled binaries (executabl
High Performance 3D Game Engine, with a high emphasis on Rendering
Electro High Performance 3D Game Engine, with a high emphasis on Rendering MainFeatures Rendering PBR Renderer (Cook–Torrance GGX) IBL (Image Based Li
Blur is a program made for easily and efficiently adding motion blur to videos through frame blending.
Blur Blur is a program made for easily and efficiently adding motion blur to videos through frame blending. Features The amount of motion blur is easi
Legion Low Level Rendering Interface provides a graphics API agnostic rendering interface with minimal CPU overhead and low level access to verbose GPU operations.
Legion-LLRI Legion-LLRI, or “Legion Low Level Rendering Interface” is a rendering API that aims to provide a graphics API agnostic approach to graphic
⚡High-performance rendering for python
ZenGL ZenGL is a minimalist Python module providing exactly one way to render scenes with OpenGL. pip install zengl Documentation zengl on Github zen
TotoroEngine is a toy 3D game engine using DirectX 12.
TotoroEngine TotoroEngine is a toy 3D game engine using DirectX 12. Prerequisites Only support Windows(Only test on Windows 10). If you have not insta
Archive of rendering applications.
RenderingArchive Archive of my old rendering applications. SoftwareRaytracer DeferredRenderer Deferred renderer with Blinn-Phong shading model. Has sh
Header only roguelike rendering library.
Header only roguelike rendering library. Support for Opengl33 and Raylib. Features Support for custom glyph atlasses with up to 65655 tiles of custom
ADOP: Approximate Differentiable One-Pixel Point Rendering
ADOP: Approximate Differentiable One-Pixel Point Rendering
Scuffed metaballs rendering using marching squares
Metaballs A rough visualization of Metaballs using marching squares. Still needs a lot of work tho. Inspired by this reducible video Build Instruction
Portable, Noto-powered font-rendering abstraction based on FreeType and Raqm
Mechascribe Mechascribe is still under construction and nothing is functional yet. Mechascribe is a text rendering abstraction trying to support as mu
Zep is a simple embeddable editor, with a rendering agnostic design and optional Vim mode
Zep - A Mini Editor Zep is a simple embeddable editor, with a rendering agnostic design and optional Vim mode. It is built as a shared modern-cmake li
Newton fractal in openframeworks, with shaders. (inspired by: 3b1b)
Newton-fractal Newton fractal in openframeworks, with shaders. (inspired by: 3b1b) Formula read more: Newton's method learn more: Newton's Fractal (wh
Local rendering driver for Scenic
Scenic.Driver.Local This is the main "local" renderer for Scenic applications. If you are on a Mac/PC/Linux machine, or building under Nerves, then th
iMSTK - Interactive Medical Simulation Toolkit
iMSTK - Interactive Medical Simulation Toolkit About Overview Participants Licensing Resources Documentation Discourse Issue tracker Prerequisites Get
Exploring the modern rendering landscape
HellTech Engine An WIP exploration of the modern rendering landscape with Vulkan 1.2+ on Windows. REQUIREMENTS: Win10+ Vulkan1.2+ dedicated GPU ( ?, p
Creating Unreal Engine infinite landscapes/oceans using the editor shader graph and rendering them using Geometry ClipMap. It also allows to spawn mesh on landscape surface. UE5 required
Procedural Landscapes and Oceans in Unreal Engine 5 using Editor Shader Graph Latest version of this project is available as a plugin for UE 4.26+ on
physically based renderer written in DX12 with image-based lighting, classic deffered and tiled lighting approaches
Features Classical Deferred Renderer Physically Based shading Image Based Lighting BRDF Disney model (Burley + GGX) Tangent space normal mapping Reinh
Vulkan Minimal Hybrid Rendering
Vulkan Minimal Hybrid Rendering A minimal hybrid rendering sample using ray query Features Rasterization Raytraced shadow Environment Vulkan SDK 1.2.1
A sample demonstrating hybrid ray tracing and rasterisation for shadow rendering and use of the FidelityFX Denoiser.
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
A free, fast, cross-platform volumetric codec for everyone.
The open source Universal Volumetric (".uvol") compressed interchange format for streaming mesh sequences. This project also includes a cross-platform player implementation using h.264 video for texture.
tlRender, or timeline render, is an early stage project for rendering editorial timelines
tlRender tlRender, or timeline render, is an early stage project for rendering editorial timelines. The project includes libraries for rendering timel
This repository accompanies Ray Tracing Gems II: Next Generation Rendering with DXR, Vulkan, and OptiX
Apress Source Code This repository accompanies Ray Tracing Gems II: Next Generation Rendering with DXR, Vulkan, and OptiX by Adam Marrs, Peter Shirley
🌞 A physically based monte carlo path tracer written in C++
Physically Based Path Tracer The below 3D model for the Head of Michelangelo's David bust was taken from this link. Other .obj files taken from The St
Software ray tracer written from scratch in C that can run on CPU or GPU with emphasis on ease of use and trivial setup
A minimalist and platform-agnostic interactive/real-time raytracer. Strong emphasis on simplicity, ease of use and almost no setup to get started with
A minimalist library with basic facilities for developing interactive real-time 3D applications, with a strong emphasis on simplicity and ease of use.
SlimEngine A minimalist and platform-agnostic base project for interactive graphical applications (2D/3D) with a strong emphasis on simplicity, ease o
StereoKit is an easy-to-use open source mixed reality library for building HoloLens and VR applications with C# and OpenXR!
StereoKit is an easy-to-use open source mixed reality library for building HoloLens and VR applications with C# and OpenXR! Inspired by libraries like XNA and Processing, StereoKit is meant to be fun to use and easy to develop with, yet still quite capable of creating professional and business ready software.
A C++/DirectX 11 implementation of "A Scalable and Production Ready Sky and Atmosphere Rendering Technique"
Atmosphere Renderer A C++/DirectX 11 implementation of "A Scalable and Production Ready Sky and Atmosphere Rendering Technique" Features interactive e
C++ game engine inspired by quake. Modern rendering and quake mapping tool integration.
Nuake Feel free to join the discord server for updates: What is it Nuake is a game engine written from scratch by myself. It is not meant to be a end-
High perfomance 3D & 2D Game Engine
Electro High perfomance 3D & 2D Game Engine MainFeatures Rendering PBR Renderer (Cook–Torrance GGX) IBL (Image Based Lightning) Cascaded Shadow maps M
font rendering, Zep vim emulator, microui integration
LabFont This project is an exploration of getting text into a rendeing pipeline based on @floooh's sokol. Frameworks such as Dear ImGui solve text ren
SoL (for Speed of Light, or sun in Spanish) is a Physically-based rendering library written in modern C++
SoL (for Speed of Light, or sun in Spanish) is a small rendering library written in C++20. Its goal is to strike a good balance between performance and usability, and allow easy experimentation for rendering researchers.
vkQuake is a Quake 1 port using Vulkan instead of OpenGL for rendering
Vulkan Quake port based on QuakeSpasm
OGRE is a scene-oriented, flexible 3D engine written in C++ designed to make it easier and more intuitive for developers to produce games and demos utilising 3D hardware.
OGRE (Object-Oriented Graphics Rendering Engine) is a scene-oriented, flexible 3D engine written in C++ designed to make it easier and more intuitive for developers to produce games and demos utilising 3D hardware. The class library abstracts all the details of using the underlying system libraries like Direct3D and OpenGL and provides an interface based on world objects and other intuitive classes.
lunasvg is a standalone SVG rendering library in C++
lunasvg is a standalone SVG rendering library in C++
CLUSEK-RT is a complex game engine written in C++ and the successor of the CLUSEK game engine
CLUSEK-RT is a complex game engine written in C++ and the successor of the CLUSEK game engine. This engine has been designed with a cross-platform design in mind. Thanks to Vulkan API it delivers a next-gen experience with ray tracing to both Linux and Windows platforms
Single header C library for rendering truetype text to the screen
kc_truetypeassembler.h Single header C library for assembling textured quads for text rendering using a graphics API. It generates a vertices and text
Minimal pathtracer using Vulkan RayTracing
Single File Vulkan Pathtracing Minimal pathtracer using Vulkan RayTracing Environment Vulkan SDK 1.2.162.0 GPU / Driver that support Vulkan Ray Tracin
Open3D: A Modern Library for 3D Data Processing
Open3D is an open-source library that supports rapid development of software that deals with 3D data. The Open3D frontend exposes a set of carefully selected data structures and algorithms in both C++ and Python. The backend is highly optimized and is set up for parallelization. We welcome contributions from the open-source community.
A path tracer based on hardware ray tracing
GoldenSun GoldenSun is a GPU path tracer. It uses hardware ray tracing APIs to do the tracing. As an experimental project, there is no release plan, n
Fractal rendering for Raspberry Pi Pico microcontroller
picofract Mandelbrot Set rendering demo for Raspberry Pi Pico microcontroller with Pico Display Pack. Building If you already have the Pimoroni SDK bu
X terminal emulator rendering through OpenGL ES Compute Shaders
Zutty is a terminal emulator for the X Window System, functionally similar to several other X terminal emulators such as xterm, rxvt and countless others
VE Font Cache is a single header-only GPU font rendering library designed for game engines.
VE Font Cache is a single header-only GPU font rendering library designed for game engines. It aims to: Be fast and simple to integrate. Take advantag
OpenType shaping library in C
Hamza Hamza is a lightweight, fast and portable C90 OpenType library. It was written to be primarily for Arabic but also supports basic-shaping (Latin
CommonMark parsing and rendering library and program in C
cmark cmark is the C reference implementation of CommonMark, a rationalized version of Markdown syntax with a spec. (For the JavaScript reference impl
Yocto/GL: Tiny C++ Libraries for Data-Driven Physically-based Graphics
Yocto/GL: Tiny C++ Libraries for Data-Oriented Physically-based Graphics Yocto/GL is a collection of small C++17 libraries for building physically-bas