12 مستودعات
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 هو محرك رسومات متحركة قائم على العقد وأداة توليد إجرائية تُستخدم لإنشاء هندسة ثلاثية الأبعاد وتظليل (Shaders). يستخدم رسمًا بيانيًا غير دوري موجهًا للمشغلين ونوى حوسبة مسرعة بواسطة GPU لتوليد أشكال ثلاثية الأبعاد معقدة، خاصة من خلال استخدام دوال المسافة الموقعة ومحاكاة الجسيمات. المحرك قابل للتوسع للغاية عبر إطار عمل تطوير C# يدعم إعادة تحميل الكود الساخن، مما يسمح بحقن منطق المشغل المخصص في وقت التشغيل النشط دون إعادة التشغيل. كما يتميز كجهاز تحكم في الإضاءة، قادر على ترجمة السمات المكانية ثلاثية الأبعاد والدوران إلى بروتوكولات DMX و ArtNet لتشغيل تجهيزات المسرح المادية. تغطي المنصة مجموعة واسعة من القدرات، بما في ذلك التصور التفاعلي للصوت عبر تحليل FFT، والرسوم المتحركة الرئيسية والإجرائية، والتحكم الخارجي في الوقت الفعلي من خلال تكامل MIDI و OSC. يدعم خط أنابيب العرض الخاص به العرض القائم على الفيزياء وبناء التظليل المخصص، بينما توفر البيئة أدوات لرسم الخرائط الإسقاطية ونشر الملفات التنفيذية المستقلة. يوفر المشروع CLI لبناء التطبيقات وسطح تطوير لإنشاء امتدادات C#.
Tracks pixel distance from the camera to resolve surface visibility and handle hidden surface removal in 3D scenes.
webgl-fundamentals هو مورد تعليمي شامل ودرس رسومات لتعلم العرض ثنائي وثلاثي الأبعاد المسرع بالأجهزة باستخدام واجهة برمجة تطبيقات WebGL. يعمل كمنهج رسومات ثلاثية الأبعاد منظم ومرجع برمجة GPU، حيث يوجه المستخدمين عبر خط أنابيب الرسومات من الهندسة الأساسية إلى تقنيات العرض المتقدمة. يوفر المشروع أدلة مفصلة حول تطوير تظليل GLSL، بما في ذلك إنشاء تظليل الرؤوس والشظايا. يركز بشكل خاص على تنفيذ نماذج الإضاءة في الوقت الفعلي—مثل الإضاءة الاتجاهية، والنقطية، والموضعية—وتطبيق سير عمل تعيين الظل وتعيين النسيج. يغطي المورد سطحًا واسعًا من قدرات رسومات الكمبيوتر، بما في ذلك الرياضيات المكانية ثلاثية الأبعاد، وتنفيذ نظام الكاميرا للعروض المنظورية والمتعامدة، واستخدام تحويلات المصفوفة. كما يتضمن تعليمات لإجراء حوسبة GPU للأغراض العامة (GPGPU) وتحسين أداء العرض من خلال الرؤوس المفهرسة.
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.
يعمل هذا المستودع كمورد تعليمي للمطورين الذين يتعلمون برمجة الرسوميات للهواتف المحمولة والأنظمة المدمجة. يوفر مجموعة من البرامج التعليمية وأمثلة الأكواد التعليمية التي تركز على تنفيذ تقنيات العرض باستخدام واجهة رسومات OpenGL ES. يغطي المشروع المكونات الأساسية لخط أنابيب الرسوميات، بما في ذلك المراحل القابلة للبرمجة القائمة على التظليل (shader)، وتحويلات الإحداثيات القائمة على المصفوفة، ورسم الخرائط النسيجية (texture mapping). كما يوضح تقنيات عملية لإدارة عتاد الرسوميات، مثل بث مخزن الرؤوس (vertex buffer streaming)، وإدارة الحالة، وإزالة الأسطح المخفية لمخزن العمق. تم تصميم هذه المواد لدعم تطوير خطوط أنابيب عرض مخصصة لتطبيقات الهاتف المحمول. يؤكد المحتوى على تعليم الرسوميات عبر المنصات، ويقدم توجيهات حول كتابة تظليل الرؤوس والأجزاء للتحكم في المخرجات البصرية على أجهزة الهاتف المحمول.
Implements depth-buffer hidden surface removal to ensure correct visibility of 3D objects during the rasterization process.