13 dépôts
Systems for implementing directional and ambient light sources and calculating shadow occlusion in 3D environments.
Distinct from Lighting and Shadows: Candidates were either for 2D UI shadows or low-level depth-map algorithms; this is a high-level lighting feature.
Explore 13 awesome GitHub repositories matching graphics & multimedia · 3D Lighting and Shadows. Refine with filters or upvote what's useful.
A-Frame is a declarative 3D scene engine and WebXR framework used to build virtual and augmented reality experiences directly in the web browser. It utilizes an entity component system where generic objects are assigned behaviors through attachable components and lifecycle hooks. The framework allows the assembly of immersive environments using HTML-like markup to define geometries, lighting, and materials. It implements WebXR standards to ensure consistent playback across different hardware and browsers, including support for VR headsets, desktops, and mobile devices. The system covers a br
Provides directional and ambient lights with support for shadows and tone mapping.
jetson-inference is a set of libraries and tools for executing optimized deep learning models on embedded GPU hardware. Its primary purpose is to enable real-time computer vision and AI inference at the edge with low latency and high throughput. The project distinguishes itself through high-performance streaming analytics and the ability to execute concurrent AI pipelines on auto-grade silicon. It provides specialized support for multi-sensor stream processing, utilizing zero-copy data transport to load camera frames directly into GPU memory. The codebase covers a broad surface of capabiliti
Produces realistic shadows around objects that occlude rays of light in 3D environments.
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
Adds directional and positional light sources to illuminate 3D surfaces and create realistic shadows.
This project is a custom lighting shader for the Unity Universal Render Pipeline designed to produce a non-photorealistic cartoon visual style. It serves as a technical example for implementing a toon shader and stylized lighting for 3D objects. The implementation achieves a cel-shaded aesthetic by replacing standard physically based rendering with a custom lighting model. It utilizes ramp-based light attenuation to map smooth gradients into discrete color steps. The project covers the development of HLSL shaders within the Universal Render Pipeline, focusing on fragment-stage lighting calcu
Implements a custom lit shader to control the interaction of light and shadow on surfaces.
Potree est un moteur de rendu et une visionneuse de nuages de points basé sur le web, conçu pour la visualisation et l'analyse de jeux de données spatiaux 3D massifs et de scans LIDAR. Il fonctionne comme un outil d'analyse géospatiale qui permet l'exploration interactive de nuages de points haute densité directement dans un navigateur web via WebGL. Le système utilise l'éclairage eye-dome pour améliorer la perception de la profondeur des structures 3D et prend en charge la réalité virtuelle pour une exploration spatiale immersive. Il offre des capacités spécialisées pour la documentation de scènes 3D via des annotations hiérarchiques et la création de visites guidées animées par caméra. La plateforme inclut des outils d'analyse de données géospatiales, tels que des mesures de distance et de surface, des profils d'élévation et la superposition de fichiers shapefiles et geopackages externes. Les utilisateurs peuvent isoler des caractéristiques spécifiques en utilisant le filtrage par attributs et l'isolation par volume de découpe, tandis que des images externes peuvent être alignées et synchronisées avec la perspective du nuage de points. Potree utilise un format binaire pré-traité et une indexation spatiale basée sur un octree pour faciliter le streaming de données asynchrone et le rendu par niveau de détail pour les jeux de données à grande échelle.
Applies eye-dome lighting to simulate ambient occlusion, significantly enhancing the depth perception of 3D structures.
glslViewer est un sandbox et moteur de rendu de shaders GLSL en console conçu pour le test et l'itération en temps réel de shaders de fragment et de sommet. Il fonctionne comme une visionneuse à rechargement en direct qui met automatiquement à jour la sortie visuelle lorsque les fichiers sources sont modifiés sur le disque. Le système fonctionne également comme un moteur de rendu headless, capable de générer des trames et d'exporter des images sans écran physique. Le projet se distingue par son support du rendu multi-passe, utilisant le ping-pong de tampons de trame et des pyramides de convolution pour exécuter des effets visuels complexes. Il dispose d'un contrôleur OSC intégré qui traduit les messages réseau Open Sound Control en uniformes et définitions de shader, permettant une manipulation à distance en temps réel des visuels. Le moteur de rendu couvre un large éventail de capacités, incluant l'importation de géométrie 3D et de propriétés de matériaux, ainsi que le streaming de flux audio et vidéo directement dans des textures GPU. Il fournit un pipeline complet pour injecter des données spatiales, telles que les matrices de caméra et les positions d'éclairage, et prend en charge la gestion dynamique des définitions de préprocesseur pour altérer le comportement du shader pendant l'exécution.
Injects camera matrices, light positions, and shadow maps to render complex 3D scenes within shaders.
webgl-fundamentals est une ressource éducative complète et un tutoriel graphique pour apprendre le rendu 2D et 3D accéléré par le matériel en utilisant l'API WebGL. Il sert de programme d'études structuré sur les graphismes 3D et de référence pour la programmation GPU, guidant les utilisateurs à travers le pipeline graphique, de la géométrie de base aux techniques de rendu avancées. Le projet fournit des guides détaillés sur le développement de shaders GLSL, y compris la création de shaders de sommets (vertex) et de fragments. Il se concentre spécifiquement sur l'implémentation de modèles d'éclairage en temps réel — tels que l'éclairage directionnel, ponctuel et spot — et l'application de flux de travail de shadow mapping et de texture mapping. La ressource couvre une large surface de capacités en infographie, y compris les mathématiques spatiales 3D, l'implémentation de systèmes de caméra pour les vues en perspective et orthographiques, et l'utilisation de transformations matricielles. Elle inclut également des instructions pour effectuer du calcul GPU généraliste (GPGPU) et optimiser les performances de rendu via des sommets indexés.
Implements a comprehensive system for directional, point, and spot lighting along with shadow mapping for 3D realism.
OpenMoonray est un système de rendu physiquement réaliste et un moteur de path-tracing de qualité production. Il simule le comportement physique de la lumière pour générer des images photoréalistes haute fidélité et est compatible avec les fichiers Universal Scene Description pour visualiser des scènes 3D complexes et des pipelines de production. Le système est conçu comme un framework de rendu distribué, capable de répartir les charges de travail computationnelles lourdes sur plusieurs machines ou clusters cloud pour accélérer la génération d'images. Il intègre OpenColorIO pour une gestion cohérente des couleurs sur différents périphériques d'affichage et espaces colorimétriques. Le projet couvre un large éventail de capacités, notamment la création de géométrie et de matériaux 3D, le rendu d'effets volumétriques et la stylisation non photoréaliste. Il dispose d'un pipeline de compositing post-rendu pour le traitement d'images et d'une suite d'outils de surveillance pour l'analyse des performances de rendu et l'inspection des logs. Le moteur prend en charge l'intégration avec des logiciels 3D externes et des applications hôtes via une architecture de plugins et des délégués de rendu Hydra.
Suppresses or prevents specific geometry from casting shadows relative to designated light sets.
Trois est un gestionnaire de scène 3D déclaratif et une bibliothèque de composants Three.js pour Vue 3. Il agit comme un wrapper réactif qui mappe les graphes de scène et les matériaux Three.js vers un arbre de composants Vue, permettant la création de moteurs de rendu 3D basés sur le web en utilisant des templates de type HTML. Le projet synchronise un arbre de composants réactif avec un graphe de scène 3D via une liaison d'état basée sur des proxys et un mappage de propriétés réactif. Il dispose d'un graphe de scène basé sur des composants qui gère les transformations spatiales et les durées de vie des objets, intégrant une boucle requestAnimationFrame avec les événements de cycle de vie des composants. La bibliothèque couvre un large éventail de capacités 3D, y compris la génération de géométrie, le rendu instancié et un pipeline de chargement d'actifs pour des formats comme GLTF et FBX. Elle fournit des outils complets pour l'éclairage et les ombres, une variété de types de matériaux allant du basique au physiquement basé et des shaders personnalisés, ainsi qu'une gestion du viewport via des caméras en perspective et des contrôles orbitaux. Les fonctionnalités supplémentaires incluent des effets de post-traitement, le suivi des entrées de pointeur et l'intégration du mode réalité virtuelle. Le package prend en charge l'importation via des réseaux de diffusion de contenu (CDN) pour un prototypage rapide.
Provides controls to enable or disable shadow casting for specific geometry relative to light sources.
minecraft-weekend is a voxel engine designed for rendering infinite three-dimensional environments. It utilizes procedural generation and mathematical noise functions to automate the creation of diverse landscapes, biomes, and height variations. The engine implements a voxel rendering system using buffer-based meshes and chunk-based world partitioning to manage GPU performance and memory usage. It includes a dynamic lighting system that calculates light values, transparency, and distance-based fog to simulate atmospheric depth. The project covers 3D game physics simulation through axis-align
Implements 3D lighting and atmospheric effects to create visual depth and lighting values for blocks.
Ce projet est une solution de rendu pour Unity conçue pour obtenir une esthétique anime 2D sur des modèles 3D. Il fonctionne comme un pipeline de rendu de style anime qui simule l'art dessiné à la main via un cel shading multi-couches, des transitions de lumière personnalisées et une gradation d'ombre. Le système inclut un générateur de contour basé sur les sommets qui extrude les sommets le long de leurs normales pour créer des bordures cohérentes autour des personnages. Il fournit également un simulateur d'éclairage de surface pour ajouter un éclairage de bord (rim lighting), un mappage de sphère et des effets émissifs aux surfaces stylisées. Les domaines de capacité couvrent le contrôle de la gradation d'ombre en temps réel et le mappage d'ombre stylisé, qui permet de définir des positions d'ombre fixes indépendamment de la direction de la lumière. Pour prendre en charge la réalité virtuelle, le projet implémente le rendu instancié en un seul passage (single pass instanced rendering) pour réduire la surcharge CPU pour les vues stéréo.
Allows for defining fixed shadow positions and intensities independently of the real-time light direction.
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
Projects shadows from light sources and wraps scenes in cubemapped skyboxes with tangent-space normal mapping for realistic depth and surface detail.
Viser is a Python 3D visualization framework and remote scene server that renders 3D primitives, point clouds, and meshes in a web browser. It functions as a server-client system that synchronizes scene state and camera poses to a web client via WebSockets. The framework provides specialized capabilities for robotics and computer vision, including a URDF robot visualizer for loading robot models and joint states, as well as a GPU-accelerated Gaussian splatting viewer for high-fidelity volumetric rendering. It also supports the visualization of human body models and skinned meshes for pose ana
Implements lighting, shadows, and depth effects to create realistic 3D environments.