12 Repos
Mechanisms for tracking pixel depth to resolve surface visibility and hidden surface removal.
Distinct from Visibility Utilities: None of the UI-focused visibility candidates are appropriate for 3D graphics depth-buffer implementations.
Explore 12 awesome GitHub repositories matching graphics & multimedia · Depth Buffers. Refine with filters or upvote what's useful.
Tinyrenderer is a C++ library designed as an educational tool for building a 3D graphics pipeline from scratch. It provides a software-defined rendering environment that executes all geometric transformations and rasterization tasks on the central processor, intentionally avoiding reliance on external hardware acceleration or graphics libraries. The project serves as a pedagogical resource for understanding the fundamental mathematical principles of computer graphics. It enables users to implement custom shader pipelines and core rendering techniques, such as barycentric coordinate calculatio
The renderer tracks the depth of each pixel during rendering and discards fragments that are obscured by previously drawn surfaces to ensure accurate hidden surface removal.
This project is a cross-platform graphics and compute framework that provides a unified, hardware-agnostic abstraction layer for rendering and parallel processing. It enables developers to build high-performance applications that execute consistently across diverse operating systems and hardware backends, including Vulkan, Metal, and DirectX. By mapping high-level graphics commands to native APIs, it serves as a portable foundation for both real-time 3D rendering and general-purpose GPU computing. The framework distinguishes itself through a robust architecture that supports both native deskt
Maintains z-coordinate buffers to automatically determine pixel visibility and draw order.
This repository is a comprehensive collection of functional 2D and 3D demo projects and implementation samples for the Godot Game Engine. It serves as an interactive tutorial and reference library, providing a working codebase to demonstrate how to apply engine features in real-world scenarios. The collection focuses on practical implementation guides, covering a wide array of technical capabilities from basic engine fundamentals to advanced rendering and scripting techniques. It allows users to study the application of node-based composition, asset pipelines, and game logic through direct ex
Adjusts camera near and far clipping planes to prevent Z-fighting and flickering of overlapping 3D objects.
Quake III Arena is a first-person shooter game engine and arena combat simulator. It consists of the original C++ game source code for a cross-platform 3D game designed to run on Windows, Linux, and Mac. The project provides the source code necessary to render a first-person shooter experience, focusing on player-versus-player battles in closed 3D environments. It serves as a resource for legacy game preservation and the study of early 3D game engine construction. The engine incorporates spatial partitioning, client-side prediction, and state synchronization to manage multiplayer networking
Implements a Z-buffer to track pixel depth and resolve surface visibility for 3D rendering.
meshoptimizer is a 3D mesh optimization library designed to compress geometry and animation data, reduce memory usage, and improve rendering performance. It functions as a geometry simplification tool, a mesh compression codec, and a utility for preparing data for mesh shaders and raytracing acceleration. The library provides specialized toolsets for partitioning meshes into clusters and meshlets to optimize hardware-accelerated rendering pipelines. It also includes helpers for generating opacity micromaps and spatial clusters to increase the speed of hardware ray-triangle intersection tests.
Creates a specialized index buffer for depth-only rendering passes to reduce the total count of unique vertices.
Tixl ist eine Node-basierte Motion-Graphics-Engine und ein Tool zur prozeduralen Generierung, das zur Erstellung von 3D-Geometrie und Shadern verwendet wird. Es nutzt einen gerichteten azyklischen Graphen von Operatoren und GPU-beschleunigte Compute-Kernel, um komplexe 3D-Formen zu generieren, insbesondere durch die Verwendung von Signed-Distance-Functions und Partikelsimulationen. Die Engine ist über ein C#-Entwicklungsframework hochgradig erweiterbar, das Hot-Code-Reloading unterstützt, wodurch benutzerdefinierte Operator-Logik in die aktive Laufzeitumgebung injiziert werden kann, ohne diese neu zu starten. Sie zeichnet sich zudem als Lichtsteuerung aus, die in der Lage ist, räumliche 3D-Attribute und Rotationen in DMX- und ArtNet-Protokolle zu übersetzen, um physische Bühnenelemente anzusteuern. Die Plattform deckt ein breites Spektrum an Funktionen ab, einschließlich audio-reaktiver Visualisierung mittels FFT-Analyse, Keyframe- und prozeduraler Animation sowie Echtzeit-Steuerung von externen Geräten durch MIDI- und OSC-Integration. Die Rendering-Pipeline unterstützt physikalisch basiertes Rendering (PBR) und die Konstruktion benutzerdefinierter Shader, während die Umgebung Werkzeuge für Projection-Mapping und die Bereitstellung eigenständiger ausführbarer Dateien bietet. Das Projekt bietet ein CLI für das Erstellen von Anwendungen und eine Entwicklungsoberfläche für das Erstellen von C#-Erweiterungen.
Tracks pixel distance from the camera to resolve surface visibility and handle hidden surface removal in 3D scenes.
webgl-fundamentals ist eine umfassende Bildungsressource und Grafik-Tutorial für das Erlernen von hardwarebeschleunigtem 2D- und 3D-Rendering unter Verwendung der WebGL-API. Es dient als strukturierter Lehrplan für 3D-Grafik und Referenz für GPU-Programmierung und führt Benutzer durch die Grafik-Pipeline von grundlegender Geometrie bis hin zu fortgeschrittenen Rendering-Techniken. Das Projekt bietet detaillierte Anleitungen zur GLSL-Shader-Entwicklung, einschließlich der Erstellung von Vertex- und Fragment-Shadern. Der Fokus liegt speziell auf der Implementierung von Echtzeit-Beleuchtungsmodellen – wie Richtungs-, Punkt- und Spot-Lichtquellen – sowie der Anwendung von Shadow-Mapping- und Texture-Mapping-Workflows. Die Ressource deckt ein breites Spektrum an Computergrafik-Funktionen ab, einschließlich 3D-Raummathematik, Implementierung von Kamerasystemen für perspektivische und orthografische Ansichten sowie die Verwendung von Matrix-Transformationen. Sie enthält zudem Anleitungen zur Durchführung von General-Purpose-GPU-Computing (GPGPU) und zur Optimierung der Rendering-Performance durch indizierte Vertices.
Implements a Z-buffer to manage pixel visibility and ensure correct object occlusion in 3D scenes.
ReShade is a post-processing shader injector that hooks into DirectX, OpenGL, and Vulkan rendering pipelines to apply custom shaders in real time. It operates by injecting a DLL into the target process, intercepting graphics API calls, and inserting a configurable pipeline of user-selected shader effects that read color and depth buffers to alter the final output. The project distinguishes itself through depth buffer auto-detection, which automatically identifies the depth-stencil attachment in the rendering pipeline, enabling per-pixel depth effects such as ambient occlusion and depth-of-fie
Automatically identifies the depth-stencil buffer to enable per-pixel depth effects like ambient occlusion.
gsplat is a high-performance differentiable rasterization engine for 3D Gaussian splatting, designed for real-time novel view synthesis from 2D images. It provides a complete pipeline for reconstructing 3D scenes by optimizing differentiable Gaussian representations, training models from COLMAP-processed captures or proprietary device files, and generating new viewpoints through a CUDA-accelerated rendering backend. The framework distinguishes itself through memory-optimized CUDA kernels that reduce training memory usage by up to 4x compared to standard implementations while matching publishe
Generates depth maps from 3D Gaussian scenes during the rasterization process.
VulkanTutorial is a comprehensive educational guide and instructional resource for implementing low-level rendering and compute pipelines using the Vulkan API. It serves as a GPU programming course and a step-by-step guide for building high-performance graphics applications from scratch. The project provides detailed instruction on the full graphics pipeline, including the compilation of shaders to SPIR-V bytecode, the configuration of rasterization states, and the implementation of 3D graphics pipelines. It also covers general-purpose GPU compute programming, focusing on the execution of par
Implements depth testing to prevent fragments from being drawn over closer geometry using Z-coordinate comparisons.
Renderer is a low-level software graphics engine implemented in standard C for educational and experimental real-time computer graphics. It functions as a CPU rasterizer that computes vertex transformations, clipping, texturing, and lighting entirely through software computation without requiring hardware acceleration. The software includes a geometry pipeline supporting depth and alpha testing, geometry clipping and culling, and perspective-correct attribute interpolation. Its lighting and shading subsystem provides advanced physical simulation including metallic-roughness and specular-gloss
Resolves visible surfaces and transparency using depth buffer comparisons and alpha evaluations.
Dieses Repository dient als Bildungsressource für Entwickler, die mobile und eingebettete Grafikprogrammierung erlernen. Es bietet eine Sammlung von Tutorials und instruktiven Codebeispielen, die sich auf die Implementierung von Rendering-Techniken unter Verwendung der OpenGL-ES-Grafikschnittstelle konzentrieren. Das Projekt deckt die grundlegenden Komponenten der Grafik-Pipeline ab, einschließlich Shader-basierter programmierbarer Stufen, Matrix-basierter Koordinatentransformationen und Textur-Mapping. Es demonstriert zudem praktische Techniken zur Verwaltung von Grafikhardware, wie Vertex-Buffer-Streaming, State-Management und Depth-Buffer-Hidden-Surface-Removal. Diese Materialien sind darauf ausgelegt, die Entwicklung benutzerdefinierter Rendering-Pipelines für mobile Anwendungen zu unterstützen. Der Inhalt betont die plattformübergreifende Grafikausbildung und bietet Anleitungen zum Schreiben von Vertex- und Fragment-Shadern zur Steuerung der visuellen Ausgabe auf mobiler Hardware.
Implements depth-buffer hidden surface removal to ensure correct visibility of 3D objects during the rasterization process.