12 repository-uri
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 este un motor de grafică în mișcare bazat pe noduri și un instrument de generare procedurală utilizat pentru a crea geometrie 3D și shadere. Utilizează un graf aciclic direcționat de operatori și nuclee de calcul accelerate prin GPU pentru a genera forme 3D complexe, în special prin utilizarea funcțiilor de distanță semnată (signed distance functions) și a simulărilor de particule. Motorul este extrem de extensibil printr-un framework de dezvoltare C# care suportă reîncărcarea la cald a codului (hot code reloading), permițând injectarea logicii personalizate a operatorilor în runtime-ul activ fără repornire. Se distinge, de asemenea, ca un controler de iluminare, capabil să traducă atributele spațiale 3D și rotațiile în protocoale DMX și ArtNet pentru a controla echipamentele fizice de scenă. Platforma acoperă o gamă largă de capabilități, inclusiv vizualizarea audio-reactivă prin analiză FFT, animația prin keyframe-uri și procedurală, și controlul extern în timp real prin integrarea MIDI și OSC. Pipeline-ul său de randurare suportă randarea bazată pe fizică (PBR) și construcția de shadere personalizate, în timp ce mediul oferă instrumente pentru projection mapping și implementarea de executabile standalone. Proiectul oferă un CLI pentru construirea aplicațiilor și o suprafață de dezvoltare pentru crearea de extensii C#.
Tracks pixel distance from the camera to resolve surface visibility and handle hidden surface removal in 3D scenes.
webgl-fundamentals este o resursă educațională cuprinzătoare și un tutorial grafic pentru învățarea randării 2D și 3D accelerate hardware folosind API-ul WebGL. Servește drept curriculum structurat de grafică 3D și referință de programare GPU, ghidând utilizatorii prin pipeline-ul grafic de la geometria de bază la tehnici avansate de randurare. Proiectul oferă ghiduri detaliate despre dezvoltarea shaderelor GLSL, inclusiv crearea de shadere de vertex și fragment. Se concentrează în mod specific pe implementarea modelelor de iluminare în timp real—cum ar fi iluminarea direcțională, punctuală și spot—și aplicarea fluxurilor de lucru de shadow mapping și texture mapping. Resursa acoperă o gamă largă de capabilități de grafică pe calculator, inclusiv matematică spațială 3D, implementarea sistemelor de camere pentru vederi perspective și ortografice, și utilizarea transformărilor matriciale. Include, de asemenea, instrucțiuni pentru efectuarea de calcule GPU de uz general (GPGPU) și optimizarea performanței de randurare prin vertex-uri indexate.
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.
Acest repository servește ca resursă educațională pentru dezvoltatorii care învață programarea grafică mobilă și embedded. Oferă o colecție de tutoriale și exemple de cod instrucționale axate pe implementarea tehnicilor de randare folosind interfața grafică OpenGL ES. Proiectul acoperă componentele fundamentale ale conductei grafice (graphics pipeline), inclusiv etapele programabile bazate pe shadere, transformările de coordonate bazate pe matrici și maparea texturilor. De asemenea, demonstrează tehnici practice pentru gestionarea hardware-ului grafic, cum ar fi streaming-ul buffer-elor de vertex-uri, gestionarea stării și eliminarea suprafețelor ascunse prin depth-buffer. Aceste materiale sunt concepute pentru a susține dezvoltarea conductelor de randare personalizate pentru aplicații mobile. Conținutul pune accent pe educația grafică cross-platform, oferind îndrumări privind scrierea shaderelor de vertex și fragment pentru a controla output-ul vizual pe hardware mobil.
Implements depth-buffer hidden surface removal to ensure correct visibility of 3D objects during the rasterization process.