video tutorial demonstrating how to unpack terrain textures efficiently   explains creating terrain layer subgraphs using only two texture samples   shares optimization techniques to improve terrain shader performance  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     demonstrates how to use Desmos to visualize functions and transform them into shader code   provides various examples of the transformation steps   additionally presents how to use the functions to distort UVs to create interesting visual effects  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     presents an algorithm for calculating bounding boxes of circular sectors in 2D   provides a GLSL implementation using vector operations   useful for area-of-effect queries in game development, such as attacks or spell casting  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Sucker Punch details the rendering technology behind Ghost of Yōtei   discusses GPU compute rendering for vast landscapes with large instance counts   covers advanced features including terrain tessellation, volumetric fog with cloud shadows, and PS5 Pro ray-traced global illumination  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     comprehensive deep-dive into implementing ReGIR for efficient many-lights sampling   explains Reservoir-based Grid Importance Resampling using hash grids and spatial/temporal reuse   demonstrates significant performance improvements over power sampling and light hierarchies in complex scenes  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     An interview with the developers of "NITRO GEN OMEGA"   Discusses how they achieved the "spaghetti anime" art style in Unreal Engine 5   Covers the use of cel shading, stylized VFX, and other techniques to create a umique look  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     hands-on tutorial series for implementing ray tracing with Vulkan   implements ray-query-based shadow rays with alpha-test transparency support   includes debugging tips using RenderDoc and Nsight Graphics  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     comprehensive guide covering physically based approaches for geometry, materials, lighting, and cameras   discusses the various material properties with real-world examples   covers physically based lighting units, including candela, lumen, nit, and lux, with practical measurement techniques   emphasizes the importance of physically based content for reusable assets and consistent results across lighting conditions  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     comprehensive guide to Three.js using WebGPU    presents three.js Shading Language (TSL) as well as WGsl for web graphics development   provides practical examples, including displacement, glass materials, particles, and post-processing effects  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     video tutorial covering texture sampling in Unity shader code   explains the concept of UV coordinates, texture samplers   shows how to implement texture mapping into a simple shader  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     presents a per-instance encoding technique for GPU-driven rendering with varying instance data requirements   instances use type discriminants to allow different memory layouts within a unified buffer    reduces memory bandwidth and footprint by eliminating unused fields   allows different instance types to coexist efficiently in the same buffer  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     video exploring GPU-side input handling (late latching)   discusses how to efficiently manage input data directly on the GPU with cache-line-sized packets   covers practical implementation and how to avoid mid-frame cache flushes from the CPU  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     video demonstrating a write-once read-many model (WORM) for authoring compute workloads   presents how Vulkan compute code can be written to take advantage of the cache structure to ensure no cache flushes are required   discusses considerations when designing the data model to match hardware caches  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     explains the sharp bilinear filtering technique for scaling pixel art without blur   solves common artifacts from nearest-neighbor and standard bilinear filtering   Derives the mathematical formulas behind the shader implementation step by step  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     tutorial covering Euler angles and axis-angle rotation methods for 3D graphics   explains how to stack 2D rotations for yaw, pitch, and roll transformations   presents axis-angle rotation formula using mix, cross product, and trigonometric functions  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     details the mathematical approach to computing distance from a point to cubic Bézier curves   presents and compares recent algorithm improvements    providing GLSL implementations of the presented techniques  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     details a GPU-driven LOD system using solid angle calculations on camera unit spheres   projects mesh AABBs onto the unit sphere to estimate screen coverage for LOD selection   implements bindless rendering with unified vertex/index buffer access across all LOD levels  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     demonstrates a technique to use JPEG textures for real-time integration using OpenGL and CUDA   uses deferred rendering to identify required JPEG blocks before collaborative workgroup decoding   presents the pipeline that is defined by geometry, mark, decode, and finally the resolve pass  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     comprehensive overview of a 2D renderer that unifies sprites, shapes, and text in single draw calls   presents runtime sprite atlas compilation that automatically manages texture packing for the user   uses signed distance functions for shape rendering with unified antialiasing, rounding, and stroke support  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     tutorial covering cubemap implementation in Vulkan   explains cubemap texture setup and sampling techniques   demonstrates environment mapping to render a skybox around the viewer position  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     details the process of translating SSE intrinsics to Neon for Unity's Burst compiler   presents optimization techniques that improved performance by 2.3x through removing allocations   discusses challenges with instruction equivalence and shows SIMD vectorization achieving 7-15x speedups  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     video walkthrough of implementing a fluid dynamics simulation for smoke   covers the mathematical foundations and implementation details of smoke simulation   covers Navier-Stokes equations as well as dynamic simulation with pressure solving and velocity interpolation  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     presents an improved formula for converting sRGB colors to greyscale in gamma space   explains why the standard Rec. 709 coefficients are technically incorrect when used with gamma-corrected values   compares alternative coefficients optimized for nonlinear color space with visual examples  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     introductory video tutorial on writing shaders in Unity   covers the fundamental concepts of shader programming for beginners   walks through creating a basic shader from scratch  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     introduces a diagnostic tool for measuring WGSL shader compilation times in WebGPU   provides complexity sliders to generate shaders of various sizes for benchmarking   reveals significant differences between cold and warm compilation timings across browsers  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     announces the availability of recordings and materials from Slang's SIGGRAPH 2025 sessions   includes hands-on lab materials covering language fundamentals, modules, and automatic differentiation   provides access to neural shading course materials as well as a session presenting how developers use the technology   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     video presentation on the Motion Fields for Interactive Character Animation paper   discusses reinforcement learning techniques for generating responsive character movements   present a practical implementation of the technique with an in-depth explanation  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     video explaining the intuition and mathematics behind Laplace transforms   presents the transform as a tool for converting differential equations into algebraic ones   shows visual interpretations of the mathematical concepts  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     proposes teaching GPU programming through compute shaders before graphics pipelines   demonstrates starting from simple compute shaders in Vulkan, and using RenderDoc debugging as an essential teaching tool   presents how to develop from this to understand the execution model, binding model, and how to integrate shader toy examples   additionally presents next learning steps  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     details the theory and mathematics behind FFT-based ocean simulation   covers oceanographic spectra including JONSWAP and TMA, directional spreading functions, and dispersion relationships   presents implementation details for cascaded simulation and FFT using compute shaders  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     video analyzing DLSS image quality on Nintendo Switch 2   compares different DLSS implementations and their visual quality  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     presentation covering the GPU rendering optimization process in Avowed using Unreal Engine   shares insights from the development process and technical challenges encountered   covers aspects from art authoring, material optimization, ray tracing, nanite tweaks, and much more  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     presents an adaptive voxel-based approach for order-independent transparency rendering   demonstrates performance and quality against other OIT methods  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     video presentation on ray tracing implementation in Assassin's Creed: Shadows   focuses on the algorithms and implementations   followed by the challenges specific to AC and a look at performance   additionally discusses the limitations of the presented techniques  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     tutorial covering GPU instancing for rendering of grass efficiently   explains setup using Graphics.RenderMeshPrimitives and compute buffers for instance data   includes GPU frustum culling implementation and optimization techniques for Unity  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     presents the creation of a 448-character GLSL procedural demo featuring mountains, clouds, and fog   explains techniques for generating noise using sine waves, rotation matrices, and FBM accumulation  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     XDC 2025 talk providing an overview of resource mapping from API and hardware perspectives   discusses the differences in approaches to descriptors and how varios drivers map it onto the hardware   additionally presents a preview of the new descriptor model coming to Vulkan  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     details optimization work improving meshoptimizer's hierarchical clustered LOD generation   achieves 3.5x speedup through addressing memory sparsity, thread balancing, and SIMD optimizations   demonstrates processing NVIDIA's 1.64 billion-triangle Zorah scene in under 3 minutes, down from 30 at the start of the article  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     comprehensive guide covering GPU architecture fundamentals, including memory hierarchies and compute pipelines   explains PTX/SASS assembly languages and analyzes compiler-generated code from CUDA kernels   progresses from warp-tiling synchronous kernels to SOTA Hopper asynchronous implementations using TMA and tensor cores  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     video summarizing the Game Optimization series of video tutorials   recaps key optimization techniques covered throughout the series   discusses future content directions and advanced optimization topics  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     video from 3Blue1Brown explaining the mathematical foundations of complex exponents   connects dynamics and Euler's formula through visualization  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     details Figma's migration from WebGL to WebGPU   presents challenges in modernizing the graphics interface, including shader processing, uniform buffer management, and cross-platform deployment   discusses the rollout strategy with dynamic fallback systems and device compatibility testing  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     step-by-step tutorial series on implementing Vulkan ray tracing with KHR extensions   guides readers through acceleration structures, ray generation, and shader binding with practical code examples   highlights recent improvements: Vulkan 1.4 support, VMA integration, Slang shader compilation, glTF 2.0 asset loading, and a cleaner codebase  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     announces new DirectX Agility SDK release featuring the advanced shader delivery system   presents the various steps of the process   talks about pipeline data collection, offline compilers, as well as new APIs  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     PIX tool update with support for tracking driver & application combination specific state    supports recreation of resource at specific virtual addresses for improved playback   additionally contains various other fixes  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     introduces animation capabilities for AMD's Dense Geometry Format (DGF) with linear vertex blending techniques   demonstrates the animation pipeline that overwrites vertex positions within DGF blocks each frame   shows quantization approaches and the effects on performance  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     research paper introduces high-level GPU programming abstractions in Rust using procedural macros for automatic code generation   presents linear pipeline parallel patterns for simplified GPU execution   benchmarks against manual OpenCL implementations  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     clarifies common misconceptions about rejection sampling techniques in statistical computing and graphics   explains the mathematical foundations and implementation considerations   showing how to combine multiple sample distributions to improve sample efficiency  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     The blog post discusses performance issues related to Anisotropic samples found on Indiana Jones and the Great Circle, as well as DOOM   presents an algorithm that can be used to vary AnisotropicSampleCount in a dynamic resolution scenario   additionally brings up the option of using the same technique for values where infrequent change, particularly with a moving camera, may go unnoticed  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     announces the schedule for the Graphics Programming Conference  in Breda, Netherlands, later this year   covers a large variety of topics  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     video tutorial focusing on GPU shader optimization techniques   covers common shader bottlenecks, how to identify performance issues, and possible solutions   presents optimization scenarios in both Unreal and Unity  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     comprehensive tutorial implementing physically based rendering (PBR) in OpenGL using the GLTF 2.0 format   covers material property handling, including albedo, metallic, roughness, and normal mapping   demonstrates proper lighting calculations and implementation of the PBR shading model  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     starts by providing an overview of the current landscape of upscaling techniques and associated performance and quality effects   explores CRT display emulation techniques, focusing on spatial scaling algorithms   demonstrates methods for accurately reproducing retro gaming visuals on modern high-resolution displays  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     comprehensive technical breakdown of Solari, a real-time raytracing system integrated into Bevy 0.17   discusses the motivation and development history   implements ReSTIR Direct and global illumination with a world-space irradiance cache    uses DLSS Ray Reconstruction for denoising and upscaling   presents a look at the performance of the various implementation steps  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     explains how triple buffering improves frame pacing and throughput by preventing GPU stalls when VSync is enabled   provides practical implementation examples for Vulkan, DirectX 12, and OpenGL   briefly mentions the disadvantages of the techniques and common pitfalls  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     blog post introduces a library for implementing cubic Bézier curve representation in just 28 bytes   provides comparisons in time and quality against other implementations  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     presents techniques for reducing BLAS builds for cluster-based continuous level of detail systems   discusses BLAS Sharing, Caching, and Merging   releases the implementation of the techniques with a detailed discussion of the implementation choices   additionally presents performance and memory profiling results  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     video exploring the foundational principles and methodologies behind Euclidean geometry   examines how Euclid's systematic approach to mathematical proofs laid the groundwork for modern mathematical reasoning  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     introductory video covering fundamental color theory concepts for beginners   explains color relationships, harmony principles, and practical applications in design and digital art   provides accessible guidance on using the color wheel and understanding color interactions for improved visual compositions  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     detailed analysis of how increasing vertex shader exports affects rendering performance on NVIDIA GPUs and AMD integrated GPUs   demonstrates that drawcall costs can significantly increase when exporting more data to the vertex shader stage   uses Nsight Graphics profiling to show how bottlenecks and memory allocation patterns impact vertex-to-pixel data flow  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     introduces robust-kbench, a comprehensive benchmark for evaluating CUDA kernel performance and correctness across varied scenarios   presents an agentic framework that uses large language models to discover, verify, and optimize CUDA kernels automatically  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     introduces a cost-effective alternative to 3D simplex noise using modified gyroid functions   provides code and presents practical examples of the technique  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     tutorial implementing volumetric light beams using billboard techniques inspired by Half-Life 2   covers billboarding mathematics, proximity fade implementation, and procedural beam shape generation   includes gradient overlays and animated noise to improve the visuals further  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     presentation tracing the evolution of graphics processing units from early hardware to todays designs   covers key milestones in GPU development and their impact   additionally covers more recent hardware developments and what might be next  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     detailed analysis of AMD's RDNA4 GPU architecture focusing on efficiency improvements in raytracing and compute   discusses enhanced memory subsystem, improved compression and memory barrier improvements  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     comprehensive guide to understanding GPU architecture for machine learning applications   compares GPU and TPU design philosophies, covering memory hierarchies and networking topologies   provides practical analysis for scaling large language models on GPU clusters  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video explains how gaussian splats can be used to compress images   starts with a high level explonation of gaussian splats   takes this information as starting point to explain the compression process step by step  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     video tutorial focusing on performance optimization for individual rendering draw calls   presents how to use PIX to identif long draw calls, investigate the pipeline state to detect performance issues   how to apply the investigation results back in the engine(s) and the effect of the optimizations  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     presentation by computer graphics pioneer Ed Catmull at SIGGRAPH 2025 pioneers session   discusses the story of making Toy Story   followed by an extensive Q&A session  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     provides a comprehensive introduction to physically based rendering, starting by explaining the physical concepts   explains the bidirectional reflectance distribution function (BRDF) and how light interacts with surfaces   demonstrates the mathematical foundations behind microfacet theory and importance sampling techniques  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     provides a comprehensive explanation of color spaces, color models, and gamuts in digital imaging   covers the mathematical foundations of how colors are represented and transformed between different systems   explains practical implications for developers working with color-accurate workflows and display technologies  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     a detailed article that covers the various steps that are required to understand blurs   provides interactive examples for the various components   analyzes different blur algorithms and their performance characteristics   closes with a discussion of Kawase blur technique and how it achieves high-quality blur effects with fewer texture samples than traditional methods  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     explores modern techniques for achieving order-independent transparency in real-time rendering   discusses the challenges of transparent object rendering and various solutions to depth sorting issues   presents advances in per-pixel linked lists and weighted blended transparency methods   covers applications in virtual production workflows where accurate transparency is critical  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     demonstrates the benefits of GPU-compatible texture compression for storage size, VRAM usage, and sampling performance   provides practical guidance on texture format conversion tools and automation workflows for game development  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     demonstrates how to overlap CPU and GPU work by having multiple command buffers and synchronization objects   covers the synchronization challenges and resource management needed when multiple frames are being processed simultaneously  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     demonstrates how to use profiling data and performance analysis to guide optimization decisions   covers systematic approaches to identifying bottlenecks in game performance   explains the importance of measuring before optimizing to avoid premature optimization pitfalls  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     argues that often UE5 performance issues stem from a poor user experience design rather than just technical limitations   discusses how hidden system dependencies and lack of performance visibility make optimization difficult for teams   proposes better profiling tools and feature-level cost indicators to help developers understand what systems are active  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     presents updates and developments in the MaterialX open standard   discusses community contributions and adoption across different software and studios  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     retrospectively examines the evolution of Direct3D 12 over its first decade since release   details the significant API additions, including ray tracing, mesh shaders, work graphs, and enhanced barriers   covers new shader features like wave operations, bindless resources, and HLSL language improvements   reflects on how development workflows and programming patterns have changed with modern D3D12 features  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     presents the Siggraph 2025 course collection on advances in real-time rendering techniques for games   discusses latest advances in ray tracing, global illumination, and hybrid rendering pipelines for interactive applications   Slides for most talks have been released   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     presents a stochastic approach to tile-based lighting   discusses probabilistic light sampling techniques that maintain visual quality while reducing computational overhead   demonstrates implementation details for integrating stochastic methods with existing tile-based deferred rendering pipelines  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     presents techniques for implementing level-of-detail systems for grass rendering   demonstrates the creation of grass impostors using custom shaders that replicate albedo, ambient occlusion, and normal maps without geometry   shows how to implement smooth transitions between high-detail grass meshes and performance-optimized impostor representations  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     presents shader techniques for creating realistic metallic foil sticker effects using reflection and refraction   discusses texture mapping approaches for simulating the characteristic rainbow iridescence of holographic materials   shader code is included   additionally contains a real-time implementation in the browser that allows experimentation  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     presents techniques for transforming cubic voxel worlds into spherical geometries using quad sphere mapping   discusses map distortion artifacts and how to overcome them for a Minecraft-like world   provides visual explanations of the issues and how to resolve them  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     presents the mix() function used for linear interpolation between values   discusses practical applications, including color blending, texture transitions, and animation smoothing   demonstrates various practical use-cases  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     video tutorial demonstrating how to use Microsoft PIX to analyze game GPU performance   shows the necessary steps to set up the system   presents a first brief walkthrough of a GPU frame in Unity and Unreal using PIX   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     explores strategies for maximizing GPU VALU utilization and overall throughput by identifying and removing bottlenecks   discusses when to use different shader types (pixel vs compute) based on workload characteristics and hardware limitations  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     announces the Graphics Programming Conference tickets are on sale now   Many sessions are also already announced   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     presents a curated collection of programming newsletters covering various development topics (mine is included as well)   discusses newsletters focusing on graphics programming, game development, and rendering techniques  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     video explains the implementation of a tornado effect as found in Elden Ring   shows the modeling, UV manipulation, and shader work in Godot  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     video tutorial covering optimization strategies when games are GPU-limited   presents techniques for identifying GPU bottlenecks and performance issues   demonstrates effects of lights, shadows, post-processing, as well as overdraw optimizations  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     The author explores GPU point rendering performance bottlenecks   investigates why millions of points cause dramatic slowdowns on Apple GPUs when heavily overlapped   compares regular point rasterization vs compute shader approaches across 30+ GPU models  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Arm releases a temporal super sampling model optimized for mobile Neural Accelerators     enables upscaling from 540p to 1080p   includes explanations on how to get started with the model as well as how to train and evaluate it  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     comprehensive guide to automatic differentiation in machine learning from a practical perspective   covers DAG computation graphs, dynamic graph building, and gradient computation using the chain rule   includes toy AutoGrad implementation in Python, demonstrating forward and backward passes   explores regularization techniques, skip connections, and gradient management in modern frameworks like PyTorch  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     interactive tutorial on Big O notation explaining algorithm complexity analysis   covers O(1), O(log n), O(n), and O(n²) with practical examples including bubble sort and binary search   demonstrates performance implications through visual demonstrations  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     trained neural cache storing visibility between lights and 3D positions for direct illumination   integrates MLP with multi-resolution hash-grid encoding    feeds light visibility data to weighted reservoir sampling   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     perceptually uniform color model based on OKLab color space, offering improved color manipulation   enables consistent brightness across different hues by maintaining the same lightness value   produces better gradients without muddy midpoints and predictable shades without hue drift   supports wider Display-P3 gamut colors beyond sRGB  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Microsoft's solution to shader compilation stuttering by moving shader compilation to cloud infrastructure   creates State Object Database (SODB) from game data and Precompiled Shader Database (PSDB) for distribution   initially launching on ROG Xbox Ally devices and later broader through the AgilitySDK  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     major revision introducing ML-based neural rendering technologies, including AMD FSR 4 upscaling   requires pre-built, signed DLL architecture with automatic hardware-appropriate fallback from FSR 4 to FSR 3.1.5   enables automatic driver-based technology upgrades for FSR 4 upscaling and upcoming FSR ML Frame Generation  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Python tool for analyzing texture resolution requirements by examining mipmap level information distribution   calculates per-pixel differences between consecutive mip levels to identify needlessly large textures   helps to optimize texture memory usage and streaming performance by providing objective metrics for size reduction decisions  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     annual SIGGRAPH course covering the latest developments in physically based shading research and practice   features presentations on OpenPBR, EON energy-preserving diffuse reflection, spectral rendering in RGB workflows, and neural materials   additionally covers hair/fur shading models and tone mapping techniques from Gran Turismo 7  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     comprehensive collection of links to SIGGRAPH 2025 content including courses, talks, papers, and emerging technologies   covers session recordings, technical papers, and innovative demonstrations from the conference  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     LunarG's SIGGRAPH 2025 presentations on Vulkan SDK updates and GFXReconstruct capabilities   details improvements to validation layers, new tooling features, and ecosystem advancements since 2024  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     release of Spark 1.3 with full WebGPU support and introduction of spark.js for browser-based GPU texture compression   introduces new BC7 RGBA codec and improved quality across all formats   performance improvements for EAC compression on mobile GPUs and expanded platform support including older OpenGL versions  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Explains descriptors, buffer types, and texture units in practical terms   Walks through cache behavior (write-back/combining, globallycoherent) and latency hiding   Shares findings from a purpose-built microbenchmark across multiple GPU  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     in-depth technical analysis of Anno 1800's custom rendering pipeline from terrain virtual textures to final output   explores techniques like GPU-driven rendering, compute-based particle systems, and async wave simulation   detailed breakdown of the forward rendering approach including depth prepass, shadows, and post-processing stack  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     educational article explaining the relationships between derivatives, gradients, Jacobian matrices, and Hessian matrices   demonstrates practical applications in optimization, machine learning, and computer graphics   explains how these concepts are used in rendering techniques like gradient descent and SDF antialiasing  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     comprehensive guide to setting up realistic lighting and environments in Godot 4   covers WorldEnvironment setup, physical sky materials, HDR tone mapping, and global illumination techniques   explains practical aspects of ambient occlusion, bloom, fog, and color grading for achieving high-quality visuals  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     video tutorial explaining high dynamic range rendering and tone mapping implementation in OpenGL   covers the theory behind HDR color spaces and why traditional 0-1 RGB values are insufficient for realistic lighting   demonstrates practical implementation of tone mapping operators to convert HDR to displayable LDR formats  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     video demonstrating ray tracing implementation for glass materials and dispersion effects to create rainbows   explores the physics of light refraction and how to simulate wavelength-dependent refractive indices   presents visual explanations of the pheonmenos and how to implement them  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     introduces FSR Redstone, AMD's upcoming suite of ML-powered neural rendering techniques   includes Neural Radiance Caching for real-time global illumination, ML Ray Regeneration for restoring details from low sample counts, Super Resolution (FSR 4), including frame generation  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Siggraph course covering GPU Work Graphs for D3D12   starts with an in-depth look at graphics and API history and remaining limitations that work graphs aim to solve   provides detailed tutorials and examples for using the API and understanding related concepts   additionally explains how the driver implementation maps it onto the hardware  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     2025 editions of SIGGRAPH courses on physically based shading   covers topics including OpenPBR implementation details, spectral rendering in RGB, strand shading for hair/fur/feathers, and neural materials   additionally features talks on EON rough diffuse reflection, tone mapping in Gran Turismo 7, and bridging the gap between offline and real-time rendering   Slides are already available  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     presents Disney Animation's solution for handling massive Ptex datasets (1.5 TB) in GPU ray tracing using only 2 GB of GPU VRAM   employs a fast LRU eviction scheme and caps GPU cache size to maintain zero-stall experience while preserving texture detail  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     introduces VK_AMDX_dense_geometry_format, a provisional Vulkan extension for using pre-compressed DGF data in acceleration structure builds   eliminates performance and memory costs of separate decoding steps by providing DGF data directly to the GPU   improves BLAS build time and reduces memory footprint on hardware with native DGF support  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     NVIDIA AI Research Leaders present the latest breakthroughs in computer graphics and Physical AI    Topics will include advancements in data generation, and their impact across industries from media to manufacturing  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     announces KosmicKrisp, LunarG's new Vulkan driver for Apple hardware built within the Mesa 3D framework   targets Vulkan 1.3 conformance level  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     announces the first-ever Shading Languages Symposium scheduled for February 12-13, 2026, in San Diego, California   Representative for GLSL, HLSL, MSL, OSL, Slang, SPIR-V, and WGSL will be in attendance   Call for submission is open  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     explores a technique for "warping" probe data to approximate lighting information at different spatial locations   describes an algorithm that uses planes and ray intersections to reproject cubemap data, similar to parallax mapping but applied to spherical probes   presents a ShaderToy implementation that demonstrates the concepts  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     video tutorial demonstrating five different techniques for creating compelling skyboxes in Unity   covers various approaches from basic cubemap setups to more advanced procedural and dynamic skybox implementations   provides practical tips for achieving high-quality atmospheric effects and environment lighting in Unity projects  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     video emphasizing the importance of profiling and analysis before starting on the implementing of performance optimizations   discusses methodologies for identifying performance bottlenecks rather than making assumptions   provides guidance on using profiling tools and data-driven approaches to make informed optimization decisions  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     presents an improved technique for silhouette sampling in physically based differentiable rendering   introduces new rejection test methods using bounding boxes in dual space and dual quadrics   achieves significant variance reduction compared to previous edge sampling approaches  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     explains techniques for implementing anti-aliasing with signed distance functions (SDFs)   compares linear, smoothstep, and smootherstep transitions for both pixel-wise AA and blur effects   demonstrates how to use numerical derivatives with fwidth() to maintain consistent AA regardless of perspective   additionally presents the effect of color space choices  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Video showing detailed implementation of Dear ImGui into a Vulkan graphics engine   covers setup process including descriptor management, render pass integration, and input handling   presents how to use the system to allow parameter adjustments  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     details the Studio's Blender-based asset pipeline using Godot   explains their DCC-centric approach using glTF as the exchange format with collection exports for asset management   discusses custom extension code that handles automated export/import workflow and proper asset separation  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     SIGGRAPH 2025 will feature a full day dedicated to OpenUSD sessions and hands-on labs   For the first time, NVIDIA will offer OpenUSD certification in person (free for attendees)   Sessions will explore how leading companies are leveraging OpenUSD for applications in simulation, robotics, and Industrial AI.  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Introduces the Driver Experiments feature in the Radeon Developer Panel for debugging GPU issues   explains how to use the "Force NonUniformResourceIndex" experiment to detect missing shader qualifiers   details the experiments that allow disabling of color and depth compression to identify render target barrier issues  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     explains why ternary operators and if statements don't cause branch instructions for simple value selection   demonstrates through disassembly that these operations use conditional moves rather than actual branching  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     proposes a screen-space approach similar to SSAO that samples and blends material properties from nearby surfaces   demonstrates how understanding the core concept of ideas can lead to innovative solutions  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     presents a modification to classic Perlin noise, allowing directional control over the pattern generation   includes implementation details with ShaderToy examples showing practical applications   demonstrates how the technique can be used for creating oriented textures and controlled flow patterns  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     introduces a technique that combines stratified sampling with golden ratio sequence ordering   creates sampling patterns that maintain good quality at any sample count and across sequence boundaries   compares error convergence with standard white noise   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Third episode in a game optimization series focusing on strategic performance planning during pre-production   discusses establishing performance budgets across the target platforms   How to develop optimization strategies before production   explains how to identify potential bottlenecks early through prototyping and setting clear technical constraints  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Second episode in a game optimization series covering the graphics pipeline and different rendering approaches   explains the stages of the graphics rendering pipeline   discusses the differences between deferred and forward shading and how they impact performance characteristics  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Technical breakdown of a 258-character shader that creates glowing, fluid particles using raymarching and turbulence techniques   explains how the compact code handles raycasting, 3D rotation, camera displacement, and particle distribution  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     describes how to diagnose stuttering issues in Trackmania using profiling tools without access to the source code   uses Superluminal profiler to identify patterns and library calls to track down performance bottlenecks   demonstrating how performance analysis can work without debug symbols  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     SIGGRAPH 2025 paper presenting a neural approach for estimating spatially varying light selection distributions in many-light scenarios   uses a neural network trained to predict light selection distributions based on local information   integrates with light hierarchy techniques and introduces residual learning to accelerate convergence during training  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Educational breakdown of how AI image and video generation systems function under the hood   explains the mathematical and algorithmic foundations behind diffusion models and neural networks used for content generation   tries to explain and develop intuitions into the process from noise to coherent images, covering training methodologies and inference techniques  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     announces Mozilla's release of WebGPU support on Windows in Firefox 141, bringing modern GPU access to the web   built on the WGPU Rust crate, providing a unified interface to Direct3D 12, Metal, and Vulkan across platforms   discusses ongoing performance improvements  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     interview with LLVM and Swift creator Chris Lattner discussing GPU programming languages and their design challenges   explores the evolution of GPU programming models and the unique constraints that influence language design for parallel computing   focuses on the work on the Mojo programming language that allows CPU+GPU execution without CUDA  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     The Graphics Programming Conference in Breda for November 18th-20th, 2025, has announced its first set of talks    covers topics ranging from real-time path tracing and volumetric rendering to GPU particle systems and mobile game optimization   There are still a couple of days left to submit a talk  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     first episode in a series covering game optimization principles   why you should optimize, who should optimize, and when you should optimize   introduces fundamental concepts and methodologies for optimizing game performance  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     presentation on optimizing Niagara particle systems in Unreal Engine   covers structures, material instances, shader, and emitter complexity   provides practical techniques to reduce GPU and CPU overhead in complex VFX  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     The video presents a discussion of Screen Space Ambient Occlusion technique implementation   shows how to implement the technique using OpenGL and GLSL   explains the intermediate steps and required theory along the way  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     The talk focuses on he foundation and core concepts of physically based shading   focusing on the interconnection of concepts and making it easy to understand the concepts visually  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     presents a diffusion-based approach for generating reflective caustics   utilizes a latent-space diffusion model conditioned on geometry, material, and illumination data  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     critical analysis of object-oriented programming paradigms and their impact on software development   examines historical context and technical drawbacks of OOP that have persisted for a long time   proposes alternative approaches for practical problem-solving  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     demonstrates how to implement a portal rendering technique such as found in SplitFiction   explains Stencil Buffer and how to use it to render multiple portal worlds   Implementation is shown using Unity   Portal shapes are implemented using SDF shapes  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     presents a look at how real-life material complexity is approximated in rendering   discusses the importance of layered material models for the appearance   examines the evolving relationship between traditional analytical material models and neural rendering approaches   explores hybrid approaches that combine the predictability of analytical models with the expressiveness of neural networks  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     discusses a history of Screen space ambient occlusion   shows visual examples of the techniques and how they affected the generated results   covering the developments from Crytek SSAO, over HBAO, GTAO, to VBAO   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     presents the argument that rendering industry is shifting from technology-driven growth to content delivery and user-generated content as primary revenue drivers   discusses the role of machine learning in rendering, noting its effectiveness in post-processing but limited impact on core algorithms due to existing analytical solutions   predicts future trends toward "more real-time, less baking" approaches and advances in dynamic data structures for optimal signal representation  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     explores the technical foundations of digital display technology   covers the evolution from electron guns to modern displays   examines how pixels and color systems work in todays screens  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     explains how to use Wave Matrix Multiply Accumulate (WMMA) operations on AMD RDNA 4 GPUs   covers the simplified VGPR layout compared to RDNA 3 and the new intrinsics for 16x16 matrix operations   provides practical examples including multi-layer perceptron (MLP) implementation using WMMA for neural network inference  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     announces the launch of Skia Graphite as Chrome's new rasterization backend   explains how Graphite improves upon the previous Ganesh backend with better multithreading and depth testing for 2D graphics   details performance improvements and future development plans  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     comprehensive guide to efficiently packing various data types commonly used in graphics programming   covers techniques for normalized data, floating point formats, bitfields, and specialized encoding methods for normals and world positions   provides HLSL code examples and GPU instruction analysis on RDNA hardware  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     compares lossless compression techniques for multi-layer floating point images   evaluates OpenEXR, JPEG-XL, and a custom approach using mesh optimizer with zstd   presents that mesh optimizer combined with zstd provides really good performance-to-compression ratio results  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     presents a new approach to color quantization using the HyAB distance formula in CIELAB color space   compares results against exisitngs methods   demonstrates how a hybrid distance metric (absolute difference in lightness, Euclidean in chromaticity) improves color fidelity in quantized images  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     addresses visual artifacts that occur with transparent textures have unintetional RGB values in transparent areas during mipmapping   presents a Python tool that pads transparent textures by bleeding opaque pixels outward to fix rendering issues   explains the difference between premultiplied and straight alpha workflows and their impact on texture processing  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     video exploring the mathematical relationship between matrices and tensors   covers tensor algebra concepts that extend beyond traditional matrix operations   presents mathematical foundations useful for understanding advanced graphics and machine learning algorithms  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     detailed explanation of physarum-inspired algorithms for creating organic-looking simulations and visual effects   provides implementation details including GPU shader techniques, interactive experiments, and artistic applications for real-time organic pattern generation  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     video recording of research paper presentations from the Interactive 3D Graphics and Games (I3D) 2025 conference   features cutting-edge research on neural rendering techniques and Gaussian splatting methods   showcases the latest developments in neural graphics and real-time rendering technologies  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     research presentations from I3D 2025 conference focusing on advanced filtering and reconstruction techniques   covers state-of-the-art methods for image and signal processing in real-time graphics applications   presents novel approaches to improving quality and performance in interactive 3D rendering  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Explains the concept and motivation behind virtual textures for efficient GPU memory use   Compares software and hardware implementations, highlighting current hardware limitations   benchmarks sampling and tile updating performance between different hardware and driver versions   shows that Intel's drivers are the only ones with tile update performance that appears viable for real-time applications   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Proposes a real-time method for rendering glints using image-based lighting   Introduces a fast environment map filtering technique for dynamic materials and lighting  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the developers' vlog discusses the implementation process of screen space global illumination   presents various techniques and stages of the implementation process   shows performance and quality differences between the various parts of the implementation  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     The video introduces the REAC 2025 conference   discusses the underlying idea and philosophy of the conferences   provides an overview of the content and presents the schedule   All videos are available on the channel now  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     The video provides a visual explanation for shadowing terms such as umbra and penumbra   shows how bokeh and lights for near and far objects interact to create the appearance that light and shadows are attracted by each other  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     The video provides a high-level overview of how to implement a terrain generation vertex shader   discusses how to further develop this basic technique in various aspects   Additionally, announces a coding jam based on the project  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     covers the Overwatch team's journey to modernize their global illumination (GI) solution   discusses tradeoffs in quality, performance, and workflow for GI in a large-scale game   Details the transition to a new approach that improves artist workflow while maintaining visual quality   shares challenges and solutions for supporting a wide range of hardware  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     explains the meshlet rendering pipeline used in Dragon’s Dogma 2 and Monster Hunter Wilds   addresses challenges of rendering vast, dynamic environments with stable performance   Details the transition to meshlets across shared engine technology   compares early and current meshlet implementations and shares optimization results  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           Details the geometry rendering pipeline and data management in Swarm Engine for Space Marine 2   addresses challenges of rendering dense architecture, procedural vegetation, and many interactive entities   Discusses system organization for future optimizations and features   Explains shader infrastructure and managing the complexity of Uber shader permutations   shares lessons learned in balancing scalability, performance, and visual complexity  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           presents Anvil's evolution into a centralized engine powering multiple productions from a monorepo   discusses technical and organizational challenges: modularization, shader complexity, code divergence   details the rendering architecture as well as the GPU-driven mesh pipeline and frame graph   covers performance optimization, profiling tools, and data-driven tuning via a centralized platform manager  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     presents architectural challenges and decisions for GI, ray tracing, and character creator in Dragon Age: The Veilguard   covers probe baking system, team size, and asset constraints   discusses ray tracing implementation choices and support for a wide range of GPUs   details the technical and practical aspects of the character creator tool  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents a work graph-based procedural system for generating and rendering trees entirely on the GPU   shows how the model used to generate the tree structure    presents how this is mapped onto the work graph execution logic   additionally discusses how seasonal effects and wind effects are integrated  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     introduces Importance Deep Shadow Maps (IDSM), a real-time algorithm for rendering shadows of semi-transparent objects   adaptively distributes shadow samples based on camera importance   achieves significant speedups over hardware ray tracing while maintaining visual fidelity  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     an article discusses optimizing a CUDA-based ray tracer to outperform Vulkan/RTX implementations on the same hardware   demonstrates how aggressive inlining, branchless material evaluation, and custom RNGs yield significant speedups   provides benchmarks and practical advice for optimizing ray tracing performance   additionally, it presents a discussion of how to interpret the results  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     provides an introduction to profiling and optimizing applications on AMD GPUs for ROCm workloads   outlines key tools in the ROCm ecosystem for tracing, counter collection, and kernel analysis  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     provides an in-depth analysis of Nvidia's Blackwell GPU architecture   compares Blackwell's design, memory subsystem, and compute performance to AMD's RDNA4   discusses architectural tradeoffs, cache design, and the implications for high-end GPUs  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     announces Mozilla's plan to ship WebGPU in Firefox 141 on Windows   notes that WebGPU is already enabled in Firefox Nightly and will expand to other platforms  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     virtual meet-up that will introduce the Slang shader reflection API   going to highlight common pitfalls and best practices for accessing shader metadata  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the very detailed presentation discusses the geometry rendering pipeline on the RE ENGINE   covers meshlet rendering, software rasterization, visibility buffers, shadow rendering, and more   additionally contains Questions and Answers documents from the audience and developers  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video discusses the alignment requirements for Buffers in Vulkan   explains why a validation error message appears and how to resolve it   shows why the problem happens and how to resolve it in practice  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     video recording of I3D paper presentations   covering Hierarchical Neural Skinning Deformation with Self-supervised Training for Character Animation, Foveated Animations for Efficient Crowd Simulation   Aokana: A GPU-Driven Voxel Rendering Framework for Open World Games as well as Transform-Aware Sparse Voxel Directed Acyclic Graphs  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     provides a concise overview of fundamental GPU concepts   covers topics such as memory hierarchy, compute units, and parallelism   includes practical notes for developers new to GPU programming 
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents the implementation of a C++ to SPIR-V compiler   discusses limitations of language constructs, how contracts are mapped onto SPIR-V   shows how raytracing callable shaders can be used to implement function-calling  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     explains how to enhance AMD Radeon GPU Detective output with DirectX debug information   details the process of mapping GPU crash dumps to HLSL source code for easier debugging   provides step-by-step instructions and practical tips for integrating debug info into the workflow 
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper discusses methods to animate meshless representations efficiently   the paper suggests a coarse tetrahedral mesh surrounding the meshless objects, skinned as usual   this deformation of the rest pose is then applied to the full volume using interval shading  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     introduces adaptive tetrahedral grids for efficient volumetric path tracing   explains the grid construction and sampling process   demonstrates improved performance and quality in volumetric rendering tasks 
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video presents a brief overview of various papers that will be presented at SIGGRAPH 2025   covers a large number of various topics from Gaussian splatting, scene representations, soft body physics, and much more  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     slides from the 2025 REAC conference have been published   covers topics such as GI, meshlet rendering, anvil rendering architecture, and more  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     an invitation to participate in the 2025 Graphics Programming Conference   outlines submission guidelines and participation opportunities   encourages community involvement and knowledge sharing 
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     announces the latest SIGGRAPH course on physically based shading, featuring new research and practical advice from film and game production   covers topics such as energy-conserving models, spectral rendering, neural materials, and production hair shading   includes the course timetable and presenter list  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     introduces the VK_KHR_video_decode_vp9 extension for Vulkan, enabling hardware-accelerated VP9 video decoding   explains why VP9 is one of the simpler codecs to implement and recommends it for getting started   supported by major GPU vendors and open-source drivers, with SDK and sample updates coming soon  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     presents a Vulkan extension that simplifies image layout management by allowing VK_IMAGE_LAYOUT_GENERAL to be used in most cases   reduces the need for explicit image layout transitions to  simplify synchronization   discusses how some hardware doesn't distinguish between image layouts, so not using the specific layouts doesn't cause performance issues  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     presents formulas for efficiently computing partial derivatives of any order for spherical harmonics   shows that intermediate results from the standard evaluation can be reused, reducing the computation cost significantly   includes links to a poster, supplemental document, and code for practical use  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     explores the optimization of Voronoi noise in Blender by switching from an older Jenkins hash to a faster PCG3D hash   highlights challenges with Open Shading Language (OSL) lacking unsigned integers and bit casts and how these were worked around   concludes with lessons learned about hash functions, code maintenance, and shading language limitations  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     analyzes Mario Kart World’s HDR implementation on Switch 2, revealing it uses static tone mapping and SDR color gamut   details the pitfalls of SDR-first pipelines and how they limit dynamic range and color volume   offers recommendations for developers to adopt HDR-first workflows and dynamic tone mapping for better results  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     provides a comprehensive walkthrough of implementing volumetric lighting using raymarching and post-processing   covers coordinate system transformations, depth-based stopping, shadow mapping, and shaping light with SDFs   explores light scattering and multi-light setups with interactive demos and code examples   discusses practical applications and artistic effects achievable with these techniques in 3D scenes  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     presents an approach to real-time text rendering on the GPU, focusing on quality and subpixel anti-aliasing   discusses a system that rasterizes glyph curves directly to an atlas with temporal accumulation   provides code samples, visual comparisons, and practical advice for high-quality, efficient text rendering  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the videos break down what aliasing is and why it happens when sampling signals   presents how this can lead to distorted or misleading results   shows a walkthrough with intuitive visualizations and concrete examples to show how high-frequency signals can appear misleading if sampled at a too-low frequency   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video presents an overview of the WebGPU API   discussing the capabilities of the API, supported platforms, and limitations   additionally provides guidelines to follow for best performance  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video presents an overview of GPU architecture   explaining overhead in GPU processing   how indirect drawing allows more flexibility and enables more workloads to be executed efficiently   additionally discusses vertex optimizations for efficient rasterization  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     details the rendering techniques used in the latest Assassin's Creed game   explores the GPU-driven rendering pipeline, micro polygon rasterization, global illumination implementation   presents how the weather system was implemented in a deferred pipeline fashion   additionally presents a brief look at how the team manages platform differences and performance tracking  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     talk from Nordic Game Jam 2025 providing an intuitive explanation of quaternion mathematics   breaks down quaternion concepts using visual examples and practical applications in game development   demonstrates techniques for visualizing rotations   additionally presents how rotation order/axis orders vary between different popular game engines   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     presents a mathematical derivation for efficiently transforming direction vectors from camera space to screen space   reduces computation from 32 multiplies, 24 additions/subtractions, and four divides to just six multiplies and two subtractions  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     walks through the implementation of a CPU-based software rasterizer   covers techniques for triangle rasterization, projections, depth buffering, basic lighting   explains the underlying theory with visual explanations before presenting the implementation  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     investigates techniques to improve Bounding Volume Hierarchy (BVH) quality   challenges common assumptions about binned vs. full-sweep SAH building and demonstrates that bin count significantly impacts performance   introduces Representative Ray Sets (RRS) for BVH quality assessment and optimization, showing that significant performance improvements ( >50% ) are possible   opening the discussion that offline builds of optimized static geometry BVHs might be worthwhile to explore  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     explores asynchronous compute techniques to improve GPU utilization by executing compute and graphics workloads in parallel   explains the implementation details of scheduling work on separate command queues and synchronizing between them using fences   provides practical examples of work pairing that benefits from async compute and how to measure performance gains  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     introduces Shader Execution Reordering feature for Shader Model 6.9   explains how SER allows application developers to provide hints that will enable drivers to optimize execution patterns for DXR workloads   provides example code that presents the feature in shader code and how to use it from the D3D12 API   additionally discusses the state of driver support  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     introduces Opacity Micromaps (OMMs) for DirectX 12 ray tracing to accelerate alpha-tested geometry   details how OMMs encode alpha mask information at different resolutions to skip unnecessary ray-triangle tests   provides implementation explanations, first example implementations, and performance data for foliage scenes  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     presents DirectX 12's new cooperative vector instructions   discusses how these instructions allow developers to take advantage of additional hardware features (such as Nvidia Tensor Cores)   shows how to check for the availability of support and how the API allows developers to encode the data into the hardware-required formats  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video tutorial implements a physics-based cloth simulation on the GPU using compute shaders   discusses how to structure the mesh for connectivity as well as how to handle constraints solving to simulate springs   covers both the theory as well as the implementation  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     announces the addition of Slang shader language support for the Vulkan samples repository   discusses the experience of using Slang for shader development   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     introductory video tutorial on using Slang shader language to render a basic Gaussian splat   provides a beginner-friendly walkthrough from setup, to convering the Slang language essential and application iintegration   takes these concepts to explain how to render a basic Gaussian splat training process from python   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     tutorial on Vulkan's dynamic rendering feature that simplifies rendering without framebuffers   explains how to transition from traditional render passes to the more streamlined dynamic rendering approach  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     demonstrates the implementation of a GPU driven renderer   explains GPU-based culling, draw call generation using indirect drawing as well as buffer compaction   details implementation of clustered forward shading with optimized light assignment using subgroup operations  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     introduces Skewed Oriented Bounding Boxes (SOBB) for ray tracing acceleration   presents an efficient algorithm for transforming standard AABB BVHs into SOBB representations   demonstrates performance improvements of 1.0-11.0x over AABB BVH and 1.1x over OBB BVH for secondary rays, with similar memory requirements to AABBs  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     implements a WebGPU-based particle simulation that creates emergent life-like behaviors through asymmetric attraction/repulsion forces   describes optimization techniques like spatial binning and parallel prefix sum for computing inter-particle forces efficiently   discusses rendering approaches with anti-aliasing for both large and sub-pixel particles with glow effects  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     explains techniques for animating grass through wind effects by simulating gusts using noise textures   details how to implement player interaction with grass, making it bend away from objects and characters   also covers an approach for cutting grass dynamically  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     continues the custom lighting model series with techniques to simulate colored pencil art style   presents shader methods for recreating the grainy texture and stroke patterns of traditional colored pencil drawings   demonstrates implementation in both Unity and Unreal Engine using the visual shading language  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     presents a technique for computing signed distance functions (SDFs) from implicit surfaces   ensures the shape of the surface is maintained during the conversion   the proposed solution uses neural networks to minimize loss functions characterizing the SDF  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Eric Haines shares updates on the Journal of Computer Graphics Techniques (JCGT)   presents the updates behind the scenes that allowed nine papers to be published so far this year   maintains "Diamond Open Access" with authors retaining copyright under Creative Commons licensing  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     details GPU optimizations that improved path tracing performance in Indiana Jones   presents how Opacity MicroMaps (OMMs) reduced overhead for alpha tested geometry and which issues they ran into during the integration   additionally mentions that compaction of Bottom-Level Acceleration Structures (BLASs) halved the memory consumption for vegetation meshes  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     builds upon upsampling via multisampling by adding a temporal component    renders a 4x MSAA image at 1080p and upsamples to 4K using a 4-frame jitter pattern   presents a detailed look at the sample distribution, implementation and discusses quality and limitations  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Eurographics 2025 tutorial on Order-Independent Transparency (OIT) techniques   covers traditional approaches (exact, approximate, and hybrid) and deep learning-based methods   compares performance, accuracy, and practical applications for rendering transparent objects  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     describes a technique that applies lighting to color palettes instead of individual texels   enables normal mapping and directional lighting effects on limited N64 hardware   shows techniques to hide inherent limitations with the technique   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents a walkthrough on how to render a 3D terrain using SDFs   discusses how to generate the terrain, apply texturing and shading   interactive source code examples are provided  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     video covering how to setup a test to measure the performance of lighting models   presents how different features of the shading model affect the performance   shows the visual results of the different combinations  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     presents a walkthrough of research building a unified neural denoising and supersampling technique   shows the development steps, integration into existing rendering pipelines and results in various test scenes   discusses challenges in preserving texture details, reducing flickering, and handling disocclusions  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     introduces an efficient method for simplifying tree-based analytical Signed Distance Fields (SDFs)   leverages the Lipschitz property to create simplified equivalents for specific regions of space   proposes a new technique for sphere tracing of complex SDFs composed of thousands of animated primitives   the included video visualizes the technique and shows results on various test cases  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     JCGT paper presenting a technique for generating optimized samples with good spectral properties   presents the improved results for depth of field with complex bokeh shapes   shows how to calculate the samples and the effect on quality and performance  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Clear explanation of reservoir sampling for selecting k random samples from data streams of unknown size   Uses interactive visualizations to demonstrate the algorithms and its behaviour   Additionally presents how the technique can be applied to a log processing service  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Comprehensive exploration of how GPUs select appropriate mipmap levels when sampling textures   Discusses linear filtering, anisotropic filtering, trilinear filtering, and mathematical foundations with visual comparisons   Many visual examples to visualize the equations discussed  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     open access book focusing on the foundations and applications of procedural noise for texture generation   Focuses on theory and implementation of algorithms that enable procedural texturing workflows   Demonstrates how basic primitives can be combined to create natural-looking textures for various applications  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     The paper introduces a two-Level monte carlo estimator for global illumination(GI)   Discusses the Neural Incident Radiance Cache (NIRC) that uses a small neural network that is trained on-the-fly to learn incoming light from all directions  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Technical deep-dive explaining the mathematical foundations of ReSTIR GI for efficient real-time path tracing   Includes code snippets, visualizations, and mathematical derivations making the concepts more approachable   additionally clarifies the limitations of the technique  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     The paper combines ReSTIR (Reservoir-based Spatio-Temporal Importance Resampling) with shadow mapping for complex lighting   the selection strategy generates shadow maps for lights with the strongest contributions to pixels in the current camera view   and falls back to imperfect shadow maps to provide low-resolution shadow approximations  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     The article explores neural representations for 3D geometry   Discusses the Neural Intersection Function that allows BVH traversal to operate as part of the raytracing pipeline   Discusses the limitations and how Locally-Subdivided Neural Intersection Function can overcome these   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     The paper presents a technique for creating UV mappings directly on implicit surfaces without traditional mesh parameterization   Uses local-uv fields that are smoothly blended to enable continuous parameterizations  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     exploration of mesh shader implementation and performance benefits in modern graphics pipelines   Provides benchmarks with different meshlet/thread group configurations and code examples for amplification and mesh shaders   uses nvidia hardware counters to present the results of the various experiments  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     The blog post discusses GPU radix sort techniques   Starting with a classical radix sort implementation and an overview of the improved onesweep implementation   Explains how this technique can be extended to work within a fixed memory footprint through the use of a ring buffer for look-back storage  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Blog post describes the journey implementing AMD's FidelityFX Super Resolution 4 (FSR4) on Linux   Presents how DXIL expresses instruction extensions   Discusses steps required to support 8-bit float and wave matrix multiply accumulate(WMMA) required for the compute shaders  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     GitHub repository with minimal implementation examples for hardware-accelerated video decoding with Vulkan and DX12 for H264 videos   Shows how to decode video streams directly on the GPU   Demonstrates interfacing with platform-specific video APIs and synchronizing between decoder and graphics pipeline   source code contains many comments to explain the pitfalls and undocumented behaviours  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     GDC presentation from Ubisoft's rendering team on advanced graphics techniques in Assassin's Creed Shadows   Discusses the GPU accessible scene representation (database), GPU driven rendering pipeline and new micropolygon rasterization   Overview of the GI implementation, raytracing abstraction and deep-dive into the implementation   Lastly discusses the deferred weather system  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     presents a classification system for rendering engines based on their architectural approaches   focuses on the importance of context to discuss decisions and tradeoffs  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     article explaining the foundation of the Poisson distribution   develops an intuitive way to help understanding first and then derives the mathematical model from this  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     supplementary video for a research paper on improving Sobol' sequence quality   visualizes the differences between traditional Sobol' sequences and ones with guaranteed quality 2D projections   explains the process how to generated improved sequences  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     benchmark comparing FBX file format parsing libraries: ufbx, Autodesk FBX SDK, AssImp, and OpenFBX   identifies significant performance issues with the official Autodesk FBX SDK, and shows that ufbx is a lot faster  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     introduces a new website displaying D3D12 GPU feature support information across different hardware and drivers   allows easy identification of supported DirectX 12 features on specific hardware configurations   asks developers to submit information to make more data available to the community  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     detailed technical article examining performance issues in the index decoder   explores CPU microarchitecture issues related to store-to-load forwarding that occur in specific compiler-generated code patterns   explains how seemingly innocuous code changes by compilers can create serious performance bottlenecks in high-performance code  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     comprehensive technical resource clarifying common misconceptions about 2D Lanczos filtering   proves that the correct 2D application of Lanczos is separable and not a radial basis function    addresses practical implementation issues like "deringing"   particularly useful for temporal anti-aliasing and upscaling applications like those in FSR and SGSR  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     research paper presenting a novel lightweight path guiding algorithm for real-time applications   uses a von Mises-Fisher mixture model controlled by a Markov chain process to represent light distribution   demonstrates effective guiding for both global illumination and single scattering in participating media, with demos in a Quake path tracer  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     video tutorial on implementing reflection and refraction effects in OpenGL   covers environment mapping, Fresnel effects   explains both the theoretical foundations and practical shader implementations  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     detailed technical analysis and implementation of the iconic fog effect from Silent Hill on original PlayStation hardware   explains the technical constraints and creative workarounds used in the original game   detailed discussion how to the effect is implemented on PS1 hardware  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     part of an ongoing series about custom lighting models in real-time graphics   focuses on recreating the distinctive high contrast black and white imagery lighting style of film noir   covers techniques for dramatic shadows, stylized highlights, and atmospheric lighting effects   presents the implementation in Unity and Unreal  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     announces open registration for REAC 2025, scheduled for June 10-11, 2025 online  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     preview video showcasing upcoming papers from the I3D 2025 conference   covers a wide range of topics from weather simulation, physics effects, crowd animation, voxel rendering and much more  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     this paper introduces a framework that extends PBR materials to handle transparent surfaces like glass and windows   addresses limitations of traditional reflection models that struggle with highly specular and transparent materials   combines advantages of physically-based methods with efficiency by focusing on intrinsic image decomposition   provides deterministic, interpretable control for material editing while maintaining physical plausibility  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     This tutorial demonstrates techniques for implementing efficient custom lighting models   targets low-powered mobile devices, or augmented reality headsets   part of an ongoing series exploring custom lighting techniques   shows which features to remove for more efficient calculations  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     this paper explores alternative scene representations using transparent polyhedra (octahedra and tetrahedra) with triangular faces   presents a differentiable rasterizer that efficiently runs on GPUs, enabling end-to-end gradient-based optimization with real-time rendering   achieves comparable quality to state-of-the-art volumetric methods like 3D Gaussians while requiring significantly fewer primitives   the bounded nature of these primitives creates natural compatibility with traditional mesh-based tools for downstream applications  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     this research introduces Gaussian-enhanced Surfels (GESs), combining 2D opaque surfels for coarse geometry with 3D Gaussians for fine details   the novel two-pass rendering approach is entirely sorting-free, eliminating the computational bottleneck of Gaussian sorting   achieves both ultra-fast frame rates and avoids the popping artifacts commonly seen in other real-time radiance field rendering methods   includes extensions like Mip-GES for anti-aliasing, Speedy-GES for faster rendering, and 2D-GES for compact storage  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     This video explores the technical reasons behind the distinctive visual appearance of PlayStation 1 games. Especially explaining the effects of the Silent Hill series   focuses on explaining projection from world into projection space, vertex shading, color quantization etc.   Explains the hardware limitations that led to the characteristic polygon wobbling and texture warping  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     this animated video breaks down essential machine learning and AI concepts in a visual, accessible way   uses animations to explain complex algorithms and mathematical foundations behind modern AI systems   helps viewers develop an intuitive understanding of key AI concepts without requiring advanced mathematical background  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     An approachable guide that demystifies mathematical notation commonly found in graphics research papers   Explains basic notation including summations, products, boolean algebra, and various representations for scalars, vectors, matrices, and tensors   Bridges the gap between mathematical notation and programming implementations, helping shader developers understand and implement published algorithms  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Ubisoft has open-sourced Chroma, their in-house colorblind simulation tool   The tool applies filters over game screens to simulate various types of color blindness in real-time   Designed to help developers assess and improve game accessibility  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Collection of NVIDIA's latest technical sessions and presentations from Game Developers Conference 2025   Covers a wide range of topics including ray tracing, AI-assisted rendering, graphics optimization techniques as well as more generic AI techniques   Provides insights into how to path trae nanite content  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     A practical guide to effectively combining multiple shader effects into a single shader pass   Presents a checklist for determining shader compatibility based on performance, sample count, coordinates, textures, and inputs   Explains how to convert shader code into functions and handle the ordering of effects for optimal results  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Detailed exploration of Monte Carlo integration techniques applied to rendering, focusing on a simplified 2D light transport model   Covers direct lighting, indirect lighting, and specular reflection with thorough mathematical explanations   Discusses common challenges like fireflies and variance reduction in path tracing implementations  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Comprehensive course materials from MIT's "Machine Learning for Inverse Graphics" (6.S980)   Covers fundamental topics in computer vision, graphics, and geometric deep learning, with a focus on neural scene representations   Provides lectures on image formation, 3D scene representations, neural rendering, and self-supervised learning approaches  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Microsoft's latest DirectX roadmap presentation highlighting API advancements and tool updates   Shows updates to work graphs, neural rendering, raytracing 1.2 micromaps and shader execution reodering   summary of Agile SDK updates as well as plans for the HLSL future developments   additionally provides a look at new PIX capabilties as well as PIX API preview release  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Part of a Vulkan tutorial series focusing on integration with the Assimp library for model loading   Demonstrates how to process imported model data into Vulkan-compatible vertex and index buffers   Covers handling of materials, textures, and transformations when integrating external 3D assets  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Detailed exploration of creating efficient random number generators optimized for SIMD and GPU execution   Discusses implementation of a Linear Congruential Generator (LCG) with xorshift operations    additionally presents how to author an SIMD optimized variant  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     The blog post provides a discussion how hardware and graphics APIs developed over time   Presents performance changes as well as capabilities changes  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     The article presents a detailed discussion of z-testing in modern GPU hardware   Shows when the hardware is able to move the execution of z-testing before pixel shader invocation and when not   Shows the impact on performance and correctness   Closes with a table showing a summary of the various features that can affect the behavior  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     The series on Monte Carlo's related techniques continues with Monte Carlo Sampling   Presents how to convert Pseudo-Random Numbers into samplers for more complex domains   Covers Uniform Rejection Sampling, Non-Uniform Rejection Sampling, Inversion Sampling, Marginal Inversion Sampling   Additionally talks about Changes of Coordinates and Sample Efficiency  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Reuse and share samples between different lanes in a shader wave, avoiding memory traffic   Presents a method to improve the quality of stochastically-filtered magnified textures compared to traditional texture filtering  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     The article presents an algebraic solution for bilinear interpolation using Barycentric coordinates to allow improved sampling across triangulated edges   Shows an explanation of the derivation of the method   Additionally contains the code for the implementation  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     The article presents a discussion of how to approach blurs for vector graphics   Discusses how to rethink the approach instead of using Gaussian blurs   Links to the implementation is provided  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     This series examines various techniques for rendering realistic grass   Part 1 focuses on the theoretical foundations needed to create believable grass   Part 2 demonstrates the practical application of these theories using a geometry-based grass shading model in Godot  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     This blog post provides a clear explanation of Quadrature and Monte Carlo Integration techniques   Interactive exploration scenarios help readers develop an intuitive understanding of the concepts   The author also explains important statistical concepts like Bias and Consistency  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     This article explores the programming techniques for the PlayStation 2 GPU architecture   The author uses a compute shader emulator to demonstrate how the register-based packet stream draws triangles  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     This blog post provides an in-depth analysis of raytracing acceleration structures across various hardware platforms and drivers   The author compares structure sizes across different manufacturers and hardware generations   A detailed discussion highlights how hardware vendors and drivers differ in data representation (based on publicly available information)  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     This OpenGL programming series continues with an exploration of bindless texture concepts and implementation   The video covers necessary implementation changes for both C++ and GLSL code  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     The article presents a visual walkthrough of how mirrors are commonly implemented in video games   It uses Sims 4 as a practical example to demonstrate mirror rendering techniques  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     This blog post demonstrates how to implement a 2D Gaussian Splatting algorithm using Python   The author explains both the Python and Slang implementation details   The implementation prioritizes clarity and ease of understanding over performance  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     The article examines the new dynamic register allocation capabilities in AMD's RDNA4 architecture   It details the new instructions and their interaction with wave execution   The author clarifies the limitations of this technique and compares it with NVIDIA and Intel implementations  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     This blog post highlights updates to the filtering capabilities of the Vulkan Hardware Database   New filtering options allow users to search by minimum Vulkan version, report age, device types, and layered implementations  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     The blog post analyzes the CPU overhead caused by copying D3D12 descriptors   It demonstrates how to use available APIs to reduce this overhead significantly   Discusses how different hardware tiers handle uninitialized descriptors differently   Explores how various shader compiler options affect performance outcomes  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     The blog post provides an interactive explanation of the Digital Differential Analyzer (DDA) algorithm   Through step-by-step visualizations, it breaks down how the algorithm traverses a grid   Focuses on the 2D case to build intuition before discussing more complex applications  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     This video tutorial demonstrates how to extend a forward lighting shader to support multiple dynamic lights   Implementation is shown using Unity's rendering pipeline   Explains the performance considerations and optimizations for handling many light sources  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     The blog post details the integration of Screen Space Ambient Occlusion into Use.GPU, a reactive GPU authoring system for the web   Showcases the debug pass inspector integration for visual analysis   Explains the technical considerations and implementation choices behind their SSAO approach  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     The blog post explores the mathematical and statistical foundations behind common loss functions   Starting with squared error loss, it explains the connection between loss functions and probability distributions   Provides practical guidance on selecting appropriate loss functions based on the underlying assumptions of your data  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     The blog post presents experimental results comparing RDNA3 and RDNA4 memory access models   Demonstrates how RDNA4 resolves false cross-wave dependencies that exist in RDNA3   Includes comparative benchmarks against NVIDIA and Intel hardware to highlight architectural differences  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post discusses the history of parallel GPU hardware developments over time   talks about the limitations of current programming models   as well as upcoming developments like work graphs and other GPU-driven execution models  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents a short interview about the technology of Assassin's Creed Shadows   the included video contains a lot more details, including debug view insights into the virtualized geometry system   discusses how and why AC ships with two different Global illumination systems  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     recording from the GTC presentation is available   discusses the current state of the CUDA stack and future developments for performance optimizations across the whole stack   introduces new Python libraries, JIT compilation   additionally introduces cuTile, a new CUDA extension that allows the expression of problems at the tile level  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     NVIDIA GTC is happening now – [attend virtually](https://nvda.ws/4aAcg3k) for free.    Presenting the latest breakthroughs in generative AI, accelerated computing, simulation technology, and more.   [Register](https://nvda.ws/4aAcg3k) to attend and enter my RTX 6000 Ada giveaway   My session recommendations: [An Introduction to OpenUSD](https://www.nvidia.com/gtc/session-catalog/?regcode=ref-inor-411354&ncid=ref-inor-411354&tab.catalogallsessionstab=16566177511100015Kus&search=openusd#/session/1727289300468001QFp4), [CUDA: New Features and Beyond](https://www.nvidia.com/gtc/session-catalog/?regcode=ref-inor-411354&ncid=ref-inor-411354&tab.catalogallsessionstab=16566177511100015Kus&search=cuda#/session/1726614035480001yvEQ), and more [here](/gtc-2025/)  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post shares D3D12 announcements from GDC   DXR 1.2 will bring support for opacity micromaps (OMM) and shader execution reordering (SER)   additionally, shares upcoming PIX updates as well as support for Cooperative vectors  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video continues the development of a custom lighting model   this part introduces how to integrate fog into the shading model   implementation is done using the visual shading language in Unity 6  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     a short tutorial on how to use Geometry Shaders from Unreal Engine 5   shows the necessary C++ and shader code  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents a discussion of techniques used to convert 2D sketches (interactively) into 3D base meshes   the technique is based on a transformer architecture that iterates on results through additions and deletions   still has context length limits that restrict triangle counts to thousands  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video presents how to render Implicit surfaces   starting from the basic ideas and showing how to deep dive into research on the same idea. Explaining the developments in implicit surfaces   additionally presents how to interact with the researcher community  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article provides an overview of Monte-Carlo and the Importance of sampling   discusses how to derive the variance reduction of the Importance sampling technique   shows how different approximations can present very different convergence behavior  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     The article provides an overview of dithering colored images   Discusses the importance of color spaces and human perception of the results   Additionally, it provides a link to a separate article that focuses on monochrome dithering   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post discusses the consideration of performance when designing general-purpose code   discusses various approaches to thinking about the problem   concludes that APIs should be designed to be "Not Obviously Bad"   avoiding obvious waste, such that if a random profile is taken, performance issues shouldn't immediately stand out  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     NVIDIA GTC is happening now – [attend virtually](https://nvda.ws/4aAcg3k) for free.    Presenting the latest breakthroughs in generative AI, accelerated computing, simulation technology, and more.   [Register](https://nvda.ws/4aAcg3k) to attend and enter my RTX 6000 Ada giveaway   My session recommendations: [An Introduction to OpenUSD](https://www.nvidia.com/gtc/session-catalog/?regcode=ref-inor-411354&ncid=ref-inor-411354&tab.catalogallsessionstab=16566177511100015Kus&search=openusd#/session/1727289300468001QFp4), [CUDA: New Features and Beyond](https://www.nvidia.com/gtc/session-catalog/?regcode=ref-inor-411354&ncid=ref-inor-411354&tab.catalogallsessionstab=16566177511100015Kus&search=cuda#/session/1726614035480001yvEQ), and more [here](/gtc-2025/)  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post presents improvements to the Disassembly view in the GPU Analyzer   can now present register pressure, branch visualization as well as tooltips explanations for the instructions  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post presents new improvements to the AMD GPU Profiler   this includes support for profiling compute-only applications (without present calls)   as well as improved support for work graphs and DirectML workloads  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video tutorial explains how to implement Screen Space Ambient Occlusion using Unity   presents how to make the ambient component of the lighting pass aware of the ambient occlusion terms  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     presents how to add support for a depth buffer into a basic Vulkan application   explains how to set the resource creation, clear the depth target as well as the changes required to the object shaders  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     This video tutorial demonstrates how to refactor monolithic lighting shaders into modular, reusable components   It showcases the tools available in both Unity and Unreal Engine for creating flexible visual shader architectures  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     This paper introduces an innovative method for compressing spectral images using existing JPEG XL encoders   It demonstrates how cosine transforms in the wavelength domain, significantly compressing the dynamic range   The authors present comprehensive compression results with quality comparisons across different parameters   They also outline future improvements currently constrained by limitations in the reference JPEG XL implementation  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     AMD has published comprehensive documentation about their upcoming RDNA4 architecture   The release includes updates to FSR technology and the Capsaicin prototyping framework  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     This article provides a practical overview of runtime atlas construction for sprites and text elements   It explores using signed distance fields (SDFs) for efficient dynamic shape packing   The author explains techniques for seamlessly joining polyline segments to create continuous shapes without gaps  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     This video provides a comprehensive overview of Slang and its capabilities for differentiable programming   It explains how Slang enables automatic differentiation, enhancing neural-based graphics techniques   The presentation also demonstrates the interoperability between Slang and Python codebases   It includes a practical example using gradient descent to train a Gaussian splatting implementation  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     This video introduces the fundamentals of physics integration for graphics applications   It extends basic concepts to implement practical soft-body physics simulations   The tutorial demonstrates how to construct character animations using soft-body physics  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     This tutorial demonstrates an efficient technique for implementing cloud shadows in Unity scenes   The approach generates shadow mask textures through render-to-texture techniques   The final effect modulates the main directional light, creating convincing cloud shadow patterns  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video explains the theory underlying the resampling of continuous signals into distinct samples   presents how various aliasing artifacts are caused and how sampling and reconstriction filters prevent them   explains the examples of image resampling  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents a GPU-based method for the generation of dynamic texture atlases for texture-space shading   explains the limitations of existing methods and how this algorithm aims to improve it   presents performance and quality comparison against existing methods  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           the video discusses the challenges facing modern game graphics development   focuses on how different approaches to world and game design affect what techniques are possible  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           the video explains how to design a flexbox-like layout algorithm   visually explains the flow of layout operations in a multi-pass structure   explaining all the tools required to implement relatively complex layouts   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     GTC is happening March 17-21, virtually and in San Jose. Presenting the latest breakthroughs in generative AI, accelerated computing, simulation technology, and more.    [Register](https://nvda.ws/4aAcg3k) for free to enter my RTX 6000 Ada giveaway   This post contains more details and my session recommendations  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           the article provides a look at the special case shadow handling for Infinity Nikki   discusses the various shadow systems, how they interact with other features and limitations   explains how many unique case systems can help to achieve game design requirements  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           REAC 2025 is looking for talk submissions until March 28   the paper describes what topics the organizers are looking for and how to apply  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           video recordings of Vulkanised 2025 talks have been released   covers a large number of topics from updates to HLSL, neural networks, swap chain management to GPU-driven command generation    slides are available  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the talk provides an introduction to the Vulkan Device-Generated Commands API   explains the steps required on the C++ side to record and execute commands   covering command buffer management, synchronization, API restrictions as well as limitations   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           the video explains the shader abstractions that can be found in Unity but are missing in Godot   provides an open-source implementation that aims to re-implement certain features for compute shader  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           a platform similar to Leetcode for CUDA applications   provides challenges and allows developers to submit and compare implementations  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post presents the latest development in HLSL development   shows that first basic HLSL shaders can be compiled in clang mainline   provides an overview of upcoming HLSL language revisions and upcoming changes   additionally introduces that public HLSL meetings are taking place reguarly  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper introduces a new blending method to smoothly blend textures and materials while preserving local contrast and texture details without ghosting or blurring   presented techniques uses simple image processing and computational photography techniques without additional preprecessong steps   WebGL demo is provided    
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post gives an introduction into Signed Distance Functions   providing a high level overview of the technique and what can be created using them   additionally provides information on where to find further information   as well how to modify functions for further effects  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video tutorial provides an overview of the Raymarching algorithmn   then presents a walkthrough on how to implement the technique in Godot shading language  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents a couple of small optimizations Infinity Nikki   presents how windows are only one-sided   additionally presents how animations stop when outside the view range  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post provides an introductionn into Stochastic Calculus   explains developing applications in the field   starts the explanation from a statistics calculus examples and expands to more advanced examples  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article provides a detail discussion of considerations when designing UI for various devices and screens   explains the different resolutions and scale factors that appliaction developers need to know   presents practical examples of various ways to deal with the challenges   shows which Godot tools are available to help   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     GTC is happening March 17-21, virtually and in San Jose. Presenting the latest breakthroughs in generative AI, accelerated computing, simulation technology, and more.    [Register](https://nvda.ws/4aAcg3k) for free to enter my RTX 6000 Ada giveaway   This post contains more details and my session recommendations  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article provides the history of compressing textures on the GPU into block compressed formats   discusses the various challanges of getting this working reliable on various Vulkan devices and drivers   additionally presents how it can be achived on D3D12, OpenGL and Metal  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article introduces that LLVM has added offical support for SPIR-V as a backend generation target  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video provides an overview on how to use glMultiDrawElementsIndirect to draw a scene   provides a discussion of the technique and shows how to integrate it into an exisitng OpenGL application   showing how it affects the C++ and GLSL shaders  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video tutorial continues the development of a custom lighting model in Unity and Unreal Engine   in this part it presents how to intercept light information from the main scene light   additionally presents how to improve ambient lighting  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     The article provides a step-by-step tutorial that presents how to create the head of Rick using a pixel shader.   Introduces the necessary SDF operations slowly and shows how to combine them with animation.   Each step is presented as interactive shader challenges that can be edited to learn along the way.  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     The video tutorial presents how to combine specular, diffuse, and ambient lighting to create a custom shading model.   Presents the various stages, how to ensure correct vector spaces, and the effect of various parameters.   The implementation is shown using Unity and Unreal visual shader graphs.  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     The paper presents an analytic approximation for the CIE 1931 color space and the more modern CIE 170-1:2006.   Shows the approximation process and how it compares against existing approximations.   Source code is available in C++ and Python.  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     The article provides a deep dive into getting Surface-Stable Fractal Dither running on a simple 1-bit display console.   Presents a breakdown of how the dithering algorithm is created from various passes.   Discusses various software rasterization methods and how they compare to the GPU reference implementation.   Additionally, it presents several applied optimization steps and how they affect performance.  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     The article discusses a small trick used by Anno 1800 that always aligns the sun's direction relative to the camera.   Presents how much it affects the scene's beauty as it prevents worst-case lighting setups.  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     The presentation covers a complete walkthrough on using WebGPU from JavaScript.   Starts by explaining the basics and proceeds from a high-level overview into the implementation details.   Covers the full rendering pipeline, including shader authoring.  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     The talk introduces a novel sphere tracing algorithm tailored for harmonic functions.   The method allows for larger step sizes than traditional ray marching.   Demonstrates applications in visualizing surfaces reconstructed from point clouds and polygon soups without requiring linear solves or mesh extraction.   Expands visualization capabilities to handle nonplanar polygons with holes and complex mathematical objects such as knots and links.  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     The blog post describes how LunarG optimized the startup time of GPU Assisted Validation.   Combines driver hints and more fine-grained validation code and moves logic to later stages in the application lifecycle.  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     The article provides a detailed walkthrough of optimizing a 4096x4096 matrix multiplication for RDNA3.   Shows how to calculate theoretical expectations for performance and compares against all tested implementations.   Presents how a highly optimized routine can be 50x faster than a naive implementation.   Always present hardware performance captures and explain how to understand them and optimize the bottlenecks observed.  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     The blog post introduces the Vulkan Safety Critical Emulation stack.   Shows how the stack interacts between the user code and driver code.   Is meant to guide developers in developing applications by emulating SC constraints on consumer hardware.   The source code for the stack is open source.  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     The blog post announces the release of the Mega Geometry SDK   This entry provides a summary of the various samples and libraries  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Nvidia released a beta version of Neural Texture Compression   A neural network is used to compress all textures of a PBR set together   This can either be decompressed at sample time or be transcoded into BC during texture load   The readme provides a brief explanation and example data  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     The paper introduces turning 3D Gaussian Splatting from unstructured into structured structure using spherical UV mapping   The paper presents how the mapping allows existing models to better operate on the image formats   Shows improvements in compression and quality  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     This blog post introduces the release of the AMD Dense Geometry Compression Format SDK   The format aims to be the equivalent to what BC/ETC is for textures but instead for geometry   Explains limitations of the current solution and how the format aims to overcome it   The SDK contains how to compress, view, and decompress the data (both on the CPU and GPU)  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     The video tutorial presents how to implement a world space-based effect that allows blending between different world rendering styles   Implementation is done using a mix of visual shading language as well as HLSL   Presents simple shapes as well as texture-driven outlines  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     The blog post provides a high-level discussion of why Unreal Engine games commonly encounter micro stutter related to shader loading   Discusses the various systems Unreal Engine contains and introduces new methods to reduce the problem   Additionally, it discusses available debug options that should help developers verify the efficiency and introduce solutions during development  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     The video visually explains the most common mathematical concepts that are encountered in game development   Covers interpolation, trigonometry, vectors, dot-product, matrices, quaternions   Presents each concept with practical and visual examples  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     The article discusses a technique that uses Stable Diffusion to generate a tileset   Discusses how to drive the model to generate the transition tiles between a known set of materials   Presents the limitations and issues with the developed model  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     The article presents a simplified model for Vulkan and D3D12 Extended Barriers   Discusses both textures and buffers and how different hardware interacts with them   The code for the implementations is available  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     The article presents a series of post-processing effects that build upon the same underlying techniques   Each effect is explained and presented with detailed visualizations   Additionally, each effect is demonstrated as a real-time implementation that can be interacted with directly on the website  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     This video tutorial series covers the implementation of a Vulkan renderer   In this episode, you will learn how to create, load, and sample a texture  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the detailed article provides an overview of the implementation of the Goo-like in "The Gunk"   explains the underlying voxel-based implementation, how it's represented and interacts with gameplay   describes how it's authored and rendered integrated into UE   additionally presents how the effect is rendered using a ray-marching-based approach   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the sample is part of Nvidia RTX Mega Geometry and presents how to use a continuous Level of detail through mesh clustering   presents how to rasterize using mesh shaders and use the new VK_NV_cluster_acceleration_structure for raytracing   provided documentation provides a detailed walkthrough of the sample code and the underlying implementation  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post provides an overview of the latest released features in the D3D12 Agility SDK update   the SDK introduces Shader hash bypass, reduced alignment requirements for buffers, as well as the recreation of resources at specific virtual addresses   as well as shared links to updates to the d3d12 video encoding functionality  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     continuation of custom lighting model using Unreal and Unity   this part covers Phong, Blinn formula, as well as  Half Lambert, diffuse   implementation is shown using visual shader language  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post presents new features for D3D12 video encoding   allows developers to provide additional hints (such as motion vectors or dirty rectangles) to speed up the encoder processing   also now allows frames to be split into sub-regions with individual progress tracking and data access control   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     first, experimental support for Cooperative vectors has been added to Slang   the blog post explains the features and presents two examples of how to use it   additionally provides a link to the SPIR-V extension  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Nvidia open-sourced a mesh processing library that allows meshes to be split into meshlets and calculate LOD cluster that allows for continues LODs   documentation explains the API, how the implementation approaches the decimation and split steps   additionally, explain the limitations (there are a number of them at this time)  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     The video provides a detailed explanation of the work done to apply fractal dithering on objects stably.   It starts with a review of dithering concepts, discussing various methods and issues.   The technique is developed from the start, showing the various stages of implementation along the way.  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     The video explains how to implement a custom lighting model in Unity/Unreal.   This part focuses on the integration of vertex-based shading.   Implementation is shown using a visual shader authoring workflow.  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     The blog post discusses the process of a world-space-based surfel distribution pipeline.   It provides a high-level overview of the concept and implementation.   It shows how the various stages have been implemented and presents performance results.   Additionally, it provides pointers to further information.  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     The blog post explains FFT optimization for bloom effects in the Nabla engine.   It covers acceleration via convolution in the frequency domain.   It presents detailed overviews of the optimizations applied.   Additionally, it looks at what could be further improved in the future.  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     The article provides an overview of how to use the tinybvh open-source library.   It provides a high-level overview of the API and design considerations.   It then shows how to use the basic API and how to refit the BVHs for animation support.  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     The article explains spectral radiometric quantities.   Presents how it relates to human perception to create photometric quantities.   Additionally covers techniques to efficiently deal with spectral rendering implementations.  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     The Vulkan example presents how to use the VK_KHR_dynamic_rendering_local_read and VK_KHR_dynamic_rendering extensions to replace the need for render passes.   Explains how dynamic rendering compares to Vulkan 1.0.   Shows how local reads can be used to implement a deferred renderer with a composition pass.  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     The video provides a high-level introduction to compute shaders with OpenGL.   Shows how to apply the concepts to the implementation of a particle system.   Explains how to implement the shader, connect it to OpenGL, and execute the work.  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     The blog post calls out that color spaces such as CIELAB don't offer perceptual brightness for all colors.   Explains how certain colors appear brighter to humans than others at the same hue.  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     The blog post provides examples of how different HLSL implementations cause very different codegen results.   Shows that unintuitive implementations can be required to allow the compiler to map to native instructions.   Suggests that compiler pattern matching hinders performance and it could be beneficial to expose native instructions as intrinsics.  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     NVIDIA released an interactive and free course about learning OpenUSD concepts.   Structured into modules, the course combines written guides and video tutorials for a comprehensive learning experience.   Hands-on Jupyter notebooks let you explore practical examples and deepen your understanding of key topics.   Just released: Applied Concepts courses on composition arcs, asset structure principles, and data exchange pipelines.  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     The video provides an overview of the Mega Geometry technique by Nvidia.   Aims to solve the issue of streaming clusters into acceleration structures without BVH rebuilds.   Discusses new possibilities of the presented demos.   Currently an Nvidia-only API.  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     The video recording of a talk that discusses Compact Poisson Filters to allow fluid simulations for interactive applications.   Explains the solver technique and implementation steps in detail.   Presents performance and demos of the technique.  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     The blog post explains how to implement a dissolve shader.   Presents examples of different methods for the implementation and compares them visually.   Additionally provides examples of the technique when applied to particles.  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Collection of blue sky posts covering tech art.   Contains videos and pictures of in-progress projects.   Additionally contains a number of links to tutorials and posts covering a variety of topics.  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     The blog post discusses different classes of HLSL instructions and associated costs on RDNA hardware.   Presents how many instructions are required for the various patterns.   Additionally presents insights into other patterns that can affect the performance of generated code.  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     A detailed discussion of the rendering color pipeline in Unreal Engine   Explains color spaces, color encoding, and various stages of color conversion   Presents post-processing effects and the importance of proper color handling  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     An explanation of radiometry concepts such as Radiance, Solid angle, Irradiance, Radiant flux, and Radiant energy   Ties these concepts together in the context of a renderer's camera  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     A look at various techniques to generate mipmaps for vegetation textures   Discusses the problem of losing coverage and shape with classical downsampling techniques   Compares various techniques and suggests their pros and cons  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     An overview of techniques defining a WebGPU implementation   Provides a high-level overview of the shader pipeline, culling, shadow rendering, and more   Discusses light implementation, skybox, screen space reflection, etc.   Source code is available  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     A detailed discussion on the complexity of image format loading and display   Insights into the image format landscape and tone mapping HDR formats correctly   Additional topics include cursor rendering and optimizations  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     NVIDIA released an interactive and free course about learning OpenUSD concepts   Structured into modules, the course combines written guides and video tutorials for a comprehensive learning experience.   Hands-on Jupyter notebooks let you explore practical examples and deepen your understanding of key topics.   Just released: Applied Concepts courses on composition arcs, asset structure principles, and data exchange pipelines  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     An overview of different MSAA modes in the Metal API   How to adjust the MTKView wrapper to create a memoryless MSAA target   Shows the effect of this change on memory usage  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Challenges developers face when implementing DRS on PC   Covers hardware and OS interaction, latency, and user input variability   Briefly discusses approaches to solving these issues on PC  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Video tutorial on implementing uniform buffers in a Vulkan application   Explanation based on code changes from previous iterations   Shows how to use the concepts to implement a 3D flythrough camera  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Announcement of Cooperative Vector Support extensions for D3D   Exposes hardware-accelerated matrix by vector operations   Enables access to Tensor Cores with neural shading in new RTX50 series GPUs  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Discusses updates to the Reflex 2 system   Explains how changing camera views are applied by reprojecting the camera into the new camera space   Shows how unfilled areas are filled through neural reprojection techniques   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post discusses a technique to use splines to drive the creation of terrain meshes   including the history and a discussion of how to generate meshes from the splines   additionally, present screenshots of an in-development game that uses a system based on the idea  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article provides a look back at the development of offline rendering techniques   presenting which techniques got used, how they changed over time, and when the first path tracers appeared   additionally providing additional thought as to why things developed the way they did  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the project presents how to implement Material Mapping using MaterialX   the included demo video shows the effect   code is provided  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post discusses how colorblindness affects how humans perceive colors   presents a tool that aims to replicate how different limitations affect the appearance   includes links to color palettes that maintain contrast for full vision and those with colorblindness  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the author presents an overview of the tools used to develop the Spark codecs   discussing the importance of tooling and automation for efficient development   additionally discusses how A/B testing algorithm changes are integrated into the codebase  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video provides an overview of the various series covering shader development   provides a quick overview of each of the series available on the channel   additionally discusses the author's background  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post provides the author's experience of working independently after leaving Roblox   discusses changes to mesh optimizer, gltf-pack   additionally discusses the viability of sustainable open-source development models  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post discusses changes in the latest release of Pix   adds support for VRS shading rate visualization, shader graph debugging, as well as improved custom shader support   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article provides a detailed discussion of how hardware implements the UNORM/SNORM conversion rules   explaining special cases and how to deal with those   additionally, it presents a C++ implementation of the presented concepts  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents a model of applying motion blur to spheres in a 2.5D setting   implemented by pre-generating an atlas of blurred spheres of varying radius and lighting angles and compositing these into the scene   explains the implementation and limitations   runnable example and source code is provided  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post discusses changes done to the Disney Hyperion render since the prequel to the movie   provides published research papers on the discussed techniques   then presents the main challenges of the Moana 2 production and how they solved them  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post discusses the difference between adjugate transpose vs inverse transpose of normals   explains how it behaves on shading normals   presents the visual results of different methods  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video provides an introduction into the mathematics of importance sampling   discusses how samples can approximate integrals   then applies the ideas to the diffuse shading integral  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article explains and shows how noise applied to a curve fitting application changes the results   additionally presents the same in a multi-modality model using flow matching   concluding that "noise cancels out, signal adds up" cannot always be relied upon anymore  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post presents tools available to visualize and understand memory usage in PyTorch   explains how to estimate memory usage before running a workload   additionally provides a small tool to help with the estimation  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video provides a round-table interview with two developers of the team   covers which techniques are using ray-tracing implementations, how they are implemented, and what is affected most   discusses trade-offs of requiring hardware support as well as next steps  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video explains how to convert panoramic images with a 360-degree view to a cube map   presents the fundamentals of the involved coordinate space conversions and related math   additionally also presents how to implement the conversion using OpenGL  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the post announces that DXIL debugging and raytracing are now supported in RenderDoc   shows how DXIL is integrated and existing limitations   Ray tracing debugging is implemented using API debug features that are not yet implemented on all drivers   additionally, it contains a long list of fixes and improvements   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post provides an introduction to the path tracing lectures available from the TU Delft   discussed what material is covered and the limitations   additionally discusses the technology used to implement the example implementation  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the very detailed article covers the moon (physics, appearance, ...) in great detail   shows curves of astronomical objects, effects of physics, projections, appearance, and much more   each example is accompanied by videos or interactive explorations of the concepts  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents a reformulation of Gaussian Splatting to allow nonlinear camera projections   explains the concepts of Unscented Transform and how splatting can be reformulated using the method   additionally presents how the method allows the same representation to be used with raytracing implementations  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video provides a detailed introduction to Clay, a C-based layout engine for high-performance immediate mode UI   start by explaining the concepts, capabilities, and design goals   presents a walkthrough on how to develop a small starter application, showing code iterations along the way   all examples are accompanied by various animated visualizations  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post presents the difficulty of creating microbenchmarks   shows the example in a simple example by looking at the generated code at different levels of the optimization pipeline  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post provides an overview of the graphics changes done to the Wicked Engine   covers forward rendering, meshlet-based rendering, visibility buffers, shadow rendering, wetness, and more   provides reasons, limitations, and performance numbers for the various aspects of the engine changes  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post provides a detailed discussion of the adjugate matrix, an alternative form of transform for normals   discusses why normals need special handling under transformation visually   explains how geometric algebra allows the derivation of this behavior in a consistent framework  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article summarizes the main concepts of D3D12 to provide a high level of understanding   covers Resources, Views, Heaps, Sub resources, and different buffer types  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents an investigation into the Monte Carlo rendering method using statistical methods   the proposed model does not use any pre-trained data and is instead applied at runtime   presents the derivation and comparison against existing denoising models  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     a paper presents a novel mesh generation model that can generate meshes with up to 64K faces from point cloud data   provides an overview of autoregressive mesh generation that is the foundation of the model   explains the model development process and presents the results  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the website covered a glossary of standard terms found in graphics programming in a single location   broken down into Device Hardware, Device Software, and Host Software   explains concepts such as Warp Scheduler, Tensor Cores, Cuda, Thread Blocks, and much more  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video presents a look at raytracing quality in various games   shows comparisons mainly focusing on shadows and reflections   some of the games featured are Cyberpunk 2077, Alan Wake II and Star Wars Outlaws   additionally shows the effect of denoising techniques on the quality and appearance  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video provides a detailed walkthrough on the process of rendering water based on the results of a water particle simulation   starts from an empty scene, covering mesh generation, raymarching, shading as well as interactions with the environment   additionally, it presents how to render foam and bubbles to the water's surface  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents an overview of different games that implement refraction into their rendering pipelines   compares the different approaches, discussing advantages and disadvantages   additionally presents how this interacts with anti-aliasing  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post focuses on the visual side of grass rendering in Call of Duty Black Ops 4   shows different stages of the exploration and impact of the various components   discusses various hacks to simulate the effect of real-life effects within the restrictions of the runtime grass   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents an image upscaler that is designed to extrapolate from color, depth, and motion vector inputs to a variable number of frames   discusses the implementation of the motion estimation, background collection, adaptive rendering windows, and shading correction network modules   presents performance and quality against existing techniques  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     a collection of videos from the Graphics Programming Conference in Breda has been released   covers a large number of topics such as Porting Games, Vulkan best practices, Shader Occupancy, Occlusion culling, and much more  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the talk presents an overview of the Gigi Platform   a tool and code generation that aims to improve programmer productivity by enabling rapid authoring of shader effects   shows how the tool was developed, what features it has, and what has been implemented using the platform so far  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the talk presents an overview of the rendering pipeline in Tiny Glades   covers GPU-driven rendering, sky rendering, GI implementation, shadows, refractions, Depth Of Field, and more  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post discusses Godot Light Shaders   presents where this type slots into the pipeline and what possibilities it enables   presents a walkthrough on how to implement tool shading into the Godot pipeline  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post announces the release of Vulkan 1.4   increased guaranteed limits, required extensions, as well as    addition presents improvements to copying data while rendering  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents a walkthrough of how the author approached optimizing loading issues in Myst IV   shows how he detected the bottlenecks, replaced texture loading logic   contains a comparison of the performance of various image-loading libraries  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article provides a very detailed look at how a frame in Detroit Become Human is being drawn   presents insights into how the shading pipeline is implemented, details into implementation for the various resource passes, vertex formats, interactions with animations, effects implementation, etc   additionally shows a flow graph of how a full frame is structured with images of the resources involved in each pass  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the example project presents an example of how to use Slang with WebGPU   shows how to use CMake integration to compile shaders from slang to WGSL (WebGPU shading language)   additionally shows how to use the reflection API to generate binding helpers  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     In the working document, Timothy Lottes records and suggests solutions for GPU programming issues in a compute shader context   covers many problematic areas, from performance hints over shader compiler improvements, caching related, buffer access patterns, and much more   provides example cases that offer insights into current shortcomings, performance issues, and shader compiler bugs  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents how to use RustGPU to compile a compute kernel   discusses the implementation details and interactions with the ecosystem   additionally presents how RustGPU enables shader logic to be run on the CPU  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article discusses the efficient implementation of Sparse Voxel Octrees   presents how to build the required tree structures and traverse the created trees   additionally provides advice to improve debuggability, performance, and robustness of the initial implementation  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     The article presents the new Fragment Pre-pass hardware implementation available in upcoming Arm GPUs   explains how the technique works, what it enables, and what are the limitations   additionally, it discusses best practices for performance and shows some performance numbers  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     My list of recommendations for books   Covering Computer graphics, engine design, algorithms, collision detection, as well as knowledge management   contains resources for beginners as well as advanced programmers  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     A summary of the chapter Differentiable Graphics with Slang.D for Appearance-Based Optimization included in GPU Zen 3   the article focuses on the practical usage of stochastic gradient descent and optimization from beginning to a working minification system for materials   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents insights into how to upscale retro pixel art games for higher resolutions than the source material   The suggested solution is using nearest for vertical and linear for horizontal  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the Vulkan code example presents how to use various modern Vulkan concepts to create compact sample applications   presents how to use descriptor management, specialization constants, timeline semaphores, ImGui integration, etc.  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog provides an overview of changes to the Slang shading system ecosystem   Slang is now part of Khronos and adds support for Metal and WebGPU   additionally, improved type system, Unicode, as well as atomic support  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article provides a look at various anti-aliasing techniques   presents many interactive examples to demonstrate the techniques and allows experimentation with them  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post announces the release of a new encode AV1 extension   Vulkan Video now provides full decode AND encode acceleration for the H.264, H.265, and AV1 codec   additionally presents an overview of the Encode Quantization Map extension and how it allows applications to better control the encoding quality  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the talk provides an overview of the GPU-based rendering implementation   presents an overview of how the different stages of a frame are implemented   covering scene representation, culling implementation, shadow rendering, mesh shading, and more   additionally presents an overview of the frame performance  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the slides for a talk given at the Graphics Programming Conference 2024 have been released   provides an overview of AMD hardware execution patterns, what occupancy is, and how it affects performance   the slides don't have speaker notes, so following them is a bit difficult at times  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article provides a high-level overview of how to use AMD profilers to investigate cache miss behavior   explains the different available hardware counters and how to interpret the results  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article explains the concept of in-flight frames in computer graphics applications   shows how the execution pattern between CPU and GPU requires synchronization   additionally discusses how it affects memory usage, latency, and execution performance  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video explains how to set vertex buffers using Vulkan   shows the implementation for allocation memory and uploading data for GPU access  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video tutorial explains the theory behind image-based lighting   presents how to implement pre-filtering for the diffuse lighting component   shows many visualizations of the involved steps  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post provides an overview of what has been discussed for changes to WebGPU  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the tool allows the visualization of Monte Carlo samplers   many different methods can be selected   allows the exploration of settings through interactive controls  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article provides an overview of Gaussian Splatting support in V-Ray   explains the technique on a high level, advantages, and limitations   presents an example of how objects can be added to scanned scenes and interact with the scene around them  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents a framework for volumetric scene prefiltering and level-of-detail rendering   to improve geometric fit of voxel approximations, it introduces a truncated ellipsoid primitive   shows how the technique allows accurate LoD rendering closely matching the ground truth at all scales.  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     keen games released a snapshot of their Vulkan Backend implementation   code is not compiling as it depends on code that has not been published   meant as a reference for others to see how concepts can be implemented  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article explains the changes that have been made to the Nanite-like Virtual Geometry system for Bevy   discusses software rasterization, improved LOD selection, memory reduction techniques, as well as performance optimizations   provides links to the various PRs and explains these, making it easy to follow along  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     AMD released a shader toy-like application that allows exploration of D3D12 Work graphs   the application is compatible with D3D WARP (aka CPU emulation of D3D12)   provides tutorials of different complexity to showcase different capabilities   documented source code for all tutorials is provided  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post provides a high-level overview of the hair rendering technique used in Dragon Age that uses strand-based rendering   presents that 6.5ms (at 30fps mode) and 3ms for 60fps are reserved for hair rendering   shows a demo video to present the technique results  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the slides discuss the design of the C4 Engine   present how the engine has been separated into separate components and what these components do  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the presentation shows how to use HLSL Wave Intrinsics   explains what Wave Intrinsics are, what they can be used for, and the limitations   shows practical use-cases and how to implement example solutions   presents the generated code on AMD hardware and discusses pitfalls  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the Bluesky thread presents a detailed look at how to optimize a 3x3x3 blur   shows different stages of the optimization process   published performance numbers for the different optimized implementations   additionally presents how to use voxels to visualize the algorithm implementation  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents a technique for Order-Independent Transparency   the presented technique uses multiple passes over the geometry to generate transmittance coefficients   discusses how this turns the problem into an additive shading problem   presents the implementation details step-by-step, limitations and possible optimizations  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article discusses the concept of coordinate systems and how it relates to column vs row-major matrices   provides into how the misconception is based on old fixed function style OpenGL concepts   overview of how matrix and vector convention are disconnected from memory layout   additionally shows how the Odin language supports these concepts on the language level   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post provides an overview of the process of how procedural vegetation was implemented in COD Black Ops 4   discusses the design process and how different developments across the teams influenced the design of the system   provides insights into the noise generation process, placement logic as well as storage considerations  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article goes into detail how to implement a floating point (0 to 1) conversion to 8bit and back without relying on division support   first presents the simple division method and then derives how to implement the same without division support   goes into detail about how floating point precision and ranges  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post provides insight into the BC7 texture compression format   explains how to best express constant color blocks within the constraint of the format  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article series about the implementation of a CPU rasterizer C++ continues   part 4 to 6 are released and add support for 3d transformations, projections, clipping, depth buffer, and perspective correct interpolation   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post presents a beginner-focused introduction to shader programming   provides an overview of how shaders allow access to GPU resources, execution model, and restrictions   shows how classical rendering pipelines with vertex & pixel shaders are used  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     single header HLSL library for spherical harmonics   implements support for L1 (2 bands, 4 coefficients) and L2 (3 bands, 9 coefficients) SH (spherical harmonics)  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     first release of a single header library for the construction and refit of Bounding Volume Hierarchy   contains a generic C++ version as well as an AVX optimized variation  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     start of a planned 12 part tutorial series on the implementation of a software rasterizer   currently available parts covers the steps required to render triangle as well as to interpoliate colors across a triangle  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents the findings of researach into compression of meshlet data for reduced memory usage   discusses the various techniques and the effects on compression ratios   additionally presents how they can be utilized my mesh and amplification shaders to decompress the data at runtime   presents the effects on performance  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video provides a look back at the speakers career in the video game industry   what they are looking for in graphis developers and programmers for video games in general   the QA section provides further insights into what developers are looking for in new hires  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents a walkthrough of the development of a painterly post-processing shaders   provides an in-depth discussion of Kuwahara filters and extensions   shows quality improvements for the various steps of the process   additionally presents runnable WebGL implementation of the techniques presented  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the spec focues on the mathematical description of the shading model    model is a linear blend of a metallic and a dielectric BSDF   presents the parameters, derivations as well as visual examples of the visual quality   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     collection of the author's articles from Ray Tracing Gems published in one place   Ray Traced Shadows: Maintaining Real-Time Frame Rates, The Reference Path Tracer   Refraction Ray Cones For Texture Level Of Detail, Rendering Many Lights With Grid-based Reservoirs  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article provides an overview of shadowing techniques as they have been used by video games of the past   presents examples of the different techniques, including screenshots of these techniques   discusses a brief overview of each technique and its tradeoffs  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article provides a walkthrough of quaternions deviations for computer graphics   focuses on the formulas and algebra underlying the mathematical model   includes a cheat sheet of the covered topics at the end of the article  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper introduces Energy-preserving Oren–Nayar (EON) BRDF designed for rough surfaces   introduces analytical energy compensation and importance sampling via Clipped Linearly Transformed Cosine  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article provides an introduction to the Global Illumination technique called Radiance Cascades    focuses on the development of an intuition for the concepts that underly the technique   the steps are explained visually with animated examples  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the post explains what a device lost event is and how to handle it from WebGPU   shows the exposed API and how to react to the events   discusses different approaches that can be taken to handle the event   additionally provides pointers for Chrome-specific considerations for development  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article provides a detailed overview of matrix multiplication   starts with an overview of matrix multiplications   discusses Row-major vs. column-major, differences between shading languages   then focuses on multiplication ordering, space transformations as well as inversing  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article discusses a technique to render debug fonts without the usage of textures   presents how to embed glyph data into shaders and render from instanced draw calls   GLSL source code is provided  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video continues meshlet implementation and looks at task shader performance on AMD hardware   starts with an overview of the technique implementation and presents the performance problem encountered using the AMD profiler   explains how the driver implements task shaders and what causes the performance issue by patching the Linux drivers   From there, implement a solution that uses compute shaders to cull meshlets instead of using task shaders   presents performance and memory comparison against the native task shader solution   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the document explains how vkd3d-proton decides to emulate Vulkan Workgraphs using ExecuteIndirect   discusses different trade-offs and design decisions made   presents how the implementation compares against native implementations on both Nvidia and AMD   many workloads are currently more efficient using this emulation code path than the native driver version  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article describes how to use the native Metal rendering API for Apple Vision devices   explains how to interact with the OS for Variable Rate Rasterization based on eye positions, interact with projection matrix   shows different techniques exposed to render meshes to the two-eye views   presents how to structure the rendering frame architecture to reduce latency   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article announces the release of Work Graphs as experimental Vulkan extensions   provides links to the headers, spec, and code samples, as well as compiler support   additionally provides a list of current limitations  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article introduces the new features in Reshape, a tool for instrumentation of GPU operations with instruction level validation of potentially undefined behavior   explains in detail what AMD Waterfall'ing is, how the tool can detect NonUniformResourceIndex usage   updates to per-byte and pixel resource usage, as well as placed resource initialization   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post presents two mathematical methods to scale points along a direction   the first method uses matrix operations, and the second uses dot products  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the tutorial series on Vulkan continues by implementing Graphics Pipeline objects   presents the C++ code changes and Vulkan changes required   closes with a first triangle being drawn to the screen  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video provides a comparison of different upscaling techniques for Ratchet and Clank Rift Apart   tries to match the PC and PS5 Pro rendering quality as closely as possible   compares the PS5 Pro upscaler technique against the AMD and Nvidia upscalers on PC  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the presentation provides a getting-started look at basic mesh shader implementations   discusses effects of meshlets, use-cases, and current technologies using it   additionally discusses remaining limitations  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the presentation provides a high-level view of the Mesh Shader implementation used on Alan Wake 2   The primary focus is on the culling efficiency that can be achieved through mesh shaders   presents the performance effects on different culling steps and the amount of final triangles   shows the implementation walkthrough of the mesh shader implementation   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video presents a walkthrough of a Python visualization framework for mathematical expressions   shows how to get started with a simple scene to more complex curve visualization over time   presents tips for workflows that allow the creation of animations efficiently  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the talk provides an overview of instrumentation-based GPU Validation system   explains what kind of validation is currently supported, how operations are written in IL agnostic fashion   additionally presents how to develop your own features for the system   and presents a view into abilities that instrumentation could enable beyond validation (debugging, data visualization, profiling)  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     intel released the rendering toolkit as open source under Apache 2   the technologies include Embree, Open Image Denoising, OpenOSPRay, and others  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents an overview of 3 methods to sample normal Gaussian distributions   discusses the implementation and trade-offs for the presented methods   presents a performance comparison of the implementations running on the GPU    
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents a detailed look at the quality aspects that relate to animation   shows the importance of sampling rate for human motion   presents the impact of data precision on animation playback   additionally, it presents a detailed discussion of animation data sets and develops what is required for high-quality research results  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the presentation provides an overview of the difficulties related to the composition of GPU graphics techniques   presents how Use.GPU tries to solve the problems by making composition a first-class design goal   presents how implementation details require completely different implementations   shows solutions to the problems discussed  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper proposes the use of tetrahedrons as primitives for volume rendering using mesh shaders   uses mesh shaders to compute the depths of the front and back faces at the same time when interpolating vertex attributes and passing both depths to the rasterizer stage   additionally presents how to use the same idea to implement SDF tracing  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper proposes an anisotropic specular image-based lighting method that can serve as a drop-in replacement for bent normal techniques   derives an analytic formula to determine the two closest and two farthest points from the reflected direction on an approximation of the BRDF confidence region boundary   compares the method against bent normal technique and ground truth using the GGX specular BRDF  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post introduces the new Driver Experiments   this tool allows developers to enable/disable hardware features as well as optimization flags   the post explains what features are exposed and what these options control  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     This paper presents an approximation of the importance based on spherical Gaussians (SGs) for light clusters   Each light cluster is represented as an SG light and analytically approximates the product integral of the SG light and a BRDF   presents how to use the method to reduce the MC variance for many light scenes  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video presents how to implement the rendering of a shader-based continuous grid system   explains how to generate the grid from a shader, deal with antialiasing, vary the grid sizes with distances, and much more   the implementation is shown and provided using OpenGL  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the talk presents an overview of the approach tech artists use to investigate effects in other developers' works   shows how to use various tools, such as RenderDoc, Nsight, Intel GPA, etc. to analyze game content   presents an overview of various techniques from games  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post covers which sessions AMD will be presenting at the  Graphics Programming Conference this November in Breda (Netherlands)   brief overview of the content of each talk (Occupancy and Work Graphs)   as well as which partner talks will be presented  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video presents a selection of short talks about different techniques and how it was implemented the Gigi framework   covers Reconstruct Materials (differential rendering), FFT 1D/2D, Gaussian Splat Viewer, Fractal Generation    each section provides an overview of the technique and shows the implementation  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post provides a brief overview of the state of Vulkan Device Generated Commands   this extension allows applications to write GPU commands from other GPU shaders   lists which drivers currently support the extension  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     NVIDIA released an interactive and free course about learning OpenUSD concepts   Broken into modules, it explains the different aspects of OpenUSD in written and video form   The provided Jupyter notebook gives the ability to explore the concepts in examples   Starts with the basics and develops into more advanced concepts such as animation and layer ordering rules  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents an  in-depth description of a system for guiding direct light sampling of scenes with hundreds of thousands of lights   describes how the system can use online learning of visibility estimates and how it's used for accelerating volumetric scattering cases   additionally provides insights into the production experience and limitations  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post discusses the limitations of a classic delta time-based approach for animations   explains why the techniques inherently are limited   provides a couple of ideas to smooth over the limitations  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post presents an overview of the various 8-bit floating point formats   shows the limits, precisions, and errors for all possible values in the representations  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     free course of 12 hours of content on CUDA development   presents how to get the system setup, explains the basics of GPU development concepts   extends the concepts from writing a first CUDA use-case to optimizing matrix multiplications to a full multi-layer perceptron model   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article discusses how Vulkan Pipeline caches operate   presents how multiple threads creating pipeline create contention and how multiple caches can solve the problem   additionally discusses which flags are required to create truly independent caches between threads  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post introduces the start of the initiative to support SPIR-V in D3D going forward   the plan is to support SPIR-V shaders starting with Shader Model 7 release   discusses limitations with DXIL, how SPIR-V can solve some   additionally, it presents a history of shader intermediate languages  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post introduces a technique to decouple the appearance and geometry of Gaussian    the approach decouples appearance and geometry through the use of per-Gaussian texture maps   presents a quality comparison against other Gaussian splatting techniques  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     The schedule for the graphics programming conference was released   conference will happen in November in Breda, Netherlands   contains a mix of talks and courses  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     NVIDIA released an interactive and free course about learning OpenUSD concepts   Broken into modules, it explains the different aspects of OpenUSD in written and video form   The provided Jupyter notebook gives the ability to explore the concepts in examples   Starts with the basics and develops into more advanced concepts such as animation and layer ordering rules  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents how to group API commands in Vulkan through the use of GPU markers   presents which extension exists, how to utilize RAII in different languages to manage the state required   additionally contains pointers to techniques for coloring the events  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     AMD has released an Instruction Set reference guide for RDNA 3.5   The guide covers the shader core execution model, various wave execution models, available instructions, and more  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post describes the debug build performance of various compilers   presents how different code structures allow the compiler to achieve different levels of optimizations   shows how C-style vector functions can generate more efficient code compared to C++ abstractions  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video tutorial presents how to implement a progress bar using SDFs   implementation is shown using Unity and Unreal Visual Shading languages  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper proposes a codec designed explicitly for meshlet compression within a mesh shader   presents how to find optimal generalized triangle strips on meshlets   discusses the lossless compression schema for index data    additionally presents a crack-free quantization for vertex attributes   performance results are presented, and the code is available    
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video explains the shader authoring pipeline for Vulkan applications   discusses the different stages involved and how data is passed between stages   shows the C++ necessary to compile shaders from text and load binary compilation results  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents a detailed look at D3D12 work graph performance on Nvidia hardware   shows a comparison of classification & raytracing pass using compute shaders as well as workgraphs   uses Nvidia Nsight to collect reasons for the underwhelming performance  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post shows how to profile an application with multiple processes using PIX for Windows  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post provides a look at different mesh representation formats   covering the pros & cons of various volumetric representations as well as implicit representations   concludes that for authoring workflows, volumetric representations are now feasible and offer various advantages  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents a new method for the representation of skinned meshes with deformations for raytracing   method allows for a compact representation of micro-triangle geometry through the hierarchical encoding of displacements   shows how to animate base meshes and apply additional displaced movements on top  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post introduces WebGPU-powered puzzles that aim to teach graphics programming   different independent units explain concepts and allow users to write and interact with GPU concepts directly in the browser   teaches the fundamentals in text and expands during the different lessons  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     a diagram that visually explains left-handed vs. right-handed coordinate systems   additionally presents which concepts are independent of the handedness  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post continues the discussion of the Radiance Cascades GI technique   presents how to use information from a low number of rays to reduce the number of artifacts as much as possible   shows the effect of the different steps and how multiple cascades are combined   source code and interactive experiments are available   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post presents the effects of combining multiple levels of noise   shows this for blue noise, white noise, box noise, and many more   additionally, it presents how the demo was made using the open-source Gigi prototyping platform  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post presents what is required to write deterministic algorithms   discusses algorithmic, multithreaded, and cross-platform considerations   shows how different compiler options and standard library implementation can affect the results  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video provides a summary of how normal maps can be used to augment surface detail   presents the derivation of the math that, such as tangent spaces, enables the augmentation   additionally presents a method that can be used to approximately detect if a texture contains normal map information  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video presents how to combine polar coordinates, tiling, and blending to create a procedural loading indicator   the implementation is shown using Unity and Unreal Visual shading languages  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post provides a collection of Khronos talks that happened during SIGGRAPH 2024   provides a link to the slides as well as the videos   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post discusses the EDIZ (Error Diffusion Image Zooming) algorithm for image upscaling   presents a high-level overview of the technique   discuss weaknesses and shortcomings   additionally, it presents an implementation of the technique in a code sample  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents the authors' findings when exploring Visibility buffers and methods to access UV derivatives   presents the different methods, additional texture channels, ray-tracing into cached vertex transforms, and usage of LDS for short-term caching   presents code implementations of the techniques and presents quality comparison videos  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the author presents his idea for a screen-space shadow technique that relies on Hierarchical Depth Buffers for each shadow-casting light   starts with a brief overview of virtual shadow maps and the difficulties of debugging them that lead to the idea  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the release adds support for new Vulkan extensions   exposes VK_AMD_anti_lag, VK_KHR_calibrated_timestamps, VK_KHR_pipeline_binary and others  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post provides an overview of the new  VK_KHR_pipeline_binary that allows direct retrieval of binary data associated with individual pipelines   this extension allows applications to write custom caching, pre-compilation as well as loading mechanisms   The article explains what the extension allows, how it's exposed, and considerations when designing a caching system  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper introduces a new method for precomputing indirect lighting into a novel form of Irradiance Volume   It discusses how two approaches, one neural net and one parametric function based on ReLU fields   presents performance and memory usage information and presents comparisons against existing solutions   additionally discusses the limitations of the technique  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the author presents a discussion of how to apply software rasterizing to the problem of hair rendering   technique is based on the Frostbite technique from the presentation "Every Strand Counts: Physics and Rendering Behind Frostbite's Hair"    discusses the implementation of the steps that make up the technique, such as spline projection, rasterization using edge functions, as well as interpolation information along the strands   WebGPU demo and implementation is available  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post describes the reasoning why SDL GPU doesn't require a single portable high-level shader language   focuses on the complexity of the shader ecosystem, how different formats are converted and required to be across platforms  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video explains how to implement a perspective-animated grid with a color gradient   presents how to implement perspective wrap in UV space   combines with other nodes to create the effect   implementation is shown in Unity and Unreal visual shading languages  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     SDL GPU abstraction has been merged into the main branch   provides a D3D11, D3D12, Metal and Vulkan implementation layer  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents the effects of applying ML upscaling algorithms repeatedly to the same image   compares against the effect of repeatedly scaling an image using a Lanczos filter  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents an overview of the performance characteristics of synchronization primitives   discusses what factors affect performance and presents performance results for these factors   presents an open-source testing framework to measure these effects  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     this proposal discusses an alternative approach to Pipeline caching in Vulkan   explains limitations of the existing Vulkan methods   presents how the proposed solutions suggest solving limitations and giving application developers more control  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the author presents how Geometric Algebra concepts are often defined in the literature and what better definitions look like   discusses different concepts such as Inner Products, Contractions, and duals   additionally ensures comparing the best possible GA implementation against the best possible matrix implementations for a more fair comparison of the implementations   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the D3D12 tutorial presents how to get started with compute shader usage   explains the steps required to setup shaders, create the necessary API objects, and execute the shader   source code is available  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post explains how HLSL shaders compiled for mesh shader usage with Vulkan require special annotations   default shader behavior doesn't handle it correctly, and it only fails on AMD without any validation errors  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article discusses a method to allow virtual geometry to be represented in ray-tracing scenes   explains issues related to BVH construction and LOD selection   shows how to integrate generation logic into loading and runtime frames  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video develops a mental model for 4-dimensional space   explores where the space is located and what it represents   starts exploring the space via generalization of concepts from 2D to 3D and finally to 4D  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the short blog post presents how to use human-readable ISA documentation to decode one CDNA instruction  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     AMD released ISA documentation for RDNA2 and CDNA ISA   additionally, it presents a small example application that presents how to use the released data  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post introduces a prototyping programming platform for shader development   exposes a way to use a visual node graph editor and HLSL shader nodes for the development of shader techniques   allows the export of the developed solution into D3D12 code (more targets will be supported later)    the video tutorial presents how to use the system and the debug tools available to implement a box blur technique  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video tutorial explains how to load vertex information from within a Vertex Shader instead of relying on fixed function hardware   provides an overview of the concepts of Programmable Vertex Pulling and use cases that are enabled through it   implementation is shown using OpenGL  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the presentation discusses how to use cluster-based mesh representations to allow transitions between model levels   shows how to calculate the cluster representations calculate cluster error metrics to allow LOD selection   additionally, it discusses how to integrate support for skinned meshes   provides performance numbers for the different stages of the pipeline  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post describes an approach to calculating accurate filtering of polygonal shapes with closed-form solutions   discusses the underlying theory of the method and implementation   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post announces that Rust GPU (compiling Rust into SPIR-V) will transition from Embark to Community ownership   a brief overview of the goals and next steps  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article discusses a closed-form solution for polar and singular value decomposition of 3x3 matrixes   based on findings from "Isotropic ARAP energy using Cauchy-Green invariants"   contains the source code implementation   additionally, it discusses how to improve numerical stability  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the presentation covers the current state of OpenPBR and the state of integration into MaterialX   updates on the state of support in tools   additionally provides a look at the upcoming developments  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the talk provides an overview of the D3D12 work graph API   provides details into how the API is mapped onto AMD hardware  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the post provides an explanation of Microfacet Models   shows how the reflections are affected by the surface and the view directions   presents how this explains the look of reflections on water surfaces as they approach the horizon   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the presentations provide a detailed overview of the challenges when implementing Visibility Buffer RenderinVisibility Buffer Rendering   discusses why classical rasterization techniques could be limiting on high triangle density and how    presents the different challenges that need to be solved when implementing the technique   for the challenges, present different possible solutions, discuss tradeoffs, and present performance numbers  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents a technique that allows Harmonic Functions to be sphere-traced directly   discusses use cases where the Harmonic Functions can be applied, such as grid shells, surface reconstructions   A real-time shader toy demo is provided  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the talk presents an overview of the Decima (Horizon Zero Dawn) cloud rendering system   covers the different phenomenons that need to be combined to create realistic clouds   discusses how to implement and combine the different aspects into a sading and modeling solution  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog posts documents which extensions have been ratified and included as part of Vulkan Safety Critical   clarifies how to provide SPIR-V for use with the validation layer   additionally, it presents an update on the Driver support  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents how to detect if a GPU workload is limited by instruction cache misses   discusses techniques that can be applied to reduce instruction cache misses   shows how to see the effect of the changes using the NVIDIA Nsight Compute tool  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post reveals that pix timing captures are internally using SQLite as a storage format   provides SQLite code to allow access to the data in the container   the provided example code shows different use cases, including comments to describe the functionality of each demo sample in detail  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post introduces AMD papers released at HPG (High-Performance Graphics) 2024   covers Real-Time Procedural Generation with GPU Work Graphs, H-PLOC – Super-Fast BVH Construction, HIPRT – A Ray Tracing Framework in HIP as well as DGF – Geometry Compression for Micropolygon Meshes   each comes with a short video to summarize the main paper developments and takeaways  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video presents a brief summary of Physically Based Rendering methods   discusses the model as presented by Google Filament   closes with a comparison against Phon shading results   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video tutorial explains the Vulkan render pass concept   shows how to use a render pass to clear the framebuffer to a constant color  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     The keynote covers the history of computer graphics research (in algorithms, materials) with a focus on techniques used until today   discusses a look into the future by presenting techniques of the past that were not successful with current research   additionally presents how the user base might influence research directions in the future  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post visuall explains floating point quantization techniques   presenting 32-bit, 16-bit as well as 8-bit floating point formats   explains the concepts in relationship to LLM models  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the talk recording discusses a method for calculating ambient occlusion using stochastic depth maps to optimize ray-traced AO   presents a quality comparison with different resolutions and different test cases   additionally compares against screen space solutions  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     a collection of links to SIGGRAPH 2024 resources   includes courses, talks, posters as well as open source data releases  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the Siggraph presentation presents Frostbites' shader authoring solution   shows how it allows extensible component replacement, mixing of different implementations, and automatic interpolation logic   additionally discusses what worked well, what still needs to be improved   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post announces the release of the geometry for the Call of Duty Warzone map in USD format   The dataset contains five million meshes, 28 million primitives, and more than one billion point instances   license allows use for non-commercial, academic use  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents a method that converts an SDF into a point cloud   point cloud is then converted into a mesh surface   compares the quality of the new algorithm against existing solutions   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video episode explains how to integrate Mikk TSpace tangent space calculation into the engine   discusses the importance of consistent tangent space authoring for good results  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents a new method to apply strokes to lines in a GPU-friendly way   presents how to lower filled and stroked Bézier paths into an Euler spiral as an intermediate representation   tests and shows the performance of the implementation on CPU and GPUs   video and code have been released  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the presentation recording discusses the development of the Vulkan ecosystem   how LunarG came to deliver the Vulkan SDK, the history of the developments, and ecosystem overview   presents a look into the development approach, improvements, and how it worked in practice   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the presentation covers the current state of OpenPBR and the state of integration into MaterialX   updates on the state of support in tools   additionally provides a look at the upcoming developments  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents a concurrent binary tree (CBT) for adaptive triangulations of arbitrary (half-edge) meshes   shows how to use a CBT as a memory management construct   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents an approach to BVH construction based on the parallel locally  ordered clustering approach (PLOC) and PLOC++   shows how to implement the algorithm in a single kernel launch   explains a method to convert the binary BVH into wide BVHs where each parent can have an N number of child nodes  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents a block-compressed geometry format   explains the data packing applied, what can be encoded, and how to compress it   presents memory comparisons against existing solutions    additionally shows how hardware support with ray-tracing BVH builds might reduce memory consumption  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post provides an overview of generating a procedural world   discusses how biomes, terrain, grass, and flowers are placed   additionally shows how they turned the flat world into a sphere    
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     This paper provides a deep dive into Disney's Hyperion Renderer's many-lights sampling system   presents how it caches and interpolates light sampling distributions at points throughout space    Presents how the approach allows the incorporation of learned visibility estimates into light sampling distributions  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents a voxel scene processing model that allows on-demand production of data during rendering    presents how to overlap the work to reduce synchronization and starvation issues   shows a way to visualize the execution of GPU cores on a dynamic timeline  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     AMD released a tool to help measure input to screen latency on Windows   users can specify a region to watch for changes; if a simulated mouse event triggers a change in this region, it calculates the latency and records for later analyses  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post provides an overview of the author's implementation of Screen Space Indirect Lighting with Visibility Bitmask   presents an overview of the technique, discussing tradeoffs of the implementation   shows the results in-engine in a test scene and shows the shader implementation in GLSL  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video tutorial provides an overview of the normal mapping technique   explains the limitations of vertex and interpolated vertex lighting   followed by an explanation of how normal maps allow additional information and how to generate this required data   finally, it provides a detailed discussion of the implementation steps using OpenGL/GLSL  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the 2-part article series explains how Brixelizer GI (a sparse distance field backed GI solution) limitations affect Foliage geometry   part 1 explains the limitations, and Part 2 covers how to extend the system to support Foliage (alpha-tested) geometry   the implementation of an additional Alpha cache helps to resolve the problem   additionally, it discusses how the system deals with animations  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video presents how to create an SDF for a rectangle using Unity and Unreal   effect allows the modification of many parameters, including size, edge thickness, corner radius, and stroke thickness  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article explains how images are represented   covers the build-up from single binary images to grayscale and, finally, color images   a brief discussion of the concept of resolution, human vision as well as DPI  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents a detailed look at how to use D3D12 work graphs to generate a procedural world   shows how multiple generation phases are combined with GPU ray-tracing to create a world   discusses how the BVH structure is used to place markers, generate Ivy, marketplace arrangements, as well as ground clutter   presents results with performance information  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the series of articles discusses how work graphs are now allowed to execute mesh rendering work   part 1 how presents the getting started guide through the code sample on basic setup   the second part focuses on best practices for performance   finally, the last part discusses how to use work graphs to procedurally generate and render a whole game world  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     A brief blog post discusses what aspects of the new mesh nodes preview for d3d12 can be debugged using Pix  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     SCALE is a GPGPU toolchain allowing CUDA programs to be natively run on AMD GPUs   discusses what hardware is currently supported and how it's achieved   documentation provides examples of how to get started   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article discusses a solution to allow GPU instanced and animated models using Vulkan   presented solution pre-calculates all bone transformations for all frames of the animations and calculates the sample index during the vertex shader stage  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper to be presented at SIGGRAPH 2024 presents a technique for rasterizing hair from hair strands   since it's based on Hair meshes (which are protected by patents), I did not read it and can't provide a summary   ensure to contact your legal team before proceeding to read  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post provides insights into the Vulkan variant for safety-critical applications   shows the differences between stock Vulkan   presents a detailed look at the architecture and how the variant is maintained  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper discusses the implementation of a compute-shader-based rasterizer specialized for order-independent transparency   explains the implementation and choices made   presents performance comparison against other solutions   additional explains the limitations of the current implementation  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post introduces the new AMD library that aims to improve GPU hang debugging   allows developers to insert information into the command buffer   in case of crashes, it allows to figure out which part of the frame has finished execution and what is still outstanding   supports both Vulkan and D3D12  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post presents an overview of using Brixelizer for Ambient Occlusion and soft shadows   shows performance number and discusses what aspects influence performance   concludes with a summary of best-practices to consider when eveluating Brixelizer  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post introduces Arm Accuracy Super Resolution   this upscaler is based upon AMD FSR 2.0 and optimized mobile GPUs   shows performance numbers as well as quality comparison against other solutions  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video provides a comparison to present the improvements done with FSR 3.1   presents a comparison against other upscaling solutions  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video tutorial presents how to combine multiple SDFs in shaders   this information is used to implement a lava lamp effect   implementation is shown using Unreal and Unity visual shading languages  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video provides an overview of the concept of image barriers   explains what kind of hardware-defined memory layout changes might be associated with image layouts   presents how to implement the barriers in Vulkan required to solve the Vulkan validator messages for the swap chain presentation  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the GDC presentation explains how the toon rendering effect was achieved   the game uses a customized UE4 version, and the talk shows which stages need to be modified   covers the lighting, cross-hatching, and halftone patterns, as well as how the outlines are applied  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post announces the intent to open source DXIL shader validation as well as to support a mode to skip hash validation   explains what hash validation is, what the current state is, and what issues arise because of it  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     The survey paper presents a very detailed look at the state of font rendering   discusses a high-level overview of font rendering systems, implementation, and limitations   lists a long list of available solutions with brief summaries, as well as what solutions well-known software projects use   showing performance tests of different solutions   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     a new graphics programming-focused conference in Breda, Netherlands   The call for speakers is still open till July 31st  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video explains visually step-by-step how the Radiance Cascades technique aims to solve Global Illumination   explains the underlying idea based on observations of linear and angular resolution   presents results and also shows what the limitations are  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     X thread with a collection of Spatial Indexing Algorithms   covers the pros/cons and what the techniques are typically used for  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video presents how the "Lossless Scaling" mod generates in-between frames for smoother game output   explains that the mode only uses color output without any additional meta-data or motion vectors   compares the technique against FSR 3.1 and DLSS 3.7  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video tutorial presents how to create a signed distance field for a circle   the implementation is shown using Unity and Unreal   additionally presents a first overview of different shapes this series will be targeting to create  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the keynote presentation discusses the Use.GPU technology   presents issues of graphics technology and how the author aims to improve the authoring   discusses how the React style has been applied to GPU app authoring   provides a walkthrough of the implementation logic and examples   shows how to compose shaders  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents a new method to apply strokes to lines in a GPU-friendly way   presents how to lower filled and stroked Bézier paths into an Euler spiral as an intermediate representation   tests and shows the performance of the implementation on CPU and GPUs  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper introduces a unified BRDF that allows a consistent expression of smooth to highly rough porous behavior materials   compares the results against ground-truth    The presented solution might be approximated for real-time usage  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post describes a couple of available shader intrinsics that allow the different threads of a shader wave to cooperate   starts with simple techniques and increasing complexity  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper introduces a real-time BRDF model addressing diffraction on rough surfaces   shows the improved realism in Unity over the Cook–Torrance model   presents a performance comparison against a base Cook–Torrance implementation  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post presents how to profile WebGPU applications with Nsight, PIX, and Radeon GPU Profiler   The presented solution takes advantage of context sharing and dll interception  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents an approach for incremental re-rendering of scenes    it formulates image differences as a residual path integral, solved with importance sampling and path mapping   presents speed-ups over previous methods and independent frame rendering  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the conference program for the High-Performance Graphics has been released   will take place between July 26 to 28 in Denver  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video shows an overview of Technical Papers to be presented at SIGGRAPH 2024   shows a quick showcase of each trailer and a brief summary of the presented approaches  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents a method for the efficient extraction of mesh contours   it proposes a simple, flat data structure that is GPU-friendly and uses  patches bounded by normal cones and sphere   discusses how to generate these patches and improve bounding sphere calculations   presents a performance comparison against CPU techniques  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the next episode of the Vulkan tutorial series presents how to execute work to the GPU   presents how to clear the image to a fixed color and integrate it with the presentation process   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     new video tutorial series that will cover how to generate procedural shapes and patterns from shaders   implementation is shown using Unity and Unreal Engine   this video focuses on the reasons why to use the approaches and how to create a pattern with antialiased edges  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video presents an approach to develop an ASCII art shader approach (converts 3D rendering to text)   discusses methods, issues of the techniques, improvements and presents results on several different games   presents how to map the techniques onto a compute shader execution model   additionally presents other techniques that could be built upon  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post presents a walkthrough on how to implement a raytracing classification shadow optimization using D3D12 work graphs   first discuss an overview of the technique   followed by a presentation on how to express this technique using HLSL and D3D12 work graphs  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the GDC video presents a discussion of the new work graph features for D3D (also a Vulkan AMD-specific extension exists)   explains the issue with the current ExecuteIndirect model   shows an overview of the API model and how it aims to solve the challenges   presents an overview of a compute shader rasterizer and a runtime GPU scattering system based on the technology   additionally discusses the support level   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the first blog in a series about CPU optimizations    this part presents how different implementations of max between floats can generate very different code   presents the effect of branch misprediction on performance and how to use the AMD profiler to detect through hardware counters   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video recording of I3D 2024 sessions covers the following papers   Efficient Particle-Based Fluid Surface Reconstruction Using Mesh Shaders and Bidirectional Two-Level Grids,  ShaderPerFormer: Platform-independent Context-aware Shader Performance Predictor   Transforming a Non-Differentiable Rasterizer into a Differentiable One with Stochastic Gradient Estimation   these papers cover a focus on performance from an academic focus  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the talk provides an overview of the experimental Triangle Visibility Buffer 2.0 implementation   The presented approach uses only compute shaders to write the visibility buffer   discusses the pipeline design, different approaches based on triangle sizes, and how performance compares   additionally presents which features are still missing compared to hardware rasterization  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents a method that aims to unify microfacets and volumes for light transport purposes   the paper shows that both can be expressed as stochastic implicit surfaces (SIS) and, more specifically, Gaussian process implicit surfaces (GPIS)    discusses the derivation, representation generation, and tracing aspects of GPIS   additionally discusses limitations regarding performance and quality   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post presents why the author suggests using box plots over bar charts as the default way to represent performance   shows annotated examples of how box plots can express a lot of helpful information in a concise form   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the talk presents the system used by EA's Frostbite team to test the rendering engine   shows an overview of the current state of the system and why they are the way they are   discusses all the complexities and difficulties   shows the tooling available and how different tools exist for different use cases   additionally discusses trade-offs and development approaches  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video explains the concept of a BVH (bounding volume hierarchy) and presents how it increases the performance of a raytracing implementation   shows a detailed explanation and many visualizations of the behavior of the data structure and how to build an efficient implementation   presents different heuristics that can be used to order the data for efficient access   shows the results and presents performance improvements  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article provides an interactive walkthrough into the implementation of the Raymarching algorithm   explains the logic of signed distance functions in 2D and expands these to 3D   presents the implementation of a simple 3D raymarching scenes   the provided code samples are interactive and can be used to get a better understanding of the presented techniques through experimentations  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the second path of the math tutorial series from GDC 2024 extends the dual quaternion knowledge (see last week 338 for prerequisite)   starts by developing an intuition for plane representation (normal + distance), difference between positions and directions, and behavior under reflections   additionally explains the understanding of homogenous concepts  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the presentation presents updates done to the rendering pipeline of the internal engine used for Alan Wake 2   focuses on explaining the technique selection and why the choices were made   in-detail discusses the meshlet geometry pipeline and changes to the material system    additionally discusses updates on the used transparency models  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video recordings of Noise and Reconstrictions papers from I3D have been released   covers  FAST: Filter-Adapted Spatio-Temporal Sampling for Real-Time Rendering, Filtering After Shading With Stochastic Texture Filtering, and Cone-Traced Supersampling for Signed Distance Field Rendering  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     following the REAC 2024 conference, this author composes his 10 predictions on how graphics engine architecture might evolve   looks back at the history, current developments and looks into the future   additional discusses how mobile requirements vary and how it might indicate a future on consoles and PCs as well  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video recordings for the Rendering Engine Architecture Conference have been released   covering a large number of topics from resource management, GPU-based mesh pipeline, testing approaches, and much more  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post provides a detailed discussion of implementing meshlet-based virtual geometry rendering into Bevvy   discusses how meshlet LODs are calculated, how meshlet culling has been implemented, and how they are rendered without mesh shader support   presents findings from different approaches and discusses the pros/cons of the various approaches   Additionally, it shows the integration work for supporting systems (depth pyramid generation, material shading, etc.).  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post discusses the author's experience learning Vulkan through the development of a small 3d engine   presents the approach for keeping things focused and decisions leading to using Vulkan   explains the API concepts and how they are used in the engine (shaders, pipelines, queues, etc.)   additionally presents how higher-level techniques are implemented inside the engine  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the short paper presents how to reformat bezier interpolation using cheaper functions   shows the implementation of quadratic, cubic, and higher-order polynomials   additionally shows how a GPU implementation could take advantage of hardware linear interpolation   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents a geometric and statistical analysis of the PCG2D hash function   explains the terminology of random number generators and how they can be mapped onto GPUs   visualization of provided using shader toys  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post provides a high-level view that explains machine learning concepts for practical usage by graphics programmers   presents the individual concepts and how DirectML maps them into compute shaders   additionally presents an overview of the different passes that make up the Open Image Denoise implementation  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post introduces the release of the first stable release of OpenPBR   discusses the importance of the standard and the history of its development   MaterialX now contains a reference implementation of the model  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents how a rasterizer calculates intermediate values on a triangle   explains barycentric Interpolation and explains the cause for common artifacts on PS1-level hardware   then derives perspective-correct Interpolation that resolves the artifacts    
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     The videos for I3D paper presentations have been released   covering Reducing the Memory Footprint of 3D Gaussian Splatting, SimLOD: Simultaneous LOD Generation and Rendering for Point Clouds   additional Deblur-GS: 3D Gaussian Splatting from Camera Motion Blurred Images as well as Light Field Display Point Rendering  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video provides an overview of the OpenGL Ecosystem   explains the history of OpenGL and how OS integration compares to Direct3D   presents what software layers are involved and which software components enable easier cross-platform development  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents a variance reduction technique for ReSTIR aimed at reducing shadow noise   presents a comparison against existing methods   discusses side-effects of the technique  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     extended presentation of the I3D paper presentation discussed last week   the paper presents an investigation into applying texture filtering after shading instead of before shading   shows comparisons of the approaches and a background into the underlying theory   presents guidelines on the tradeoffs and when to use different approaches  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents a way to reformulate SDS (a path with at least a specular, diffuse, specular bounce) paths into a polynomial system   explains how to use root finding to solve the paths   shows the presented solutions for caustics in a unidirectional ray tracer  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article series extends the voxel rendering implementation to use path tracing   discusses and explains the different components of the rendering equation   additionally presents the effect of importance sampling for reduced convergence time  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post explains the new DirectSR (Super Resolution) API   provides a walkthrough of the API and how to integrate it into an existing engine   provides an overview and discussion of the different exposed parameters  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post introduces the ongoing work of implementing future HLSL versions directly into Clang   discusses the expected difference between legacy and future HLSL versions   additionally shows the first version of DXC compiled with clang and performance improvement  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the latest version of Renderdoc includes a custom and improved DXIL disassembler   additionally lists the improvements for SM6.6 feature support  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents a new method that aims to improve hair interpolation from a smaller number of guided hairs   presents the theory and implementation of the technique   compares against existing solutions in quality and performance  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post provides a high-level introduction to general relativity   takes the underlying theory and shows how to convert it into code   shows a C++ based implementation of the technique  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post discusses the streaming system implementation in the Wicked Engine   discusses how the data is provided, loading streaming processed in the background, and finalized for rendering   additionally discussed techniques to improve streaming information, such as GPU streaming feedback buffers  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     video of the I3D 2023 Paper session on Light Transport    covers Bounded VNDF Sampling for the Smith–GGX BRDF, ZH3: Quadratic Zonal Harmonics and  Interactive Rendering of Caustics using Dimension Reduction for Manifold Next-Event Estimation  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper provides a walkthrough explanation of the different components that define a BSDF (bidirectional scattering distribution function) that defines the shading behavior of a materials   covers the underlying theory, explaining the derivation as well as the geometric interpretations  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper introduces models to solve the reconstruction of irradiance in the vertex-normal space   applies the developed framework to hemispherical and cone occlusion to volumetric lighting   as well as mitigating light leakage for normal-mapped surfaces' appearance of runtime ambient occlusion   shadertoy implementation is provided  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the series on voxel ray tracer continues by presenting how to accumulate samples over time with a nonstatic camera   explains temporal pixel reprojection, how to deal with sub-pixel blending, and how to improve results with occurring object occlusions  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post provides a detailed description for programmers interested in graphics programming   explains what the job entails, different specializations in games, and what topics graphics programmers often work on   additionally gives insights into the technologies the author recommends to start learning with  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article explains an approach to implementing Sun Beams using Billboarding techniques   implementation is shown using the visual shading language of Unity  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post presents that the latest D3D12 SDK update introduces support for R9B9G9E5 for Render Target and UAVs   explains how the R9B9G9E5 format allows higher precisions compared to half-floats and less memory usage than float formats   additionally expressed the importance of verifying hardware support  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video shows how to implement a shader effect that allows objects to change their appearance close to existing depth values in the depth buffer   the presented technique relies on a rendering order that ensures the depth values are written before the objects want to read them   technique is implemented using the visual shader language of Unity     
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video tutorial continues to discuss the implementation of a Vulkan renderer   this week's videos explain how to clear the back buffer to a solid color in every frame   C++ implementation is shown  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents an investigation into applying texture filtering after shading instead of before shading   shows comparisons of the approaches and a background into the underlying theory   presents guidelines on the tradeoffs and when to use different approaches  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the author presents his view on shading languages and the (lack of) evolution   discusses the shortcomings and issues arising from them   shows an outlook on why the concept of shading language is outdated and should be retired  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper introduces a path-guiding method that utilizes an irradiance voxel data structure   the presented method is a spatial distribution   shows an evaluation of static and dynamic scenes, containing quality and performance   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper introduces Area ReSTIR that extends ReSTIR to be able to be applied to sub-pixel details   presents how to allow the reservoir to integrate with the area for the lens and film   shows the technique applied to depth of field and antialiasing   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article continues the series that covers the implementation of a voxel raytracer   this week explains the concept of noise patterns and presents the effects using soft shadows   explains white noise, blue noise, and stratification   additionally, it shows how to temporally apply noise to allow temporal accumulation   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents an improved version of a BSDF developed for micro grain materials   shows how it explicitly models height-normal dependencies to summarize shadowing and masking inside the porous layer  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video presents how different types of noise for random number generation can affect the results   discusses Randomness/fairness when generating random numbers   present how different noises affect stochastic rendering techniques and suggest solutions to common problems   discusses FAST noise generator utility and available pre-generated noise patterns   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article provides an excellent overview of the different ways to create root signatures in D3D12   starts with a brief overview of what a root signature is and how it's used   then discusses different methods to author, create, decompile, and use the concept   presents a brief discussion on how root signatures are used and how other engines handle it  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article discusses how to implement cluster-based mesh rendering using mesh shaders   discusses how to set mesh shaders using Vulkan   extends the pipeline to use task shaders to execute LOD selection and frustum culling   presents performance numbers and how wave utilization is essential  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper introduces a new neural method to compress BVH for raytracing workloads   shows how the technique is designed to be integrated into existing raytracing pipelines   presents a comparison against existing solutions on memory and performance   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     AMD released documentation for the Micro engine and the RDNA 3 ISA  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post presents that the Brotli-G (GPU compression library) now allows a pre-condition step that allows further file reduction   shows how to use the feature and what image formats are currently supported  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article continues the development of a voxel raytracer by explaining anti-aliasing and soft shadows   presents the difference between numerical integration and stochastic integration solvers   shows the technique with anti-aliasing first and derives soft shadows as a follow-up   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video tutorial explains the Vulkan command buffer concepts   presents limitations that OpenGL had and how Vulkan can solve these   shows the command buffer lifecycle, explains memory management   presents how to use the API to operate on command buffers   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article discusses the design trade-offs for a shader graph system   presents the complexity when integrating with modern complex shading systems   shows how Unreal and Unity implement the ideas  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper introduces the ZH3 format for spherical harmonics that fills the gap between linear and quadratic SHs   The proposed solution improves the quality at the cost of a single extra coefficient per channel   the source code is provided  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post discusses projection methods for spherical videos   presents issues with existing methods   reverse engineers what apples Methods appears to be doing and how it's able to achieve higher quality  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the GDC talk presents a great explanation of Quaternions and expands the concepts to cover dual quaternions   presents interactive and visual examples of the different components and operations involved   shows issues and limitations with matrix interpolations and how quaternions and dual quaternions can solve these limitations  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     this blog post covers how to extend a raytracer in a voxel world with support for reflections   expands perfect reflection to allow for refraction   contains challenges for the reader to develop their understanding further  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper introduces a method for view synthesis of facial expression captures in 3D views not captured   the presented solution is running at real-time rates without relying on machine learning techniques   achieved using a layered mesh for view-dependent information and mixing this with view-independent RGBA texture video   the included paper presents a summary of the technique, compares it against existing solutions, and discusses the limitations of the approach  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video presents a summary of all the papers that will be presented at the I3D Conference 2024   shows a brief summary of a couple of seconds for each paper   papers cover an extensive range of topics, from ML techniques, VR research, upcoming display technologies, new filtering approaches, and much more   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper discusses a generative model that is trained to generate multiple types of noise and blend between them   presents the network architecture, how it has been implemented and improved   shows many examples of the generated results  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents a framework to shape rendering noise to optimize samples for perceptual quality and denoising performance   shows how sampling patterns can be optimized to take advantage of knowledge about post-processing spatial and temporal filtering characteristics   demonstrates how to use the framework on example applications  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video shows the limitations of Nanite from an artist's perspective   presents the debug views to explain why vegetation scenes are more difficult for the system to process   discusses possible solutions through the use of procedural generations and fallback LODs  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the Godot engine is switching the definition of near/far plane, with the near plane now mapping to a depth of 1 and the far plane to 0   this post explains common patterns that are affected by this change   additionally provides links to explain why this new mapping allowed significantly improved depth buffer precision  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the presentation is packed with detailed information about the process of implementing shader graph support into the Nanite shading model   starts with an overview of the system and discusses the steps taken to reach the current support level   provides many details on the lower-level aspects and how GPU hardware influences decisions   additionally explains how the system has been optimized on PS5 and Series X with console-level access   also shows that work graphs for PC enable a new set of optimizations   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     The Master Thesis is a collaboration with Remedy Entertainment and discusses the implementation of a denoising solution for direct lighting   the focus is to find a solution that balances performance and quality to allow real-time utilization of consoles   reviews existing solutions and provides evaluation methods to provide analysis capabilities   discusses the implementation and tradeoffs done   presents performance, memory, and image comparisons of the developed solution against existing solutions  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the start of a series of articles covering the implementation of ray tracing for a voxel system   presents the initials of light and shadow calculations   concludes with challenges to the reader to improve their understanding of the material   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post shows how to implement Acceleration Structure compaction using D3D12   this compaction step is run on the GPU timeline and often reduces the memory size required by 40%   discusses the necessary API steps, GPU synchronization, and memory management strategies   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article provides a full explanation of the derivation of multiple-importance sampling   explains the different components and how to combine them correctly  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article explains how to implement a marching cube compute shader   the implementation is shown both in Vulkan and WebGPU   compares the performance of both implementations and finds that WebGPU performance is close to native Vulkan  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     a blog post covering the effect of using C++ final on a ray-tracing demo   the author presents the findings with several platforms, compilers, and scenes and presents the performance results  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     this page serves as a starting point for the articles of the author   covering topics such as BVH building series, Probability Theory, CPU Optimization series    also contains various articles on Ray Tracing, graphics techniques, and fixed point math  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article introduces how shaders from GPU Profiler captures can now be opened in the GPU Analyzer for more detailed investigation   additionally shows UI updates and presents how instruction latency provides more information about where the latency occurs  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video presentation (free login required) discusses the implementation details of Path Tracing within the Alan Wake 2 technology stack   starts with an overview of the implementation used (vertex accessing, BVH creation, dealing with dynamic geometry, etc.)   shows how Opacity Micromaps are used for alpha-tested geometry   from there, explain how Path tracing has been implemented, covering the whole pipeline from shading, shadows, reflections, and reconstruction techniques  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents a method that allows existing non-differentiable rasterizers to be made differentiable   explains the underlying technique and how to derive per-pixel stochastic gradient estimation   shows how to use the concepts to implement a 3D assets optimization system  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article introduces a specialization for the isotropic distribution of visible normals for GGX-Smith   discusses the limitations and implementation   source-code for HLSL and GLSL is provided  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     a collection of summaries about color science aimed at computer graphics artists   provides a summary of the physics of color, the human vision, as well as the representation in computer graphics   additionally discusses color transformation onto displays  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper introduces an object space shading method based on per-half-edge texturing (Htex)   presents a comparison against existing and shows how a Htex based method helps to reduce texturing seams   implementation of ReSTIR GI in object space using Unity is provided  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video explains how to use OpenGL tessellation shaders to implement a dynamic level of detail for mesh based terrain system   explains how to setup the data for usage with the shaders   presents the shader and C++ code implementation required  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video presents techniques to represent light shafts   explains an overview of two existing approaches   present an approximation technique that uses 2D planes combined with shadow map sampling and temporal filtering  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post explains the Radiance Cascades technique for global illumination   shows the different stages of the algorithms and how to implement them for 2D cases   source code is provided  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the post presents three methods to convert (Quadratic, Cubic) Bézier curves and elliptical arcs into line segments   provides interactive examples to visualize the methods   An example javascript code is provided  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the GDC presentation provides an in-depth view into how the visual stylized shading was implemented   covers a large number of topics from  Deferred Toon Rendering, Comic Shader, over Global Illumination to Toon Face Shadows and more   the game is based on Unreal Engine 4  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the GDC 2024 presentation covers the problems with Draw Indirect and how Work Graphs are designed to solve them   presents a walkthrough of the API and how AMD/NVidia have started to use the feature   additionally introduces DirectSR, the new API that abstracts upscaling techniques behind a command D3D API   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video deep dives into font rendering   starts by exploring the True Type Font format   showing how to extract the glyphs and the bezier curves that represent them   discusses several techniques to render the curves to form the fonts    presents issues and solutions for a large number of issues encountered  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     a new graphics programming conference to happen in Breda (Netherlands) in November    currently looking for speaker and master class proposals  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post discusses how to implement a continuous LOD system for meshlet-based rendering   shows how to calculate the error metric and structure the data for GPU access   presents how to select the correct LOD level at runtime   A video of the results is included  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the presentation provides an overview of the Nanite and Lumen systems   shows a high-level look at which parts affect performance and how performance intuition doesn't match the classical rasterization model   the whole presentation slide deck is done in the UE5 editor   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video explains the difference between alpha blending and dithered transparency   shows sorting issues related to blending order and how dithered transparency solves them   presents how to implement the technique using Unity Shader Graph   additionally shows the limitations of the technique  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the latest version adds support for Slang with Vulkan, additional extensions support, D3D12 Pixel history support, and many bug fixes  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents how usage patterns of copy queues to upload and download data from the GPU can significantly affect the amount of stalls   discusses the different patterns and presents timelines to show the waits   additionally shows how multiple copy queues interact and the importance of copy queue priorities    
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post describes a method to apply lighting to Gaussian Splats   shows methods to reconstruct geometry with normals and how to filter the results   additionally discusses limitations and ideas for improvement or leveraging of existing mesh-based solutions  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the latest video in the series explains how to create a Vulkan Swapchain   explains the different presentation modes   additionally shows how to create a view of the different images of the swap chain  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the GDC presentation provides an overview of the profiler tools available from AMD   presents the updated shader analysis tool, including a preview of the single shader stage mode   additionally presents an overview of the raytracing and memory debugging tool improvements  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents a walkthrough of how to implement a post-processing effect that emulates Jean Giraud's art style   shows how the author approached object outlines, shadows, and lighting patterns   provides interactive WebGL implementations that showcase the individual stages of the implementation   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post announces that the Windows PIX runtime has been released as OpenSource   this includes logic to decode PIX events as well as the runtime logic that writes ETW entries   additionally, the team is looking for feedback for a proposed task API for PIX  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article introduces an alternative low discrepancy sampling strategy for circles   provides a quick introduction to rejection sampling   shows how adaption could be used to sample only within a quad within the disk and still fill the whole circle with samples    compares the characteristics of the technique and presents the applications to different shapes  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post describes how to use the CUDA Compute Sanitizer to implement a resize-aware memory pool   additionally discusses the APIs available to allow memory debugging more insightful  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the GDC presentation discusses how the GPU Reshape tool enables GPU timeline validation   explains how the validation logic can be written in an API-agnostic manner   provides a look at future developments where the same infrastructure could be used for profiling or data debugging  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article provides an introduction to ray marching   explains the underlying concept and how it compares to ray-tracing   extends the concepts to introduce the various operations (scaling, translations, boolean operations) required to express geometry   combines the knowledge to build a fractal object called the Menger Sponge    
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the presentation discusses mesh shaders and the techniques they enable   discusses how to compress index data and how to allow quad source data   presents the importance of vertex reuse and meshlet generation for performance   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the presentation presents why debugging GPU issues is difficult   explains how the AMD Radeon GPU detective presents information to help developers track issues down   presents how to use the tool, read the information, and understand the cause of the issue with the information provided  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article discusses updates in the Nvidia developer tools   covers new debugging capabilities, improved performance collection, and profiling tools  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post describes how to implement a procedural grass system using mesh shaders   explains how the grass mesh is described using bezier curves and combined into a grass patch   presents how to write the index/vertex buffers for efficient rasterization  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post provides a brief overview of how glossy reflection got added to the GI 1.1 release   looks at how the denoiser is required to reduce the inherent noise images  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article provides an overview of the announcements AMD made during GDC   additionally provides links to the slides and videos of the presentations  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article explains how to approach differentiable rendering for mesh-based rasterization   presents the limitations of a simple method and how to achieve it with PyTorch    expands the idea to expand the idea with soft probability to solve some of the limitations   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article provides a suggested collection of resources for beginners in graphics programming   covers mathematics, working with APIs, and writing shaders  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video provides a brief overview of the difference between physical and logical Vulkan device   presents the C++ code necessary to implement the device creation  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video provides a walkthrough of the steps when optimizing a voxel renderer   each step is explained and visualized to make it very easy to understand   covers a large number of optimizations and, for each, discusses the effect on performance and memory usage   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article provides an overview of the different models available to describe the appearance of a mesh using OpenUSD   Explain the advantages and the disadvantages of the available methods  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article provides an overview of all new features available in the D3D12 Agility SDK update   covers work graphs, new shader model, accessible memory for CPU/GPU, as well as unifications on shader creation  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     an overview from Microsft into what work graphs are   what possibility it enables, a brief summary of the spec   additionally points out the changes since the preview version last year  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article provides an overview of how a G-Buffer classification system for BRDF selection can be authored using work graphs   provides performance numbers for the work graph and an Uber shader approach   discusses lessons learned, pitfalls, and performance considerations   It additionally discusses the open challenges and future developments  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     AMD provides a list of talks they will be presenting at GDC (starting today)   each talk is given a small summary and where it's taking place  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article provides a detailed walkthrough of how to implement Loop’s and Blinn’s font rendering approach from Siggraph 2005   provides an overview of the approach with many visualizations   shows how to implement the algorithm using D3D12 mesh shaders   source code is provided  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post discusses a method for generating uniformly distributed quaternions   explains the theory of quaternion and the proposed method to generate random rotations   provides an implementation without using trigonometric in C++ SIMD as well as GLSL  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the whitepaper presents which tools and optimizations passes in spirv-cross and glslang are available to optimize shaders, taking advantage of knowledge from multiple shader stages   shows an example of how vertex outputs can be eliminated if the connected pixel shader doesn't read the attribute  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     second part in an article series about creating a LODing system that allows per-cluster LOD selection   focuses on performance and quality fixes for the proposed solution from part 1  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video provides an explanation of Gaussian Splatting and how it connects to point clouds and nerfs   presents the base idea and optimizations that have been applied to speed up the technique  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post provides an overview of new features and improvements in PIX   additionally presents at which state of support the new D3D12 features, such as shader graph, shader model 6.8, etc.  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents a method for efficiently calculating the Cumulative Distribution Function or CDF, for image-based lighting   explains the underlying prefix sum algorithms   shows how to improve the initial implementation for improved GPU performance    the implementation is provided using CUDA  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article provides a brief overview of the rendering engine architecture of the indie game Solar Storm   presents how the systems are designed around immediate mode principles   shows how the world is built up, shaders are created, and objects submitted for rendering   additionally presents a quick look at post-processing and performance  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post provides a walkthrough of the author's implementation of grass rendering using compute shaders + indirect draw   shows how the instances are generated, animated, and culled, as well as how LODs have been added   code samples are presented using Vulkan  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents how to implement screen space reflections using a single shader pass   starts from a basic technique description and presents how to resolve common issues   each step and improvements are visually represented   the source code for a Unity shader is provided  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article provides an in-depth look at the Smooth-Minimum operator and its characteristics   shows that many varieties exist, and they all have different strengths and weaknesses   presents examples of all and discusses when to use the different variations  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article provides an in-depth look at the hardware details of the Snapdragon 8+ Gen 1 GPUs   shows the hardware design, compute throughput, performance, cache performance, and much more  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video tutorial explains the concepts related to GPU hardware detection   shows how to enumerate connected GPUs, what capabilities they support, and how to pick the hardware that matches the application requirements  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents a new driver-level validation for Ray-Tracing implemented by Nvidia   discusses what kind of issues can be detected by the system and how they are reported to the developer   presents how to enable the system and expected performance overhead  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     presents a complete walkthrough of the forward rendering model employed by  Persona 3 Reload   discusses how different effects are combined to create the stylized rendering effects   provides an overview of shading, shadowing, and ray-tracing integrations   presents how art-driven effects are integrated to improve the visual appearance   additionally, it presents how the UI system is integrated  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article explains the concept of Look Up Textures (LUT)   shows different use cases with interactive examples   discusses 1D and 3D Lookup textures   covering examples from Left 4 Dead of how LUTs are used and the possibilities they enable  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article discusses the feasibility of replacing 4X4 Matrix multiplications with Geometric Algebra concepts in a forward renderer   presents the implementation of the required concepts and how to replace classical methods   discusses conversion limitations when using normal maps   additionally, it discusses the amount of instruction required for different operations  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Microsoft presents what will be discussed at GDC 2024   Introducing DirectSR (Super Resolution), a new API for the uniform integration of different super-resolution solutions with the same API   will be presenting an update on Work graphs and how they will affect GPU programming in the future   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents the importance of profiling when optimizing   shows a comparison between precomputed sample positions (with a buffer load) and on-the-fly computations  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the short video tutorial explains how to create and destroy a surface handle from a GLTF window  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article provides an in-depth discussion of how light behaves, how it interacts with the human visual system, and finally, how paints are made up   given the theoretical underlying presents a model to derive a model to represent the mixing of colors   discusses how to implement the solver   The Python source code is released as open-source  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video recordings of the talks from the Vulkanised 2024 conference have been released   covering efficient rendering for mobile, Vulkan synchronization, shader language innovation, practical porting lessons, and much more  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article introduces the Shadeup language that aims to minimize boilerplate code required when authoring WebGPU workloads   provides a quick introduction to the various features of the system and how to interact between CPU and GPU code   covers basic rasterization as well as compute shader usage   code examples are interactively editable for experimentation   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video tutorial explains the necessary steps to ensure that all Vulkan validation messages will be intercepted   shows the C++ code implementation required and how to use the debugger to collect additional information when an error occurs    
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the second part of a video tutorial about the implementation of Caustics using Unreal and Unity   The first part explained how to implement an underwater caustic effect   this part shows visual issues (noise, edges) from the previous part and shows how to solve them  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the Rust-based 2D editor Graphite is looking for Students to join the Google Summer of Code project   one of the suggested project ideas is to rewrite the Shader-driven graph UI for improved performance  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     The paper introduces a machine learning model that generates a set of PBR Textures (albedo, Roughness, Metallic)   trained on a locked RGB model to take advantage of existing models   discusses how the model was designed, tradeoffs, and common failure cases   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article discusses the new RenderGraph implementation in Godot 4.3   discusses the limitations of the old system and the advantages of the new system   shows the implementation of dependency tracking, dealing with sub-resources   additionally discusses CPU and GPU performance impact   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post article discusses the implementation of a box blur shader   presents explanation of Gaussian, Kernels, Separable blurs   closes with a discussion of things to do and avoid when implementing a blur shader for good results  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the Rendering Engine Architecture Conference is looking for speakers for the 2024 edition   post describes what kind of talks are being looked for and the formats of the talks  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the course presents an introduction to GPU compute shader algorithms   discusses the primitives available    how to implement parallel reduction, prefix scan, and radix sort   additionally presents a look at optimization techniques  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video provides a history of ant-aliasing techniques used in games   discusses capabilities and limitations of the different AA techniques   presents in-depth the advantages and disadvantages of temporal antialiasing techniques   all examples are presented with videos from games that use the presented techniques  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article explains the extension method to gradient descents called Adam   provided implementation is shown in C++  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     The slides for the talks of the 2024 Edition of the Vulkanised conference have been released   3-day conference covering Vulkan SDK changes, synchronization, common learning mistakes, presentations of integration into larger systems, shading language developments, as well as future looking developments  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video in a series of Vulkan tutorials explains how to create a Vulkan Instance   explains the API concepts required to understand   code samples are provided  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video tutorial explains how to add surface foam around the edges of objects that intersect the water surface   shows how to implement the foam effect and how to limit the effect to the area around the intersection   implementation is shown using both Unreal and Unity using a visual shading system  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents the authors' work on allowing the DXC compiler to be built into a static library for Linux, MacOS, and Windows   additionally presents how to remove it's possible to replace the dependency on DXIL.dll for shader signing  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the presentation shows an overview of the Slang shading language   presents how it fits into the ecosystem, what features are supported, and what additional capabilities it brings to shader authors   shows how the integrated automatic differentiation can be used for different use cases   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video explains Forward+ shading techniques   shows how to express frustum culling, how compute shader allows the workload to be expressed   additionally presents how to use RenderDoc to visualize the involved data   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents a novel approach to the Point Splatting rendering technique    the presented approach uses multi-layered feature maps that are processed with a neural network to generate the final output  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post presents a frame investigating into a frame of the game syndicate from 2012   shows the different rendering passes and provides an overview of the techniques used in each pass  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video explains a compression technique developed for height field compression   covering quantization, quadtree, delta encoding, as well as linear regression   source code as a Godot implementation is provided  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post describes the observer correlation and coupling that is introduced into computer graphics through the use of RGB rendering   explains physical definitions of terms and how the rendering definitions introduce these inherent limitations compared to spectral definitions  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blogpost discusses the changes AMD made to LLVM   these changes might indicate hardware changes coming for the upcoming RDNA4 generation  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video introduces a new Vulkan tutorial   the video focuses on the introduction of the audience, software/hardware requirements   shows how to set up Vulkan and create a window  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents updates in HIP (Heterogeneous-compute Interface for Portability) Raytracing implementation   presents how multi-level instancing allows reduction of memory usage   additionally discusses BVH construction speed improvements  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video provides an in-depth explanation of why LOD (Level of Detail) for 3D models helps to improve rendering performance   shows how the hardware pipeline is organized, what data GPUs are optimized, and how different workloads cause different bottlenecks   explains all stages of the pipeline involved and provides additional reading sources  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents the start into a series of explaining BC (DDS, Block Compression) formats   this part shows how to build a working BC4 compressor   explains each step and discusses the limitations of the presented techniques  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the new Vulkan extension allows developers to express local dependencies between sub-passes so that drivers can stay on-chip memory for tiled hardware   blog post explains the extensions, how to post existing applications to use the new extension  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Khronos released two new SPIR-V extensions   the first extension guarantees reconvergence behavior to require the behavior many programmers' intuition assumed to work   additionally, a new extension allows correct divergence handling within a quad   the blog post explains the previous issues and how the extension solves them  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post describes the history of Portals and BSP trees   expands the ideas to more modern concepts and suggests the applicability of GPU based solutions  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents issues with moving averages and suggests using binomial averages instead   shows data examples to highlight the issues and explain in frequency domain why they happen  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article shows how PIX can be used to debug WebGPU applications   shows what is required to attach PIX, get debug-marker output, as well as frequent issues  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the author discusses a method to use indirect drawing to draw a dynamic number of instances of each type on the GPU   The article provides an overview of the implementation (with code examples)   additionally provides a couple of optimizations and future development steps  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post provides a detailed walkthrough of the implementation of a caustics effect using WebGL   shows the different elements the effect is made up of and how to simulate the different phenomena   intermediate samples are presented as interactive WebGL examples  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents an overview of mesh shaders and amplification shaders   shows the considerations and constraints on RDNA2/3 hardware   showcases the tools available to profile the different stages and identify bottlenecks  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents a detailed look at implementing a mesh shader based rendering pipeline   each step is accompanied by performance numbers on Nvidia and AMD   shader code samples are provided  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the author presents an alternative method to calculate the previous frame screen space position given a world space position   this technique doesn't rely on projection matrices  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post introduces a new GPU-based debugging tool to make finding shader issues easier   allows the detection of out-of-bounds access, resource-bound validation, NAN detection, concurrency validation, and more   works with Vulkan and D3D12 on both AMD and Nvidia GPUs  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video provides an overview and introduction to machine learning from a game development perspective   explaining the standard terms, intuition, building an example network, and finally running the example network using D3D12   the example code is provided  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents a method to construct rhombic dodecahedral honeycomb elements from an integer grid   shows an example of an SDF represented using the method   presents how to generate the mesh surfaces   additionally presents some ideas on what the method might be used for  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article explains the packing rules for Constant buffers when used with D3D11/D3D12   provides examples of different structures   shows visually how the different members are packed into memory  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article provides an overview of GPU sorting algorithms   provides high-level comparisons between the techniques   links to papers and implementations of the techniques are provided  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article discusses how to implement a printf statement that can be used from a shader   presents a workaround that allows HLSL 2021 to convert strings into a char array for writing into a buffer   code examples are presented with HLSL and D3D12   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents a walkthrough on the steps required to generate simplex noise   shows a comparison between texture and function-based noise generation   additionally presents steps required to ensure that noise is tileable  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article discusses the portability of different methods to calculate noises/hashes across GPUs   comparing methods to calculate, float, int, and functions as well as sampling differences  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video provides an overview of different tessellation modes   visually explains where the tessellation is applied and how different modes subdivide differently   code examples are provided with OpenGL  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video tutorial shows how to create a water surface through the use of vertex displacement   the effect is implemented using a visual shader editor using Unity and Unreal  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article discusses the complexities of using operations on the surface of a sphere   presents issues of different encodings and extra difficulties with operations such as rotations, precision, distortions, etc.  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents how to accurately calculate the average of a set of quaternions   shows issues with a common method, why these errors happen, and how to improve it   visually shows the improved method  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     ACM has released the video recording for the SIGGRAPH 2023 courses   a large number of topics such as USD, WebGPU, Vulkan raytracing, and many more  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     ACM released the video recording of the Siggraph course on the introduction to ReSTIR    the full ~3h30 video is available for streaming & download   covering from the basics to practical integration into Cyberpunk  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           the Digitial Foundry interview with a Technical Director and Lead Graphics Programmer from the Alan Wake 2 team   discusses engine changes, mesh shader usage, ray tracing design, memory optimizations, etc.   the full interview is ~50  minutes long  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video tutorial presents several use cases that vertex offset enables   shows how to implement the techniques in Unity and Unreal Engine  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           the article presents an overview of recent advances in light transport and compute graphics algorithms   shows noise reduction techniques, screen space-based GI techniques as well as displacement mapping with continuous LODs  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents a method to estimate HDR EnvironmentMap (Chrome Ball) from a single input image   shows how the LDR diffusion model was trained, what insights enable better estimation as well as how to generate HDR sphere   source code and example implementation are available  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents how different shader constructs are converted into instruction on RDNA2   shows the impact on code generation that small changes can have   what can be optimized by today's compilers and what cannot be optimized  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article discusses a technique that calculates the transformation required between a known base and target position   applies this technique to a 3D cloth simulation to calculate the shading tangent and normals  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article discusses how to generate LODs using a meshlet-based Directed Acyclic Graph approach   talks about the data structure, the approach, and implementation details of the model   mentions considerations for choosing meshlet sizes as well as LOD selection using the graph  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video provides a great visual breakdown of the rendering pipeline   covers how scenes are represented, how the source triangles are transformed, rasterized, and shaded to finally appear on screen   additionally provides a small overview of more recent techniques such as ray-tracing and DLSS  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article provides an overview of different heuristics to choose from when building a BVH for raytracing   compares the ray tracing performance of the heuristics in a test scene   additionally provides ideas for future research in the area   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article provides a walkthrough of the practical tweaks and tricks used to implement a ReStir-based global illumination system into a research framework   discusses the caching strategies, light leaking improvements, and performance optimizations  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article provides insights into how to convert OpenImageDenoise into HLSL compute shaders   shows a high-level overview of the technique   presents a couple of steps to reduce the performance cost  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post is the beginning of a series covering mesh shaders and how they map to the RDNA hardware   explains the classical pipeline and how the mesh shading pipeline differs   presents which AMD hardware stages are used to implement the stages   additional presents how amplification shaders can be used to represent dynamic workloads  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article provides an in-depth look at understanding shader occupancy on RDNA hardware   shows what occupancy is, what factors could limit it, and how to observe the actual occupancy   presents how to improve occupancy    additionally, it presents pointers to detect cases when more occupancy might not be beneficial   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents techniques to help identify the performance cost of shaders created from unreal shader graphs   shows how to see the generated instructions   additionally, it presents a couple of examples to optimize the generated shaders  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents a shader function that uses wave intrinsic to calculate interpolation of the result of lane-dependent calculations across lanes   shows step-by-step how the shader is structured   additionally presents how to take advantage of SPIR-V inline to further improve the generated code  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article provides an overview of the implementation of a render graph implementation   presents how the implementation uses versioned resources to structure the order of render passes   shows how the execution order of the render graph is established    additionally, it discusses how unused render passes are removed   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog discusses the implementation of Vulkan video decoding to get the first frame of a video   shows the steps necessary, from loading a file to unpacking the mp4 to actually decoding a first frame   discusses pitfalls encountered along the way   additionally, it presents a collection of other resources used to get to the stage  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents a retelling of the Surface Gradient Bump Mapping Framework paper from the author's perspective   shows what normal maps are, how they encode information, and what the difference between object and tangent space is   discusses issues with blending normals from different sources and how the alternative representation can achieve better-blending results  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post discusses how GPU-based animation for large crowds is implemented   presents how the animations are structured, driven on the GPU, and acceleration structures for ray-tracing are generated   additionally presents how skeleton instancing can be used to reduce animation costs while still allowing object variations   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     year-end video that discusses the standout graphical games of the year   presents demonstrations of the effects of the game-nominated   shows the top 3 picks for best-looking games of the year and presents the reasoning for the choices  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post aims to introduce and explain the ReSTIR technique with a focus on implementation and intuition instead of the underlying theory   shows how to start with a first implementation and expand it to implement shadows    additionally shows how to take advantage of temporal and spatial data to reduce noise  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents a breakdown of the primary render passes of the Knockout City frame   provides a high-level overview of the rendering techniques used, what existing techniques they are based on, and how they modified the techniques to fit the requirements of the game  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post collects advice on how to achieve the most stable presentation results when using DXGI   presents what flags to set, how to size the queues, and how to make sure the results stay consistent after window/resolution resizes    
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post presents an overview of the FSR3 SDK improvements   shows the debug display modes to help during implementation   additionally shows how it's possible to run workloads on one queue to make initial implementation easier  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article discusses several ways to query the driver version and how to interpret the results   presents how to query the information with AMD, and Nvidia-specific API   and the API standard way exposed by D3D12 and Vulkan  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the interview between DigitialFoundry and some of the developers of the developers from Massive provides insights into the implementation of the game   discussing raytracing, GI, GPU rendering pipeline, and many more topics   also provides into the CPU side structure as well as PSO management  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents how to use Simplygon to generate micro-meshes (base structure + displacement information)   shows examples of what kind of results can be expected from different settings and how it affects memory usage and quality   presents how the way a model has been created can affect the base resolution vs. tesselation amount to achieve high-quality results  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog provides an introduction to fluid dynamics and rendering   the implementation is explained with the growing sophistication of the simulation   an interactive WebGL demo of each stage is provided   closes with how to apply temperature to color space conversion to enable a first completed fire simulation  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video tutorial explains how to sample textures from a vertex shader   explaining the quality difference and how the mesh vertex distribution and the texture content can significantly affect the quality of the result   additionally presents the different strategies that are available for the selection of varying texture MIP levels    
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog presents a walkthrough of the author's R&D process when approaching the issue of generation of a scene approximation   shows how to analyze the constraints, develop a high-level intuition for the problem, and use this to explore the problem space   discusses the different solutions' pros & cons and shows how to start prototyping and iterating through the process   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post provides an overview of GPU programming concepts for non-graphics programmers   discusses GPU architecture, how to author shaders, how to read/write data, and basics of synchronization   For example, d3d11 code for an image converter is provided  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the research paper presents the performance impact of different vertex clustering (meshlets) on the efficiency of mesh shaders   discusses hardware design/limitations that affect considerations when deciding on cluster sizes   discusses different algorithms, providing an overview of the technique, implementation considerations, as well as performance differences   source code for the meshlet generation is provided  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the presentation shows the complexity of debugging issues that cause crashes that originate from GPU issues   provides an overview of available techniques and tools and how to combine them to track down issues   explains the steps required to track down example crashes from The Witcher  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     a small website that allows the authoring of GLSL shaders and running them on a virtual "The Sphere" located in Las Vegas   contains a couple of examples as starting points  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article provides best practices to follow when comparing WebGL and WebGPU workloads   It presents how to verify the underlying API, output configuration, blend modes, and other aspects that can affect performance   additionally presents how to report issues after confirming the aspects are identical  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video provides an explanation of techniques used by rendering systems to reduce the number of objects that need to be drawn to the screen   shows how frustum culling is only the first step, expand upon the idea by introducing occlusion culling   explains how to use the depth buffer to improve culling further and take advantage of temporal information to further enhance culling results  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     brief example blog post that presents how it's possible to use DXVK to build a native Linux elf that uses the D3D11 API   shows how to integrate the necessary steps into Cmake with a SDL based application    
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video tutorial shows how to move computations from a pixel shader into a vertex shader   presents two examples and uses them to show the change in visual results when moving from pixel to vertex shading frequency   code examples are shown in unity and unreal visual scripting   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post shows the release of the new version of the AMD GPU profiler   presents the updated UI and how divergence raytracing pipelines can be visualized better  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     AMD released a sample for DirectStorage that was presented during GDC 2023   the code shows how to use the API and how to compress assets to be able to take advantage of the API patterns  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post announces USD integration into the AMD RenderStudio   presents how the system allows real-time collaboration between different authoring tools (Maya, Blender, Houdini, RenderStudio)   additionally also supports MaterialX into the renderers  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the presentation provides an overview of bitmasks and their uses in rendering   It covers many applications for the technique (rasterization, font rendering, culling, global illumination, raytracing, etc.)   explores the properties and how they are a fantastic fit for GPU programmability and machine learning  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video provides an excellent and detailed overview of the dot product   shows how the product is defined in algebraic notation as well as geometric interpretation   explains relationships and properties with visual explanations   additionally provides practical examples of how to use the different properties and operations introduced in the video   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents the issues when creating a color gradient from sRGB and linear color spaces   introduces how the OkLab color space is designed to be perceptually linear and allows smoother gradients   provides code for the color space conversion   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video explains how to use a geometry shader to render a wireframe overlay on a mesh using a single pass   provides the overview of the presented algorithm before showing the OpenGL implementation  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video provides the story of the author becoming a professional graphics programmer   discusses the author's view on the path into the industry for graphics programmers, technical artists, as well as general shader artists   shows the importance of self-learning, portfolio creation, and the lack of intermediate resources  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     start of a new shader tutorial series covering vertex shaders   starts off with an overview of vertex shaders and how to use them from Unity and Unreal  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video presents techniques used to optimize terrain rendering   shows how to compress vertex information to reduce the memory and bandwidth requirements   additionally shows the importance of LODs for rendering performance  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article discusses a system to compute shader rasterize large point cloud datasets at interactive rates   the detailed blog presents how they solved problems along the whole pipeline   covering point reordering, point rejection and hole filling, level of detail selection and calculation, as well as memory usage optimizations   additionally presents how the data is expressed and used from the Unity implementation  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article gives some advice on how to get started with graphics programming   discusses the complexity of different graphics APIs   additionally provides a list of tutorials/blogs and courses that provide a good starting point  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     a start of a collection of books and resources for (graphics) engine programmers that I recommend   covering mathematics, engine architecture, graphics programming, collision detection, software design, as well as knowledge organization  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents Phi and the Golden Angle    shows how to use these numbers for a point distribution in a rectangle as well as a disk   provides a shader toy example to present the effect when using blur kernels  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article provides a visual explanation of what an optimal transport problem is   presents how the problem can be solved a lot simpler in 1D   extends on this insight to present how a multi-dimensional problem can be sliced and approximated in multiple 1D steps  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article describes the concept of render-bundles and how they can be used to reduce CPU overhead   presents what changes are backed into the bundle and how updating referenced resources enables flexibility beyond static scenes   code examples and internals are discussed in WebGPU terms but apply to other APIs as well  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     The author updated his library for spherical harmonics and zonal harmonics   added GLSL shader variation and shader toy   additionally, the update fixed several bugs and made improvements  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents a look into the internals of the gfx-rs wgpu implementation   demonstrates the limitations of the implementation in terms of multithreaded uses   shows what changes were made to reduce lock-contention and how the implementation might change in the future further  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     short blog post lists a couple of tricks to use when writing shaders for higher performance   additionally provides a small trick on how to reuse data between iterations when using shaderToy   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post shows how to use Nvidia-specific intrinsics with D3D11 and D3D12   how to use them from shaders and how to verify that the hardware supports it  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents a couple of methods that can be used to read vertex information from shaders   shows the more flexible approaches enabled by Vulkan/D3D12   presents how more modern approaches allow data quantization   shows the effect of different quantization formats on precision and how to choose which one to use  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article discusses an approach for the calculation of sun-soft shadows   the solution uses a 16x16 software rasterize per fragment to establish occlusion   presents performance numbers, limitations as well as possible improvements   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video tutorial presents how to use Mesh Optimizer to optimize meshes for faster rasterization   shows five different types of optimizations (duplicated vertices, vertex cache, overdraw, vertex buffer optimization, as well as draw simplification)  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     The I3D conference for 2024 is looking for papers   the page lists important dates and the submission process  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the tutorial provides a brief overview of matrix operations   covers matrix types, how to fill it with data, and how to express different operations  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the guide provides a collection of reference materials for different black hairstyles and advice for improving the look   GitHub provides reference images, textures, and 3D meshes for the presented hairstyles  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the talk presents an insight into the job of a technical artist   covers what TAs tend to work on, what they need to know, and how to learn   additionally covers how to get started on the journey of becoming a technical artist  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     AMD released a performance guide that helps developers with profiling work when using UE   covers command line options for predictable results, how to create test cases, and enable profiling tool support   provides some pointers for getting started with profiling for systems such as Nanite, Lumen, and upscaling   additionally provides practical examples to showcase the effect of the optimizations  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the 4th edition of the Physically Based Rendering has been released to read on the web for free   the book teaches both the mathematical theory and the practical implementation of a photorealistic rendering   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     a brief blog post that describes what advantages Wave intrinsics can have   advises on group sizes and how they can affect code generation  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article provides an overview of the way D3D12 deals with resource descriptors   presents how shaders use the RDNA2 instructions use the descriptor when sampling   from there, shows how Render/Depth targets are different and only used from the CPU side  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     video of the Performance-Aware Programming series that presents in real-world terms latency, throughput, and dependency chains   aims to develop the intuition of these concepts by explaining the process of doing laundry and showing that the same fundamental ideas apply to accelerate chores  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video presents an overview of the hardware changes in new Apple hardware generations   discusses how new hardware features enable better hardware utilization through dynamic shader register usage   additionally covers the updates to the hardware raytracing capabilities  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video discusses updates to the profiling capabilities of hardware/software updates   presents new views that visualize screen space costs and allow better visualization of hardware counters   explains how the new capabilities allow performance issues to be identified with examples  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article provides a breakdown of the GPU scene rendering of Cities: Skylines 2   presents how the scene is drawn and points out performance optimization issues  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video tutorial presents how to extend the generic bevy rendering material to support custom effects   shows the process in two examples   covers the shader changes, how to bind custom data, and how to use the newly defined material  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video provides an overview of how Ghost of Tsushima rendered grass   presents the process of implementing the rendering step by step inspired by the technique  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the slides for the advances of rendering presentation have been released   proposes a novel approach for BRDF authoring against photograph references   covering how to develop the main character shading model and validate the results   additionally covers raytracing reflections, transmissions, and related optimizations  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Nvidia released a sample that explains how to render Micro-Mesh using both the Vulkan extension and classical compute shaders   presents how to read the necessary data all the way to render it   shows how to rasterize and ray trace the data  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post describes the first public release of the Open Physically-Based Rendering model   the model is built upon MaterialX by Adobe and Autodesk   the early release that is looking for feedback from the community before the final release in 2024   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents the story of the development of a cloud shader that uses raymarching to render a cloud space   starts with raytracing, and the reformation of tracing density as the starting point   from there, expand the example step by step to implement more advanced capabilities   all intermediate stages are presented as interactive examples   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article discusses the implementation details of an efficient method to compute roots of Polynomial functions with high degrees   presents an overview of the underlying method (Bracketed Newton bisection) and the implementation issues related to performance and precisions   shows how to use Nvidia's Nsight to identify the performance issues and how to resolve the register spilling problem to improve performance significantly    
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post discusses the changes in the latest significant PIX release   improved application performance, vastly improved raytracing debugging capabilities, and much more   also lists breaking changes introduced in the accompanying WinPixEventRuntime    
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video shows the visual fidelity of the PC version of Alan Wake 2   presents how the different levels of raytracing affect the visual results   contains many insights into what limitations can be resolved with raytracing and what can still be improved   additionally presents a brief look at the DSSL upsampling logic being used  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video discusses the nature of hair and the aspects that make it a complex topic to reproduce   presents how hair can be represented as shells and builds up the technique step by step   additionally presents what issues the technique has and workarounds to reduce the visual impact of the limitations  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video provides a beginner-level view of how a camera orientation can be represented and transform vertices from the 3D world onto the screen   explains the concept in OpenGL terms and shows the necessary library calls to create the matrix  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     part 2 of the animated flag series extends the effect from the previous video   adds support for allowing the flag to be rotated   additionally shows how to recalculate the normals for improved lighting  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           the talk presents an overview of linear algebra   covering topics from the basics of vectors, complex numbers, operations between vectors, and more   shows how intuition developed connects to geometric algebra  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post introduces a new series about machine learning that aims to connect different disciplines   provides an introduction to machine learning and shows how it can be expressed in shader code  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           the blog post describes the The Marschner Hair Shading Model   focuses on high-level information and develops an intuition for the model   additionally provides corrections and extensions for ideas from the original paper  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents the importance of tone mapping to reduce color clamping   shows visual examples of different tone mapping implementations  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           the article presents the types of checks available by the NVIDIA Compute Sanitizer   shows how to use sanitizers to detect  memory access errors,  uninitialized device global memory access, thread synchronization hazard detection, and more   each example is provided with source code to the issue and how the sanitizer helps to detect it  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents a collection of recommendations for descriptor usage on Nividia using D3D12 and Vulkan   discusses what are best practices, what should be avoided, as well as pitfalls to avoid  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           the video presents how shaders are translated between HLSL and the target shading languages   explains the limitations of existing solutions and why a custom solution was developed   shows how DXC is used as a frontend and the steps necessary to convert to GLSL  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           the video presents an overview of the  RE ENGINE graphics stack   shows how shaders/material are authored, how raytracing has been deeply integrated and optimized   additionally presents how bindless allowed reduced CPU overhead and shows limitations, risks, and GPU performance impact of the approach   briefly covers mesh shaders and visibility buffers  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the in-depth article presents how to render a high-quality grid from a shader   presents what issues occur when rendering lines commonly   shows how to render anti-aliased lines that are free of these common artifacts   code is provided for unreal and unity  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article provides an overview of the methods available in UE5 to deal with Pipeline loading   presents timings to show the effect of lacking PSO pre-loading   discusses the new methods available and how to use them   additionally presents what is still missing for a 100% fluent player experience  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video tutorial shows how to animate a flag using vertex shaders   step-by-step presents how to develop the effect using Unity and Unreal Engine  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper introduces a method to reduce the amount of rejected rays for tracing rays following a visible normal distribution function (VNDF)   the unbiased method improves variance for highly rough and low-anisotropy surfaces  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents the white furnace test   discusses what the purpose of the test is and provides a real-life example of the behavior   additionally provides a ShaderToy example of the test and also demonstrates how incorrect sampling can be caught using the test  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post presents how to set up a book with turnable pages   shows how to create the art assets and shaders to enable the effect   implementation is shown using unity visual shader graph   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article discusses dynamic resolution scaling and its effect on memory usage   presents findings of texture sizes/formats on Nvidia, AMD, and Intel GPUs  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents three issues with linearly transformed cosine (LTC) Line Lights   presents an improved routine that reduces the required usage of arc tangent calculations  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post introduces the new automatic differentiation feature for the slang shading language   provides an overview of how it's integrated into the language    presents a comparison between tensor and shading languages  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post discusses the implementation of WebGPU into the sokol-gfx library   shows what issues had to be solved and how the author resolved them  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article provides an overview of the tesselation pipeline   explains how it fits into the rendering pipeline and what possibilities it enabled   presents how to render cubic bezier splies using tesselation   implementation is shown using OpenGL  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper introduces a level of detail technique for triangular meshes for use with ray tracing workloads   proposes a data structure for hierarchically representing triangle meshes, allowing localized decisions for the desired mesh resolution per ray  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           the blog post shows how to implement a scan-line rasterizer using D3D12 work graphs   presents how to implement the rasterization using D3D12 work graphs, showing the C++ and HLSL implementation   shows how to split work between GPU threads and how it affects performance   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           the article discusses the author's development of a real-time voxel rendering and authoring system in Unreal Engine   covers the data structure usage, compute shader implementation as well as issues transition between UE4 and UE5  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           the blog post discusses advice to help debug issues with GPU workloads   covers how to track GPU progress, get debugging information from shaders, available tools, etc   additionally provides a list of steps to follow when tracking down issues  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           the article covers how to generate a 4D hypersphere   discusses multiple generation techniques   presents how to sample 4D noise uniformly  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           the article discusses ten implementation details to consider when working on a Dynamic Resolution Scaling (DRS) solution   covering memory handling, resolution choices, effects on frame timing, debugging advice, as well  as UI rendering  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           the blog post introduces the updated Vulkan documentation website   it combines the spec, proposals, samples, shader language information, etc., into one place   the blog post provides the reasoning and an overview of where to find the information   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           the video tutorial presents how to implement a material effect that simulates an old LCD screen effect   the effect combines scan lines, vignette fading, flickering, half-tone shading, and flipbook animations   implementation is shown in Unreal and Unity Visual Scripting  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     The master thesis provides an overview of the different trade-offs of volume data structures   introduces a method for storing density data in block-compressed textures combined with deduplicating homogeneous nodes   shows how this enables efficient flipbook animations  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video provides an overview of the FSR3 frame generation   presents the state of FSR related to frame pacing with Vsync and variable refresh rates   additionally presents the effect on latency and compares against DLSS   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents a method to incrementally construct a LOD structure for point clouds directly on the GPU and render points as they are still being loaded   shows how the tree is built, the interaction between CPU and GPU, as well as a look at the performance  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper introduces a new method to render Spherical harmonics glyphs efficiently    SH glyphs are used to visualize High angular resolution diffusion imaging (HARDI)   presents how to intersect the rays, calculate bounding boxes, as well as how to apply shadows  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the website presents a collection of USDs and glTF information   collection of introduction articles, specification links, as well as supporting tools  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper introduces the concept of micro grains to approximate layered materials   allows the separation of structural properties from their reflectance properties   present results, underlying theory, and approximations  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the in-depth article discusses noise generation   presents a generation approach based on generating in the frequency domain   source code and example app is provided  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post discusses issues encountered when moving AnKi object visibility onto the GPU   covers data layout, the command buffer building, as the occlusion techniques used  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     This article explains in detail how to render 4D objects in 3D space   shows orthographic projection, perspective projection and cross-section techniques to visualize 4D objects   many visualizations and code examples are provided  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article discusses Parallax-corrected cube maps and their related approximations   discusses issues and limitations of the technique  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article introduces that the Desmos calculator now supports 3D visualizations   contains interactive examples to demonstrate the capabilities   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post provides a summary of common spaces found in graphics operations   covers texture, screen, object, world view as well as Projection Space  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video shows how to sample texture lighting information stored in environment maps using importance sampling   shows the underlying math for the different contributing elements   also presents how to implement the technique using GSN Composer  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents the basic steps for a toon shading implementation   provides an overview of the different toon shading techniques   covers toon ramps, cel-shading, lighting, and extensions such as shading ramps  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     The paper presents a combination of Resampled Importance Sampling (RIS) and Projected Solid Angle Sampling (ProjLTC) for many area lights.    provides a method of improving the efficiency run-time as RIS with a lower error   shows the comparison between previous methods  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper introduces a new approach to perform acceleration structure traversal and intersection tests against micro triangles texture space   implementation is using nonlinear rays as degree-2 rational functions   present performance and memory usage   additionally discusses the effect of floating point precision  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog describes how to compress the Gaussian splat SH data by using clusters and color palettes   shows the effect on memory usage as well as quality  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article provides an in-depth discussion about how WebGPU is implemented within Chrome   shows how the different implementation layers communicate   presents a look at bugs found during the research process and possible attack surfaces  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post describes the importance of considering the total runtime when calculating performance characteristics   discusses how failing to do so can skew the results towards a more positive conclusion  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article provides a brief overview of the FSR algorithm implementation   discusses how the frame generation interacts with the underlying native APIs as well as the state of the UE5 plugin integration  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video explains BC texture compression   covers how the compression format works and the differences that exist   explains guidelines on which format to use for different use cases   additionally also covers SRGB color space and explains when/how to use it  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper introduces a new method for the triangle mesh reconstruction from an SDF representation   The presented method is based on the insight that each SDF sample represents a spherical region   generates an initial mesh and then shrinks the shell using a gradient flow approach  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents improvements to using floating point atomic operations if all inputs have the same sign   additionally discusses how half and double floating point numbers might be operated on with uint atomics  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents how to implement Worley/Voronoi noise   starts with Voronoi shapes and expands to noise   additionally presents how to animate the noise  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents a set of differences between WebGL and WebGPU   covers clip space, synchronization, mip-generation, canvas handling, and more  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the latest version of the raytracing analyzer adds support for visualizing the rays in the scene   allows each ray to be visualized, heatmap information, and ray types   presents how to analyze performance given the provided information  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the latest edition of the Memory Visualizer adds improved support for resource aliasing    additionally adds support for post-crash analysis  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents changes in the latest AMD GPU profiler update   improved work graph, instruction search, output merger state visualization as well as shader hashes  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post provides an introduction to the Gaussian Splatting rasterization technique   discusses the technique, data collection, training as well as downsides of the technique  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post provides a visual introduction to Raymarching   builds up from simple spheres to animated shapes and concludes with more complex terrains   all examples are provided as javascript and GLSL code examples that are fully live and editable   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article provides a brief overview of alpha blending and weighted averages   additionally shows a simple technique to create a perspective effect  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article discusses how to compress the data for the Gaussian Splats technique for reduced memory usage   presents how to re-order data for spatial coherence, compressing data relative to a local reference point   discusses how to compress splat data as textures and the effect of different BC compressions on the visual quality and memory reduction  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the series of blog posts covers floating points and fixed point representations for numbers   discusses different representations for numbers, how to estimate precisions and ranges   shows how floating point numbers are expressed in hardware and how to implement common mathematical operations   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video presents an overview of virtual texturing   discusses texturing concepts and how to represent textures using tiles   shows visual presentations of the variations of texture resolution required and how it affects which tiles of textures are required   implemented for N64  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the 2024 Vulkan conference Vulkanised is looking for speakers   the blog post discusses topics being searched for, what is required for a talk proposal, as well as applicable submission deadlines  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the latest edition of the GPU Zen books is looking for authors   the blog post lists some recommended topic, answers to frequently asked question as well as deadlines  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     The presentation covers the development of a new material model based on Slaps, Operators, and Trees   explains what these three concepts represent and the issues they aim to resolve   shows the implementation details, data storage, and integration into the rendering pipeline   additionally presents how to integrate visualization for tool purposes    
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     The article provides an overview of ray tracing rendering concepts   shows a summary of different methods such as Ray Marching, Cone tracing, and photon mapping   discusses how it fits into the rendering pipeline as well as what phenomenons it enables to be simulated  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     The blog post describes a brief overview of the Gaussian Splatting technique   how it compares to previous techniques   additionally discusses memory and performance of the demo application  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     The article discusses a technique to implement atomic min/max operations on HLSL (that doesn't support it natively)   presents how to map floats into uints and reverse the mappings  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     The blog post shows the importance of thinking in gradients   Consider acceptable input domains and output ranges to prevent errors and unexpected results   Utilize periodic functions, trigonometry, dot products, and exponentiation for various shader effects and measurements  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     The article introduces how to encrypt/decrypt are methods to allow reversible changes to data   shows how to generate cheaper models than cryptographical methods to solve specific problems   expands the concepts to present a method that allows grouping and shuffling in a stateless manner   provides source code for a couple of examples of the presented techniques    
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     The video presents a comparison of 3D Gaussian Splatting for Real-Time Radiance Field Rendering against  Instant NeRF techniques   discusses a summary of the technique and how it can achieve the results without using any neural networks  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     The video provides a discussion of ocean simulation and shading   presents an overview of the theory, mathematics, and practical considerations for implementation   additionally presents a look at the shading models for water surfaces  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     The article presents a brief discussion of Aliasing in computer graphic   presents how the sampling patterns cause the artifact   additionally presents techniques to resolve the artifacts  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     The presentation provides a detailed look at how the rendering API for HypeHype was rewritten for a modern mobile architecture   discusses a large spectrum of topics from API design approach, memory API, data update frequency   shows in detail how the draw operations are represented for the most efficient rendering performance   presents performance numbers on PC and various mobile hardware  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     The presentation covers the terrain rendering methods used in previous Call of Duty and shows the shortcomings   discusses how the new method virtual texturing method improves upon the issues   shows the implementation details as well as new capabilities that have been enabled  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     The article presents the steps necessary to use the GFXReconstruct on Android   how to capture the information and replay it at a later date  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     The video tutorial contains a high-level overview of the profiling tools available for Cuda workloads   shows an example of how to use the tools to identify a cude performance issue  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     The article presents a new D3D12 work graph sample to demonstrate how to classify screen space materials   presents a high-level overview of the demo application   additionally presents how the Radeon GPU Profiler can visualize the performance of work graph applications  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     The article explains the Tencent tree rendering system   explains how tree information is compressed, automatic LODs are generated, as well as how GPU-driven rendering techniques are used for efficient rendering   provides videos to show the LOD transitions as well as comparison against (older versions of) Nanite  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents a robust solution to resolve self-intersection issues with secondary rays   the proposed solution works by calculating error bounds and offset the starting point to lie outside of these bounds   presents methods to reduce floating point numerical issues through using the suitable coordinate space and operation ordering   HLSL and GLSL implementations are provided  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post provides best practices for shader performance   covers generic shader advice, as well as vertex/pixel/tesselation/compute specific advice  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video presents a deep dive into the technical aspects of Starfield   covering ship geometry details, materials, lighting, cities, landscapes, character details as well as reflections   additionally, look at the loading structure, loading times, and brief frame-rate discussion  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents how to use geometry shaders from OpenGL   provides an overview of what geometry shaders are and how they can be used to overcome some vertex shader limitations   implements a simple shader that calculates normals for a displaced plane first   expands the implementation for billboarding, explaining the math and the implementation  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     The article provides an interactive explanation and exploration of Bezier curves   presents how the curves are represented and controlled   allows the user to change settings and interpolation settings to explore the effects on the curve  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Video recording of MaterialX-related developments in the virtual town hall meeting   covering OpenPBR, MaterialX shader editor, MaterialX in USD, and many more topics  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Blog post explains the different compute shader semantics   shows the difference between SV_DispatchThreadID, SV_GroupThreadID, SV_GroupID and SV_GroupIndex  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     The simulator provides the ability to experiment with different factors that affect the vsync effect   presents the effect of vblank intervals, CPU and GPU time differences, and how it affects frame stability and latency  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     The presentation and source code for the screen space shadows used in Days Gone have been released   shows the effect, covering the implementation, and also discusses optimizations   The code is released under the Apache License  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     The paper introduces a Ray-aligned Occupancy Map Array as an alternative to BVH-based ray tracing   shows how to generate the data structure from a single rasterization pass and compute-based processing   comparing against Distance Field and Hardware Ray Tracing  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     The paper presents a global illumination technique based on radiance cascades   Radiance Casdaces allow the storing and calculating of radiance fields by decomposing them into multiple ranges (from near-field to far-field) with asymptotic scaling   The paper discusses the data structure, implementation, and how the presented technique is used in Path of Exile 2  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the slides cover the difficulties of VR and what is required for a good user experience   presents what hardware features the PS5 GPU supports to improve the results   shows how raytracing was integrated into the rendering pipeline and an overview of the overall rendering pipeline   covers how the sky rendering was implemented, introducing the mie approximations used   additionally presents how multiple weather skys are implemented using multiple sets of lookup textures that are blended  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article discusses the concept of focal length, presenting how different definitions of focal length are used for other aspects   explains the underlying optics concepts to clarify the meaning   discusses Nominal focal length, Pinhole focal length as well as Effective focal length   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video explains how mirror balls enable the representation of 360-degree views   focuses on the derivation of the mathematics of the approach and how to deal with projection bling spots   additionally presents several demos and use cases of mirror sphere projections  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents how to use MTLFunctionStitchingGraph to allow the creation of a final shader from multiple pre-compiled pieces at runtime   shows how to express that functions will be stitched at shader compile time, how to load and stitch the shaders from the API   combines everything to show how to use the stitched graph to apply image processing operations  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post gives insights into debugging crashes originating on the GPU   presents what API level tools are available to track down the range of possible draw calls   further expands from there to show how barriers can help to reduce the search space   additionally shows how on AMD + Linux native hardware information is available to improve the debugging experience    
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     AMD released a new tool to help with debugging GPU crashes   the article provides a brief overview of the tool, what information is available, and how it's to be interpreted   additionally discusses the limitations and usage tips  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     extensive bibliography of more than 3000 rendering papers   collected by Wojciech Jarosz from papers, conferences, and own research findings  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     a combination of three conference presentations recordings from the sony creator event   the videos cover VR, Ray tracing, and sky simulation in Gran Turismo 7   Screen space shadows by Bend Studio, as well as ML Research by Haven Studios  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the latest version of DXC switches the default HLSL version to 2021   this article presents what number of cases  where default behavior changed   shows what changed and how the code needs to be adjusted. Presenting quick solutions and more ideal solutions to deal with the changed behaviors  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     release of a small header helper to implement a basic assert for GPU shader code   will trigger a GPU memory exception on purpose to halt the execution   helper is meant to be used together with Radeon GPU Detective  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the course notes and slides for the ReStir course from Siggraph are available   covering from introduction level content to more advanced use cases to the practical implementation in Cyberpunk 2077   video recordings are available for those who registered for Siggraph 2023  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     a growing collection of content from Siggraph 2023   presentations, talks, slides, posters, and more  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents how projection matrixes are expressed in different APIs   shows how to adjust the classic projection to reverse the direction of the z projection   followed by an explanation of how this matter helps when combined with floating point numbers to improve depth precision significantly  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents a way to categorize graphics programmers into four broad groups   for each group, discuss what tasks they typically work on and what questions might be asked in an interview   additionally provides general advice for graphics programmer interviews  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Nsight Aftermath now supports application-specific markers to be inserted and accessed from the crash dumps   the blog post provides an example of how the tool shows the information   explains how to enable application marker support  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents how to create a post-processing effect that simulates the look of CRT TVs   the individual steps are explained   shadertoy implementation is provided  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents how the author organized an online shader programming contest   presents how the problems were designed, challenges faced   additionally presents how the judgment system was implemented  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video presents a short overview of the new developer features in Nvidia tools   the graphics performance profiler now supports sampling profiling   additionally covers aftermath debugging and improved Cuda memory profiling  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video presents the theory behind Skydomes and how they compare to sky boxes   explains spherical coordinates and how to use them to generate a sphere mesh   combines the information to implement skydome rendering using OpenGL  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Khronos released a new tool to improve the experience when working with KTX compression   the tool allows the changing of settings, exporting of files, and side-by-side live comparisons  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the presentation covers an overview of many rendering techniques used in Path of Exile   these techniques cover a large number of topics, such as flow fields, decals, subsurface raymarching, bent-normal shadows, waves, and much more   additionally presents details about a hierarchical probe system for GI that uses multiple hierarchical levels to approximate GI information with bounded cost  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper discusses the Shadow Techniques used by Final Fantasy XVI    presents the Tiled Deferred Shadow implementation, performance, and quality results   the paper discusses how the Oriented Depth Bias technique can be used to replace the traditional Hardware Depth Bias   additionally, it presents debug visualization techniques  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the first part of a 3 part series that discusses occluding contour rendering   first part discusses the issues   the second part presents methods to efficiently generate smooth, sensible occluding contours from a triangle mesh   and the final part presents suggestions on what techniques to use for which problems and an overview of open research problems  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents a discussion of functions calls in shaders   covering issues with having and not having function calls   discusses how CUDA and ISPC support functions pointers, but GLSL doesn't   presenting the costs associated and possible solutions  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post provides an overview of leadership topics aimed at new graphics leads   lists lessons learned and advice separated by categories   covering Hiring, Day to Day actions, Performance Reviews, Advocacy as well as Self-Care  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     The paper proposes an adaptive sampling technique for efficient Monte Carlo rendering with deep-learning-based denoising   The suggested method estimates the variance of neural network outputs with random inputs to drive adaptive sampling methods   When combined with denoising post-correction, it significantly accelerates error convergence during rendering  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post presents the rendering equation and derives the meaning by following the physical units used   explains differences and relationships between the different units  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post presents the idea of using decals to drive where post-processing and object-level effects   discusses considerations when applying the decals and how to combine them with other effects   presents how to use the technique for post-processing shaders and object-level vertex-displacement and alpha effects  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post presents the announcement of the formation of an organization for fostering the standardization, development, and evolution of USD to OpenUSD   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article has been updated with improvements   covers efficient, conservative projected bounds for spheres as well as AABB   presents the implementation and discusses the performance of the presented techniques  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Nvidia presents the best practices for asynchronous compute queue work scheduling   mentions how expensive workloads need to be to see an advantage   additionally mentions patterns that should be avoided  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents a method that uses any hit shaders to implement order-independent transparency   compares the performance and quality against the closest-hit shader method of the last post  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     AMD announced the release of a Vulkan extension to support the experimental D3D12 Work Graph concept   The extension is called VK_AMDX_shader_enqueue and presents the API, reasons as well as open issues   sample application is provided  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post announces that the book Real-Time Rendering is now also available in Korean   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article discusses different methods that are available to convert from f32 to u32 data formats losslessly   presents use cases and what to consider when choosing between the methods  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents an overview of dithering techniques   shows how the type of noise influences the effect   includes a shadertoy implementation of the presented techniques  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents an introduction to the fourth dimension and explains how to imagine mathematically and geometrically accurate 3D objects    shows the mathematical foundation   the series aims at giving the reader the knowledge to simulate how 4D objects would behave in a 3D world  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article provides a comprehensive overview of game color management and encoding complexities   introduces the separation between color and radiometric units   additionally also touches on the subjectivity of converting rendered data to displayable  via "tone-mapping" operations  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents how to render geometry to the six faces of a cubemap from a single draw call   explains how to use the VK_EXT_shader_viewport_index_layer extension   shows how to use the extension, what kind of hardware support can support the feature   additionally shows a high-level performance comparison between the classical approach and the usage of the extension   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post shows the talks Roblox will be presenting at SIGGRAPH   covers  Surface Simplification, Differentiable Heightfield Path Tracing, hair simulation, and much more  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the GDC presentation covers geometrical limitations and techniques that can be used to solve the bottlenecks   shows how Simplygon can be used to simplify models for improved rendering performance   discusses a large number of issues that will be encountered when simplifying common workflows and how to solve the  issues  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the talk presents is a combination of leadership methods and rendering techniques of God of War Ragnarök   covering lightings units, optimization techniques, PS5 Enhacements such as raytraced cubemaps reflections   presents optimization appraoches used for shadows, geometry, and how it was tracked  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article provides a list of best practice recommendations for usage of PSOs with D3D12   additionally also presents what patterns are not recommendation   explaining why these recommendations are made  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     small twitter thread that presents how to use Quad intrinsics and IsHelperLane to visulize how efficent quad shading is  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the quick video presents a method to render an outline of an object by taking advantage of wireframe rendering mode   relies on rendering backfaces only and drawing lines that are thicker than 1 pixel   presents how to implement the technique using OpenGL  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article explains how most tecture encoding formats operate in blocks, presenting how this reduces time complexity   Additional computational complexity of encoding textures depends on the search space of possible endpoint/mode combinations, which can be reduced using heuristics and pruning techniques  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Santa Monica Studio release the slides for all GDC 2023 presentations   covers not only rendering topics but also AI, Animation, Testing, Art, accessbility and visual scripting  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents an in-depth look at SDF font rendering techniques   shows issues with common implementations and show how to correctly render on a sub-pixel level   discusses how to blend more complex shapes such as Emoji   additionally presents how the glyps are cached into runtime dynamic texture atlas  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post provides a first high level overview of the micro-mesh technique   contains links to nvidia sources that discuss the technique in more detail  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents what ReBAR is and how it allows GPU resource to be directly CPU adressable   shows recommendations when and how to use the technique   addiotinally discusses hardware constraints, and how to validate the availbility  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the presentation present a neural network approach used to upscale textures   shows an overview of BC7 block compression, explaining different modes available and tradeoffs   discusses the implementation of the network, preseting performance and quality   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video tutorial presents how one can use clip planes to cut geomeetry along plane equations   presents the underlything math as well as how to implement the feature using OpenGL  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the articles continues the exploration into order independent transparency techniques   presents the performance and quality of a solution that uses ray tracing   discusses advantages, disadvantages and how it compares to other solutions  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video tutorial provides a visual introduction into linear programming   explains how to represent problems in a geometric fashion and then presents how to use the simplex method to solve it   additionally presents how to solve linear problems using the pulp python package   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the articles aims to provide an intuitive understanding of the marching cubes algorithmn   starts by explaining how to render a circle on a pixel grid   generalizing this method to marching square (the 2D equivalent) and expands it into 3D    
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video describes how to use raymarching to draw a lava lamp effect   shows how to represent spheres using SDFs and combine multiple shapes   implementation is done using Godot  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     collections of papers from the High Performance Graphics 2023 conference   contains the PDFs and where available also the video recordings   covers topics such as Acceleration Structures,  Primitives, Surfaces & Appearance Modeling, Deep Learning for Graphics, Distributed & Cloud-Based Rendering as well as GPU Mesh Computing  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     AMD has released FidelityFX SDK that was announced during GDC 2023   the SDK provides a unified interface that aims to reduce the overhead of integrating AMD provides techniques into applications   added new Blur, depth of field and lens effects   additionally updated existing techniques for the new SDK and introduced improvements  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     collections of papers from the Eurographics Symposium on Rendering 2023 conference   covers topics in Ray Tracing, Neural Rendering, Spectral, NeRF, Materials, Scatter as well as Patterns & Shadows  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post presents how to use available D3D12 APIs to create stable applications for profiling purposes   shows that SetStablePowerState is only one part of the solution   the second part SetBackgroundProcessingMode and shows how it allows drivers to communicate back to the application to allow stable performance results   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper introduces a tile-based decompression scheme aimed to allow data queries to operate in a single pass   provides an overview of compression schemes    shows how to combine delta decoding step and bit unpacking step into a single pass  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Meta open-sourced their cross-platform library that provides a common graphics API abstraction   a couple of examples are provided that show how to use the API  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post discusses signed distance fields (SDF) for rectangles as well as how to render borders and rounded corners   shows how to apply masking, transformations, and clipping of shapes and effects such as conversion into borders only and inversion   additionally shows how to combine multiple SDFs to create more diverse results with a limited number of base shapes  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article provides a breakdown of how to implement a rain effect using Unity visual shaders   shows different types of implementation with varying levels of sophistication and implementation difficulty   simulates raindrops and rain streaks   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article provides an overview of skeleton animation in-general and then presents how to parse the information from gLTF files   shows how to combine transforms, interpret hierarchical information and apply the data in vertex shaders   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the Digital Foundry video provides an overview of the Apple Game Porting Toolkit   shows how the toolkit works with several recent AAA game releases   additionally presents how to setup the toolkit for use    
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video tutorial presents how to render a skybox using OpenGL   explains the theory of the technique and the implementation   covers considerations such as culling, rendering order, and positioning  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video tutorial presents how to build a road network using a spline system   discusses how to extrude a road mesh from a spline and create junction meshes   presents how to calculate tiling UVs that follow the density of the bezier changes   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     This article discusses a code sanitizer in CUDA that is similar to one used in C++   The tool can detect race conditions, memory violations, uninitialized memory access, and thread synchronization issues.  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article provides an in-depth study of a Diablo IV frame rendering on PC   presents the different stages and passes of the frame   additionally contains a section of some technical ticks & tricks that were employed from art and programming  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     The paper introduces a new method for representing scattering with varying particle sizes using uniform parameters   The method combines Henyey-Greenstein and Draine's phase derivation   The paper provides an analytic evaluation of the method   The quality of the method is compared to other methods  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video shows an humerous overview of what is required to model a camera, with functioning lenes, filters etc   shows the difficulties and complexities that camera's following a real-world model face   finally shows a number of images that got generated using this method    
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article dicusses how to use signed distance functions to render a circle    show render a circle with antialiasing, drop-shadows, and edge borders.  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper introduces a replacement for bottom-level BVH traversal based on neural network techniques   presents performance and quality comparison   additionally also shows how the presented technique is view and scene dependent  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the Siggraph 2023 course notes discuss the challenges faced related to water rendering on Avatar: The Path of water   gives an overview of the challenges faced, a solid foundational background for the underlying models   presents practical implementation strategies used   additionally presents several unsolved problems  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video explains the concept of convolution functions/filters   starts with distinct distributions and generalizes from there into continuous functions   develops two separate ways to visualize the computations and show how they allow different questions to be answered more neatly  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper introduces a method that enables micro-poly geometry for raytracing workloads   geometry is preprocessed, clusters formed and simplified into a compressed hierarchical level of detail representation   presents how using clusters enables fast BVH building   in the appendix discusses in detail how to select clusters to be guaranteed crack-free between different clusters  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post announces the first public release of a new D3D12 feature called Work Graphs   shows how this feature enables GPU shaders to spawn further GPU work from the GPU timeline   presents an overview of the spec   additionally, it discusses which samples are available at this time  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the AMD guide provides a more in-depth look at the practical use of D3D12 Work Graphs   presents how to get started and the building blocks of the programming model   additionally, it presents a section on tips & tricks to help during the development (guides for tracking down issues, best practices, etc.)  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post announces support for the new d3d12 work graphs feature in the preview version   shows the first level of debug support and discusses what is coming in the future   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     another part of the glTF rendering series   part focuses on how to interpret the scene hierarchy and flatten it for rendering  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video tutorial presents a walkthrough on the integration of a real-time fluid simulation   shows how the physical model is translated into shader code   implementation is shown using Unity C# and shader code  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the talk discusses the design of the Task Graph architecture used by Activision   covers how to author tasks, design iterations, interactions with the memory allocation systems   additionally presents how it interacts with multi-threaded command recording  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the presentation slides explain the improvements done to decoupled shading   discusses how decoupled shading enables improved visual stability   presents how the technique has been implemented by using Shadels that reduces the limitations of overshading of previous iterations of the technique   show how to generate a PrimiteID texture from rasterization as a replacement for position texture maps   additionally shows how the material system has been designed to enable utilization of the new shading method  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents a new method to render glittery materials   introduces a new statistical method to calculate the number of glints for each pixel   source code and a Unity implementation demo are available  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents an overview of line extraction techniques   discusses line theory and types   presents Screen-Space Extraction as well as Geometry-Based (Mesh Contours)   discusses limitations and considerations of each technique   additionally gives recommendations on when each technique should be used  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents a discussion of the limitations of metal hardware related to barriers across thread groups   also discusses the complexity of the current compute ecosystem across platforms  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper introduces a novel importance sampling algorithm for the GGX microfacet BRDF   presents an explanation of the method and how it compares to the Heitz method   code implementation is provided  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the presentation covers the development story of the Far Cry shader system   shows how over multiple games, the architecture was iteratively improved to solve the D3D12 transitions   focuses on how the PSO design was approached by making all PSO information known during build time   presents techniques to reduce PSO hitching by skipping draw calls, introducing optional variations, and allowing fallbacks  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the talk covers how the author designed a new rendering architecture aimed at mobile hardware   presents how an iterative API Design was utilized   covering the resulting solution and reasons for the design decisions   much in-depth advice to consider for the best performance in different mobile GPUs  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents how a LUT (Look Up Table) can be used to apply a color transformation to convert a daytime scene into a nighttime   presents how to express a color transformation into a texture and how to apply it from a shader   discusses implementation considerations and how to reduce color banding  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     slides covering Screen Space Indirect Lighting with Visibility Bitmask   presents how bitmasks are used to track visibility along the visibility horizon    show how this allows you to handle objects with thickness better   additionally shows performance and image results   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post covers a high-level overview of topics covering Diablo IV graphics techniques   discusses the guiding principles, the interaction with tech art   shows how HDR enables an improvement in visual quality   additionally provides an overview of resolution/refresh rates on consoles as well as graphics options   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the presentation presents how to convert the D3D12 shader for use with metal   presents a shader converter tool that converts DXIL into metal shader IR   this tool also supports the conversion of tesselation shaders into mesh shaders   additionally presents performance pitfalls and advice to bind resources to the pipeline efficiently  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the 2-hour interview discusses the history of the development of Graphics APIs   discusses the origins of APIs, how OpenGl and Direct3D came to be   tradeoffs, design decisions, and many insights into the history of computer graphics  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the keynote presents an overview of the state of the art in neural rendering   covering image reconstruction, texture compression, mesh simplification, and others   presents a look at what might be coming next in research and open areas for further development  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video tutorial explains shader programming aimed at newcomers   explains how to create digital art using shaders   showing the fundamental concepts, tools, and mathematics required along the way   the example is provided using shadertoy and portrayed from an empty shader to the final result  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article provides a tutorial on how to use CUDA for beginners   presents how to set up a project and an overview of the basic programming model   additionally presents how to interop with OpenGL  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     The paper presents a new approach for constructing Bounding Volume Hierarchies (BVH) by leveraging sampling techniques   the aim is to create higher quality BVHs to be maintained under real-time dynamic conditions and minimize the need for refitting   The presented approach involves ordering input primitives using a space-filling curve and building a Cumulative Distribution Function (CDF) for sampling  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the tutorial provides common scaling, stretching, and centering patterns when using pixel and UV coordinates in shaders   explaining the process for newcomers and discussing common pitfalls  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents a rederivation of diffusion models with more straightforward concepts of mixing and de-mixing of images   previous models relied on advanced knowledge and practice of statistics such as Langevin diffusion or score matching  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the short video presents how ray-sphere intersection points behave when expressed with imaginary numbers  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video recording ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games 2023 for Ray Tracing has been released   the talks covered are the following:       Subspace Culling for Ray-Box Intersection       Performance Comparison of Bounding Volume Hierarchies for GPU Ray Tracing       Accelerated Photon Mapping for Hardware-based Ray Tracing       Importance-Based Ray Strategies for Dynamic Diffuse Global Illumination  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     open, digital, and freely accessible conference covering many rendering engine architectures is happening on June 5th and 6th   talks from HypeHype, Activision, Ubisoft, Wētā Digital, and more   the talks cover modern mobile rendering, task graph architecture, decoupled rendering, shader pipeline, and much more  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video tutorial explains two different techniques of frustum culling   presents how to implement culling in object and clip space   code implementation is provided for OpenGL  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     slides and videos from the Khronos Osaka Dev Day have been released   covers how to read and write SPIR-V, use the Vulkan Validation Effectively as well as what tools are available  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents how the terrain in Deus Ex is quite different compared to other solutions   shows how the terrain uses translucent materials to blend between opaque objects and the terrain  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video shows how rotation matrices are defined in mathematics and glm + OpenGL   presents how to read a 4x4 matrix as columns matrices to understand the effect  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video explains the effect of the Halton Sequence compared to random and grid sampling   shows how to implement the Halton Sequence using GLSL   presents the practical effects when applied to image space lighting  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article explains how to create a stylized waterfall effect   shows how to integrate SDF objects to interact with the water flow  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents how to construct micro meshes from high-resolution triangle meshes   provides an overview of the micro-mesh data structure   discusses advantages and disadvantages of the mesh structure  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article provides a formal definition of a Unit Gradient Field   compares an SDF to a UGF and possible applications   presents a visual component to provide further insights  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents CPU performance consideration for efficient usage of APIs   shows the importance of running the right workloads on separate threads  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post describes a new Vulkan raytracing extension that allows the retrieval of positions from a hit shader   discusses how applications used to fetch position information manually and how this extension will simplify the logic   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     video recording for the first I3D conference paper session has been released   the three talks are Interactive Editing of Neural Radiance Fields, A Primitive for Animatable Neural Rendering with Interactive Speed as well as Metameric Inpainting for Image Warping   the Q&A for each talk is included as well  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the second part of the glTF mesh series covers how to interpret mesh data and render from WebGPU   covers the ASCII and binary format  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents the effect of Shader Execution Reordering (SER) on GPU performance   shows the effect on Cyberpunk 2077 and shows how improved coherence improves performance   presents how the extension is represented in the DXIL and changes the shaders  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     AMD released a new research framework aimed at the rapid development of multiple rendering implementations in parallel   The first release contains a GI implementation and a reference Path tracer    
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article provides an overview of the Photon Mapping technique   discusses the issues with ray counts from ray and path tracing methods and how photon mapping aims to reduce the number of rays   developed to solve rendering caustics efficiently  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper investigates and presents the quality and performance influence of stochastic texture filtering    stochastic texture filtering makes it possible to perform filtering outside of the lighting integral   this could allow for the adoption of higher-order texture magnification filters as  the introduced noise can be removed with temporal filtering algorithms  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article provides a walkthrough of how to investigate a GPU hang found in Splitgate on Steam Deck   shows how to narrow down the issue using Vulkan validation, the AMD open-source drivers, and UE source code access   presents the complex interconnections of GPU systems   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the GDC presentation present a GI solution that aims to cache radiance into a cache hierarchy   shows how the technique combines screen space probes with world space-level cells   presents the implementation, quality, performance as well as limitations of the technique  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video tutorial expands on the terrain rendering series by adding support for calculating LOD levels for each patch   shows how to implement the technique using OpenGL  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     AMD released an extensive tutorial on how to use the Render Pipeline Shaders SDK    broken down into multiple parts, it explains the basics to more advanced concepts   shows how to render a triangle, express more complex resource dependencies, as well as how to interact between the graph and host application   additionally shows how to take advantage of multithreading when recording commands   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper proposes a new method for the combination of rough surface NDFs   The presented techniques aim to accurately simulate multiple scattering from heightfields with height-dependent roughness and material properties   the solution is based on a layered-Smith microfacet model  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     The paper presents a new method to represent materials utilizing learned hierarchical textures combined with neural decoders   presents how to integrate the technique into real-time applications such as path tracers  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents a history of graphics API and how WebGPU fits into the history   shows an overview of how WebGPU works   presents possible implementations for different programming languages and how to get started  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the guide contains best practices for using Sample Feedback on Nvidia hardware   shows what is expected to perform well, what is not supported, and possible edge cases to consider  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents the video functionality that Vulkan exposes   discusses how to use the API and what pitfalls were encountered   as the Wicked Engine is open source, code and links to the necessary implementation are provided  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents an overview of Unit Gradient Fields (UGFs)    UGFs offer a generalization over SDFs, enabling a more expressive language for implicit modeling   this is only part one of a planned series on the topic  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents an in-depth look at the performance of the latest Cyberpunk 2077 update   shows how the hardware is utilized and what the bottlenecks are   additionally shows how RDNA2 and RDN3 workloads compare  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video tutorial about rendering terrain using OpenGL continues by explaining how LODs can be implemented for the terrain system   covers how to create LODs and make sure the terrain doesn't have any cracks  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Article discusses implementing backface culling in mesh shaders    Compares the efficiency of three different methods: Cluster cone culling, precomputed visibility masks, and multi-cone culling    Presents performance numbers for each technique on different scenes  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents progress on a Rust-based home graphics engine project   focuses on the discussion of how to integrate resource management into the Rust memory model and GPU-driven rendering considerations   presents how to setup bindless rendering pipelines, implement frustum culling in compute shaders, and how to integrate with an ECS-based engine  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents improvements done to the AMD GPU profiler   It primarily focuses on the shader/pipeline disassembly view improvement and has been updated to make it easier to navigate   but also mesh shader and Conservative Rasterization mode have been added to support  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video explains how to use partial derivatives in HLSL shaders to calculate the amount of light distortion to calculate refractions   presents the results and implementation using UE4  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video tutorial explains how matrices are combined   visually explains the operations by explaining how a robotic arm transformation is implemented   followed up by explaining how the multiplications are implemented mathematically but always visually explaining the relationships  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video explains how PVS (Potential Visibility Set) used by Quake is implemented   visually shows how the graph is constructed and what optimizations were applied to optimize the set further  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article explains how star wars battlefront explosion VFX has been implemented   shows how flipbook textures are combined with LUT textures for recoloring as needed  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article explains a series of Interpolation and shows how they build up to cubic Quaternion interpolation   covers Hermite Curve, Catmull-Rom Cubic, and finally, Quaternion Catmull-Rom Cubic Interpolation   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     a collection of papers from the I3D 2023 presentation   contains links to the papers and related material where available  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the GDC talk explains how Quaternions and Dual Quaternions work and how they affect objects under transformation   starts by building an understanding of Quaternions, shows the advantages and limitations   followed by an extension to cover Dual Quaternions, explaining what problems they solve and how they compare to 4x4 transformation matrices  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the GDC presentation discusses the new sky rendering model developed for GT7   presents the physical foundations and how to simulate them in an offline rendering system   followed by how the sky method has been adjusted to be used in real-time through heavy use of LUT    discusses how to control the method through simplified parameters   additionally covers how they approached cloud rendering  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the short tutorial presents how the FXAA algorithm is implemented   presents how the algorithm works in simple terms  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article discusses techniques to calculate Bézier that use fewer segments than the existing original path   presents the importance of an error metric and discusses different available options  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the latest version released from the Open MaterialX standards adds support for MaterialX Graph Editor and support for Metal shader generation   also adds support for coated emissive surfaces and bitangent input vectors    
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents several different methods to convert between 32 and 16-bit floating point formats   discusses the implementation, issues, and considerations with each technique  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the tutorial explains how to use WebGPU to use compute shaders to calculate the MIP maps for textures   presents the implementation of a one MIP level at a time technique  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents how to introduce custom shader nodes into the Godot Visual shader graph   shows an example of how to color an object following the UVs   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article introduces two new interactive playgrounds for integer and floating point numbers   allows experimenting with how different numbers are encoded into the underlying bit patterns  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the talk discusses how the PC port approaches PSO management to reduce stutter and manage memory when the game was designed for unified memory   how they approached ray-tracing for parity with the PS5 implementation and what extension got added to improve the quality   detailed section on how to further debug GPU issues on PC and how to deal with super wide resolution rendering  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video explains visually to read and understand 4x4 transformation matrixes   explains the basic of matrix/vector operations   presents how to combine the operations to allow rotations, scaling, and translations of objects using a visual approach  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post describes the approach of incrementally accumulating voxel data to augment the reprojection of the previous depth buffer   shows images of how the depth buffer develops over time and how small sub-voxels can help to improve the results  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article describes how Godot converts SPIR-V shaders to DXIL for D3D12   covers the  old approaches (SPIRV-Cross) and why it was replaced with using Mesa’s NIR approach   discusses what SPIR-V Specialization constants are and how a patchable DXIL is created to allow the approach with D3D12  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video presents an overview of the papers that will be presented during the I3D 2023 in Bellevue   covering interactive Neural Radiance Fields, importance sampling for Dynamic Diffuse Global Illumination, real-time dune simulation, and many more  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video presents the visual difference the overdrive (ReStir-based) raytracing implementation for Cyberpunk 2077 can achieve   compares against the prior ray tracing implementation and the maximum rasterization quality   shows cases where the mode makes a huge difference   additionally presents the performance influence of the mode  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Nvidia released the Displacement Micro-Map Toolkit SDK   provided samples and documentation explaining the capability and how to use them from Vulkan   the technique allows the triangle to be sub-divided and displaced with a highly compressible format    this can be raytraced to add additional detail at lower costs  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the tutorial shows how to render a first triangle with WebGPU    this is using the final WebGPU spec as it is now publically available in Chrome   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the website collects information about the API and extension availability for Web-based usage   supports WebGL, WebGL2 and WebGPU  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article provides a central place for matrix understanding for computer graphics   explains storage and multiplication order, how they are expressed in HLSL and GLSL   explains coordinate system handedness, what the left-hand/right-hand rules are   additionally presents some questions that help to detect conventions used if applications did not document their choices  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post shows different sampling strategies   presents the patterns along 1D lines, 2D squares as well as 2D circles  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the tutorial explains how to apply color modifications in shaders   shows how to modify luminance, saturation, brightness, or contrast   implementation is provided using Unity shaders  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the long Video explains detailed how to render a Stylized grass   covers the art creation, shader logic, performance considerations    additionally covers how to apply movement, occlude parts if intersecting with the camera, LOD setup, and much more  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper proposes a new solution to accelerate AABB when used as BVH for objects that are thin and diagonal   the solution presented embeds a binary voxel data structure for each node and showed how to use these to reduce false positives   additionally presents how to use a LUT to compress the voxel data  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper introduces a new rejection method based on the PDF shape similarity between pixels for single-bounce ReSTIR   this helps to reduce spatial resampling across shadow edges and material boundaries  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents an overview of ReSTIR/ReGIR, explaining similarities and differences between the techniques   shows how to set up reservoirs to allow spatial path reuse   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents the difference between Object Normals, Tangent Normals as well as World Normals  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents an overview of use cases for mesh shaders   shows how to implement a mesh shader implementation that breaks down a mesh into parts and culls these   presents frustum culling and cone culling for a meshlet-based model   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post introduces the VK_EXT_shader_object extension that allows Vulkan to be used without pipeline objects   instead, applications create shader objects for each stage (and optionally link these). All state setting is dynamic   the article describes performance expectations that drivers need to follow if they report the feature as supported   additionally describes how to test the feature on hardware today  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper introduces a generalized ray concept into wave-optical light transport   presents how to use the generalized concept to apply path tracing sampling techniques to wave behavior modeling   shows how the technique compares in quality and performance to existing techniques  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the new D3D12 SDK adds support for CPU and GPU shared heaps on iGPUs and GPUs with re-bar support   additionally adds support for texel coordinate sampling  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article explains what function derivatives are and how they are helpful in shaders   presents a couple of examples to show derivatives in action  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     slides of the GDC talking covering Geometric Algebra have been released   the presentation covers the building blocks of the algebra and how it connects to concepts from other algebras   shows how common operations and primitives can be represented using  Geometric Algebra concepts  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the detailed video tutorial shows how to implement raytracing applications   explains and implements concepts such as reflection, simple sky models, depth of field, lighting, and much more  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the new API allows applications to disable the use of kernel WRITE_WATCH for CPU-visible GPU memory   applications promise to track access and inform pix explicitly instead of relying on the OF   this is required because of limitations in win10 and non-insider builds of windows 11 today that affect performance negatively  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     AMD released the videos and slides from the sponsored session at GDC23   covers the new FidelityFX SDK, Real-time sparse distance fields for games, temporal upscaling as well as direct storage  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the presentation introduces the implementation of Brixelizer, an AMD real-time generator for sparse distance fields   discusses what sparse distance fields are, how they can be generated   followed by a discussion of how Brixelizer can be used to generate the necessary data  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article introduces Spherical Gaussians based on the Spherical Harmonics covered in the last part   presents how these two representations differ, strengths and weaknesses   additionally introduces Ambient Cube encoding for diffuse lighting  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the second article of the series continues uncovering how Deep Neural Networks are implemented    looking at aim to reconstruct the Intel Open Image Denoise open-source library   explains the concept of Tensors, Convolution, and how these concepts are combined to form Convolutional Neural Networks  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the terrain video tutorial series introduces a continuous level of detail for geometric details   explains the implementation of Geomipmapping, discussing the vertex number requirements and how to deal with edges between LODs   implementation with OpenGL is provided  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article uses the AMD and Nvidia dev tools to take a look at how they approach the BVH building process   compares different hardware and presents performance comparisons   Hogwarts Legacy and Cyberpunk 2077 are used as examples  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post discusses designs and considerations for occlusion Culling techniques   lists limitations of existing techniques for fully dynamic worlds   discusses two prototypes covering screen-space depth reprojection as well as world space voxelization   presents weaknesses of the techniques, open issues, and next steps  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article discusses the implementation of the GPUI library   shows how to derive SDFs for rectangles and how to apply drop shadows using separable blurs   additionally covers how font rendering is implemented by using the OS and GPU caching  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the Twitter thread discusses different methods to upload per-draw call GPU data   presents how to use Metal, Vulkan, and WebGL 2.0    additionally presents pointers on how to apply it for D3D12  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents different use cases of Fourier Transforms from a user perspective   explains what to use them for and how   presents strengths/weaknesses of the library design and how it affects the workloads  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video tutorial explains the effect of iridescence, why it happens, and how to replicate it   then uses the principles to implement a soap bubble shader using both Unity and Unreal   shader implementation is shown using the Visual Shader language   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article discusses how to implement a lighting model as found in the Legend of Zelda: The Wind Waker   presents how to set up the blueprint as well as the shader logic required for the effect  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article discusses the basics of Convolutional Neural Networks   the series aim is to explore the denoising implementation of the Intel Open Image Denoise library  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article shows how to implement SSAO using WebGL 2   provides a high-level overview of the steps required and how to implement these   discusses limitations of the technique as well as parts where forward and deferred shading paths would diverge  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the tutorial explains how to create a Stylized Water Shader using Unity from start to finish   show how to calculate water depth, apply underwater color, waves, foam shading, and more to create the effect   presents the results of the different effects and how to tweak them for the desired results  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the short paper presents an extension to the Adobe Standard Material model that allows specific reflectance at 90 degrees and the ability to control the interpolation exponent   discusses reflectance models limitations, evolutions, and proposed solutions  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article aims to provide an understanding of Spherical Harmonics without requiring advanced mathematics   develops the intuition from 2D cases before expanding into an extra dimension   additionally discusses why 3rd order Spherical harmonics are commonly used in computer graphics  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video tutorial shows how to create a text shader using signed distance fields and how to develop data for use with the effect   compares the result against a classical texture approach   implementation is shown using Unity and Unreal visual scripting  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article discusses the author's experience of writing "Mastering Graphics Programming with Vulkan"   explains the approach taken to concept development, lessons learned along the way and  a look at what could be improved  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article discusses matrix and vector representation   shows the distinction between logical row vs. vector and the memory order   explains the effects of different layouts for multiplication order   additionally lists the pros/cons of different combinations  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article continues the series on float compression topics   presents how to optimize the process by redesigning the system to take advantage of SIMD instruction sets   shows how much of a performance difference the usage can make   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     new release of PIX contains a vast list of new developments   some examples are RayGen debugging, the ability to show selected draw objects, pix capture diffs, improved memory allocation view, and much more  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article explains the alignment requirements of buffer loads from VK_KHR_buffer_device_address   provides a walkthrough of the generated SPIR-V and explains why the issue occurs by explaining the spec requirements   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the presentation covers a real-time cluster-based path-tracing renderer   discusses how the architecture was designed to allow linearly scaling with the number of GPUs  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video tutorial presents a simple lighting model that uses sprites to define light effects   this is done by defining lights as one render target and combining it with the base world   implementation using Defold is presented (using GLSL shaders)  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper explains the experience of transitioning university classes to be taught using Vulkan instead of OpenGL   discusses difficulties and advantages encountered   shows how it affects student learning, grades, and project results   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video discusses the problem of non-uniform constant loads within a single wrap   shows how to use Nvidia NSight to identify the problem   discusses in detail how to correlate counters, latency, and instruction traces   using Structured Buffers instead of Constant Buffers will be able to resolve the problem once identified    
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents how to use GPU-based techniques to implement LOD construction of point clouds   discusses the different implementation approaches' impact on performance and quality  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the latest part of the video tutorial discusses how to apply lighting to a terrain using OpenGL   discusses standard diffuse lighting and Slope Lighting   provides a high-level overview of each technique and discusses the implementation  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents an overview of 10 aspects to consider when approaching solving a computer graphics problem   discusses the importance of understanding the working space, data representation, as well as time constraints   presents how to take advantage of generic data science techniques (such as data visualization/exploration, Numerical optimization, ...) to gain new insights   additionally shows how ground truth and Machine learning techniques can be combined to develop an intuition of the limits of a given solution  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the talk describes to setup a bindless rendering pipeline using Vulkan, D3D12, and HLSL shaders   shows how to set up the CPU side management to allow GPU side validation   describes the emulations required for Vulkan    
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article continues a series of understanding the Robust Monte Carlo Methods for Light Transport Simulation master thesis   this article focuses on the understanding of multiple-importance sampling    explains the insights required to better understand the balance heuristic especially  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article provides a calculator that generates offsets and weights for a separable Gaussian blur filter   allows the specification of a couple of settings (radius, sigma, filtering mode, ...) and generates GLSL code   explains the underlying logic and shows how to implement the filter in GLSL  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article describes the error handling techniques that are available when using WebGPU   defaults will print detailed errors to the console, but developers can define scopes to collect information from the program and attach additional information to objects   additionally presents how to collect detailed information from shader compilation errors  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the official website collects the links to the videos and slides of the talks presented at the Vulkanised 2023 conference   not all talks have slides at this time  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents issues with the ARM/mali GPU device IDs and how they relate to GPU performance for game setting tweaking   shows how that reusing the same ID for multiple chips with large performance delta makes it challenging to identify capabilities correctly  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the author presents his impression from the Vulkanied conference   presents an overview of the topics covered, what discussions revealed during panel discussions, and what are common issues  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the playlist of video recordings of the talks presented at the  Vulkanised 2023 in Munich   covers a large number of topics such as Mesh Shader best practices, source-level shader debugging, performance optimizations   ranges from mobile and desktop to virtual reality   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents a breakdown of how Teardown is being rendered   shows all stages of the pipeline required for the final frame   shows how the G-Buffer is drawn, how details are applied to the voxel   additionally presents how the weather effects, lighting, as well as denoising are implemented   additionally covers many more steps of the frame pipeline  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article provides an overview of different techniques to adjust object colors from objects   shows how to implement the presented techniques using Unity visual shader language as well as in HLSL   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video tutorial explains how to implement ray-sphere intersection testing   discusses the mathematic derivation of the technique   shows how to implement the intersection testing using GLSL in shadertoy  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents a technique to approximate hair lighted by an environment map, direct lighting, or a global illumination   build around the modeling of obstruction around each hair using spherical harmonics instead of requiring deep opacity maps  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post continues the series on float compression techniques   investigates how SIMD instruction sets can be used to optimize   presents how it affects the results  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video discusses the difference between Parallax Occlusion and normal mapping   presents how to optimize the implementation to adjust the steps only for cases where precision is required   implementation is shown in both Unity and Unreal  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper proposes an expansion of Horizon-based indirect illumination by using visibility bitmasks instead of horizon angles   stores (occluded / un-occluded) of N sectors uniformly distributed around the hemisphere slice instead   meant to improve results for thin surfaces  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the post provides a walkthrough of how to implement raymarching for volumetric clouds   provides an implementation using shadertoy   additionally discusses further issues and further steps  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the short tutorial shows how to recreate photoshop blend modes using GLSL shader code   contains a link to a GLSL implementation of additional blend mode implementations  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           the article presents how to implement a software triangle rasterizer   discusses how to evaluate if pixels are inside a triangle   covers how to deal with edge cases, how to improve constant precision through the use of a fixed-point number representation   additionally presents performance optimizations  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           the tutorial explains the basics of compute shader usage with Vulkan by implementing a compute-shader-based particle system   shows how to load compute shaders, bind resources and interact with graphics resources   additionally covers how the hardware executes compute shaders by explaining concepts such as workgroups and invocations  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     a collection of tech art tweets covering topics such as procedural modeling, volumetric motion blur, skin shader, VFX and visual shader WIP reports       
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           the video tutorial explains how to apply textures to a terrain system   provides a recap of texture mapping techniques and how to apply textures based on the height of the terrain   expands upon the techniques to tile texture across the terrain   additionally shows how to use mipmapping and how it improves the quality of the results  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the start of a series of blog posts that explores the space of compressing floating point data   this post explains the source of the data and patterns of the underlying data   series compares a large number of techniques, compression solutions, and libraries  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     short tutorial explains the concept of normal maps and how it influences the lighting computations   shows how to interpret the meaning of the colors   additionally shows the importance of normal map orientation  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article explains how to create a shader in Unity that gives an object a subsurface scattering effect   shows what effect subsurface scattering has on the lighting model   presents how to integrate it into the standard surface shader  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post explains how to convert a one-dimension threadIndex from compute shader into a 2D coordinate   shows how to use Quad-wide Shuffle Operations to reduce reliance on group-shared memory  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video tutorial shows how to adjust Unity and Unreal Shading models to be more fitting for Sand rendering   shows how to adjust textures sources for efficient usage from shaders   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents a summary of what was discussed at the WebGL / WebGPU  meetup   lists new extensions coming for WebGL and the state of WebGPU rollout   shows how the most significant obstacle for ThreeJS to adopt WebGPU is the requirement of WGSL shader language  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents an alternative way to deal with the instability of generative adversarial networks (cGANs)   suggests replacing the reconstruction loss with the energy distance   paper contains a one-page summary of the technique  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents a look back at the Shadowman game implementation for the PS2   describes how to implement and optimize the four-point light setup while staying within PS2 limitations  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents a rendering analysis of the game Teardown   shows a look at video captures of the game to develop an intuition before diving into RenderDoc   shows that the game objects are drawn using a 3D Sprite concept   the game uses a volumetric shadow map that is updated from the CPU   additionally covers Lighting, Compositing as well as Post-Processing    
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents how to take advantage of ray tracing hardware for progressive photon mapper   shows how ray tracing–based collection outperforms hash-based GPU photon mapping algorithms   additionally introduces Photon Culling, a technique to reduce the number of photons stored per iteration  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article explains updates required for Chapter 4 of Battle Royale   shows how increasing triangle counts of the mesh tented is better than masked materials and techniques to preserve vegetation density    discusses how to handle object animation and improve culling  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the new release introduces support for the Brotli-G lossless compression format   additionally adds support for RGBA_10101002, R8 and 16-Bit PNG File support  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video presents how to implement image-based lighting of the Cook-Torrance microfacet BRDF   contains how to derive the Ground Truth Solution and shows how the Split Sum Approximation can simplify the equation   presents how to implement the required shaders using GLSL   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article introduces the idea of expression quadtrees in terms of a collection of square grids   this allows the space to grow indefinitely as the used spaces change (movement or zooms)  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the WIP guide covers how to use the WebGPU graphics API from C++   at this time, presents how to create a render a basic 3D mesh    additionally shows how to load and apply textures  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents how to implement a camera look-at matrix    visually shows how the components combine to form the result   mentions the difference between rasterization and ray-tracing workloads   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post describes what changes were required to make Lumen work in 60 FPS mode for the new season of Fortnite   discusses how a reverse lookup structure is used to accelerate per-mesh surface cache information for sharper reflections and lighting when using software ray tracing at low resolutions   shows how spatiotemporal blue noise was able to improve results from the same number of rays  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article explains the issue that needed to be solved for Virtual Shadow Maps at 60fps   explains common issues that are often encountered when trying to cache sun shadow maps   additionally explains a collection of techniques required to improve performance and quality for the Fortnite art style  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video explains how Spatial hashing applies to storing sparse spatial data   presents how to extend the technique for cache coherence using view-dependent effects using world-space temporal filtering   additionally presents how to improve quality by using visibility-aware environment sampling  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article explains a method to compress 32-bit floats into 24-bits   shows how IEEE floats are defined and how to take advantage of conventions to further compress them for constrained ranges   HLSL and C++ code is provided   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the High-Performance Graphics 2023 conference is open for submissions   the pages list topics covered and important dates for the submission  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article announces that the GFXReconstruct now supports D3D12 (previously was Vulkan only)   explains how to use the tool to record D3D12 applications   additional shows workflows to reduce capture size and increase playback speed  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video explains a second technique to generate terrains taken from the Focus on 3D Terrain Programming book   provides a high-level overview of the algorithms as well as an OpenGL implementation   additionally, details on how to deal with edge cases of the technique  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article shows how to rotate a 2D sprite using 3 shear operations   discusses the properties and advantages of this method  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the new AMD hardware guide for RDNA3 has been released   covers the shader execution model, the various wave execution models   as well as how the shader core interacts with the memory hierarchy  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article shows techniques implement conservative techniques to project bounding boxes and spheres into screen-space   these techniques are optimized for use in culling use cases as it affects the meaning of near-z clipping   presents trade-offs between the techniques in terms of computational cost and culling efficiency   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article describes how the Use.GPU level of abstraction is continuing to evolve   presents how scene management can be natively expressed as part of the same pass-based architecture   shows how the same high-level logic allows switching between deferred and forward rendering easily   additionally discusses strange limitations in the graphics APIs that make switching work between texture formats, pixel shaders, and compute shaders more difficult  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article provides an overview of Tangen Space Encodings    covers how to use Octahedral Encoding and further compress it with Tangent Angle   from there, develops the suggested Diamond Encoding technique that extends the Octahedral approach into the tangent angle space   additionally provides a brief section on rethinking how tangent space encoding might be better expressed on a mesh(let) level on modern hardware  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents the Meta Quest exclusive features of the RenderDoc fork   the extensions allow the visualization of the tiled-based hardware binning into screen tiles and how they are executed   allows drawing call tracing to gather the latency of draw calls   additionally allows the collection of hardware statistics of shaders through KHR_pipeline_executable_properties  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     during the Vulkanised 2023 conference in Munich, a full-day tutorial will take place   this post explains the target audience of the course and the associated price   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article aims to develop an intuition for FFT (Fast Fourier Transform) and how it's underlying the math of waves   provides a large number of interactive examples to experiment with the effects of different parameters   contains a high-level introduction to complex numbers and how they relate to rotation and scaling  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the author describes the personal experience with GLSL and HLSL gained through moving AnKi 3D between the shading languages   mentions why HLSL seems like a better bet for the long-term future   also mentions shortcomings of using HLSL when developing Vulkan applications  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post explains how to improve the precision when encoding min-max per tile   the author suggests storing only one as an absolute value and a delta to reconstruct the other   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article covers how Wave Matrix Multiply Accumulate (WMMA)   presents how to use the intrinsics available in the HIP framework to accelerate the matrix operations typically found in machine learning work  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article provides techniques to speedup raytracing workloads   discusses techniques to integrate "importance sampling" for dynamic objects that are off-screen but still contribute to effects   how to optimize shader table updates   additionally presents the idea of aligning TLAS boxes so that bounding boxes are aligned with the world axis  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents a breakdown of how a Snowglobe can be implemented using Unity   shows how to set up glass sphere refraction/reflections   additional covers on how to simulate the snow using particles  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents a discussion of different sources of GPU hangs   shows techniques that can be used to track down the cause of hangs   techniques available in D3D12 and Vulkan that can be used to develop techniques to track down the source of the issue  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the presentation contains a step-by-step walkthrough of the FSR implementation   shows how the API is structured and what updates have been made from FSR 2.0 to 21  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     a new version of the D3D Agility SDK has been released   includes the d3dx12 headers, and those have been split into separate headers so users can only include what they need   additionally, the implementation of GetCopyableFootprints has been open-sourced   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video shows how to implement a Fault Formation algorithm for a procedural terrain using OpenGL   additionally presents how a (Finite impulse response) FIR filter can be used to smooth the results   presents an overview of the filter, visualize the effects using Excel, and shows how to implement it using GLSL  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     another part of the Vulkan series that implement GPU culling   this part focuses on optimizations and cleanup tasks   presents the effects on the performance of the different techniques covered  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post continues the discussion of the effects of using 16-bit floating point values in the temporal resolve shader from the FidelityFX SSSR sample   looks into AMD hardware instruction generated by the compiler   shows how why the VGPR usage is so different   presents alternative ways to express the work and how it affects the generated code    
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article discusses the reasoning why Vello (a GPU compute-centric 2D renderer) choose to transition to WebGPU   discusses the choices made during the implementation   looks at strengths and open issue   additionally provides a look at more advanced features and how WebGPU limits are affecting the project    
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     The article discusses the use of 16-bit floating point numbers (fp16) in shaders   Using fp16 can reduce the memory and bandwidth requirements of a shader   The article presents the results of experiments and how it affects the generated code  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article discusses techniques for improving color quantization algorithms   presents several heuristics for improving the quality of quantization   the article discusses the trade-offs involved in using different heuristics and provides examples of the results  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the tutorial shows how to implement an effect that recreates the color and wave pattern of the screensaver found in macOS   presents how to create the different aspects using shadertoy and how to combine the effects  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     The article discusses screen-space variable rate shading (VRS), a technique that can improve performance   VRS allows the shading rate to be varied across the screen   code examples show how to use the technique from Unity  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article explains the difference between row-major and column-major matrices   discusses the relationship between matrix storage format, matrix layout, and operation order   presents that the choice of storage format can affect the performance of matrix operations  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     The video explains how to create a hexagon using SDFs in shadertoy   expands the concepts to show how to tile the grid of hexagons   demonstrates how to expand on the concepts to create more complex shapes  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article discusses strategies for optimizing the performance of mobile games in Unity   presents the importance of tradeoffs between quality and performance   shows techniques for improving performance, such as reducing draw calls, minimizing overdraw, and using batching and instancing  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog posts describes how Hierarchical Z-Buffer (HZB) Occlusion Culling uses a depth buffer to improve culling efficiency   describes two possible solutions that can be used to solve the problem that a depth buffer of the view is required to accelerate the rasterization of the same view   focuses on a technique that uses information about which objects have been visible in the previous frame to accelerate the current  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     summary of two Siggraph talks by the author covering Ghost of Tsushima    the talks cover Lighting, Atmosphere, Tonemapping as well as PBR Shading in Ghost of Tsushima  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the post announces that the new edition of PBR will be released on  March 28, 2023    [chapter 11   Volume Scattering](https://pub-49ca6a23a58a46ef9cf5a5b34413a7ba.r2.dev/pbr-4ed-chap11.pdf) and [Chapter 14, Light Transport: Volume Rendering](https://pub-49ca6a23a58a46ef9cf5a5b34413a7ba.r2.dev/pbr-4ed-chap14.pdf) are available as PDF download already   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the stream covers the implementation and exploration of triangle culling into a GPU culling pipeline   discusses trade-offs of different techniques and locations in the pipeline   shows the effects of different culling techniques on the number of primitives that need rasterization  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Intel released a Path tracing workshop of 76 minutes of videos and ShaderToy exercises   shows how to implement a ray tracer, the path tracer    how to speed up the algorithms through the use of importance sampling   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     a new version of rust-GPU that allows Rust code to generate SPIR-V has been released   this release adds support for raytracing   additional contains many new APIs such as support for ByteAddressableBuffer or debug_printf   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video presents how to implement Bezier Interpolation    shows how curves are defined, visualizing how the factors are combined to create the final curve   all implementations are presented in ShaderToy  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article continues the series by covering an overview of raytracing techniques   covers the  Path Tracing Equations, Direct Lighting (single and multiple lights), Indirect Illumination   Additionally covers high-level approaches such as Bidirectional Path Tracing and Metropolis Ray Tracing  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents metrics to calculate to judge the optimal size for meshlets   compares the AMD and Nvidia limits to see how they might affect the choices  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video presents how to integrate a compute shader into the Rust-based bevy engine   shows how to integrate the compute pass into the render graph system   additionally shows how to read back simulation results back to the CPU  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article provides an explanation of deferred shading   discusses the issues with forward shading and how deferred shading can solve them   shows how deferred shading can be implemented, including techniques to reduce memory and bandwidth usage for the technique  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents how to use wave intrinsics to reduce the number of atomic operations required when compacting sparse arrays into packed arrays   presented technique is based on FidelityFX’s SSSR implementation   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     This article provides an overview of the Render Pipeline SDK design and implementation    it shows how the SDK can reduce the complexity of render graph implementations   presents that it's able to manage resource barriers and transient memory   additionally presents a demonstration of the performance effects that could be observed from real game workloads   video version is available  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article provides an overview and history of raytracing    it covers different styles of raytracing, common elements   additionally provides a brief on how different phenomena can be simulated    
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video is the start of a new video series to render a height map using OpenGL   shows how to load and render a terrain from a textural heightmap   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video tutorial shows how to implement a shader in Godot that mixes two textures into a single material based on the normal directions of the mesh   explains all the necessary vector space transformations, how to unpack normals as well as combine normals   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video discusses new features in Cuda 12 and a look at future developemnts   covering Dynamic Parallelism (GPU side task launching), lazy loading to reduce load time and memory usage   additionally covers updates to the CUDA compiler, math library updates as well as compability updates 
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents a technique to improve the look of a particle based fluid system   uses Metaballs to more smoothly blend the particles together as well as simple Refraction model   implementation is provided in GLSL for Game Maker  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article explains how the oneAPI API can be used to target intel, nvidia and AMD GPUs   presents a high level explanation of the technical implementation and goals for the future  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post explains two new extensions that have been added to Vulkan to improve interaction with windowing systems   applications can now better be sure when to release swap chains, clean up the deletion flow as well as added additional flags to open the opportunity for driver optimizations during swap chain resize operations  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the in-depth article explains the mathematics behind the original ReStir and an in-depth analysis of why it works   covers the preliminary knowledge required (Multiple)Importance Sampling, Sample Importance Resampling (SIR), Resampled Importance Sampling (RIS) as well, as Weighted Reservoir Sampling (WRS))   uses the information to develop a mental framework for understanding ReStir (Reservoir Spatio-Temporal Importance Resampling), how it works and why it's an unbiased technique  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents how to integrate a custom toon shading model into UE5.1   explains the necessary C++ modifications and shader work to integrate it   presents the complexity and limitations connected to the integration   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video presents a walkthrough of how to replicate a Truchet Weave pattern using ShaderToy   covering how to define an SDF for a Grid, Truchet, or Weave pattern and combine everything for the final result  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post explains how to build a cumulative distribution function (CDF) to accelerate the sampling of lights in a real-time ray tracer   explains the high-level concept of a CDF and shows how to implement this on the GPU   presents how to optimize the implementation to better take advantage of GPU hardware and utilize wave instructions for further optimizations  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the detailed video explains splines and concepts derived/extended from these   covering Bézier Curves and Bézier Splines, explaining the underlying mathematics and concepts   provides an in-depth explanation of the concepts of continuity, yet again in a large number of contexts   with this information, the video dives deeper into extended concepts such as Hermite Spline, B-Spline, NURBS, and color splines (to name a few)  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the tutorial explains how to implement area lighting using OpenGL   implements the "Linearly Transformed Cosines" technique as published originally in 2016  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the presentation focuses on how to approach the implementation of abstract code/math expressions to make it easier to work with   presents the importance of breaking down more complex expressions into sub-expression and visualizing individual components   shows the approaches by implementing randomized water puddle placement, a Gerstner Waves simulation, as well as using flow maps to displace water around obstacles  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     slides and videos for the Neural Volumetric Rendering for Computer Vision have been released   covering the fundamentals of Neural Radiance Fields (NeRFs), how to apply them to Volumetric data sources   additional presents existing challenges as well as a brief walkthrough of a NeRFs workflow  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article provides a detailed look into a frame breakdown from the Decima engine-powered Death Stranding   shows how the frame is rendered in a large number of compute passes, showing what resources are used in each pass and how it's combined   includes an overview of a large number of post-processing effects and how they appear to be implemented and combined to create the desired look  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents a new method to calculate texture MIP maps that preserves compatibility with existing MIP mapping techniques   the technique uses neural networks to optimize the transfer of material appearance under varying view distances and lighting conditions   presents the results on two distinct BRDF models (Anisotropic GGX and Anisotropic Beckmann)  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video provides a summary of the cloud rendering techniques covered in Horizon: Zero Dawn and the FrostBite engine papers   shows the individual components visually and how they are combined to create the final cloud effect   a brief discussion of performance optimization possibilities  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article continues the series on spectral rendering   this part focuses on methods to "upsample" sRGB colors to spectral representations   presents an implementation of Spectral Primary Decomposition for Rendering with sRGB Reflectance and discusses possible improvements  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video presents how the author developed a pong game using only a pixel shader in Unity   shows how to use the alpha channel of the render target to store persistent state  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video focuses on the definition of a procedural terrain from a vertex shader   presents how to combine different noises and rotate patterns to create a planet  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video is the latest part of an OpenGL learning series that focuses on the explanation of vertex data transformation   explains the concepts of space transformations, focusing on how to change object positions in the world through the use of a world matrix   shows how to pass information from the C++ runtime to the OpenGL shaders  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article explains how two implements two different types of dithering in metal shaders   presents and compares ordered and diffusion dithering algorithms  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video does a deep dive into deferred shading techniques to explain why a graphical artifact in Zelda's Breath of the Wild appears in a specific place   starting with a discussion of lighting techniques   shows how the scenes are rendered, what intermediate information is stored, and how it's used for light calculations (including many visualizations)   finally, it concludes by showing how the error happened and why it's localized to specific locations in the world   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents the library that allows C# code to be executed via HLSL, D2D1, XAML, and more   shows the developer experience, explaining how the code is transformed for GPU execution   presents the two execution models that showcase performance vs. ease of use     
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     discusses issues with the current Vulkan binding model    presents how the new descriptor buffer extension allows decoupling draw calls from the descriptor binding   presents how it helps with the D3D12 layer and can solve common issues with the current binding model   it additionally covers how this extension also allows GPU timeline descriptor copying  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the tutorial explains how to create an ice wall VFX inspired from the game Valorant in Godot    covers the code setup, art asset creation as well as shader authoring  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     contains a collection of tweets covering procedural texturing with MaterialX, shader VFX examples   WIP and prototype effects, as well as VFX breakdowns  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video tutorial presents several techniques for creating a car paint shader    covers base coloring, the addition of sparkles, as well as a clear-coat layer   additionally presents how to implement a carbon fiber material   implementation is shown in Unity and Unreal visual shader authoring  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents how to use the DXC library to compile and gather information from compiled D3D12 shaders   shows how to use the API to generate root signatures  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     AMD introduces a GPU-compatible implementation of  the Brotli lossless compression algorithm   the SDK provides a CPU compressor and a compute shader implementation of the decompressor   code is released as open-source using the MIT license  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article provides an overview of the different ASTC Texture Compression formats available   shows the quality and file size that can be expected for gradients, normal maps, as well as facial albedo textures  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video provides a great visual explanation of convolution filters   starting with random number examples, expanding to image progressing filters such as blurring and sharpening   additionally provides more details on methods to compute large convolution filters more quickly  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article explains how to offset normals along spheres so that displacement doesn't cause self-intersections   additionally shows how to adjust the normas/tangents to match the displaced normals  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the AMD Radeon Raytracing Analyzer has been open-sourced   it allows for visualization and inspection of Bounding Volume Hierarchies  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     new agility SDK release contains Enhanced Barriers (no longer in preview SDK, removing the need for developer mode)   the Depth Bias and Index Buffer Strip Cut Value can now be changed after a pipeline has been set  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     new Vulkan proposal outlines improvements to the management of descriptor memory   to allow descriptors to be treated more explicitly and managed alongside other buffer objects   shows how a form of GPU descriptor updates can be enabled  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the presentation provides an overview of x64 assembly   uses the presented information to show how to debug a stack corruption issue  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the series of blog posts aimed to share the lessons learned from tuning applications for AMD GPUs   at this time, covering the Laplacian Finite Difference Method  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents how to decompile NVidia OpenGL and Vulkan shader   shows which tools are required to unpack the Nvidia caches and remap to the source shader names   presented steps are Linux, but windows should follow similar procedures   additionally, it presents a couple of examples of optimizations and their effect on the generated assembly  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     a collection of tweets covering a flood filling, VFX breakdowns, unit shader books   blender geometry nodes and work-in-progress game showcases  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video tutorial explains how to create a metal material   explains the effect of the metallic parameter, metal reflectance values as well as specular reflection   shows the implementation with both Unity and Unreal Engine  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article describes how to compress high-quality BC1 images efficiently   explains how the compression space is optimized   in-depth explanation of the vectorization process and how to efficiently use SSE, AVX, ... to optimize the implementation  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents an overview of GPU-based GDeflate compression   shows the influence of staging buffer size on compression speed   list several best practice recommendations  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents the API rules for casting between texture formats in both Vulkan and D3D12   discussing sRGB, BC(Block Compression), Depth and generic color format rules   additionally, it shows Sparse/Tiled resources can be used to alias textures  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the presentation shows how submitting/recording commands lists from the API to the GPU affects performance   shows how to use GPU View and Radeon GPU Profiler to understand the execution behavior   presents different strategies and how they differ   additionally presents insights into the driver behavior by discussing the Open Source Linux driver behavior   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the presentation explains what Half edges data structure is   discusses use cases and issues   presents how to overcome some of the issues by using an Implicit half edges structure  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article provides an overview of the implementation of three different techniques for procedural texture mapping (Triplanar, Dithered Triplanar, and Biplanar Mapping)   implementation is provided in UE5 visual shader code   explains the trade-offs of the different solutions   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video provides an overview of a Physically Based shading model   discusses the Cook-Torrance BRDF model, Schlick GGX, and Fresnel   provides both the theoretical overview as well as the GLSL shader code implementation of the presented technique  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post describes the design of a validation system for bindless shader resource access   shows how the shader code is protected against invalid resource usage   presents how shaders can report failures back to the CPU to be able to inform the user about the error  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     recording of the Siggraph showcase of original, interactive projects of the year   includes Horizon Forbidden West, Unity-based machine learning character posing, hybrid VR, desktop sculpting, the cavern UE5 demo from the coalition, Unity Digitial Humans facial capture system, and much more    
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the slides for the Real-Time Volumetric Clouds of Horizon Zero West from SIGGRAPH have been released   covers the cloud modeling, authoring, and improved lighting implementation   additionally covers optimizations and presents performance numbers  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video explains the implementation of a 2D deferred shading system   shows a breakdown of the individual steps of the lighting pipeline   presents how to render shadows using a stencil-based shadow approach   shows how to generate shadow mask extension meshes, update stencil buffers and deal with shadows overlapping multiple objects   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article explains how to generate Worley, Voronoi, and fractal noise in a GLSLS shader   ShaderToy example is provided  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the lecture presents an overview of computer-graphics technology of the last 50 years as experienced by Ed Catmull   shows how individual developments combine over time and cause the speed of innovation to accelerate   contains a large number of anecdotes about the history of computer-graphics  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the tutorial covers how to generate different noise type in shaders   covers a basic hash function, value noise as well as perlin noise   shader code is provided in ShaderToy  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video talk introduces a collection of fundamental shader concepts and tricks aimed at the creation of VFX   some tricks covered are UV distortion, Masks, LUTs & Gradient Mapping, Debugging advice, and much more    code examples are provided in Unreal Engine 4  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article covers how to extend UE4 with a custom vertex format and shading pass   the provided example code is meant to replicate the logic required to implement the Slug text rendering library   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the talk presents a set of common misconceptions about shader code patterns   shows what instructions are generated and how these patterns affect performance   examples are provided using UE 5.1 custom shader nodes   talking about multiply vs. divide, packing floats, use of Lut's vs. Math, as well as the effect of exponential powers  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the tutorial explains the basic steps required to execute a metal compute shader kernel   shows how to initialize the metal library, upload buffers, compile shaders and execute compute-shaders  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the presentation provides an overview of essential concepts when optimizing an Unreal Engine game   explains the foundational settings that are required for correct profiling   covers how rendering performance can be optimized   touches on culling, draw distances, occlusion queries, shadow proxies   additionally provides a valuable list of debug commands  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents a mesh computation compiler that separates mesh operations from the data partitioning   the system partitions meshes into sub-patches and reorganize mesh data so that attributes can be accessed from local on-chip memory    presents performance results and compares against RXmesh, another system that tries to optimize mesh access patterns  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video shows the importance of color profiles   presents how in the absence of profiles, applications are free to interpret the results   shows how the most reliable way to get consistent results across applications is to convert from authoring color space into sRGB   additionally shows how to inspect color profiles  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video presents a new upsampling technique developed by intel (Temporally Stable Real-Time Joint Neural Denoising and Supersampling)   presents a comparison against previous techniques   shows that the technique can significantly improve denoising and also upscale the image to higher output resolutions  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the tutorial presents how to rotate a texture in 2D space   explains rotation matrices, how to rotate around different positions of the plane   additionally presents the necessary steps to integrate into Unity for demonstration  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article describes a possible solution to generate a color palette with neighboring colors being most different from each other   presents issues with some possible solutions   it additionally presents ideas about weaknesses of the offered solution and possible improvements  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents a comparison of a large number of methods for the construction of BVHs for ray tracing workloads   concludes by making suggestions for future technological developments that appear to offer the most potential at the time of writing  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the 5 part series provides a walkthrough of common issues when using the FSR 2.0 upscaler in Unreal Engine Projects   discusses why the issues occur, what solutions are available and how FSR 2.1 was improved to deal with the issues   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents the story of how the author experimented with binary search in a shader for accelerating SDF tracing workloads   shows how to implement a stackless GPU-based traversal   presents why the binary search is unable to outperform the SDF raymarching loop  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the slides discussing the new GI solution implemented for Godot   the talk will happen on Friday, 28th [twitter DM for signup](https://twitter.com/reduzio/status/1583780332524146692)   discusses how the technique is based on sphere tracing distance fields   how to generate the distance fields, trace lights   additionally spends a large chunk of the presentation on optimizations to make the technique viable  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post announces that a new, more open model for HLSL language development   discusses what feature will be able to be discussed in public and how the process will work  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     a collection of papers from SIGGRAPH Asia 2022   the list is updated every couple of days at this time  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video shader tutorial series covers how to create a shader that allows procedural rock shading with snow support   previous tutorials covered how to create the individual pieces, and those are combined in this part   video shows the implementation in both Unreal and Unity visual shader authoring  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the AMD paper presents the findings for a new dynamic GI solution   proposes the separation into a screen and world space cache that complement each other with additional information   provides a detailed description of the individual steps, performance results as well as known limitations   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     a collection of cheatsheets on the high-level concepts of topics such as AI, machine learning, and statistics  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video presents a history of light transport algorithms development   shows a breakdown of each technique and improvements in each iteration  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents that the Godot engine supports compilation in double-precision mode   shows how to emulate double precision calculation on GPUs that don't support double by using two floats   presents what limitations still exist with this solution  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post provides the text version of the mesh shader talk presented   the presentation covers the issues with the classic graphics pipeline and how mesh shaders can address these   presents how mesh shaders are authored, limitations, and hardware preference differences  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents how to improve an outline rendering technique by using surface IDs instead of normals   discusses which issues the use of normals can cause and how surface Ids can improve   presents what kind of data issues can occur and how to pre-process the data  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents how the Nvidia hardware feature Shader Execution Reordering (SER) can be leveraged in D3D12 ray tracing workloads   shows how to integrate the API and the necessary Root signature and shader changes   presents how the new feature was integrated into UE5 Path Tracing and Lumen   additionally mentions when the feature should be used and what kind of speedups can be expected   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article (and video) explains how to author and integrate shaders with transparency support for use in Unity   covers Alpha Blending, Alpha Cutouts, sorting as well as shadow integrations   presents code examples for all stages with detailed explanations   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents that the next DirectStorage release will start to support GPU-based GDeflate decompression   drivers can provide optimized implementation, but a generic DirectCompute fallback will be provided   lists what hardware and software will support the feature  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video tutorial series covers how to build a complex rock shader   this episode shows the implementation of a snow shader in both UE and Unity with view-dependent sparkles   presents how to analyze source texture data and separate information so that smaller texture resolutions can be used without quality loss   shows how to pack textures and manually unpack them from the shader  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the Developer Guide provides a functional description of Intel’s hardware ray-tracing implementation   additionally provides a list of guidelines for developers to allow them to maximize performance  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post provides a comparison of DLSS 2.4, FSR 2.1.1, and Intel XeSS upscaling techniques   provides uncompressed images of different scenes for better comparison  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video provides a high-level explanation of the DLSS 3 system   covering the hardware and system components required for the functionality   presents how motion vectors and optical flow are combined to generate intermediate frames   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     a collection of simple test scenes for light conditions in UE5 and NVIDIA Falcor 5.2 Mogwai path tracer   contains Perfect Lambert Plane, Perfect Mirror Plane, Perfect Mirror Weak White Plane, as well as a Glossy Plane  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents how to implement a compute shader that can be used to paint on vertex meshes in realtime   explains the fundamentals of compute shaders   shows how to integrate the system with code examples in Unity  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video explains how to implement blending between two skeletal animations   shows what information the ASSIMP library provides and how the data is structured   additionally presents how to update the OpenGL implementation to allow blending   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article provides examples of different camera distortion effects (with code examples)   presents distortion, expansion/contraction, longitudinal/horizontal stretch as well as extrusion effects  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     PIX adds a separate preview branch of the tool that supports the Preview Agility SDKs   supports Enhanced Barriers, Independent Front/Back Stencil Refs and Masks, Triangle Fans   lists known limitations and considerations when starting to use the preview tool   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video provides a walkthrough of ray tracing fundamentals   explaining the required concepts, such as BRDF and energy preservation, to understand the rendering equation   discusses patterns that cause raytracing techniques to require a large number of calculations   explains what the ReSTIR technique is and how it allows a significant reduction in the calculations required by taking advantage of spatial and temporal reuse  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper introduces a progressive technique to cache material evaluations at runtime   presents the implementation details of updating a fixed-size hash table on the GPU   additionally shows the performance of the method and presents the effect of different cache sizes  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article discusses recent AlphaTensor’s discovery on matrix multiplication   explains what the algorithm applies to and how it compares to existing techniques   clarifies the performance results reported in articles  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the Twitter thread summarises the real-time distance field generator used by AMD research work   can maintain the scene representation in < 0.5 ms each frame  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents a method to extend a mesh BVH with additional data so that it can be shared between multiple LODs   presents how to store the fused BVHs   shows performance and memory impact of using a different number of LODs  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents a method that combines distance field tracing with hardware ray tracing   distance field generation is described in the "Real-time distance field builder Twitter thread" above   describes when to choose between hardware ray tracing and where to fall back to distance field   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     a collection of Twitter posts about a large variety of tech artist topics   breakdowns of techniques, tree animation breakdowns, and a showcase of effects  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents an overview of ongoing Nanite developments the developer noticed in the UE5.1 preview   appears to start adding support for programmable pixel shader evaluation to allow masked materials   additionally, initial support for vertex modifications and existing culling limitations   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post discusses a numerical method for fluid flow to simulate wind flow over terrain   discusses the underlying theory and how to mathematically express the simulation   shows how to implement the method using compute shaders in OpenGL   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article provides an overview of the implementation underlying AMDs' FidelityFx screen space reflection technique   discusses how the decision is made if to trace a screen space ray or to fallback to cubemap reflections   presents performance optimizations done across the different stages  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video provides an introduction to the AMD raytracing tool   shows how to use the tools to gather performance information about the raytracing passes   video explanation of the [Improving raytracing performance with the Radeon™ Raytracing Analyzer (RRA)](https://gpuopen.com/learn/improving-rt-perf-with-rra/) that was covered in the week [253](https://www.jendrikillner.com/post/graphics-programming-weekly-issue-253/)  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article provides a summary of two plots for the existence of gamma space related to CRT and human perception   presents how the workflows are integrated into Unity and Unreal   it additionally presents how rendering results are incorrect when done in the wrong space  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article discusses the RGB and HSV color spaces   presents how to convert between the two spaces   it additionally shows how to use the HSV model to implement fullscreen color adjustments effects such as desaturation  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video presents visual explanations of lerp (linear interpolation)   takes the knowledge to extend how to visualize and shape the curve for different effects   presents standard functions and presents different use-cases   it additionally shows cases where linear interpolation is not enough (camera movement, rotations, ..) and how to resolve them  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post provides an introduction level guide to using the D3D12 bindless model   shows how RenderDoc and Nsight show the accessed resources for debugging purposes  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents how to calculate the intersection between axis-aligned rectangles   extends the methods to cover rotated and more generic polygon shapes   interactive code samples provided in javascript  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video explains how DLSS uses motion vectors and optical flow fields to implement AI Frame Generation   presents performance and quality comparison   discusses the upsides and downsides of the new AI frame generation technique  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the 2023 Vulkanised conference has been announced for in-person in Munich in February   organizes are currently looking for speakers for the event  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Intel has released the SDK for the XeSS upscaler   closed source release that exposes the API for D3D12-based applications  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents a comparison of traversal and voxel intersection testing of signed distance function grids    compares the performance of the different methods   it additionally introduces a new method for interpolating normals for smoother edges across voxel edges  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents a method designed for VR applications that adjust colors to reduce display color consumption   shows how to develop a perceptual model to detect what color changes in the peripheral vision are acceptable without being noticeable  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post provides a method to allow the retargeting of animations between models that share a common rig setup   presented method is meant for offline (tool) processing of the 3D model files  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video tutorial presents how to implement a noise that recreates the interference of unshielded cables   shows how to generate white noise and animate it for movements   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the slides for the Siggraph 2022 Advances in Real-Time Rendering course have been released   covering runtime Catmull Clark Subdivision, Global Illumination and Ray Tracing in Unreal Engine 5, Unity hair system as well as water rendering in Horizon Forbidden West   missing slides for Volumetric Clouds in Horizon Forbidden West as well as Cluster Path Tracing for Remote Rendering  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents a visual interpretation of Quaternion mathematics   starting from 2D rotations and developing towards 3D rotations from there  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video introduces the NVIDIA RTX Remix engine   the runtime allows the interception of DX9 applications   replaces the application renderer with the custom renderer   it additionally allows all assets to be intercepted and exported into a USD format where the assets can be modified and reloaded into the original game   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video tutorial explains how to improve an OpenGL shadow mapping implementation to allow softer edges   presents a Percentage Closer Filtering implementation, discussing weaknesses and limitations of the techniques   it also shows how to implement a method to improve the edge filtering by varying the sample positions  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the post provides insights into ray tracing BVH performance   shows how splitting BVHs, usage of instances, BVH splitting, and model creation can affect performance   the effect of deformations on update vs. rebuild   additionally presents a comparison of iterative and recursive ray tracing  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents how a render graph gets updated to handle exclusive resource ownership between multiple GPU queues   examples are provided in Vulkan terms   explain the difference between binary and timeline semaphores   shows how to integrate swap chain synchronization into such a system  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video presentation provides a walkthrough of methods to find the real roots of polynomials   presents an example of how to use the technique for hair rendering to calculate hair strand intersections  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article discusses a method to detect artifacts in video   applies the concept to detect banding artifacts and present a visual representation of the artifacts present over time  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video tutorial presents how to create a fullscreen post-screen effect that pixelates the screen   provides a walkthrough of the implementation in Unity and Unreal using visual shader graphs  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     a short article that shows an option to apply tone mapping in forward shading without wanting to use a separate fullscreen pass   discusses the shortcomings of the technique  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article provides an overview of depth of field effects   shows the effect of different camera parameters on the visual results   presents an implementation in Unity shader code  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video tutorial provides a walkthrough of issues in supporting animated models   shows how to extend to larger support bone counts, dealing with zero bone influences as well as supporting multiple animations    
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article explains a method to simulate and render different warped space-times   shows how to simulate the light to form a black hole  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post provides a walkthrough of how to render 2D billiard balls in a pixel shader   shows how to render a sphere, calculate normals, apply textures and specular lighting  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article describes a method to generate a cubic Bézier curve that is parallel with a defined offset distance to another curve   compares different methods and presents examples to experiment with the proposed techniques  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article discusses how API pipeline state maps onto different hardware types   presents how the open source Mesa stack provides solutions to the problem that can take advantage of the underlying hardware  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     a collection of tweets about tech art, VFX, and related topics   showcases in-progress developments and experiments  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the post discusses infinite impulse response (IIR filter)   shows when one might want to use an IIR filter, discussing problems with the filters   proposes a solution that uses a gradient descent optimization process to learn an IIR filter  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the second video of the series VHS filter series adds support for worn-out tape and tracking-out-of-phase effect   implementation is done using Unity and Unreal shader graph system  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the short video provides a great visual introduction to distance functions and ray marching   presents how to express shapes using implicit surfaces   showing techniques to combine different shapes and animate them  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article shows the Grid-Based Reservoirs sampling technique for dynamic lights in participating media   this enables the temporal reuse of samples among neighboring rays   shows the different stages of the implementation and how different sampling and noise distributions change the results  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     mesh shader support has been added to Vulkan through VK_EXT_mesh_shader   the article compares the API against D3D12 and the previous Nvidia extension   Khronos additionally provides several queryable attributes that developers can use to tune the algorithms for the hardware capabilities and requirements   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video starts with a visual overview of rasterization, raytracing, and hybrid rendering techniques   the talk focuses on how intel hardware is designed to efficiently support raytracing   contains benchmark comparisons of expected performance compared to an RTX3060   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents a method to generate Progressive blue noise samples that follow the image content   shows the implementation in python   discusses the effects of different parameters and how they can be used for the required results  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video presents how to implement two VHS effects, interlacing lines and YIQ color grading, in a post-processing effect   walkthrough of the effect is provided in both Unreal and Unity  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog presents the idea of using a simple neural network to encode diffuse indirect light for a scene   discusses the various steps in the experiment   presents the final results and discusses weaknesses of the approach   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     second year of the spectral rendering Siggraph course   focusing on the practical aspects of spectral rendering   shows the limitations of RGB and discusses the advantages of spectral rendering and workflows  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     a collection of tweets about tech art, VFX, and related topics   showcases of in-progress developments and experiments  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     presents why and when a quad is being drawn as two triangles can cause discontinuities along the edge    the paper presents a geometry shader implementation of generalized barycentric coordinates for quads   this concept was introduced in 2004 for CPU rasterization when hardware support was not available  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper introduces an adaptation of the Heitz and Neyret texture tiling technique   the original technique required offline preprocessing to enable histogram-preserving tiling   the new method removes the requirement and presents the implementation in shader code only   presents how to apply the technique for color and normal maps   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post provides an insight into how the apple metal driver is separated into components   shows how it's possible to call internal APIs and reconstruct hardware behavior   presents a discussion of OpenGL clip space mapping and limitations of different emulation behaviors   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video tutorial explains how to implement an outline effect in Unity   presents how to detect edges using the depth buffer, create an outline at the edges   it additionally shows how to adjust the effect so that objects behind objects get a separate show-through-wall effect  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the talk discusses the issues artist encounter and how Nanite goals are designed to resolve them   presents a large number of topics Brian Karis had researched along the way   shows a brief overview of the techniques, shortcomings, and reasons why they failed   discusses how to structure long-term research, focusing on challenges of the field and the importance of coding like a scientist  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper introduces two convolutional neural networks (CNN) based techniques that can detect LOD transitions and the quality of that transition    two models are presented to solve these two issues separately   discusses the issue with the current approaches and how the presented techniques could be used to support artists  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents an overview of the composable declarative GPU authoring    shows how chain compute dispatches, handles historical data as well as visualizes temporary results   it additionally discusses how the tree representation allows internal composability and enables background optimizations   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article continues the series of translating DXIL to SPIR-V for use with vkd3d-proton   the part covers how to convert structured control flow. DXIL is unstructured and needs to be converted into structured SPIR-V   discusses the limitations, oddities and solutions developed to make the conversion work and debuggable  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents how to integrate new compilers into the compiler explorer infrastructure (which can be run locally)   discusses the DXC and AMD Radeon™ GPU Analyzer integration   shows the limitations of the existing integration  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video tutorial presents how to write universal rendering pipeline shaders in HLSL   shows how to implement simple diffuse & specular lighting, explaining the render pipeline as the author goes along   it also shows how to integrate shadow rendering   additionally presents the debugging tools available    
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article explains the underlying theory for Bézier curves and shows how the different component interacts   presents how to express the curve mathematically so that intersections between a ray and the curve can be found   shows how to use the information to detect if a pixel is inside or outside of a shape   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article discusses the different approaches that were tried during the development of lumen   presents tradeoffs of the different techniques and how the decision was made on which one to use   it additionally shows how the arrival of Nanite changed several variables significantly and therefore made a new evaluation of approaches necessary   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video presents the foundation how to general ReSTIR sampling    this allows resampling with importance sampling for arbitrary domains   continues to show how to apply these concepts to allow ReSTIR for path-tracers   shows how to allow reuse across paths, discusses considerations and limitations   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video shows how to implement a Truchet effect using shadertoy   presents the whole implementation from start to finish, showing all intermediate steps   it additionally discusses how to extend the concepts and possible future extensions  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents how to adapt multidimensional adaptive sampling for interactive real-time ray tracing   applies the technique to stochastic effects such as motion blur, depth of field, and indirect illumination   presents a performance comparison against Halton sampling  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the OpenGL fog rendering series extends the previous works and implements Layered and animated fog   explains the underlying theory before showing the implementation using GLS  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video tutorial shows how to implement cartoon outlines in screen space   discontinuities in scene depth and normals are used to detect edges   the resulting filtered edge mask is used to apply outlines around objects  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Nvidia open-sources MDL distiller and the GLSL backend   MDL distiller is a system for automated shader simplifications   the GLSL backend enables the usage of MDL for Vulkan applications  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     A database of physically based values for CG artists (materials, Light Sources, Cameras)   contains material information of familiar materials in a unified interface   materialX, unity, and unreal shader graphs are available for the different materials  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     new PIX release allows profiling to target different GPU clock rates (controlled by the hardware manufacturer)   added the ability to export metrics to CSV   additionally, added support trimming of captures  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the post explains how to set up budgets for pix metrics   can be defined for the user or system metrics  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article explains the theory of a Gaussian blur algorithm   shows how the filter is defined, sample weights calculated   it additionally presents how to implement the technique using a Unity Pixel Shader    
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents a description of the texture/buffer/sampler binding model supported by different hardware manufacturers   discusses how Vulkan and D3D12 models map onto the hardware   additionally discusses problems arising from the differences  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the presentation provides a brief overview of the implementation details for the Nvidia path tracer and the level of optimizations required to archive the performance   presents open problems in data authoring, scene description, and material complexity   shows ideas on how techniques can be developed together to deliver improved results  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     a growing collection of content from SIGGRAPH 2022    presentations, slides, videos, and posters  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     discusses the limitations of linear perspective and how classical artists rarely used it   present non-linear projection techniques and how they can be used   starts a discussion on how to computationally model and apply these methods  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents a technique to generate explosion decals aimed at a 3D topdown game   based around forward shading, a projected 3D sphere with procedural noise    
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     video tutorial shows how to implement a bloom effect using Unreal and Unity shader graphs   starts by showing visually how the effect works using photoshop before implementing the code   followed by presenting a walkthrough of the total effect  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the program has been updated with links to the recording of all talks   not all papers are available yet; only the author-released copies are available at this time  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article describes the trade-offs between storing vertex information in a single buffer compared to storing the data across multiple streams   presents how splitting can have a positive impact on cache usage as well as reduced power consumption  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     a collection of papers presented at SIGGRAPH 2022 with a one-sentence summary   provides links to the ACM entries that provide access to the papers  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents that common image metrics are not a great metric to detect the subjective quality of HDR reconstruction methods   shows that only significant changes in metric results are likely to be an improvement   suggests that color shifts are more noticeable to the human perception system than most metrics  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video shows how to implement the Cook-Torrance microfacet BRDF   provides an overview of the theory first    shows how to implement the technique with GLSL  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the spec for the new features of shader model 6.7 has been released   contains summaries and links to the detailed specification section for each feature  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents how to write a metal shader to generate a 1D gradient   this is taken as the basis and expanded to generate a 2D, radial, and angular gradients   source code is provided  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article contains a small overview of steps taken to port the AnKi engine to support Android   discusses how the problem was broken down, issues encountered, and workarounds required  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video tutorial presents how to implement 3 different methods of distance fogs from the ShaderX2 book (released in 2003)   implementation is shown in OpenGL/GLSL   presents a comparison of the three presented techniques  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the presentation introduces compute-shaders, explaining the software and hardware concepts   expands upon the basis to explain execution patterns, memory, and cache hierarchies   texture reading/writing patterns as well as common mistakes    
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     new tool from AMD to provide more insights into the performance of raytracing applications   show much memory is used, if redundant information is stored, all geometric axis aligned, etc   video presentation covering the information available is linked  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents an Nvidia API extension that allows multiple buffer swaps (between windows and applications) to be synchronized   shows the D3D12 API and discusses the usage, conditions for correct usage as well as limitations  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Nvidia has updated the performance best practices for RTX usage   contains new recommendations enabled with shader model 6.6, updated guidelines for inline ray tracing    and many more minor updates across the categories  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the detailed article explains the different memory pools available and how they differ between different types   shows how D3D12 exposes the memory management   discussing strategy for texture and buffer uploads   presents performance numbers for CPU and GPU reads/writes and uploads to different memory types  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article discusses the Rust shades crate that allows writing Rust domain-specific language that can be used to generate GLSL code   explains the motivation, implementation as well as open issues   it additionally provides a comparison against other solutions  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents a derivation of a light attenuation function to separately control the maximum intensity and radius    function is designed to reach zero influence to be used with clustered shading  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article aimed at beginners explains how images are applied to 3D objects   presents what UV (Texture coordinates are) and how to visualize them   shows how to explore the relationship between mesh and UV coordinates from Unity shaders  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents an overview of barycentric coordinates   shows that barycentric can be interpreted as a distance field   derives how to render wireframe line rendering from these distances   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article provides an overview of font rendering   looks at the different levels that cover glyph evaluation, line layouts, and antialiasing    presents rasterization constraints, how to cache glyphs for efficient rendering    additional covers how to deal with sub-pixel positioning  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the presentation video discusses the LOD generation used in Cyberpunk 2077 (3D models and materials)   discusses the different algorithms that were used for different types of models and materials   provides an overview of the pipeline and infrastructure integration  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     slides for the GDC presentation talking about the deferred texturing solution has been released   summary in [week 231](https://www.jendrikillner.com/post/graphics-programming-weekly-issue-231/)  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     a growing collection of graphics samples and libraries for the zig programming language   the provided samples cover how to use the released libraries  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article discusses how to load and process glTF models for efficient execution   presented techniques aimed at WebGPU but mainly applicable to D3D12/Vulkan as well   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     a super detailed analysis of the RE Engine used by Resident Evil   shows the passes, what data structures are used, and detailed breakdowns of the effects of the passes  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video tutorial explains common shadow problems and why they occur   proceeds to present different solutions to the issues and compare the methods  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     list of papers presented at High-Performance Graphics 2022   contains links to the projects, papers, and youtube videos if available   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video tutorial presents how to implement a fullscreen camera space rain effect   implementation is done using Unity and Unreal visual shader system  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the stream shows a practical example of how to implement FSR 2.0 into the authors' personal engine   presents the complete process, including example project setup, engine integration, and testing  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     collecting of optimizations done to reduce the Moana USD scene import time into Blender from 3 hours to 1.5 minutes    includes generally applicable advice for performant CPU code implementations  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     a collection of advice for SIGGRAPH 2022 (virtual) attendees   list of links and events around the event  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     article presents improvements in the new Nsight and Aftermath releases   improved Ray Tracing Acceleration Structure Viewer and VK_KHR_graphics_pipeline_library extension support for Nsight graphics   Aftermath has better support for tracking page faults from data writes  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the GDC presentation covers how the grass is procedurally generated in compute shaders   how vertex shader animates the blades and wind influences the shapes   presents the LOD transitions, how shadows are processed   it additionally covers how artists can control the effects  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents a couple additional order-independent transparency algorithms   provides a brief overview of Weighted Blended Order-Independent Transparency (WBOIT) as well as Moment based OIT (MBOIT)   shows the influence of screen size, quality setting as well as render target formats on the performance of the techniques  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Nvidia presents best practices to achieve stable performance results on NVIDIA hardware   it recommends not only using SetStablePowerState as it doesn't lock memory clocks   instead recommends using the NVidia-smi utility  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video recording of the first day of the  High-Performance Graphics conference   covers temporally stable upscaling and denoising, variance-guided filtering for motion blur, as well as virtual blue noise lighting   the recordings of the other days are available on youtube as well  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article focuses on the new capabilities added in shader model 6.7   now supports integer border colors, dynamic programmable offset, as well as new quad all/any operations   adds support for writing to MSAA targets via UAV as well as more relaxed uint castable texture formats (same idea as Vulkan, creation time list of allowed formats)   it additionally adds support for raw gather instructions  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     a new preview of the Agility SDK improves the enhanced barrier API support, significantly better debugging support   as well as it allows Independent Front/Back Stencil Refs and Masks  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     a brief summary of the main features of shader model 6.7 and what is supported by the new AMD pre-release drivers  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video shows how to implement a custom material into the Rust-based Bevvy engine   presents the necessary Rust and Shader(WGSL) code required to achieve the effect of a dissolving object  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents a brief overview of techniques that can be used to upgrade a simple raytracer to generate results that converge quicker   shows the effect of importance sampling and what possibilities exist  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the short paper presents the Pixar technique for Modeling Braids and Curls  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper discusses a decoupled shading implementation that separates rasterization from shading by shading pixels before they are rasterized   presents how it determines what pixels will need to be shaded    what space to allocate for storing the shading results and how to execute the shading    discusses strengths and weaknesses of the approach   presents performance comparisons against a forward shading implementation   it additionally covers numerous considerations that are required for a robust implementation  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents how to generate multiple 2D blue noise textures so that the blue noise is both spatially and temporally  a blue noise pattern   the presented solution is a drop-in replacement for applications that are already using independent blue noise textures   discusses how to generate the textures and compare multiple methods   it additionally presents a comparison of the technique in multiple test cases and compares against other methods   take a look at the supplemental for more practical information for real-time use cases  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the 4-hour video stream discusses the evolution of the Vulkan API   discusses the underlying concepts, issues, and how the changes in Vulkan 1.3 try to improve   talking about pipeline management, render passes, new synchronization API   it additionally also covers the other more minor extensions added to the core  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents a neural network architecture that allows both denoising and supersampling to be applied as part of a single network   this is achieved by sharing a joint feature extractor   discusses the different stages of the network, what inputs are required and how they interact   presents a comparison against existing solutions and offers performance numbers  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents a new GPU-based method to generate 2D contour strokes from 3D meshes   proposed solution uses a preprocessing step to analyze the adjacency and geometric information   discusses the different steps of implementation   it additionally shows how to further utilize the counter edge lines to support different patterns   example implementation in Unity is provided  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the lesson provides the foundations of ray marching through a volume   explains how light interacts with a medium, introducing the required terms along the way  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the new home for the AMD research team   provides a collection of publications, projects, presentations as well as blog posts  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the post provides a walkthrough of all the D3D12 elements that are involved in getting started with a raytracing workload   discusses the different concepts and how they relate to each other   shows how to author raytracing shaders   it additionally shows how the integration in Microsoft Mini Engine has been achieved   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper introduces a visibility-aware transmittance sampling technique for rendering atmospheric scattering   this is achieved by adjusting the sample locations along the view vector past the shadow boundary so that all samples contribute meaningful data   compares the solutions against others and presents cases where the proposed solution is not able to improve   it additionally provides an example of a CPU implementation  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the second part of the blog series that talks about order independence transparency   this week focuses on techniques that aim at solving transmittance contribution first and then applying the factors while shading   shows how Rasteriser Order Views (ROVs) can be used to implement custom blending operations   presents performance implications of the proposed techniques   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the Twitter thread discusses the terminology that applies to meshes   presents the difference between static, dynamic, deformable, and procedural meshes  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the Xfest presentation discusses the portal implementation for Psychonauts 2   covers how portals are represented in the world, how to render the portal world, discusses issues encountered and how they have been overcome   it also presents essential performance optimizations   it additionally covers how to calculate the required transformations and solve system interaction problems  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents a new method for stratified resampling   shows a single pass solution to inverse CDF sampling (similar to reservoir sampling)   extends the presented solution to other domains and compares it against existing techniques  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video presents how to use second-order systems to allow dynamic motion control in procedural animation scenarios   presents the mathematics and an example implementation in Unity  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents how to combine multiple tricks to create the appearance of volumetric fog   combines a height map-based mesh with depth & translucency fading to create the illusion   discusses the steps required and provides examples in C++ / Unreal visual script  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     overview of the talks that will be presented at the Advances course as part of Siggraph 2022  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents Nvidia's best practices for clearing textures and depth buffers   clarifies what methods are preferred and how clear values can influence performance   it additionally presents the tradeoffs between the different presentation modes  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video tutorial presents how to create a post-processing effect that simulates an underwater look   covers depth-fog, distortion, lens distortion, and caustics   presented using Unity and Unreal visual shading system  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents how to generate a procedural Icosahedron mesh   shows and discusses the differences in point distribution compared to other sphere mesh structures  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents how to improve compute shader performance when workloads are memory limited   presents how to detect if a CUDA shader runs into register limits   it additionally shows how CUDA launch bounds (promises on work sizes) can give the compiler more information for more aggressive optimizations   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents how to use per-pixel linked lists to implement order-independent transparency   presents performance and memory results of the solution   it additionally discusses limitations and a look at alternatives to reduce memory overhead  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents a discussion of the different physical Units used for light description   provides explanations for each unit and the relationship between them   it includes a handy summary graphic as a cheat sheet to remember the relationships  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article compares BC decompression libraries   compares the level of format support, decoding performance, and build complexity  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog posts announce the release of a first preview of the DirectML backend for the TensorFlow 2   this allows workloads to be executed on generic D3D12 capable GPUs (AMD, Intel)  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     AMD released FidelityFX™ Super Resolution 2 (FSR2) to the public   source and documentation about the integration is available   it additionally provides information about the different modes and provides comparison images in different scenes    
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Khronos is sharing the first details about what the cross-vendor Vulkan mesh shader extension will look like   presents what the differences to the VK_NV_mesh_shader will be and what to take into consideration when designing a solution today  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents an overview of the NVidia Fast Volume Rendering with Spatiotemporal Reservoir Resampling paper   video compares against previous results and how ReSTIR techniques can help to reduce noise and require a large reduction in sample counts   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the last part of the series covers how to extend the ray-tracing onto the GPU using OpenCL   presents the extensions necessary to render hundreds of Stanford Dragons with reflections and lighting  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video discusses the importance of color transformations to final images   shows how color shifts can make for very unnatural behavior   shows how filming tone mapping can resolve these issues   it additionally presents an overview of how filmic tone mapping curve controls in the darkroom tool  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents work done to make GPU operations reactive, declarative, and composable and remove many of the tedious manual boilerplate work required   presents the problems and motivation for the suggested solutions   the code and demos using WebGPU are available  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video explains how to implement a positional-based cloth simulation on the GPU   presents how to use NVIDIA Warp to use Python to author the simulation code   it mainly focuses on mapping the algorithm onto the GPU for efficient and valid execution   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video shows to create 3 types of fullscreen masks (square-edge, round-edge, and distance)   then presents how to use them to mask off areas where an effect should not be applied   it additionally presents how to apply a vignette effect   implementation is shown using the visual shader authoring system in both Unity and Unreal  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents a method to pack individual power-of-two textures into a texture array   discusses the placement rules and how to pack them   it additionally includes a brief code sample implementation   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video tutorial explains how to use an orthographic projection to implement directional light shadows   explains the mathematical understanding behind orthographic projections and how to create a matrix for the projection   it additionally shows the difference between left/right-handed coordinate systems    presents the C++ and OpenGL implementation code required  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the Vulkan Memory Allocator is now included as an optional component in the Vulkan SDK   can be installed directly from the SDK installer  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents an overview of the problems and solutions of real-time game graphics technology   what aspects have been solved/standardized, and what open problems remain   presents the author's proposal for future directions for the industry  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article introduces D3D12Lite, a library that is meant to streamline the introduction to D3D12   the tutorial explains the necessary steps to get started, draw a triangle and advance to drawing a textured cube   it additionally shows how to integrate ImGUI into the application  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents a method to generate stratified samples of arbitrary dimensionality   the method is based on Magic Square Sampler   discusses the origin of the technique, how to implement it, and a brief comparison against other methods   written in both English and Japanese  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the presentation provides a summary of new features in Metal 3   new API to allow direct loading from file storage into GPU buffers using a command-based API   allow binary shader generation at build time to remove runtime shader compilation   introduction of mesh shaders, improved raytracing with indirect command buffer support  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     list of all metal sessions at WWDC22   covering new metal features, HDR/EDR handling, bindless resource model, machine learning, optimizations, and more  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the text and video tutorial is the start of a new beginner-focused shader authoring tutorial for Unity   the first part shows how to implement a text-based shader for the Universal Render Pipeline (URP)   provides an overview of the pieces of the general rendering pipeline theory required to be able to render a textured sphere  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video tutorial shows the steps required to set up to create post-processing shaders using shader graphs in both Unity and Unreal   presents color tinting and screen warping examples in both engines  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the Digitial Foundry video provides an in-depth comparison between FSR 2.0, native TAA as well as DLSS upscaling solutions for God of War   shows how they handle camera movement, object movement, transparency as well as hair and vegetation  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article discusses why the explicit synchronization nature of Vulkan is a significant problem on Linux   presents solutions possible today and what side effects they cause   shows the more modern solution that is possible now and how it allows more efficient  explicit synchronization support  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article clarifies the meaning of sRGB encoded textures   presents how they interact with (pre-multiplied) blending   it additionally presents issues that exist with the combination of block compressed textures  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article provides a high-level description of the techniques used    based on a meshless camera-aligned irradiance cache     heavily relying on ReSTIR for many of the techniques   animations help to explain the processes involved   discusses what situations are well suited for the technique as well as what are the limitations  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     video showing an overview of some of the papers to be presented at Siggraph 2022   covering fluid simulation, sound generation, physics, learned locomotion, and much more  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents the first part on how to convert a C++ raytracing kernel to OpenCL   presents the differences between the language semantics and how to convert C++ code step by step   it additionally provides a quick start guide to the provided OpenCL template code  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the Twitter thread discusses a restricted version of specialization constants for D3D12 usage   presented method is based on patching DXIL and letting the native compiler optimize the instructions when converting to native instructions  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     a short article that discusses some ideas to represent frame time in graphs   showing issues with different methods and suggesting rectangles proportional to frame time taken  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video tutorial shows the issue when hex-tiling (as discussed in the previous part) is applied to normals   presents how to resolve the normal map orientation mismatches    implementation is shown using Unity and Unreal visual shader languages  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     a beginner level focused article that introduces OpenGL compute shaders   shows how to fill a texture with a scrolling color gradient  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video paper summary presents the ReSTIR introductory paper   presents a comparison between previous techniques as well as the biased and unbiased version of ReSTIR   it additionally presents how it interacts with upscaling techniques  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video shows how to extend a 2D Koch curve SDF into 3D using shadertoy   presents a walkthrough of the implementation of 2 different methods    implementation is done using shadertoy  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents how to use compute-shader based Variable Rate shading techniques to reduce the cost of raytracing   shows how to decide on the shading rate per-tile   compares a thread based rejection efficiency against wave-based rejection  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article extends the BVH constructed over the last couple of posts to implement a more complete raytracer using it   shows how to extend the barycentric coordinates to implement texture sampling and generate per-pixel normals   it additionally shows how to implement reflections and recursive raytracing  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the detailed post presents the basis knowledge required for a single image deconvolution (remove blur) filter   it discusses the theory, algebraic, and frequency domain approaches    it additionally shows how to combine all the elements to create filters for linear deconvolution  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post presents that PIX is now supported on Arm devices   additionally, Qualcomm added a plugin to allow hardware counter collection on many devices  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video tutorial presents how to implement shadow mapping using OpenGL   shows the necessary theory underlying the technique   then proceeds to show the different aspects of the implementation   additionally, it presents common problems of the algorithm and how to resolve them  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents the idea of the usage of a meshlet atlas for texture space shading   the presented technique is based on meshlets and transforms per-meshlet information into texture space where shading for the samples will take place   shows how to use meshlets as the basis for texture space management to use the available texture space efficently   additionally compares quality and performance against other methods   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post describes the different methods WebGPU offers to upload data from the CPU to the GPU   shows different use patterns and what the advantages/disadvantages of each method are  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents a frame breakdown of the PC version of Elden Ring   shows the different passes, from color passes to post-processing, and finally UI composition  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video provides a summary of the findings of teaching both OpenGL and Vulkan as part of the Introductory Graphics Courses   compares the challenges and experiences of students, as well as the workload required   it additionally provides pointers on how to teach Vulkan to beginners in the most efficient way  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the second edition of the Rust graphics developer meetup   covers the WGPU implementation of resource lifetime tracking and barrier detection logic   Additionally covers performance optimizations required to speed up these systems  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video explains how to use hexagonal texture sampling/blending to create a shader that allows less noticeable texture tiling   presents the logic, explaining step by step how to create the shader   using visual shader graphs using Unity and Unreal  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article shows what the DirectStorage API enables on PC   presents what workloads can be accelerated by using the API and what API limitations exist   additionally presents workloads outside of games that could benefit  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     15 min video explaining the concept has been added   discussed in more detail in [week 231](https://www.jendrikillner.com/post/graphics-programming-weekly-issue-231/)  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article expands the the previous BVH implementation with the necessary logic to support UV and Normals   shows how to calculate the intersection point Barycentrics coordinates and how to interpoliate vertex arguments   additonally points out the importance of data seperation for good performance  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     video recording of the I3D 2022 conference, all 3 days are available   covering a large amount of topics, including soft shadows, vertex compression, interactive plume, machine learning for humanoid models, ...   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video provides a summary of AMD rayracing research   covering global illumination sampling and multi-resolution geometric representation, stochastic light sampling   additionally introduces the Orochi library to unify CUDA and AMD HIP gpu execution  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article provides a brief overview of VRS modes available   performance advice for how it affects hardware limits   additionally gives some recommendations on what workloads can benefit from VRS usage   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents performance advice from Nvidia for clear operations   shows that the number of different fast clear colors per frame is hardware dependent  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article discusses how the AMD FidelityFX Variable Shading library was integrated into The Riftbreaker   presents how the shading rate is selected per-tile   it additionally suggests that classification variance cutoff values should be adjusted based on screen resolution  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article compares several .obj parsers for loading speed and memory usage   presents a comparison table of supported features  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the post presents a list of articles/papers that discusses Reservoir-based Spatio-Temporal Importance Resampling    starts from the introduction of the technique, applications of the technique to issues   a collection of techniques that improve upon the original technique   additionally presents remarks about the limitations of the technique  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article expands the capabilities of the BVH construction to support a more significant number of instances   discusses an improved algorithm for the efficient updating of BVHs   it closes with a look at performance and the next steps  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video shows a summary of block compressed formats and why they are a good fit for GPUs   discusses the different formats, showing strengths and weaknesses of the different BC[1-7] variations  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video lecture contains a detailed description of Vulkan Synchronization topics   provides visual explanations of the different concepts to make understanding easier   discusses limitations of binary semaphores and what timeline semaphores enable  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article describes a how a system can derive execution order from rendered resource dependencies   presents how the dependencies create a graph that can then be analyzed and used for barrier placements, memory reuse   shows how to express the API in Rust   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video tutorial explains the theory of toon shading and rim lighting effects   presents how to implement the effect using OpenGL and GLSL  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article discusses how to calculate UV derivatives in compute-shaders   presents issues that will occur at the geometry edges and how to resolve them  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post raises the point that GGX was introduced in a 1975 paper by Trowbridge and Reitz    discusses why we as a community should prefer to use the original term  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents how to extend the BVH structure to allow multiple objects in the same structure (TLAS)   explains the necessary knowledge of matrix (inverse) transformations  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the High-Performance Graphics conference is running a student contest   students are asked to implement the highest quality path-tracer within a performance limit  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents the underlying mathematical modeling commonly used to represent volumetric effects (such as the earth's atmosphere)   presents different approaches and derivations to model different effects  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents a method to adapt the set of sampling techniques in multi importance sampling to an input scene automatically   the aim is to remove the need for manual tweaking of distributions   based on a scheme for estimating the second moments of different sample allocation strategies  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post explains the derivations of importance sampling schemes for multiple functions   covers uniform, Cosine-weighted, Power cosine-weighted, Microfacet-BRDF, Blinn-Phong, as well as Beckmann derivations  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents the idea of using ReSTIR for a checkerboard style pattern for shadow ray generation   only every other pixel would sample new; others would reuse the reservoir of nearby pixels  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents the implementation of a ray-binning technique   the technique aims to improve performance by processing rays that are likely to hit similar objects together  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper introduces a generalized approach to resampled importance sampling for correlated samples with unknown PDFs   presents the results in an interactive ReSTIR path tracer  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video shows how to pack sprites into a 2D texture atlas to reduce the number of draw calls required   presents how to set up the vertex data and shader stages to unpack the data   it additionally explains uniform buffer objects and presents the effects on performance   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the post presents a method for reducing the size of visibility output buffers and the effect on performance   shows that it's more efficient to recalculate ray differentials than it is to rely on hardware differentials to be stored in additional channels  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents how to update a BVH tree for an animated mesh   introduces the refitting technique to allow fast adjustments of an existing BVH tree for changing triangle data  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents a walkthrough of how to use GPU Trace Analysis and GPU Profiler to identify performance issues in a shader   presents examples of cases that show different limits  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents a database of 63 optimized and regularized SDF functions of varying complexity   additionally, a tool for viewing and inspection is provided  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article discusses the complexities of implementing ExecuteIndirect from a driver's perspective   presents what kind of functionality is affected and how it affects driver maintainability   presents a look at the capabilities of VK_NV_device_generated_commands  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video on how to implement ray-casting from the cursor position into a 3D world to allow the movement of objects   discusses the necessary mathematical transformations   presents how to implement the technique using OpenGL  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post presents the new capabilities of the agility SDK   new optional features allow the reduction of alignment requirements   it additionally clarifies the copy behavior between resources of different dimensionality   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the thread explains the history of the PS1 hardware and how it defined the look of the games of the generation  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     a collection of news from the graphics windows development world   covering PIX, OpenGL on ARM, Dynamic Refresh Rate, as well as win11 updates  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents an overview of the shader compilation pipeline in Wicked Engine   presents how to track header dependencies when using the DXC shader compiler and how to detect changes to trigger recompilation   presents pointers on how to unify Vulkan and D3D12 shaders as much as possible  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the Sponza rendering scene has been updated   it now contains 4K PBR texture sets and high-resolution geometry   optional packages such as curtains, ivy, trees, and emissive candles are available too   additionally, a fully rigged and animated knight model has also been released  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents the screen space solution for Global Illumination   presents the four steps of the process and how the individual results combine   code examples for different steps are provided  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents the authors' first experience with writing a compute shader to implement a Gaussian blur   presents the different stages of the experiment, presenting performance numbers for different work sizes and execution patterns   this shows how writing pixel shaders can outperform unoptimized compute shaders by a large margin  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents how to use a Surface Area Heuristic (SAH) to improve the quality of the BVH generation   shows how much speedup can be achieved with the use of the heuristics   it additionally covers additional performance optimizations through ordering changes and the usage of SSE  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents improvements to the new profiler version   contains support for raytracing performance counters and inline raytracing   additionally, searching in the ISA of the pipeline is directly supported now   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents how to reduce the time required for the presented BVH build from seconds to milliseconds   shows an alternative split plane and binning algorithms to speed up the process  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video tutorial explains how to modify UVs from a shader graph in both Unity and Unreal Engine 5   explains the concepts step by step and presents the results  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the talk presents the Slang Shading language   presents how generics and interfaces are implemented in an efficient way for GPU execution   shows how the language has been deeply integrated into the Falcor material model   explains the building blocks for cleaner parameter binding logic across APIs  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     program for the ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games has been released   the conference will take place Tuesday, May 3, through Thursday, May 5, in a virtual setting  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the Digital Foundry video analyses the performance of the UE5 Engine   presents a comparison between hardware-accelerated and software only Lumen in terms of performance and quality   shows how CPU limited the demo tends to be  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video provides an overview of tessellation shader concepts   shows how to implement a basic tesselation shader using OpenGL   the example presented shows how to adjust the tessellation level of a plane dynamically around the curser  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article introduces standard terms and concepts used in compiler literature   applies the concept to start explaining the conversion from unstructured control flow into structured control flow    discusses common patterns and issues found in the DXIL generated from DXC   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     a collection of papers to be presented at Eurographics 2022   a large number of topics are covered,  including terrain authoring, spherical harmonic lighting, radiance transfers  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the GDC presentations talk about the implementation of the Deferred Texturing   developed to reduce the vegetation rendering cost   a very detailed look at the different implementation stages   how it integrates into the Decima rendering pipeline and a look at the performance improvements achieved   it additionally presents how to implement a variable rate solution on hardware without native support  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents a new approach to compressing vertex data at a fixed bit-rate   the paper presents error analysis, compares against existing solutions in terms of prevision and performance   up to 13 per-vertex skinning weights can be compressed into 64bits with included code  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents a detailed look at how different D3D12 ConstantBuffer patterns are mapped into SPIR-V   shows how the patterns are mapped onto the hardware in RDNA2 ISA   discusses how non-uniform resource influences the code generation   additionally discusses quirks/limitations of ByteAddressBuffers and RWStructuredBuffer   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents a summary of different methods to express rotations   presents interactive visualizations of the methods   shows the behavior of linear interpolation, discussing the limitations of the methods   it additionally shows the mathematical derivation of the methods  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video presents an overview of the challenges in shader development   discussing how Slang can address these challenges   shows the decisions made to adjust the project development  to prioritize adoption over publication from the start   a brief look at how it matches into raytracing shaders and a look at upcoming developments  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     AMD released a library to enable applications that use Heterogeneous-Computing Interface for Portability (HIP) to access ray tracing hardware   this enables general C++ GPGPU computing workloads to take advantage of raytracing shaders on Nvidia and AMD GPUs  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article describes how to construct a BVH from a collection of triangles   axis-aligned bounding boxes are used as the foundation of the structure   shows how to build and traverse the BVH  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper introduces an LTC (Linearly Transformed Cosines) approximation to anisotropic GGX using 4D lookup textures   the demonstration video shows the importance of anisotropy for metal surfaces   example code is provided  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog posts demonstrate how to implement ReSTIR (Spatiotemporal reservoir resampling)   presents the implementation for Lambertian diffuse   shows how to extend the concepts also to support specular sampling   additionally presents the author's technique to combine the influences  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article provides a showcase of the importance of a projection solver for a real-time fluids   presents the Jacobi method and compares it against the Multigrid algorithm   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video explains the concept of refraction and existing techniques to implement the effect   covers how to draw transparent objects and how it's expressed in the rendering pipeline   shows the importance of drawing order when using rasterization and presents techniques for order-independent transparency   presents alpha testing and limitations with mipmapping alpha testing   it additionally covers solutions to ensure that objects look correctly under minification  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the visual graph provides a visual representation of the different passes from the fluid simulation of the iOS application   provides short overviews of the implementation of the different passes   it additionally provides a visual representation of the visible state of the textures involved at the different stages of the pipeline   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video provides a complete walkthrough of the creation of a large outdoor environment using shadertoy   presents how to implement a terrain using fractal surfaces, sun lighting, atmospheric scattering, clouds, grass, and trees   it additionally shows how to apply color adjustments for artistic expression    
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents a retrospective of raytracing experiments done using compute shader implementations   shows an introduction for every experiment and how they present a continuous research space   providing links to an article covering each experiment  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents an abstraction system to allow shaders to author bindings without having to be aware of binding details in an abstracted method   shows how to emulate Shader Model 6.6 ResourceDescriptorHeap functionality in Vulkan where it's not yet available  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article provides an in-depth look at the core loop optimizations of the Oodle decoding step for AMD jaguar CPUs   discussing hardware details of the CPU cores and how they define the decoder design  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the 30min video provides a summary and examples of the new features in Unreal Engine 5 (UE5) to build an example scene   covering things like Niagra particles, fluids, landscape modeling, object material blending, nanite, etc  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video tutorial shows how to implement ten different effects using UnityShader graphs   covering outline, dithered transparency, and vertex waves  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video shader tutorial shows how to use tessellation and displacement to create dynamically detailed meshes   presents how to control the displacement amount from a height texture   it additionally shows how to control the amount of tessellation only to add extra detail when needed on the silhouettes  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     a high-level overview of what Global Illumination is, the importance for the rendering results   presents several techniques that exist for the calculation of GI   these include radiometry, lightmapping, Path tracing, Voxel Cone Tracing as well, as Virtual Lights   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     discusses what Ambient Occlusion is, provides how it fits into the rendering equation and what it cannot express   presents a high-level overview of an existing screen space technique to calculate the effect   it additionally covers why in most cases, soft shadows are expected and techniques to approximate the effect  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video tutorial shows how to generate a procedural hexagon shape mesh   extends the generation to logic to support 3D hexagon shapes and combine them into a grid   implementation is shown using Unity C# code  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post describes the functionality of the new pipeline library extension and how to use it to reduce draw-time shader compilation stalls   the extension breaks up PSO compilation into four distinct areas Vertex Input Interface, Pre-Rasterization Shaders, Fragment Shader, Fragment Output Interface   these separate aspects can then be linked together to create the PSO   link-time optimizations are optional to trade compilation time for runtime performance  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents an improvement of compute shader-based point cloud rasterization   presents LoD structures for point clouds   introduces the concept of per-batch Adaptive Vertex Precision that allows each batch to use three different position precisions relative to the center of the batch   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post details the changes in the new PIX version   enables exporting captures into C++ so that users can simplify or experiment with making changes to the generated code  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the GDC talk presents the Mali Offline Compiler and how to use it to analyze shader performance at authoring time   discusses the importance of understanding your target hardware to make informed decisions     presents how much instruction costs might vary between different hardware generations    highlights the importance of choosing the correct variable precision    
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video lecture explains the concepts of compute shaders   covering how to bind resources, compile and use shaders from OpenGL   it also covers the execution model covering execution groups, threads, and how it matches onto hardware cores   it additionally covers how mesh shaders fit into the graphics pipeline   covering the high-level concepts and presenting demos of mesh shaders  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video tutorial shows how to implement specular highlights for a toon shader   extends the shaders from the previous part of the series   implementation is shown in both Unity and UE4 visual shader editor  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video lecture presents deferred shading, discussing the problems of forward shading and how deferred can help to overcome them   it also covers a brief overview of anti-aliasing techniques   it additionally covers how Variable Rate shading can be used to reduce the shading rate for a group of pixels to reduce shading cost further   it additionally presents an overview of Deferred Adaptive Compute Shading   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article provides a collection of performance advice to consider with texture sampling   discusses how helper lanes are required for MIP selection   presents different ways that can allow reduced energy consumption on Mali GPUs  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video explains how to use render-to-texture to enable object selection   draws out an object id and primitive ID to a texture   this texture is read back to the CPU to allow the detection of which object has been selected  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the talk provides an overview of different LOD concepts   how different Level of Details modes can be used to achieve improved performance  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article provides an overview of a denoising solution for raytraced global illumination based on the findings of Metro: Exodus   presents how to improve temporal accumulation through blue noise and geometry aware blurs   it additionally sounds how the ambient occlusion term can be used for further improvement   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article discusses a method for a simple non-PBR method to implement underwater caustics   implementation uses a projection volume for multiple tiling textures   code examples are provided using Unity  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents a walkthrough of the implementation of a complete skybox model, including time of day, moon, sun, and stars   it additionally shows how to integrate support for lunar and solar eclipses   the implementation of the sky colors is implemented as a function of the sun position to sample multiple gradients   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article describes a large number of changes and improvements made to the AMD and Vulkan Memory allocator   the changes include new allocation algorithms, improved statics, support for custom pools as well as support for defragmentation   additionally, the allocator can now be used when sub-allocating from a single large buffers resource   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     a collection of slides and videos from AMDs talk at GDC 2020   covering raytracing, FidelityFX Super Resolution 2.0, game rendering effects as well as CPU optimization advice  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Vulkan loader has been improved with more debugging capabilities and improved documentation   additionally improved the testing framework to ensure more consistent behavior across layers  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     podcast discussing the development and design of WebGPU   talks about the restrictions, design goals, and how it fits into the broader graphics ecosystem  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the page contains links to the presentations (slides and video) to the talks given by Intel at GDC 2022   covering upscaling, optimizations, VRS, machine learning as well as optimization advice   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article provides in-depth details about the new Hopper GPU architecture for data center usage   shows performance numbers, new capabilities, improvements as well as new   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video presents an overview of techniques to represent more geometric details without having to use high geometric tessellation levels   explains the differences between the different techniques, how they are related explaining strengths and weakness   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog explains the graphics foundations of Mach, a zig graphics foundation layer   provides an overview of the unified API abstractions that use WebGPU and WGSL internally  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents a derivation of a representation for rotation and non-uniform scaling in a compact representation   HLSL code for the implementation is provided   contains a performance comparison against quaternions and matrix operations on RDNA2 hardware instruction costs  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video tutorial provides a starting guide to OpenGL debugging   starts by covering CPU side error detection and apitrace (capturing tool for all API calls)   additionally provides a collection of helpful tips to apply when trying to debug GPU side issues  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article recaps the effects of linear transformations of random variables   describes three different methods of estimating the effects of nonlinearities on mean and variance/standard deviation   shows practically how color spaces can affect the behavior of operations such as blurs  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     video tutorial presents a walkthrough of implementing volumetric god rays and subsurface scattering into a shadertoy   all presented techniques are based on SDF rendering of a 3D sphere orb-like structure  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the new release of Pix supports DirectStorage visualization on the timelines   article shows what is supported and how it's represented in the UI  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Microsft has released the first public version of DirectStorage   the release contains the API and basic simples about the usage of the API  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents an introduction into Reservoir-based Spatio-Temporal Importance Resampling   shows the basics of the technique building on the ideas of Resampled Importance Sampling   clarifies how reservoirs work and how reservoirs can be intelligently combined to allow the sampling of large light counts with bounded performance impact  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video course provides an understanding of the geometry shaders' capabilities   reviews the OpenGL primitives and presents the new adjacency types added for primitive shaders   shows how to use the GS from GLSL   additionally shows examples of Geometry Shader usage  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video tutorial explains how to implement toon shading   presents multiple approaches on how to achieve the desired look   technique implementation is shown using visual scripting in Unity and UE4  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video tutorial covering Tessellation shaders   explains how vertex count can be the bottleneck of the GPU pipeline and how tessellation can solve the problem   shows how tesselation shaders are integrated into the rendering pipeline and how they are used from GLSL and OpenGL   additionally presents a few examples of tessellation shader usage  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article present how to derive a downsampling filter that uses eight bilinear samples   shows the process how to create the desired response and optimize the weights   includes a shadertoy implementation  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents an overview of sRGB, Linear, and Oklab gradient interpolation   shows how to optimize the linear and Oklab calculations to get a lot closer in terms of performance compared to direct sRGB interpolation  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article discusses the authors' decision for a home renderer abstraction layer   focusing on ease-of-use for experimentation over performance  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents the implementation of a bindless binding model using D3D12 and Vulkan   discusses the decisions, trade-offset as well (API) implementation-specific details   code examples are provided in Rust   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents a compiler approach that takes an SDF representation and generates shaders for cheaper execution on parts of the mesh   lists several recommendations to consider when implementing   additionally provides a few use cases for the SDF Evaluator  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper extends the ideas of Stochastic Light Culling to compute single scattering in a homogeneous media   presents how combining reservoir sampling with the introduced technique can improve performance  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper introduces a technique to lower the cost of ray tracing by using approximated geometry for shadow rays   additionally proposes a stochastic material sampling for material blending   presents how to combine the techniques in a path-tracer implementation   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents hardware and shader compiler improvements for the new Malig G710 GPU   provides details into how the improvements compared to previous generations   additionally provides updated best-practices for best performance  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the forum post presents the proposal to integrate HLSL and DXIL support into clang/LLVM   discussion presents insights into the tradeoffs in the compiler backend and difficulty with GPU architectures  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article provides an introduction to WebGPU for compute shader workloads   starts from the basics and walks through all steps required to implement a simple 2D ball physics simulation   shows how to upload readback data from the GPU  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the page contains information and links to all the talks that AMD will present at GDC22   lists what new tools and libraries are going to be announced   number of talks will be freely accessible on GPUOpen   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents an explanation of common tone mapping issues, comparing multiple local tone mapping solutions   discusses the Exposure fusion technique in detail   the technique combines multiple exposed images with varying radii based on the frequency changes in the image   present a WebGL demo implementation of the technique  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the presentation talks about techniques to use VRS (Variable Rate Shading) to reduce the cost of lighting calculations for deferred shading   presents implementation details for PC/Series X and presents performance comparisons of the techniques   additionally introduces a technique to reduce block artifacts  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the presentations cover the experience of implementing VRS into Doom Eternal and Gears5   contains lessons learned, performance expectations as well as implementation details   additionally covers how VRS performance with UE5 Nanite pipelines  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article discusses the effect that human perception and images appear different   presents shortcomings of linear perspective   shows how different types of focal lengths and perspectives create different effects   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents a collection of code samples that allow the selection of random samples from a list of items   shows different cases from known/unknown sizes, weight vs. unweighted sampling   additionally presents how to combine multiple lists into a coherent sampling strategy  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents a method for improving the quality of motion blur on dynamic triangulated objects   it approximates the nonlinear depth, normal, and UV functions   the adaptive solution is based on prism volume and will adapt based on the motion and features  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents Vulkan for Safety-Critical applications   presents how Vulkan SC 1.0 differes from Vulkan 1.2   main differences are pipeline lading and more rigid memory allocation requirements   all pipelines need to be compiled ahead of time into caches. No runtime compilation is allowed   provides tools to inspect the compiler cache outputs   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video panel discussion presents a look at the VFX development for Dune   discussions about the processes, improvements and the effects of the sand screen compared against classical blue screen techniques  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents a method to uniformly sample floats in the [0, 1) range   shows how floating-point precision can introduce biasing from integer division   shows alternative ways that improve the uniformity  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video tutorial explains the concepts required for shadow mapping   explains the foundational concepts, discussing transformations   presents how to implement shadow mapping using OpenGL  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents a tileable implementation of simplex noise for 2D and 3D cases   discusses quality considerations as well as performance   code is provided   additionally provides WebGL examples on how to use the noise to create desired results  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper proposed a real-time shading calculation for area lights defined by cubic Bezier curves   extends the polygonal area lights via linearly transformed cosines techniques   sample code is provided  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents a new set of OpenCL and Vulkan extensions to allow interaction between the APIs   shows how to use the extensions to import semaphores, memory, and images between OpenCL and Vulkan  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video tutorial explains the process that vertices passthrough after vertex processing   shows how vertices are projected onto the screen, clipped to the window   additionally shows how the mapping onto the viewport is archived and how it can be used to have multiple viewports  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article shows how GPU memory is exposed to D3D12 application developers   presents a detailed view into how heap types are only a convenient high-level summary and how they map onto heap properties   shows how to get access to memory budgets, available memory and how it changes with integrated and external GPUs  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents an overview of the Graphics driver development model on Android devices   discusses Google and OEM initiatives to improve the situation and what problems need to be solved   presents a look at how emulators can load custom user-mode drivers to resolve driver limitations  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents the authors' API decisions while developing a D3D12 based graphics engine using Rust   shows why API decisions are made as well as what difficulties were encountered during development   shows that Rust developers still need to be very careful when interacting with unsafe D3D12 calls  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video tutorial explains the concept of a noise hash   allows random number generations from other data sources   applies the concept as part of an interior Mapping effect to allow randomized rooms inside of a building   presents the concepts inside of UE4 and Unity   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video tutorial presents a coding session of an extraterrestrial inspired Orb object    shows the modeling and shadowing technique based on Signed Distance Fields  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the author presents his list of recommended books for technical artists  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video lectures cover the history and motivation of the rendering equation   discusses all components that form the equation, the effects of the components   additionally presents the generalized form that also covers Emissive material, BSDF, Sub-surface scattering, Refractions  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents a performance benchmark of the naga shader translation system   presents comparisons for translations between different shading languages and compares against other translators   includes comparisons against tint, Glslang, and SPIRV-Cross  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article discusses an alternative way to procedurally generate spheres from a cube base division   presents how alternative distributions can improve the uniformity of the point distribution  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     new Vulkan SDK updates allows application developers to create their own profiles   can be used to define a standard set of extensions and capabilities that should be simulated   could be used to restrict all developers to be able to test on min-spec hardware independent of the hardware in the machine  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Vulkan webinars about Vulkan 1.3 on March 10th   covering Validation Layer Performance and Vulkan Profiles Toolset  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the updated article presents a comparison of HLSL, GLSL, MSL, and WGSL   compares the syntax, resource binding, and shader interface   also shows how to compile shaders ahead of time, during runtime   additionally shows how to transpile between the different languages  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video tutorial explains the necessary concepts to use compute-shaders with OpenGL   starting with simple examples, it explains the logic, how to load and execute compute-shaders   covers how to improve performance, communicate and store results in memory  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents light transport matrices and how they relate to light transport concepts   expressed this way, computing incident lighting becomes matrix-vector multiplication  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents a new windows insider feature that will allow DX10/DX11 games to take advantage of the DXGI flip-model   feature is available by default on DX12 games, but older games can take advantage of it from a Windows level opt-in toggle  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post presents the new features of shader model 6.7   improved texture operations such as Raw Gather (unmodified retrieval of the 4 samples from bilinear sampling)   writable MSAA textures, quad-level operations   additionally introduces programmable offsets for load and store from runtime variables instead of compile-time constants   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article provides an overview of the development process of using a texture-based imposter system using raymarching   shows the different steps in the development process, quality improvements along the way   additionally discusses what ideas the author tried, what did and didn't work, and discusses why they didn't work  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Video lecture series of the real-time rendering course at TU Wien   this part covers how to use hardware-accelerated ray tracing from Vulkan   covers everything required to render a static scene, accelerations, ray traversal, shader bindings as well as processing hits   additionally presents ray queries to allow ray tracing from any shader stage and discusses the limitations  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article discusses a problem with effects caused by loss of floating-point precision when game-time is growing   presents a method to reset periodic timers cleanly and still allow for continuous motion   the suggested solution uses integer multipliers with required precision to make resetting motions natural from an effect tweaking perspective  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     a collection of tweets about tech art, VFX, and related topics   showcases of in-progress developments and experiments  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     video introduction tutorial to shader programming with OpenGL   provides a conceptual overview of how to author, load, and use shaders GLSL shaders from OpenGL   discusses vertex transformations required project vertices onto the screen   shows how to access information from the CPU in shaders   presents multiple examples to show the practical usage  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video session explains Texture set up for usage from GPU shaders   covering texture types, addressing, tiling, texture filtering   shows how to access the data from the GPU and the necessary OpenGL setup steps   additionally provides an overview of the Mesh Color technique and how to represent it as texture maps    
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article provides an overview of using raytracing to generate ambient occlusion   recaps of ambient occlusion techniques for rasterization, high-level representation of raytracing based implementation  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     a roundup of WebGPU topics discussed at the January meetup   contains references to best practices, new extensions as well as community work showcases   additionally contains information about the state of support across browsers  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents a walkthrough of the process that leads to the blender obj exporting being sped up by 10x   shows how to use the Superluminal profiler to spot the problems and iteratively improve the exporter  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article provides an overview of how SIMD execution models evolved over GPU generations   presenting how the changes in architecture affect the way shaders would be authored to provide better performance mapping onto the hardware   defines the standard terms such as swizzling/component masking and wave operations  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article provides an overview of the state of 16-bit floating-point support in drivers, compilers tools, and hardware   discusses how to take advantage of the hardware feature   shows effects and tradeoffs to consider when moving shaders to use 16-bit floats  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article discusses more noise distributions functions, presents grid-based noise definitions based on pixel positions alone   shows the derivation of the noise function   compares the function against White, Blue, Bayer, and more noise functions   presents strengths and weaknesses of the distribution   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents why direct lighting computation should be separated from emitted light   an approach to separate light emitters from other objects without tracking additional ray logic booleans is presented in the comments   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents components are defining the direct lighting component   shows the integral that needs to be solved, a brief explanation of the different aspects   discusses problems with the presented technique   additionally provides suggestions on how to deal with multiple lights  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the Vulkan survey presents a summary of the results and presents what next steps will be taken to address the feedback   more investment into the Validation layer, macOSX support,  more complete learning materials, and dropping VS2015 support  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the developer interview answers a large number of user questions   discussing the status of the new Vulkan based renderer, dealing with the constant evolution of graphics requirements and effects on the art pipeline,    many more topics, such as HDR motion blur, are covered  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     video lecture presents an introduction explaining how surfaces are light from lights   shows the components that affect the calculation   covers the Lambertian, Phong, and Blinn material model   explains the transformations required to move between spaces, explaining how normals need special treatment  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the final video of the skeletal animation series using OpenGL and Assimp   the tutorial series explained the whole process required to load information from the file format, interpret the data, and apply the necessary transformations to get animations in an OpenGL example application   the last part discusses how to integrate the animation updating into the runtime  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     4 slides for a brief summary of the 4 common anti-aliasing techniques   presenting the technique summary, discussing strengths and weaknesses  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents the flow of data when a CPU generated value is accessed from an HLSL shader   explaining the differences between the available approaches as well as the implications on memory lifetime   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article provides a summary of the Lumen implementation found in UE5 (Unreal Engine 5)   discusses the offline and runtime stages of Lumen (dynamic GI solution)   shows the Acceleration Structure tracing approach as well as probe placement   presents how the scene is represented using MeshCard (Proxy) approximations and distance fields    additionally shows a detailed walkthrough of all the logical stages that compose the system   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article provides a summary of the features that are mandatory  in Vulkan 1.3   (removing requirement of render passe, better pipeline creation control, as well as direct buffer addressing support and more )   additionally introduces the new Vulkan roadmap, this will provide guidance on what hardware/software support the group will focus on   the 2022 roadmap will require bindless support as well as more consistent subgroup operation support  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article explains the history and evolution of the mesa shader compiler (internal representation) NIR   discusses the historical reasons and experience of using it instead of LLVM   presents problems and advantages over a CPU focused IR system  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the new version of the Nsight Compute allows a better understanding of memory traffic and cache eviction decisions   additionally adds new guided optimization support that detects unfused floating-point operations as well as uncoalesced memory access  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article why randomly tracing rays leads to noisy results    presents the mental model to improve this in a simple scene  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the presentation contains a collection of best practices when working with WebGPU   covering compressed textures, debug label usage, data uploading, pipeline creation as well as bind group usage  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video explains the derivation of Cosine Interpolation   discusses how the individual components are derived and how they are connected for the final result  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article contains a collection of 53 tips & tricks to consider when writing shaders   contains performance advice, common pitfalls, as well as optimization advice   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article discusses how noise can help to reduce banding in light gradients   presents the effects of noise on the visual perceptions   shows how to implement the required noise operations in a Unity shader  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video provides a great introduction to image compression topics   covering Discrete Cosine Transform (DCT), YCbCr Color space as well as Run-length/Huffman Encoding   explained in the context of jpeg but applicable to other data compression problems  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the WIP article presents a walkthrough of a frame of God of War (PC version)   explaining wind and GPU particle simulation   shows how snow deformation has been achieved in more detail   additionally presents a view at how UI rendering is mainly implemented with grey-scaled source textures   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents the new VGPR Pressure Visualization view   the tool can show how many VGPRs are used on each line and how usage needs to be reduced to see a benefit  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents the shortcomings of Perlin noise and what causes these   shows how to implement simplex noise that can archive better results   additionally discusses how to improve the information that is shared with the community at large to improve teaching and information sharing  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video presents super sampling techniques   showing the issues introduced if super-sampling is done with a scaling factor that is not evenly dividable to the downsample target   presents how the NVidia DLDSR improves upon image quality   shows the comparison of different settings against native 4x downsampling as well native 1080p images  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents the novel mixbox model for natural color mixing that matches the painting of oil colors   explains how color mixing in digital software behaves   presents why previous models were impractical to be implemented and how it was improved   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents the new debug views that can visualize the wavefront execution patterns   able to show execution latencies for each instruction   show how many cycles of latency could be hidden by SALU and VALU work  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents how to show resource name usage in the AMD memory visualization   additionally contains a Troubleshooting section as Event Tracing for Windows (ETW) is required to collect the necessary information   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents a deep dive into a gather related artifact   discusses texture filtering, how fixed point is involved and how many bits of sub-pixel precision is used on different GPU vendors   shows the necessary parts in the Vulkan and D3D spec to understand why an offset is required to match the hardware behavior  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents a multi-resolution hash table of trainable feature vectors   the presented system focuses on the task-independent encoding of relevant details and can be applied to a variety of tasks   shows the ideas applied Gigapixel images, Neural SDF, NeRF, as well as Neural volumes  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video improves the tri-planar projection shader (allows texture mapping without UVs)   shows how to make sure that texture directions are correct on all sides of the projection   additionally shows how to convert the node graphs into a single node to make it usable from other shaders more easily  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     introduction to a university course that covers the fundamental concepts of real-time rendering on the GPU   the course is project-based, explaining the concepts and applying them in OpenGL examples   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video explains how to derive the Lagrange Interpolation functions   presents how to use desmos to visualize the derivation process  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     an extensive collection of a large variety of tech art tweets collected into a single post   contains VFX, demos, art showcases, and a large number of exciting demonstrations   also contains an example that visualizes GPU execution patterns  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Two Minute Papers video summary of the Weatherscapes: Nowcasting Heat Transfer and Water Continuity paper   shows a new model to simulate weather effects using the microphysics of water  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the tutorial shows how to use the VK_KHR_dynamic_rendering extension in Vulkan   shows the steps required to load the extension, use it, and how it affects related components such as pipeline creation  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the first part of a shader coding course (6 hours!) focusing on textual shaders using Unity   explaining the fundamentals of the rendering pipeline, focusing on applicable knowledge across engines  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           the video contains the summary and overviews of Siggraph PhD thesis   covering a large spectrum of resources from collision sounds, AR prototyping, Subsurface scattering and more   each summary is less than 3 minutes long  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           the PhD thesis provides an overview of Subsurface scattering techniques and proposes a taxonomy of techniques   the thesis introduces a real-time adaptive sampling algorithm for Monte Carlo sampling using temporal reuse   additionally shows how to counteract oversampling in dynamic scenes  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article explains how to set up an effect that allows meshes to appear cut at the boundaries of a sphere   shows how to not render pixels outside the sphere and deal with special effects for the inside of objects   code implementation is done using Unity       
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           the video focuses on visualizations of GPU performance considerations    focusing on memory latency hiding and memory access optimizations in the context of a water simulation system   one small correction, the author says cache coherency but actually means cache locality  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     a collection of video resources for GPU development   contains generic resources such as an explanation of GPU rendering pipeline, and best practices   provides information about the Mali tools and optimizations that are hardware-specific       
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the second part of the series explains the mapping between vertices and bones   focuses on explaining a step to step approach that visualizes the data to allow functionality confirmation  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article provides an in-depth discussion of the interview process for more experienced developers   discussing the different interview styles, kinds of questions, tasks   additionally provides an insight into how to discuss previous work, interview process, and clear communication about expectations        
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents a very detailed look at temporal anti-aliasing   shows each component of the technique visually and explains how it solves the problem   provides alternative solutions and presents a link to the sources of the technique   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article provides a high-level learning guide for getting started with  D3D12   providing a starting point for getting started quickly as well as detailed learning articles    contains sources for performance advice from the different manufacturers   additionally contains information where to find the official D3D12 specification to clarify uncertainties  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents a high-level view of the graphics programming world   shows that the specialization has separated into multiple distinct sub-categories   presents resources for getting started in the different specializations  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents the characteristics of IGN(Interleaved Gradient Noise) that make it a good fit for TAA (Temporal Antialiasing Techniques)   compares against Bayer, white and blue noise   showing visual explanations to show the Low Discrepancy properties  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents the findings of the importance of directionality and occlusion for IBL(Image-based lighting)   presents comparisons between ray-tracing ground truth, as well as various versions of screen space GTAO( Ground Truth Ambient Occlusion)   shows how to bake the directional aspect into Spherical harmonics   additionally contains a follow-up post about the technical implementation details    
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents a look back at the emergence of the term uber shader   showing how a single shader that supported a flexible BRDF evaluation instead of pre-defined categories   the comments contain an insightful discussion about the further historical developments of the term  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article compares different techniques to generate blue noise   presents the quality of the generated noise   providing ideas for future development  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article provides a history of game consoles in the First Generation 1972 to modern-day consoles   presents what new hardware was added with each generation and how constraints and programming environment evolved  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents branching on GPUs, clearing up that the cost of a branch depends on the kind   shows shader code helpers that allow the visualization of the branching patterns   additionally presents that extra care is required if branching around texture reads   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog discusses dependent texture reads and the impact on GPU performance   shows why it affects performance and discusses tradeoffs to consider  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents a look at the half/single/double and quad precision for floating-point calculations   provides an analysis of different linear algebra tasks to derive precision   suggesting which types of tasks might be more suitable to reduced precision  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     one-minute long video shows the impostors used for far away vegetation in Zelda Breath of the Wild  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article shows how custom shader effects can be integrated into the UE4 pipeline   presents a method that doesn't require engine modification but uses undocumented private classes  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     talk discusses the available memory types in D3D12/Vulkan   discussing ways to upload data to the GPU, including the new hardware Smart Access Memory (Resizable BAR)   shows performance advice for usage patterns for the different memory types to achieve optimal performance  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article provides a collection of advice to help with debugging GPU issues   broken down into sub-categories based on the appearance of the bug   additionally contains a list of helpful debug infrastructure elements that should be set up to accelerate the process  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article describes a setup to use a software rasterizer to create winter decorations for tiny projectors to make Christmas decorations   happy christmas :)  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the post presents the importance of testing images that allow the testing of a renderer   discusses the different kinds of test images, how to gather them and compare if they remain unchanged   presents heuristics to judge if changes that introduce image changes are valid or problematic       
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article discusses sources of nondeterministic rendering in PBRT-3   presents how the renderer was made deterministic   additionally presents what advantages and debugging abilities determinism enables  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents the release of the kajiya experimental renderer written in Rust   discusses the design and implementation choices, targetting the Vulkan API and Rust for shader authoring    additionally presents a look at the future direction of the project  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                      The shader video tutorial shows how to create a shader that projects textures from the top, front, and side (Triplanar projection) without UV coordinates   implementation is shown in both Unity and Unreal visual shader authoring system       
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents how to use barycentric coordinates to improve triplanar projections   done by blending between smoothed and flat normals   presents how to use virtual triangles to generate barycentric coordinates for terrains if not available on the target system        
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     video discussing the best graphical releases of the year   presenting the most prominent innovations of the year, showing how the expectations of next-generation have evolved   additionally discussing oddities of the year        
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article discusses why Vulkan drivers expose a single heap with multiple memory types   explains how resource compatibility should be handled in resource allocation       
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the post describes the differences between the new WebGPU Shading language and GLSL   shows the explicit nature of the language   highlighting the difficulty in translating between the languages       
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents alternative mesh structures to generate grid structures   shows why two-right angle triangles are problematic under motion transformation   discusses Rhombuses and Hexagons as alternatives  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article introduces a technique and generated textures that enable the use of Spatiotemporal blue noise    the article discusses the importance of Spatiotemporal blue noise, presents comparisons against existing techniques   additionally presents several use cases for the presented technique   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article discusses Spatiotemporal blue noise in more depth   showing best practices for several scenarios   additionally shows how to extend the provided blue noise texture for other use-cases  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the second part of the game of life shadertoy implementation focuses on the improvement of the visuals   additionally adds the ability to interact with the simulation using the mouse  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video of the Vulkan lecture series introduces the stages of the graphics, compute, and raytracing pipe using Vulkan   explains the stages, how the order is maintained as well as how the stages are essential for a correct understanding of synchronization   providing an overview of the new Synchronization2 system in Vulkan and how it differs from the previous iteration    
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the author presents the design for a composable GLSL system based on the idea of closure   discusses the difference of binding models, how to connect CPU and GPU components in a composable system   shows how the runtime being aware of all GPU data enables rendering only if any data changes could generate a different image  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article discusses advice for new research on how to effectively read research papers   written from the perspective of machine learning, but the lessons apply to computer graphics as well  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     a collection of tweets covering a large variety of tech art topics such as   interior mapping, shading for 2d games, VFX showcases, as well as a rule-based terrain texturing system  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article describes how to use a Vulkan bindless setup for 2D sprite batching   presents how to pass the necessary texture index into the shaders   shows the importance of nonuniform qualifier at texture sample time   additionally presents how to integrate the technique into imGUI  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents a technique that performs reservoir-based spatiotemporal importance resampling in world space   caches in the cells of a hash grid built on the GPU along the path vertices  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     list of AMD research publications   contains papers starting in 2010  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article shows how to write data into an offscreen target and process it in a full-screen pass   additionally provides a walkaround for missing multi-channel output  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Microsoft released the spec for the Enhanced D3D12 barrier API   discusses the problems with the current API   presents how the new API resolves these problems, expected behavior as well as open issues  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post provides an introduction to the new enhanced barrier preview for D3D12   presents how developers can test the API at this time  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents an analysis of multiple scattering BRDF models   shows the microfacet distribution function is most important for smooth materials   shadowing and masking term increases with roughness   shows how a mix of lambert and GGX can approximate a large number of materials  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents the new features released as part of the DXC update for December   added support for templates, overloadable operators, bitfield members for data types   additionally also introduces Operator Short-Circuiting as well  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post presents the video encoding API that has been added to d3d12   supports H264 and HEVC   shows how the API exposes the hardware and fits into D3D12 design   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents an overview of tesselation shaders   shows how to implement the necessary steps to implement drawing of a tesselated sphere using Metal  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents how to implement 3D mesh rasterization in a WebGPU compute shader   additionally provides additional steps to get a better understanding of the implementation   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video tutorial introduces swizzle operations   shows how to emulate functionality in Unity that is available natively in UE  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents the shader multiply/add operation (fma/mad)   discusses how it's mapped onto the hardware and allows more efficient and precise operations   shows example use cases, discussing the impact on the precision of the calculation results  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the tutorial  describes the capturing process for image-based lighting   IBL probes are omnidirectional representations of lighting information captured from high dynamic range images of a location   shows how to capture the images and set up the pipeline to integrate the captures into the renderer   explains how all captured with different exposures are combined into a single IBL probe  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article describes the hardware characteristics of the PS1 renderer   shows a visual demonstration of the effect of sub-pixel rasterization and perspective correct interpolation   additionally shows how to emulate the hardware shortcomings to create a PS1 style look on today's hardware  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper introduces a combination of tile-based stochastic light culling and reservoir sampling   this reduces the variance for lights close to surfaces such as common in Virtual Point Lights (VPLs) based indirect illumination systems  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article shows how gradients differ with different color spaces   compares sRGB, linear, and Oklab color spaces  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents the Vulkan SDK layer architectures   introduces how to enable Arm performance warning layer   additionally shows how to run the layer on RenderDoc captures to gather information  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article provides an overview of use cases for ray tracing   discussing disk and memory space-saving, shadows, reflection   also mentions the effects on user-generated content   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article discusses the importance of asserts for debugging a renderer   shows how asserts are implemented in PBRT   additionally presents an example from the PBRT development where asserts helped to catch a performance issue  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article explains what information GPUView and Radeon GPU Profiler show   shows how items are progressing through the queue over time    additionally shows how to see how utilized the GPU is over time  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article provides an overview of the bloom technique and implementations   comparing the technique implemented by UE and Call of Duty and how the suggested solution is a combination   shows how to integrate a custom implementation into the UE4 codebase  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video tutorial provides an overview of the skinning animation technique   explaining the process of how data is authored, animated, and encoded in a GPU friendly format   additionally shows how to set up, compile and use Assimp to parse the initial skinning poses  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents the noise issues encountered when rendering out animated camera tracks   shows result comparisons between different sample counts and supersampling   presents how the noise issue was solved by projecting static rendering onto proxy geometry    
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video shows a visualization of reflection and refraction vectors    shows how to combine reflection and refraction into a single effect   presents how to use these vectors for effects within Unity and UE4  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents the overview of a small and simple lossless image compression   benchmark against libpng and stbi are available here: [benchmark](https://phoboslab.org/files/qoibench/)  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents an overview of fp16 (16-bit floating-point data types)   shows what range and precision is available   discusses 7 tricks to keep in mind when working with fp16 numbers in shaders   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents a new approach that decouples displacement from the tessellation of the base mesh   a displacement-specific acceleration structure is mapped onto the mesh, and tesselation factors are encoded seperate   the BVH for the displaced geometry is computed instead of loaded from memory  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     provides a rundown of the different stages of a WIP experiment combing surfels and ReSTIR for rendering   shows images of the different passes, what they contribute and how they form the final result  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents a look at the RDNA2 assembly generated from a simple pixel shader that outputs a color from a constant buffer   compares D3D12_ROOT_PARAMETER_TYPE_DESCRIPTOR_TABLE, D3D12_ROOT_PARAMETER_TYPE_CBV, D3D12_ROOT_PARAMETER_TYPE_32BIT_CONSTANTS   presents pros/cons of each technique  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents a starting point for developing unit tests for rendering algorithms   shows the importance of small test cases   additionally presents two real examples from pbrt-v4 and how unit tests helped to solve them  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents an overview of the implementation for various techniques found to mix raytracing and rasterization   discussed the implementation of Spatiotemporal Variance-Guided Filtering for Denoising   show how to apply this for Soft Shadows, Ambient Occlusion, Reflections, Indirect Lighting as well as a probe-based Global Illumination   presents optimization and quality improvement steps  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents the quickest way to implement fully bindless shaders using Vulkan   shows how to implement the whole process from querying support, descriptor management as well as the shader side  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article shows how Pixel Local Storage can be used on ARM GPUs to implement Translucency and Order Independent Transparency   additionally presents the Shader Frame Buffer Fetch to allow access to the render target color and depth stencil from within an active pixel shaders  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents the official C++ interface for Metal   shows how to integrate it into an application   additionally offers how to generate a single header version  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article describes the RenderDoc fork for use with Oculus devices   presents what effects on performance the tool has   shows how to visualize tile usage and collect performance counters for application optimizations  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the author presents his experience trying to run a prefix sum sorting algorithms portably using WebGPU   discusses the limitations and issues encountered   explains what synchronization primitives are missing to allow the most efficient variation using WebGPU  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     update on Nvidia scaling solutions   the NVIDIA Image Scaling SDK now provides an open-source spatial upscaler    can be used on hardware where Nvidia DLSS is not available   presents the  Image Comparison & Analysis Tool that allows comparison of up to 4 images and videos  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article shows an example of implementing a flood filling algorithm using the BGFX abstraction library   provides a brief discussion of issues encountered in getting started with the library    
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents how to implement GPU particles with movement tails without CPU interaction   all particle simulations happen in pixel shaders, and results are copied into ring buffers expressed as rows of textures   implementation is provided using WebGL (regl)    
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents how to render rectangles with rounded edges   shows the distance field based shader implementation using Metal   additionally covers anti-aliasing and gradient rendering  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the Vulkan SDK has been repackaged and now separates between core and optional components  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     provides an overview of the available Nvidia developer tools   includes a brief summary of each tool and references to further information  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the post summarizes the new VK_KHR_dynamic_rendering extension   enables Vulkan render passes without render pass or frame buffer objects  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video tutorial provides a beginner introduction to signal processing   starts the explaining with audio signals to clarify the concepts   afterward transfers the ideas onto raster images   presents how aliasing and image filters can be explained using signal processing concepts   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the talk presents a discussion of performance tradeoffs   proposes the idea that algorithms should be separated from how they are executed   introduces the halide language/compiler that decouples algorithms from the mapping onto hardware execution models  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     provides an explanation of point queries and why point queries on unstructured data is a lot more complex compared to grid-based data   the paper presents different methods to offload more work onto the RT cores with increasing complexity   shows memory and performance results on different hardware and test cases  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article provides a history of text rendering techniques   provides summaries and references of the presented techniques  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video tutorial explains how to render lines using OpenGL   extends the techniques to draw oriented rectangles  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents results comparing the vertex post-transform cache behavior on intel and Nvidia hardware   presents that they have very different behavior  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     summary of Occlulus Quest 2 Application SpaceWarp technology   technology that allows an application to render at half of the target frame rate and "upscale" to the target frame rate   uses the application provided depth, image buffers, and motion vectors to generate in-between frames  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the Unity tutorial shows how to sample shadow maps and implement an edge detection filter   extending the concepts to show how to apply outline shadows   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article explains how to implement a portal look into a separate world using stencil buffers for filtering   shows why the technique was used and how rendering passes have been structured   additionally covers other the aspects of the demo, such as the volumetric fog and candles  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     weekly round-up of tweets from a large variety of technical art and VFX topics  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents the details of the D3D12 binding model and discusses the differences to Vulkan   presents a detailed look at all the possible binding possibilities   discussing problems, limitations, and how it maps to hardware  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents how constructor like functionality can be implemented in DXC HLSL   relies on variadic macros support in the compiler frontend  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     class in introduction to computer graphic series focusing on shadows   explains the fundamental of shadow casting and presents practical implementation notes that are required for correct implementations   covers ray tracing and rasterization based implementations   shows the logic required for reflections and the derivations from the rendering equation   additionally covers a small discussion of the different ray types, names, and usages    
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video tutorial explains how to implement metaball rendering   presents how to approach the approach to the problem and derive the final marching square solution   focusing on how to transform a problem into solvable sub-problems  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video for the SIGGRAPH 2021 presentation about UE5 Nanite has been released    will explain how the mesh-based data structure is built, streamed, decompressed, culled, rasterized, and shaded  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Vulkan extension that allows the use of render passes in Vulkan using a D3D12 style objectless model   already being reported as supported on first Nvidia drivers   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     video tutorial explains the concepts of spotlights and develops a mathematical model to describe the effect   presents how to implement these concepts using GLSL and OpenGL  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the videos for the excellent SIGGRAPH 2021 Rendering Engine Architecture course have been released   covering Unity / Roblox / Activision rendering architectures   as well as the Activision geometry rendering architecture   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article shows that out of bounds access reduced rendering performance by 25x   shows how to use NSight Graphics to help investigate performance issues  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article discusses the Binomial and Gaussians filter   presents what a Binomial filter is and how it compares against a gaussian   additionally provides details about how a Gaussian filter behaves with different kernel sizes  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article covers a few high-level points on how command buffers allow parallelization of CPU rendering work   provides best practices, and pitfalls to watch out for  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post provides recommendations for memory management using D3D12 on   provides information on how to receive information about the available budget and manage residency   provides suggestions on which resource should be allocated together    additionally provides information on tiled resource usage   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article provides information about what practices are recommended for getting good mesh shader performance and what are not   additionally mentions how the Vulkan extension allows potentially less usage of shared memory  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     short 1-minute video that explains how masking with disabled depth testing allows the eyebrows to be drawn above the hair at all times   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the presentation presents an overview of different Global illumination techniques   discussing strengths and weaknesses   presents the solution implemented in O3D and looks at problems and future developments  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article provides an explanation of Homogeneous Coordinates   showing a visual explanation of the mapping into Cartesian coordinates   presents how these concepts can be used for spline interpolation  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the slides and video recordings from the Vulkanised 2021 conference have been released   covering Synchronization, layer building, portability, shader pipelines, and texture compression   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     discussing how the mapping from D3D to Vulkan binding semantics was implemented using SPIR-V patching   reflection and code generation is used to implement constant and resource binding in C++ code  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents a method to generate and simulate real-time interactive fog   based on fluid simulations   presents how to generate a boundary mask from arbitrary meshes using Unity   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents an in-depth overview of the pipeline required to display a image on screen   shows how a frame traverses the pipeline to be presented onto the screen   explains how different methods affect latency and fluency of animations   compares different methods and presents a look at more modern approaches  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     collection of best practices for NVidia hardware regarding buffer management  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article discusses considerations when to use async copy queue, async compute, or serial copy engines on NVidia hardware  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents a collection of Nvidia advice for getting good performance from async compute workloads   shows examples of two workloads that can be combined efficiently  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents how using HDR and 3D scan data, it's possible to reconstruct the material BRDF parameters   shows how to estimate the diffuse lighting, surface albedo and use this information to treat it as an optimization problem to match the original image  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the tutorial covers a walkthrough of a foliage shader in Unity   covering double-sided materials, translucency, normal adjustments for more natural diffuse shading, and wind deformations  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the in-depth video tutorial explains how to render a circle using shadertoy   explains the required math and implementation in shader code  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog introduces the topic of shader permutations and why they end up being common issues   discussing not only the compilation side but also runtime implications   additionally presents a list of questions that a programmer might ask when creating a new shader permutation  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article dives deeper into the issues related to shader permutations   covering several possible solutions, discussing the tradeoffs of the different methods presented   additionally presented a brief look at the future with callable shaders or function pointers   closes with an overview table of the different methods, advantages/disadvantages, and what platform it's supported on  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     collection of Neural Radiance Field papers that will be presented at Intl. Conf. on Computer Vision   starts with a brief summary of what Neural Radiance Fields are   includes a small single sentence summary for the content of papers for each  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     frame breakdown of a single frame from the game control (as video and text)   covering shadow rendering, ray tracing passes   denoising, tech art passes, as well as Deep Learning Super Sampling (DLSS)   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Twitter thread asking for GPU architecture information   the replies are full of fantastic resources  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article shows how recent versions of DXC can link DXIL shaders for all shader stages   presents the API as well as discusses existing restrictions  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     interview with Nick Thibieroz, Director of Game Engineering at AMD   discussing AMD FSR objectives, design considerations, the impact of Machine Learning   additionally provides a few pointers at what different engine integrations could be considered   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the articles provides a beginner friendly introduction into fluid simulation   starts by developing the readers intuituin and improves from the natural solution   additionally includes advice on a number of topics such as caustics, reflections, and boudnary handling  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article explains how BC format encodind differs between hardware vendors   presents how AMD, Nvidia and Intel implemented the logic  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the post presents an overview of the performance characteristics for nvida applications related to memory oversuscription   shows how different access paterns influence   comparing a number of hints, allocation models and the influence on performance  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video tutorial extends the Phong lighting model with the addition of specular lighting   explains the derivation of the specular model in a generic way   additonally shows how to implement the required functionallity using GLSL  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article demonstrates how to implement line segment rendering so that the segments are not overlapping   WebGL implementation is provided  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog presents performance number for Bottom-level acceleration structure when using D3D12 raytracing with animated characters   compares nvidia, amd and metal timing in different scenarious   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     collection of 5 new graphics programming books   fundamentals, Vulkan, OpenGL and a history of computer graphics book  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper proposes a new technique to enable the temporal reuse of samples in scenarios where motion vectors are not enough / available   core algorithm of the paper is patch-based correspondence detection within a hierarchical  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper provides an overview of Spectral Image Representation and Bi-spectral Reflectance   explains what kind of materials require the information for correct representation   proposes a way to store the data in the OpenEXR format  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video provides an overview of a GPU based fluid solver   written with WebGPU and Rust   primarily focusing on the implementation details of the simulation   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the Unity tutorial shows how to implement a basic flow system in Unity   implemented using a projection of 3D shapes into clip space   flow is implemented using a double buffering approach using compute shaders  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the Unity tutorial explains how to implement a 2D effect where a mask controls the visibility of a line over time   presents the code and unity setup necessary to implement the effect  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video explains how to develop a mental model of 3D rotations   based around the change of orientation from one coordinate space to another   presents an overview of different ways to express rotations   additionally shows how to use the techniques in Unity  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Khronos released the texture format 2.0, which now supports Basis Universal compression   additionally, the new gltf KHR_texture_basisu extension allows the usage in gltf models  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post describes the details about parsing DXIL (the output from the Microsoft Shader Compiler)   shows how to parse various opcodes, details with SPIR-V   provides an overview of the capabilities of the LLVM based encoding  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents a few examples of how GPU fixed function hardware is used for other purposes besides the intended use-case   including examples from nanite and an example of a point list was used for histogram generation   the author is looking for user submissions of other examples   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article provides an introduction to more hardware level information about GPU execution   presents an overview for Nvidia, AMD, and intel information   discussing many topics such as occupancy, register file, cache, scalar, and vector work   additionally presents performance pitfalls and explains why they happen  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article provides a summary of the new hardware features in Apple GPUs   covering lossy compression, sparse texture support, and SIMD improvements  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video provides a paper summary from NVidia that uses differentiable rendering to simplify geometry   shows several examples, including a Disney island vegetation reduction to less than 1% of source vertex count  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents how to use MLIR (Multi-Level IR Compiler Framework) for efficient SPIR-V code generation for convolution filters   shows how to take the logical expression of the task and transform it into patterns that are efficiently executed on ARM Mali GPUs  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     NVidia provides an open-source dashboard for Jupyter and a standalone Boker server   these dashboards are python based and expose real-time graphs for metrics such as memory usage, utilization, or memory traffic   the article shows how users can extend the dashboards  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     video tutorial that explains lambert diffuse lighting function   additionally also covers the required coordinate space transformations,    finally shows how to implement the lighting model into OpenGL + GLSL  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video presents what is new with the A15 GPU   added support for lossy compression   in addition to bandwidth, it also saves 50% memory usage (quality will be dropped to fit)   improved sparse texture support with support for depth/stencil   as well as support for SIMD shuffle operations   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents a comparison of triangle throughput for indexed buffer rendering, mesh shader usage, MultiDrawIndirect, and custom compute shader rasterization   comparison is made for depth-only rendering   results are presented on Nvidia, AMD, Intel, Qualcomm, and Apple GPU   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the whitepaper explains how to use DevSim to simulate lower spec devices on higher-end devices   the Vulkan device simulation layer will adjust the return values of capabilities queries   the paper shows how to use the tool, how it fits into the architecture, and what settings can be adjusted  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the frame breakdown covers the flight simulator scenes   presents how the gbuffer by a texture array with MSAA enabled   how reflections, environment maps, and shadows are drawn   covers how transparent elements in the cockpit are drawn   additionally contains a brief look at post-processing and volumetric clouds  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article discusses lessons learned by ARM's approach for developing raytracing support for Mali GPUs   implemented as software implementation that can be loaded as Vulkan layer   presents best practices for mobile performance and battery usage   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video shows the smoothstep node in UE5 and Unity3D   covering the math, and examples of how it is used   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     video in-depth interview with VP of developer ecosystems at Nvidia   discussing Khronos technologies such as Vulkan, upcoming standards   as well as how gaming graphics might be developing with new techniques and hardware capabilities  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the in-depth article shows how to implement a custom physically based lens flare effect as post-process   presents what lens flares are, how they are used in games and movies   finally shows how to implement them into the UE4 pipeline and replace the build-in effect  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents how to extend spatiotemporal reservoir resampling to multi-dimensional path space such as volumetric media   combines cheap approximations for transmittance with unbiased methods for per-pixel evaluations  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the author suggests a method D3D12 state transition system for multithreaded command recording   based around per-resource tokens that use CPU side fences to synchronize access to previous state transitions  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper proposes a formal model to describe how surfaces/media respond to incident radiation   introduces a hybrid matter model for a locally stationary stochastic process     
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the Vulkan tutorial shows how to use the Vulkan VK_NV_ray_tracing_motion_blur extension (exposed by Nvidia)   shows how to extend a static ray tracer implementation with the necessary information to support motion(blur)   contains API extensions for time-dependent tracing, motion support in acceleration structures, and support for changing vertex positions  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents a derivation of new color spaces designed for more uniform color picker behavior   discusses the different tradeoffs and how a perfect solution is not possible   presents an overview of existing methods (HSV, HSL, HSLuv), discussing the tradeoffs, weaknesses, and strengths   additionally provides an interactive implementation of all the color pickers  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents a method for the rendering of static Constructive solid geometry SDFs   breaks down an SDF into several sub-trees, with shader specialization for each   requires a static source SDF; however, it could still change positions  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     article introduces a prototyping system aimed at making multi-pass shader experiments easier   implemented using Rust and GLSL   presents how to implement several systems such as a path tracer, the game of life using the system  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     signup and schedule for the Vulkanised conference has been published   combination of talks and Vulkan layer authoring tutorials  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents a look at the making of the fog lost in random   shows how the visual style was achieved   based on volumetric or screenspace fog based on the platform capabilities  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper introduces a new metric, CaMoJAB   this considers how the judder, aliasing, and blur artifacts introduced by VRS are masked by the sensitivity limits of the visual system   presents how to use the metric to derive VRS shading rate as well as required refresh rates  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     start of an article series discussing DXIL with the intended usage of conversion to SPIR-V   first part starts with simpler examples to explain the principles of DXIL   library developer speaking from experience developing vkd3d-proton and the dxil-spirv library  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     AMD published a Vulkan layer that analyzes the API usage   checks against the recommendations from the Performance Guide  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the whitepaper provides an overview of the Vulkan layer validation tool   presents how the different components of the layer infrastructure combine and interact   shows how layers are defined, settings exposed, and user control presented  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     WebGPU is slowly rolled out into mainstream Chrome versions   article presents the timeline as well as reading starting points   developers are looking for feedback and developer testing  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     collection of Tech Art tweets   covering procedural animation, waterfall simulations, particles, and much more   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     in-depth frame analysis of a nighttime scene in Mafia, a d3d11 based deferred rendering engine   covers g-buffer, occlusion culling, decal blending, GI   cars use a precalculated shadow texture to cast AO   heavy use of stencil usage for volumetrics, sky, as well as the minimap rendering  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents optimizations to the FidelityFX Super-Resolution by AMD   shows multiple steps, what gains got achieved and hints at what quality reductions can be expected  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents how to implement a shader-based ASTC decoder   shows what different modes are supported, how to encode parts   pointing out the complexities and special cases of the format   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article contains a brief summary of the content presented at the WebGPU meetup   covers WebGPU performance advice, new glTF extensions   additionally shows how batching and multi-draw techniques can improve performance  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the shader tutorial presents how to implement a grass shader using the Universal Render Pipeline in Unity   using Geometry Shaders to generate blade meshes and tessellation shader to control the grass density   presents how to deal with a nonplanar surface, supporting rotation and bending   additionally shows how to control grass painting onto the world, wind and shadow integration  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     collection of tweets covering an extensive range of technical art topics   VFX, breakdown of scenes, showcases of visual effects, ...  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     article presents a project that emulates a Linux in a pixel shader running in VRChat   emulates a RISC-V CPU in an HLSL pixel shader   shows how the emulation was implemented    a few pointers on performance improvements made throughout the process  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents a collection of TAA resources   provides a step by step explanation of how to use the resources to implement a basic TAA solution   also provides pointers at possible problems and what could be improved   additionally provides a collection of links to other open TAA implementations   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video shows how bezier curves are defined, how they are used   explains how to derive the formulation and aspects of these curves with very helpful visualizations  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Nvidia open-sourced their internal abstraction layer on top of D3D11, D3D12, and Vulkan   the article explains how resource lifetime is managed with ref counting   pipeline binding layout, state tracking, and resource upload management   additionally, it contains a tool that can generate shader permutations from a text file with shader options   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     collection of links to Siggraph 2021 content   Courses, papers, posters, ...  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents three different variations of static hash tables for GPU usage   comparing bucketed cuckoo, bucketed power-of-two-choices, and iceberg hash table implementation  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the articles shows Rim Effects, Vertex Extrusion, Blurred Buffer, Jump Flood Algorithm, and Edge Detection   shows examples of each technique, discussing the implementation, advantages, and disadvantages of each technique  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     new PIX for windows APIs that allow applications to take a capture programmatically without having to run the application through pix   improved Acceleration Structure Viewer  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article provides a summary of the Using Bindless Resources With DirectX Raytracing chapter from Ray Tracing Gems II   the author emphasizes additional points about bindless and the impacts on rendering engine design   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the talk presents how Activision had to rethink the geometry pipeline when moving from tightly controlled levels to open worlds   focusing on the shipped F+ and experimental V+ implementation   shows what mesh types use what technique and explains the reasons   showing how the GPU based pipeline has been implemented around bitmasks and data expansion   presents performance numbers, final F+ culling pipeline reduces rendering time significantly   additionally contains a look at a possible tile-based V+ / F+ hybrid pipeline  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video discusses biases and assumptions that are baked into the graphics research   discussing the biases in terms such as skin, hair, flesh tones, human face   presents a look at history and how the same biases developed, and how it has been repeated   suggests future developments to address these biases going forward  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents a new D3D12 Nvidia extension that enables a developer to allocate CPU-Visible VRAM memory directly   this allows developers to write directly into VRAM from the GPU   explains what tools are available to detect cases where it would be beneficial   additionally shows how to detect possible performance problems caused by reading from the CPU  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents a new distance sampling method   presents an extension for the null-collision integral formulation that improves efficiency for low-order heterogeneous (such as fog)   additionally presents an approach using a spatial guiding data structure  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents a polygon extension-based method for the generation of 2D shadows   explains the necessary math and how to generate the required mesh data   also discusses problems, performance implications, and optimization techniques   additionally presents two alternative techniques  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post extends the previously discussed hard shadow method to support penumbra based soft shadows   presents how to generate the mesh data to include the penumbra and be able to derive the falloff from linear operations   presents the shader implementation using GLSL  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post presents a new helper class (CD3DX12FeatureSupport) that unifies the D3D12 feature checking into a single class    part of d3dx12   aims to unify the patterns and behavior across the different existing methods in stock d3d12  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents an overview of a master thesis about caching shading information in world space   technique is based on implicit point generation and accumulation into global hash tables   the presented example shows the technique applied for ambient occlusion  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     course page for the content of Siggraph 2021   covering Spatial Upscaling through FidelityFX, Concurrent Binary Trees for Large-scale Terrain Rendering   Nanite Virtualized Geometry, Large-Scale Global Illumination   Lighting, Atmosphere, and Tonemapping in Ghost of Tsushima and Global Illumination Based on Surfels   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     a new course happening for the first time in 2021   focusing on the architectural aspect of real-time rendering engines   currently publicly released slides include   Activision Engine Architecture and Geometry Rendering Pipeline   Roblox / Unity Rendering Engine Architecture,   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     article presents how tone mapping can be implemented into UE 4 using Vulkan sub passes   shows how much more efficient the implementation is on Quest2 when using sub passes vs. an additional render pass  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     free 800+ pages on raytracing   a large number of topics is covered, including the following   summary of photographic terms, sampling textures without automatic derivatives, visualizing and communicating errors in rendered images, multiple importance sampling 101, ray-traced decals, LODs, and much more    source code is available  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     list of 149 accepted SIGGRAPH-2021 papers   containing a machine-generated one-sentence summary for each paper  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     short blog post that tests EXR compression/decompression speed for the different available options  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     author shows that path tracers are fundamentally simple if relying on pure brute force approaches   starting a discussion if a global rendering network would make it possible to render objects that are easily modeled with microgeometry but difficult to render efficiently  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     discussion of loading performance in pbrt-v4   showing how IO and CPU performance bottleneck change   comparing uncompressed and different compression options  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     article presents an in-depth discussion of Pseudorandom Number Generators   presenting different non Cryptographically generators   code examples are presented in Rust  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     overview of Unity at Siggraph   Unity is providing access to a basic level SIGGRAPH pass  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     author suggested 3 books for computer graphics   covering raytracing, introduction to computer graphics as well as deep learning  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     presents how all ray-tracing based effects were implemented in the game Control   opaque and transparent reflections, near field indirect diffuse illumination, contact shadows, and denoiser tweaks  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     extension of the previously presented  Decoupled Visibility Multisampling technique   underlying idea is to see 8xMSAA as a 2x2 group of pixels with 2xMSAA each   using the sample information for TAA upsampling  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     part of the series that discusses how GPU support for the Moana Island scene was added to pbrt-v4   presents an overview of ptex approaches chooses by others and shows the currently basic Ptex approximation used   shows a comparison between the CPU and GPU version   additionally discusses performance and optimizations  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog discusses Vulkan usage for GPGPU workloads, in particular for machine learning   presents the varying requirements for machine learning and how Vulkan can be used to satisfy them   discusses how it interacts with the business aspects (OEM, platform holders, ...)   additionally shows the authors view onto the current challenges and future developments  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     a Bachelor thesis that presents a method for GPU based silhouette generation from Polyhedral lights   uses an algorithm based on binary space partitioning for storing precomputed silhouettes for every point in the scene   additionally presents how to use Silhouettes for Solid Angle Sampling  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     GDC talk presents a walkthrough of the technical creation aspects of the demo   shows UE5 was used, discussing nanite limitations and how the different systems can be combined   additionally, art pipeline implications and findings    presenting performance numbers of lumen, nanite, upsampling, virtual textures, virtual shadow maps, ...  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the post compares different Color Matching Function (CMF) for use with spectral rendering techniques   provides an analytical approximation for the CIE 2006 CMF and provides how to calculate the D65 white point  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents an overview of numerous techniques that can be used to implement lighting for a 2D game   discusses pros/cons of each technique   additionally shows limitations of the techniques  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the Vulkan hardware database has been updated   texture format view now has a breakdown of what tiling mode is supported for each format   improved filtering, cleaned up data and color space added for surface formats  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article discusses how Visibility Buffer can be combined with Variable Rate Shading (VRS) Techniques   shows how careful selection of sample positions can archive convergence towards the reference non-VRS image   presents the performance of VRS usage for forward, deferred, and visibility approaches. Comparing different pixel densities   additionally discusses techniques how the sparse g-buffers might be integrated into other rendering passes  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article explains how to express SDFs in Unity and Unreal   shows the basic steps for a circle SDF   extends this to show how to animate, combine and blend shapes  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the preprint from Ray Tracing Gems 2 covers two techniques for caustics   One focuses on the caustics around metallic and transparent surfaces   the second is for caustics cast by water surfaces  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents the idea of compensating for shortcomings of an upsample technique in the downsampling step   shows the development of an improved downsample filter to compensate for bilinear upsampling   discusses how this is related to the typical sharpening of mipmaps done as part of game art pipelines   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the NVIDIA RTX Memory Utility is an open-source (MIT License) SDK designed for reducing the complexity of memory management for Raytracing on Vulkan and D3D12   shows how to use the utility to integrate acceleration structure memory reduction techniques   additionally presents how much memory can be saved on different scenes (very scene dependent)  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video discusses the rendering pipeline   presents the geometry and pixel processing pipeline   shows how mali hardware implements the API pipeline for more efficient execution  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     explains how the rendering pipeline translates into GPU hardware   comparing immediate-mode vs. tile-based GPUs   presents the pros and cons of both models and why mobile GPUs are tile-based  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video discusses the hardware essentials   presents how CPUs are designed   followed by how the design for GPUs is adjusted to take advantage of the graphics workloads  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article discusses tile-based and immediate-mode rendering GPUs in detail   exploiting how they work   discussing strengths/weaknesses   additionally covers how these influence the efficiency of rendering algorithms such as shadow map rendering  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     whitepaper that discusses how to use printf in Vulkan shaders   presents how to use shader printf from HLSL, GLSL, and SPIR-V shaders   additionally covers RenderDoc and validation layer integration  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     a collection of Signed-distance field primitives (Cylinder, cubes, ...) expressed in WebGPU Shading Language (WGSL)   additionally contains Boolean operations, displacement, positioning, and rotations for SDFs  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video provides an overview explanation of Global Illumination   presents an overview of the fundamental concepts   covers several techniques that have been used to approximate it   discussing advantages and disadvantages of the techniques  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article goes into detail on how to implement physically correct and affordable ray traced soft shadows for individual polygonal or linear lights   presents an overview of the concept of ray queries (rays that can be inline at each shader stage)   shows in-depth the steps required for area lights, including importance sampling, diffuse, specular, and texture integration  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     presents a method that decouples geometry samples from shading samples   explains the difference of human vision between the ability to detect edge aliasing and internal aliasing and why geometric frequency is required to be higher   explains performance implication of triangle sizes and MSAA   shows how TAA, MSAA, and Decoupled Visibility Multisampling (DMV) compare in performance and quality   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents a refresher on the concept of slope   shows that slope space is a representation for unit vectors in the upper   presents the properties of slope space, what advantages it has   additionally discusses how slope space is used in normal distribution functions (NDF)  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article explains how the destruction system was implemented   based around a world map damage textures that contain a mask to mark destroyed areas   this mask is then sampled during a geometry to cull and transform geometry to represent the destruction  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents a natural SDF based detail mapping / Fractal Noise displacement mapping   technique presented uses spheres of varying radius to represent a varying level of octaves to represent the details   presents how to combine the different layers and suggests alternative possibilities   additionally presents a video that shows a clear visualization of the different layers being combined  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     collection of tweets about technical art   covering particles, stylized shading, portfolios, and game breakdowns  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     a collection of resources, links, papers, discussions about SDFs  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article explains how a visibility buffer approach is used   presents how the shading pass has been implemented (Frostbite BRDF, tangent frames, ...)   covers area light implementation using Linearly transformed cosines and compares different representation and discuss the tradeoffs   additionally covers different noise types and the effect on denoising  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the first part of the series discusses where mobile GPUs are used   presents how the hardware design is setup   shows how power usage and thermal efficiency budgets are influencing all systems on a chip  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     pre-release chapter from ray tracing gems 2   presents weighted reservoir sampling, a technique for the efficient sampling stochastic data   shows how optimized variants of algorithms exist to sample with different properties, weighting behaviors, or duplicate output behavior  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the source code for the technique has been published on Github   also contains a sample implementation of how it can be integrated   the technique only relies on color buffer information for the upsampling pass  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents an overview of The Visibility Buffer approach   compares the technique against forward and deferred shading at varying texture densities   presenting performance results   including a discussion of derivative calculation and the effect on helper lanes   additionally discusses several considerations and future developments  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Alex covers many ideas and algorithms   classical tools require the artist to deal with technical aspects at all time   removing soft constraints allows the artist to focus on the art   presents how cluster culling and LOD selection removes the polygon count soft constraint   shows different ways to work with SDFs   closes with a look at the volumetric rendering and Neural Radiance Fields (NeRF)   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     collection of ray tracing experiments and presentation of results   covering ray divergence, hybrid global illumination, shadow mapped GI   additionally shows the effect of second bounce GI as well as improved reverse z-buffer precision  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     first free chapter from ray tracing gems 2 has been released   discusses the implementation of a path tracer that is aimed at being us as a reference renderer for in-engine integration   source code is provided  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     author presents an introduction to automated visual testing   discusses how to reduce the combinations that need to be tested   how to make sure that runs are deterministic   additionally provides source examples of how to use python to run the visual testing  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post discusses if it makes sense to compare images in the frequency domain   presents a few typical approaches, discuss their shortcomings and recommendations  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     preview video if a view of the papers presented at HPG 2021   see the video presentation of the papers in [day 1](https://www.youtube.com/watch?v=eGfX1iWzkh0)  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     second part of the series explaining the WebGPU basics by presenting the equivalent concepts from a metal perspective    shows how to apply displacement mapping onto a plane to approximate a terrain   covers how to load and sample textures   resource binding, pipeline setup for 3d depth testing enabled    
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents a brief overview of NeRF (neural radiance fields)   then presents 3 methods that enable the relighting   discussing differences and tradeoffs between the techniques  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the presents the use of neural fields to model materials such as fur, fabric, and grass   model a layer of mesoscale structure, such as fur or grass, on top of a triangle mesh using neural reflectance fields   NeRF textures are volumetric textures that use neural nets instead of voxels  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     author presents the subset of Vulkan API related to compute workloads   covering GPU discovery, resource management, compute pipeline management, synchronization, and object lifetime management  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     blog post presents a comparison of AMDs FSR, CAS against other upscale techniques   shows results from Dota 2, The Riftbreaker   showing how quality and sharpening values influence the final results  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents a filter for magnifying pixel art (such as 8  and 16-bit sprites)   covering observations on pixel-art filtering, test data, and evaluation methodology   shows a comparison against other filters and shows when to use what filter   code and demo application is provided  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video tutorial explains how to use the add, subtract, multiply, and divide nodes in UE5 and Unity   showing how the nodes behave and the difference in the UI between UE5 and Unity visual shader editors  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents a new operator for blending BRDF texture maps   based on a transport mechanism that is feature aware   preserve details by mixing the material channels using a histogram-aware color blending combined with a normal reorientation  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     stream of the first day of Eurographics Symposium on Rendering 2021   all recordings from the 4 days are available  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     paper presents the Moving Basis Decomposition framework   this generalizes many existing basis expansion methods and efficient, seamless reconstruction of compressed data   this is introduced as the foundation for a global illumination system   compares the method against existing Blockwise PCA, Windowed blockwise PCA, and clustered PCA (PCA, Principal component analysis)  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article discusses the scene structure of the authors' renderer   focuses on how to efficiently handle scene export/loading as flat data   data quantization, materials, reproducible results, ...   iteration time from changing code to getting a render is below 5 seconds  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     paper presents a new path sampling algorithm for indirect lighting   based on the screen-space Spatio-temporal resampling principles of ReSTIR (Spatiotemporal reservoir resampling for real-time ray tracing with dynamic direct lighting.)   enables important paths to share contributions time, space  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents an overview of why Pipeline State Object was introduced to allow predictable performance   shows differences between hardware and drivers and explain why the old D3D11 model was unpredictable   presents the concepts in Vulkan, D3D12 and Metal  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video tutorial shows a walkthrough to render the USA flag using shader toy   shows how to render a star, stripes and combines the components   covers how to animate the flag and apply antialiasing between the features   additionally adds some shading to the flag  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     in-depth analysis of the sources of variance in state-of-the-art unbiased volumetric transmittance estimators   propose several new methods for improving the efficiency   improving truncated power-series estimators based on U-statistics  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents a new BRDF for porous/dusty materials   these surfaces exhibit back-scattering and saturation that is missing from other BRDFs   based on a volumetric BRDF derivation based spherical Lambertian particles  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article discusses how to implement gamut clipping into a render pipeline   compares different methods and presents the results with different lighting setups  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     describes the state of raytracing  in games   presents a high-level overview of a Decoupled Real-Time Ray Tracing pipeline   shows where raytracing is used in games and what new problems it introduces   additionally presents 4 open problems in raytracing and how it interacts with other developments  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper introduces a neural radiance caching method for path-traced global illumination   uses a self-training process to train the neural network at runtime   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video tutorial explains how to draw Squares, boxes, and rounded rectangles as SDFs   presents how to derive the SDFs and presents the extension into rotated shapes   additionally shows how to use rectangle SDFs to implement a brick wall   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     discusses how to generate ocean displacement, buoyancy,    rendering of the ocean as micro facets, how to calculate moments from the displacement   reflections (specular and environment), masking/shadowing, and light scattering inside the water surface   additionally covers interactions with the water, explosions, etc...   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article discusses local tile memory and mobile GPUs   presents how different usage patterns affect the ability to achieve optimal bandwidth usage   shows some OpenGL extensions that enable tile local memory usage   additionally, it shows how Vulkan Subpasses allow the driver to optimize shaders transparently  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     a new Vulkan extension that adds vkCmdDrawMultiEXT vkCmdDrawMultiIndexedEXT   these allow applications to provide an array of draw call arguments in CPU visible memory   for uses cases where applications would call vkCmdDraw multiple times in a loop without changing state   tests indicate that a doubling of draw call processing rate can be observed   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents a method for importance sampling linear lights such as fluorescent tubes    rendering unbiased, nearly noise-free diffuse and specular shading by sampling a linearly transformed cosine (LTCs)  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     article describes how AMD Smart Access Memory allows applications full access to GPU local memory   provides information on how the memory is exposed   additionally provides performance advice on the usage  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article provides an introductory overview of HDR concepts   covering color spaces, color primaries, Transfer functions   presents the integration into our machinery   additionally covers blending, precision, and other common issues   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents a polarizing filter function for specularly reflected light   support for direct and image-based light sources   presents integration into Falcor rendering framework  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article shows an overview of new features and changes presented at WWDC21   covering raytracing integration into tile memory, motion blur, shadows, and improvements to raytracing debugging    additionally presents bindless binding, improved debugging tools as well as texture compression library   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the post shows how the Mali hardware operates and exposes multiple graphics queues   presents how to run multiple graphics and compute workloads in parallel   discussing performance and hardware considerations   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog presents a comparison between color's luminance and lightness   shows that colors with the same luminance are perceived differently (The Helmholtz–Kohlrausch Effect)   presents different models that can express this    closing by presenting a few ideas the author thinks the models could be used to improve results  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video presents an overview of all blend modes supported from the shader graph node   shows the equation for each blend mode and discusses the effect  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper introduces an improvement for specular antialiasing   normals distribution function (NDF) is filtered in orthographically projected space instead of slope space   presents an approximation solution and provide source code   additionally presents an isotropic NDF-filtering technique for deferred and forward rendering   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Lumen presentations starts at [10:00 minutes](https://youtu.be/QdV_e-U7_pQ?t=602)   presents what Lumen supports, what limitations exists   shows an in-depth look at the implementation that uses hybrid tracing techniques   looking at the scene representations, surface cache, and the different passes required   additionally presents content examples, provides optimization advice, and answering user questions  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     article discusses alternative approaches for geometry pipeline design   moving more work into the pixel shaders, following the patterns of ray tracing shader   presents performance comparison of the presented approach and limitations  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     new podcast about VFX in film, TV, and games    discussing Resident Evil Village and UE5   how game technology is evolving and reaching a collision point between real-time and offline techniques    
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video tutorial explains how to draw a line segment in pixel shaders   shows how to derive the point to line segment formula   additionally presents how to combine multiple lines  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents a look at the implementation details of nanite GPU culling   discusses how the compute shader cull on the sub-instance level    shows how clusters are culled and the depth buffer from the previous frame is used  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents how to sample polygonal area lights proportional to linearly transformed cosines   offers significantly reduced noise and unbiased diffuse and specular shading   displays nearly noise-free results at 2 spp  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video explains the motivation for the bindless model and explains the concept   presents how this can be expressed in metal using argument buffers   explains memory residency and how this influences what resources can be used   additionally explains what synchronization considerations need to be dealt with  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     interview discussing the demo project, lessons learned, discussions about future directions, and many insights into the design considerations   overview of nanite is starting at [52:15](https://youtu.be/TMorJX3Nj6U?t=3135)   presents an overview of the system, hierarchical LOD cluster selection, data compression   presents in-game debug views and further looks at the demo content  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents the fundamentals of the WebGPU API required to draw a colored triangle   also provides an overview of the WebGPU Shading Language (WGSL)  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the talk provides an overview of compute shaders   comparison of different technologies (Cuda, OpenCL, Compute shaders)   shows the execution model, explaining common terminology, and hardware variations   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article discusses the implementation of ray-tracing support into the open-source RADV driver   discusses what RDNA hardware supports and how to emulate it without hardware support  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post presents a history of sampling techniques, how it was used and how it changed over time   presents different use cases, strengths, and weakness   the author additionally provides a look at how the field might develop in the future  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents how printf is supported in Vulkan Shaders   what extensions are required, how to integrate them into the shader pipeline   additionally shows how to actually print the messages in application code  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article provides an overview of compute shader terminology and how they differ between APIs   how resources are bound, synchronization and memory models  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article discusses continues exploration in compressing a set of textures   presents how to use neural network for compression   showing techniques that can be used to improve compression discoverability   additionally presents ideas on how this can be further developed and used for other use cases   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video tutorial shows how to implement refraction into a shadertoy   explains the index of refraction, how different materials create different effects   additionally shows how to deal with rays that don't leave an object   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the master thesis presents a SPIR-V based instrumentation framework   shows how to use instrumentation to gather information about the execution of ray tracing shaders   additionally presents RayScope, a system for the visualization of collected instrumentation data   shows examples of problems that the system helped to identify  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article provides an analysis of the Nanite cluster algorithm   presents how clusters are generated, hierarchical tree structure, and LOD selection   shows where in the engine code the relevant code can be found  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents an overview of the Nanite Rendering pipeline using RenderDoc   shows how meshes are rasterized with adaptive cluster LODs    pipeline is based around visibility buffers, presents how materials are handled and integrated into the GBuffer   presents how a material depth buffer is used to speed up the material shading step  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents an improved normalization for the Smith–GGX BRDF visible normal distribution function (VNDF)   previous methods cause brightening bias because of the mismatch between shading normals and geometry normals  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video tutorial shows how to implement the MIP selection algorithm using shader code   shows the effect of texture bias and presents possible use cases   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents a new algorithm for the semi-regular quadrangulation of arbitrary input surfaces   focuses on ensuring that all feature-lines are represented as patch boundaries  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents a proof of concept stage technique to render grass using a screen-space ray-tracing based technique   shows how the entities are derived during the shading step from tracing into a grass area   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     introductory Siggraph class about ray tracing    including an opening interview with Peter Shirley   overview of rendering equation and 2d shadertoy implementation  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           the article presents triangle grids   discussing what a triangle grid is, why to use them and how to use it    
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article provides an overview of authoring shaders in HLSL   shows the building blocks of the language    additionally shows how to integrate it into the different Unity systems  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article explains what Signed Distance Fields (SDFs) are   how they are used and what kind of effects can be achieved from a single SDF texture   additionally shows the implementation of the effects in Unreal visual shader graph  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video recording from the Siggraph 2018 has been released   covering ocean foam generation, shallow water simulation, and flowing water   cloud rendering based around geometric shapes, blurring, and pixel shading on the projected volumes   how to generate and simulate the 3D ropes based around parabolics   tentacle animation driven from exported vertex animation data, with runtime partial resimulation   brief look at the lightning implementation based on L-Systems  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post presents the setup of a frame for VR rendering (Oculus Quest)   presents the techniques applied for latency reduction  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents how to distribute Monte Carlo errors as blue noise in screen space   storing precomputed permutation with runtime retargeted seeds   includes a compute shader implementation of the retargeting pass  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the post presents an overview of different rendering pipeline architectures (Forward, deferred, visibility, ...)   discussing the different trade-offs of the techniques   additionally clarifies the choosing the proper techniques depends on many factors and need to be analyzed for each game/team  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     suggests using a PCG hash function as default for GPU based hash/random functionality   brief introduction to the techniques   additionally provides a link to a paper that goes into more detail about various techniques  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video explains how partial derivatives are calculated in pixel shaders   theses partial derivates are used for UV level selection   additionally presents for what kind of effects these functions can be used   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents an overview of Vulkan secondary command buffers   clarifying what restrictions exist   shows how the extension relaxes the restrictions and allows secondary command buffers to inherit the viewport state  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Two Minute Paper presenting an overview of Procedural Physically-based BRDF for Real-Time Rendering of Glints (covered in the week [150](https://www.jendrikillner.com/post/graphics-programming-weekly-issue-150/))   shows the different demo applications and how it compares against non-realtime techniques  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the author presents his learning about Gamut Clipping   based on the Oklab color space   additionally provides an interactive shader toy to allow experimentation with the technique  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the post presents a divergence-free noise generation technique (such as curl noise)   the presented technique needs only 2 gradients (curl noise needs 3)   shows how to optimize the technique and compares it to other noise types  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article shows how to compact DXR acceleration structures   the process is run on the GPU over a few frames   presents how the process works, what synchronization and lifetime factors need to be considered  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article provides an overview of raytracing in rendering pipelines, how it has developed over time in the game development   how it has been integrated into metro exodus   shows the effect of the different components and how it affects the final rendering  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post discusses how to combine raytraced and shadows from shadow maps   detect areas where shadow map resolution is too low to represent the edges and trace rays instead   presents different methods, compares performance and quality   additionally presents a summary and comparison against the AMD hybrid raytracing shadows technique  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           the blog post presents a performance comparison of Naga (rust based shader translation library) vs. SPIRV-Cross in Dota2   measures CPU time taken for shader translation in Dota2 from SPIRV to MSL (Metal shading language)   takes around 1ms per shader stage  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Radeon Rays v4.1 (ray intersection library for D3D12 and Vulkan) is now open source  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article discusses a technique for parallel processing of stack-based operations   designed for a clip stack in the usage of a compute-centric 2D GPU renderer   single-pass process with bounded memory usage within a thread group   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video presents an explanation on mipmaps, presenting what effects it has on the visual appearance   explains how to use unity to automatically generate mipmaps   shows how to generate custom mipmaps   additionally provides some ideas on how to use custom generated mipmaps to achieve water caustics implementation  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     part 3 of the newton cradle tutorial series   shows how to implement reflections using raymarching; this enables the object to be reflected in itself   implementation is done using ShaderToy  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     4-minute trailer presenting a brief look at many papers that will be presented as part of SIGGRAPH 2021  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper investigates how shading reuse is perceived when visibility and shading rate is decoupled   presents that even in dynamic scenes, it's possible to reuse a large amount of shading information   shows different methods that can be used to predictively shade, compares the results, and present limitations   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents extensions and improvements to the probe-based irradiance-field-with-visibility representation technique   presents a multiresolution cascaded volumes representation to support large worlds   improved probe pruning, faster convergence through perception-based irradiance encoding   additionally presents how to use irradiance probes to shade glossy reflection rays  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video explains how to generate 2D Perlin noise and how to use it in Unity   provides sources for other noise kinds   additionally presents a few examples of how to use Noise  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     presents how D3D12 Raytracing support was implemented in Battlefield V   mix of screenspace reflections and raytracing   shows the pipeline implementation, adaptive ray count selection, ray defragmentation, binning, and denoising   techniques to improve BVH updates, culling hierarchies, partial updates,   how to deal with shader graph authored shaders, integration with shading, particles, and vegetation  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents a walkthrough of the API abstractions on top of D3D11, D3D12, and Vulkan used in the Wicked Engine   shows the resource, pipeline, command list, queues, and barrier abstractions   discussing some limitations of the current approach and how it might develop in the future  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     an interactive article about debugging a C++ crash   more about C++ than graphics, but I really liked the interactive article :)   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article shows how to generate planes, cones, cylinders, and a torus   implementation provided in C++  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents a novel model that splits a Direct Delta Mush into two layers   this can approximate the deformation with improved runtime performance and lower memory requirement   the video shows a comparison against other methods   additionally presents performance numbers for the technique  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents antithetic variance reduction technique used to estimate the interior integrals   shows the usage of the technique for Monte Carlo differentiable rendering of glossy and BSDFs   antithetic sampling is the use of negatively correlated samples instead of independent samples  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Two Minute Paper provides an overview of the Interactive Wood Combustion for Botanical Tree Models paper from 2017   shows what parameters are exposed, what kind of effects it can generate  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     part 2 of the video tutorial that adds material support to the SDF based Newton Cradle implemented using ShaderToy   presents how to classify the objects into separate materials   adds support for cube map environment maps and reflections on the objects of the scene  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents a walkthrough how the author analyzed the slow shader performance on the GPU of the Pixel 4   shows how to detect occupancy, get access to the assembly instructions   ultimatly presents how reading the assembly showed the source of the performance problem, how it connects to shader memory model and how to possibly resolve it  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     WIP wiki about Projective Geometric Algebra, specifically the four-dimensional Clifford algebra   a mathematical model that incorporates common computer graphics operations in a single algebraic structure  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents how to setup UE and Unity to disable dynamic motions, user specific parts from profiling test   what system passes to disable to get stable GPU times  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     collection of tech art tweets   covering UE4 weather systems, GPU instancing with Unity shader graphs   entries of tech art challenge, vegetation shading, and much more  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents a walkthrough how to create a card shader   covers how to use stencil buffers to limit the 3d content   shows how to implement the view direction dependent parralax and reflctions   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video provides a summary of the new features in the radeon GPU profiler   covering cache counters and raytracing integration  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     twitter thread author provides summaries of 3 common technques   covering Ambient occlusion, Shadow pancaking and Waterfall loop   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the tutorial explains how to generate consistent hashes based on integer positions   covering how to vectorize position and normal calculations   additionally presents how to correctly update normals to deal with non-linear scaling  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     64-bit integer atomics are now supported   some new capability bits got introduced as not all views, sources support it on all hardware   dynamic resources allow indexing into a single array of descriptors,    explains what helper lanes are and how they relate to lanes and quads   compute shader derivatives and how they are derived from thread group layout   Wave Size attribute allows shaders to specialize shaders for wave sizes  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the tutorial provides a walkthrough of a raymarching supermassive black hole shader   implementation is an approximated physically-based done using Unity   author presents the sources, approximations done and discusses limitations  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Talk discusses how the performance of the ray-traced direct illumination was greatly improved    presents an overview of what ReSTIR importance sampling algorithm   shows to the memory coherence and bandwidth was reduced through pre-randomization of input lists   additionally discusses how the number of rays could be reduced by decoupling shading, reuse, and visibility   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     explains shadow denoising process   broken down into 5 blocks that are explained individually   shadow mask creation, local neighborhood, occlusion, reproject, and spatial filters   first covers the functionality of these blocks   afterward shows optimizations applied to each stage  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     overview of Variable Rate Shading (VRS), what is supported with Tier 1 and 2   edge detection run as part of the tone mapping step, generating two shading images (default and conservative)   VRS shading rate image is also read in compute shaders for reduced shading rate for compute shaders   presents performance numbers  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     visual representation that shows why inverted depth buffer range with floating-point formats improves precision  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     list of posters presented at I3D   covering Linearly Transformed Spherical Harmonics, Style-Preserving Pixel Art Magnification, Rendering of Many Lights with Grid-Based Reservoirs and others  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     part 5 of beginner-focused shader tutorial series   focuses on data types, representation of color   shows how to output constant colors in Unity shaders code, visual shader graph, and unreal engine  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the Graphics Codex online textbox is now a free   covering an extensive range of topics, model of light, Rendering equation, camera, material models, path tracing, parallel architectures, and much more   additionally contains many references to further sources on the topics   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents a method that uses the AABS from hardware raytracing shaders to apply decals and lights   uses a zero-length ray to collect all overlapping decals/lights per pixel    compares performance against deferred decals  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents comprehensive coverage of BVH hierarchies, especially focused on ray tracing   provides an overview of the basics, compare many state of the art algorithms for construction and traversal   provides a comprehensive overview of existing hardware and frameworks   additionally presents the most common techniques and recommendations for the different algorithms to be used  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video tutorial presents how to render and animate a newton's cradle with SDFs   implementation is done using shader toy  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents the difference between ddx/y ddx/y_fine   presents the history of these instructions in HLSL and how different hardware/API behaves   shows example use cases on how fine and coarse rasterization affect seamless sphere mapping   additionally presents how fine derivatives can be used for quad-level communication    
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Vulkan API now exposes video support   extended the concept of the queue to support decode/encode queues with different extensions for several codecs   the article presents a walkthrough of the API through the usage of an encoder example  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents an overview of why filtering for pixel art at non-integer values is vital to prevent artifacts   provides an overview of numerous filters and links to resources   additionally provides a demo application to compare the different filters  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents a machine learning-based approach that uses differential rendering to approximate several simplifications effects simultaneously   presents a model that can jointly optimize over shape, appearance, and animation parameters   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article provides an overview of shader assembly reading   focuses on GCN instructions   provides a brief overview of the hardware, the different operations, and how small changes can make significant differences in generated code   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents two common approaches to fullscreen passes   using PIX shows why using a single large triangle is more efficient and describes why this is the case  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post provides a walkthrough of the bindless implementation in Wicked Engine for both Vulkan and D3D12   starting with an overview of what the bindless model is, how it interacts with subresource and different resource types   additionally presents the implementation considerations and device capabilities that need to be respected   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article shows how to integrate skyboxes into UE4   explains how cube maps are encoded and how to write the shader to render them   additionally covers how to generate and convert data into the suitable format  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the articles describes the evolution of a multiple layered tilemap renderer   starting at using the build-in Unity renderers, showing the incremental improvements   the final solution is a custom rendering stack that stores the layers as voxels, containing indices into texture array slices   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video explains the smoothstep curve visually   provides examples of uses cases, including a showcase of a simple toon shading implementation  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the Twitter thread provides a detailed explanation on how to correctly calculate normal vectors from vertex displacement  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     registration for Microsoft's online conference on April 20-21    includes talks about several new DirectX features, Xbox innovations, as well as talks from partners  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video provides an in-depth walkthrough of a debugging vertex ID shader    IDs are visualized by generating camera facing quads with applied digits from a texture atlas  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents a neural-network-based approach that is aimed at encoding detailed patterns into mipmap style lower resolution representations   introduces the idea of neural offset for improved handling of parallax effects  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents racial bias that can be found in the technical language and numerical measures used in skin and hair research   presents suggestion on how graphics research practices can be improved to include a larger spectrum of humanity  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the Tutorial presents how to generate sand dunes in pixel shaders using Unity   presents a normal vector based sand shine reflection   for more in-depth realistic sand, check out [Sand Rendering in Journey](https://www.gdcvault.com/play/1017742/Sand-Rendering-in)  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     updated version supports reporting of memory, instruction, and scalar cache usage on RDNA hardware   article presents how the data is visualized  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article provides an overview of the Slang Shading language and its use inside of NVIDIA Omniverse   Slang is HLSL based, can be used to generate SPIR-V, DXIL, and DXBC   the main additions are interfaces, generics, and modules  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article shows how to calculate the variance of a stream of values    only the average and average square value are required to be tracked   variance and standard deviation can be derived from these   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents a novel sparse Neural Radiance Grid representation   this representation allows Neural Radiance Fields (NeRF) to be baked so that rendering can be archived in realtime   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents 4 different ways to generate a sphere mesh   UV Sphere, Icosphere, Quad Sphere, and Goldberg Polyhedra  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents a method that allows a 5−7× reduction in memory footprint compared to indexed triangle meshes   this is archived by converting vertices into vertex grids and using compressed displacement vectors to compress the vertex data   the additional work required to decompress the data adds around 15% of overhead  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog posts provides an easy to understand summary of the Vulkan Synchronization   additionally includes information about what parts of the API have changed with Synchronization2   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           the article presents experiments with spectral rendering to find an importance sampled wavelength sampling approximation   presents comparisons of the different approximations  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents a technique to allow path tracing through sparse volumes   based on NanoVDB with unbiased multiple scattering volume path tracing and neural denoising   able to render Disney Clouds in 60 ms  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           video recording of the SIGGRAPH 2020 was released   the paper presents how to use a neural representation to infer additional results such as reflections and global illumination   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           open-source release of a tool to generate meshlets (for use with mesh shaders, GPU based culling, etc)   additionally can generate bounding sphere and visibility cones  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           Vulkan Ray tracing tutorials have been updated    added new tutorials on how to use vkCmdTraceRaysIndirectKHR and how to ray cast ambient occlusion using ray queries  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents a technique to discover a potentially visible set (PVS) of triangles visible from a region of space   this technique uses ray shooting guided by Adaptive Border Sampling and  Reverse Sampling   provides an overview of how the method was implemented using Vulkan hardware Raytracing  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           the video tutorial explains how to generate a procedural stylized lawn shader   uses a combination of noises to create the shading   additionally adds support for sparking based on view angle  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           the Twitter thread presents a breakdown of the Valheim rendering pipeline (implemented using Unity)   shows the different rendering passes, what shaders are expensive, and usage patterns responsible for suboptimal performance   additionally provides pointers at possible improvements  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           collection of tech art tweets   covering art style demonstration, material creation, destruction, and much more  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           the tutorial explains an approach how to implement cutting walls into 3D walls   used method uses a screenspace projected sphere that is placed on walls using raycasting   implementation walkthrough is using visual scripting in Unity  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents a Geometric glint anti-aliasing method that is compatible with LEAN mapping   this is archived by using mipmapping on the tabulated slope distribution function (SDF) of the microfacet BRDF   a slope correlation coefficient is additionally introduced to make it compatible with normal mapping  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article provides an overview of the first steps required to implement screen space reflection into an OpenGL based renderer   shows what artifacts can be expected and what the author tried to improve but didn't work out    
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article provides an introduction to Compressive Sensing   presents the basis of the underlying theory that allows the reconstruction from a limited set of data point    explains the fundamentals of the frequency domain  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article describes provides a brief overview of AutoHDR    the feature allows SDR games to be transformed to HDR transparently to the underlying game   additionally shows how to enable a split-screen feature that will render the game with SDR one half and HDR for the other  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video tutorial shows how to change grass to cast shadows using Unity   this presents how to generate double-sided grass geometry and output depth in the shadow pass  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post describes how blue noise can help to improve converge of ray tracing results   explains how to transform white noise into blue noise using a compute shader (code provided)   presents the limitations of the presented solution  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the tutorial aimed at Unity beginners explained how shaders are set up and structured   additionally provides a brief look at visual shader creation experience in Unity and Unreal Engine  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article series provides information about the role of color in data visualization   shows what kind of scales exits, how different colors should be used and how the way data is presented provides a further understanding of the underlying data   covers color scales, qualitative, quantitative, sequential, diverging as well as classed and unclassed scales   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     list of all papers that will be presented as part of I3D 2021 in April    
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents how soft shading for foliage was implemented   using a combination of spherical normal generation and gradient remapping   additionally covers how to add wind to the tree  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents a novel approach to screen space ambient occlusion that accounts for occluded geometry through the use of a stochastic depth map   Stochastic-Depth map is created through a global random that will discard pixels based on a tweakable cutoff value and store the results into separate samples per pixel      
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video for the GDC 2019 talk has been released   the talk presents a walkthrough of how the lava, weather, water effects were created   shows what references were collected, identified key steps that need to be replicated and how it was implemented into Frostbite  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog posts discusses an approach for efficiently fitting bezier curves to an existing technique   presents prior art, distance metrics, as well as a novel approach that allows curve fitting to be done more efficiently  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the Unity video tutorial explains triangle winding order, how it connects to culling   presents how to adjust the culling mode in the different Unity rendering pipeline   how to set up double-sided meshes  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents a frame breakdown of Jurassic World, a forward D3D11 based  tiled forward renderer   covers grass movement, Tiled Forward Lighting,  Atmospheric effects, Reflections, Shadows, AO, rain, temporal effects   additionally offers insights into post effects and TAA (temporal antialiasing)  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents an overview of the new debugging features in SHADERed    shows undefined behavior detector, variable inspectors, global breakpoint views   additionally presents a heatmap view of SPIR-V instructions executed  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article provides an overview of the state of OpenGL on D3D12; it's now used to run OpenGL applications on ARM windows   provides insights into the problems when implementing APIs on top of existing API layers  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post presents an overview of the custom shading language design for an offline renderer   the author presents the motivation behind the project, the design decisions, and an overview of the implementation   main building block of the language is similar to OSL (open shading language)  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post shows a number of tricks for shadertoy development   covers signal difference aware subsampling, Smart Gaussian blur as well as mipmap generation  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     introductory math book released for free in updated form from the original release   focused on providing thorough coverage on fundamental 3D concepts  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the extensive article provides an overview explaining BRDFs   shows the derivation of many standard models used in rasterization and ray tracing applications   explains the different terms and offers many sources for even more information   source code is also provided  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     videos and slides from SIGGRAPH 2020 presentations by Naughty Dog   low-level optimizations, volumetric effects, the technical art, and lighting technology of the Last of Us Part 2  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post presents an overview of improvements of Synchronization2     presents a path to upgrading to the new extension   using an incremental approach and relying on a new layer that translates Synchronization2 API calls to Synchronization1 (if required)  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents an overview of Vulkan timeline semaphores   presents the problems with VkSemaphore    shows what new uses cases timeline semaphores enable   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents an incremental approach for the traversal OpenVDB frustum grids   explains the difference between frustum grids and uniform grids   shows how to deal with the non-linearity of frustums  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video provides a high-level overview of differential rendering papers   presents papers that can generate material graphics from reference photos  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     video comparison of DLSS 2.0 against a native 4k rendering    presents visual quality differences   additionally offers why Mip biasing is required when rendering at sub-resolutions  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the post presents an overview of what gradients are, what they are used for   presents standard methods with cons and pros for each   additionally offers a look at the Frequency analysis of differences  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the tutorial shows how to implement FXAA into a Unity custom scriptable render pipeline   explains the different components that define FXAA   presents the effects of controllable settings and how they affect visual quality and performance  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the Video provides a 90-minute in-depth look at the rendering architecture used in CryEngine   providing an overview of the abstraction layers   discusses API abstractions, draw call generations, interactions with the higher-level rendering pipeline   provides an overview of the different rendering stages of the pipeline   covering GBuffer, shadows, tile shading, tone mapping, post-processing   additionally provides an overview of the shader system  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents two methods to hide water from the inside of boats   the first method uses an invisible inside mesh for the ship to draw depth before the water to block it from rendering    second method involves using the stencil buffer to mask out parts of the water   presents difficulties with either technique and how to deal with them   source code for use with Unity is provided   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents an alternative way to pack PBR textures into a single 4 channel texture   albedo information stored as a gradient with gradient reconstruction, normals stored as height derivates, and linear smoothness   presents how this was integrated into Unity   shows the setup tested on a 6 material blend setup and presents performance comparison against the classical packing  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article shows how the Vulkan extensions enable bindless indexing on Android   presents an overview of dynamic indexing (and restrictions), update after bind, and GPU based validation  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents how the bindless binding model has been integrated into The Machinery   shows the setup, lifetime management as well as integration with the shader system  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     10h Video online class about shader development   whole series covers an entire spectrum from basics, over lighting, mesh deformation, skyboxes, and image-based lighting   provides assignment and discusses different approaches to solve it  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents the buffer_device_address (BDA) extension for Vulkan   this extension adds pointer support for Vulkan resources   allows users to request the virtual memory address of each resource, operate on it, and even resolve it from within shaders   shows how to use a pointer in a shader    additionally covers debugging advice and how this is handled inside of SPIR-V  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     provides an idea on how to maintain a pixel art style with dynamic lighting in a 3D environment   technique uses position and UV derivatives to quantize the lighting results onto the center of the texel  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video tutorial shows how to generate a grass mesh using a compute shader   animate the grass from the vertex shader to apply movement   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video tutorial shows how to implement a dissolve shader for 2D sprites using the Visual Shader language of Godot  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article shows a few ways of doing bilinear upsampling and downsampling   explains why it's essential to follow the same convention everywhere and verify that no unintended shifts are introduced   suggests that the same half-pixel offset convention as used by GPUs should also be followed in CPU code   discussing the different tradeoffs for performance/aliasing/smoothing  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the Twitter thread presents details about how the outline rendering has been implemented   based on several different outline classification types are combined as a post-process   the edge detection for outlines is additionally leveraged for SMAA improvements  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents a new technique to generate more accurate motion vectors for shadows, glossy reflections, and occlusions   the key idea is to detect and track the source of the effect (for example, the object blocking the light) and use the change of the source to adjust the back-projection accordingly   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents Separating Axis Theorem for OBB (oriented bounding box) against the view Frustum   additionally covers how to use Intel ISPC to generate the SSE accelerated version of the algorithm   presents performance comparison with/without SEE and compares against the previous implementation from part 1   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post presents an overview of Vulkan extensions added as part of Android R   lists the extensions, what problem it solves and how it works   covering uniform alignment rules, separate depth stencil views, SPIR-V support, loop control, 16-bit subgroup operations as well as imageless framebuffers  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents how to use 3 parallel work queues in OpenCL to read, write and process a GPU kernel at the same time   presents source code for buffer creation, queue creation, and synchronization  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     article presents how to integrate a custom shading model into the Unity rendering pipeline   implements the Minnaert shading model   this model makes the surface seem darker from certain viewing/lighting direction  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post discusses the different memory types and how applications should use them   provides overviews on what is reported on Intel, Nvidia, and AMD hardware   additionally explains how integrated and external GPUs expose different available memory  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the AMD driver now supports the new Vulkan synchronization extension    post provides a brief overview of how the capabilities of the extension allow the drivers to be more efficient in reducing GPU cache flushes and stalls  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog posts provides a walkthrough of the Cook-Torrance shading model   starts with the Lambert shading model and then presents step-by-step how to arrive at the final model   shows results at each step with source code provided   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the Radeon GPU Analyzer now supports DXR shader disassembly, live VGPR analysis as well as control-flow graph analysis    shows what of the two compilation models (fully inline vs. Indirect ) has been chosen by the runtime   also provides the disassembly for the driver generated acceleration structure traversal  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     master thesis that covers a tool for interactive exploration of all contributing paths from a path tracer   including a heatmap visualization and area filters   show how to use the proposed visualization to help in debugging scenarios    
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the author provides a list of lessons learned and advice that should be considered when working on rate-distortion optimization algorithms  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     second particle in articles series about SDF (signed distance field) generation with Unity   this part presents how to visualize an SDF using a pixel shader  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the Unity tutorial explains how to generate meshes from a compute shader   in the process, it explains the fundamentals of compute shaders and read back data from the GPU  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article provides a geometric interpretation of linear interpolation, range mapping, and how it relates to Bézier curves   provides links towards articles with further information on why lerp for colors and rotations doesn't always work as expected   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Shows how to sort data on the GPU using Bitonic Merge Sort networks using GLSL/Vulkan compute   Derives how to non-recursively calculate per-thread index pairs for sorting networks   Explains how to orchestrate compute-shader dispatches for large input data   provides example implementation that sorts pixel by the brightness  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents how to implement ice shading   uses an approximate for ice refraction controlled by textures and fresnel shading    effect is implemented using Unity Shader Graph  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video shows how to implement fireworks using fullscreen shader using Shadertoy  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents a method that maps spacial search in a fixed radius into a ray tracing paradigm   this allows the ways to take advantage of ray tracing hardware to speed up the operations   presents an application for GI with progressive photon mapping and point-cloud registration of partial surface scans  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents a walkthrough of a stylized crystal shader implemented using Unity Shader Graph   effect is implemented as an unlit effect based on color gradient and uses a copy of the scene to implement a refraction approximation  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article provides an overview of a GPU voxel renderer using raytracing   shows the data structure layout, how GPU and CPU updates are overlapped   presents a technique to archive interactive world updates by using incremental parallel updates   additionally offers advice to improve the performance of the multi-threaded implementation  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents a comparison of DLSS 2.0 and the default TAA implementation of UE 4.26   comparing performance and quality  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the Twitter thread presents an overview of the stylized g-buffer based rendering pipeline implemented using Unity   presents how each material ID written into the g-buffer is later used to adjust post effects based on the affected materials   lighting is applied in two stages with a second pass to toon ramp combined lights as well  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the post presents an overview of optimizations done for Godot 4.0   list contains but CPU and GPU optimizations   offers a good starting point for everyone looking into optimizing their own renderers  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents an overview of a simple GPU based path tracer written in Zig   shows how to have two data layouts for changing scenes vs. static scenes   presents how to implement spectral rendering and how it affects objects made from glass  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper introduces a new method for Mip level selection, including anisotropic filtering in a raytracer   presented technique is not based on screen space derivatives   extends the technique to apply to textures with different dimensions    shows how ray cones can be used to select LOD for shading too  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents an introduction to Gamut Clipping (mapping colors outside of the target  color space back into valid colors)   presents different approaches for mapping techniques   shows how to apply these for the Oklab color space and presents comparisons of the results    code is provided   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     first part of a three-part series that focuses on optimizing a CUDA workload   articles present the methodology, how to use the Nsight provided information to iteratively optimize the application  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents how to reduce memory usage of bottom level acceleration structure (BLAS)   instead of using placed resources for each BLAS, it is recommended to sub allocate from one larger structure  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the Unity video tutorial shows how to implement rim lighting (an effect that only applies to the edges of a model)  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Video lectures for the Introduction to Computer Graphics Course at the University of Utah   more classes will be released over the next few weeks  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents a deep neural network to generate signed distance functions using a fixed network and sparse oct-tree    the network also generates the level of detail representations    shows real-time reconstruction and rendering with ray tracing  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents an overview of UV mapping   showing different mapping techniques, problems, and uses cases  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     updated tools adds support for inline raytracing and capturing applications that are not frame-based  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the author provides an overview of anti-aliasing solutions   what problems temporal techniques have, look at alternative solutions   and experience trying to avoid using temporal techniques in a game production  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article discusses the progress on an open-source graphics stack for Apple M1   provides insights into how Apple GPU commands are expressed on the lowest level  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video from GDC 2018 was released   the talk presents different iterations of a system to allow particles emission from everything in the world   contains many examples, pro/cons of several techniques   shows how to unfold meshes so that particles can be emitted in a view independent fashion   additionally provides insights into particle workflows  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the presentation provides an overview of the rendering pipeline from mesh creation to screen output   focuses on the RDNA2 architecture, presenting what each piece of hardware in the pipeline is called and the function it serves   providing insights into why specific workloads can achieve better performance than others  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     talk provides an overview of the Crytek rendering pipeline    how a Micro-G buffer is used to reduce the bandwidth required   encoding, reconstruction errors, and performance comparison   how the raytracing is implemented using compute shaders   BVH data structures, using interlaced ray tracing for ray count reduction   data optimizations for BVH objects  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article explains the process of porting the NAP creative coding Framework to Vulkan   focuses on presenting the high-level concepts and considerations instead of API details   presents synchronization, main API objects, frame setup, descriptor set management, mesh and texture handling as well as coordinate space conversions  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the tutorial shows how to create procedural fractals    enable color and position modifications   present performance comparisons  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents how a sand dune wallpaper was implemented using WebGL   demonstrates how the scene was composed, dust particle implementation, wind simulation as well as texture   source code is available  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     shows why normals need to be recalculated if a mesh shape is changed in a vertex shader   presents how to re-calculate the normals by applying the same offsets to approximate neighbors and recalculating the normal from this   simplified video version of [How to Calculate Shader Graph Normals](https://gamedevbill.com/shader-graph-normal-calculation/)   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           the post shows how aliased resources can cause problems when doing render doc captures   aliased textures that are captured might need barrier transitions, which can corrupt other textures in the same memory range   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     collection of articles/ blog post written by John Carmack on a variety of topics       
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           the video tutorial shows how to implement a shader for freezing objects   this includes blending ice material on top of existing objects, tessellation shaders to extend meshes to form icicles, and mesh normal generation   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           the blog post shows the interactive particle implementation used in Ghost of Tsushima   particles are controllable through expressions and can react to runtime information   shows different use cases such as interactive leaves, candles, and crabs   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           the tutorial shows how to implement Temporal Anti-Aliasing using an example OpenGL implementation   provides a walkthrough of all steps required   shows how to calculate velocity vectors, use history buffers, calculate jittering matrix   additionally shows how dithering can be used to create alpha-blended looks   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           the Rust tutorial provides an extensive walkthrough of the steps required to use OpenGL using native rust   explains all the necessary interop to load OpenGL, initialize a swap chain, and start presenting   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           the article presents how VRS tier 2 shading was integrated into Gears   uses the previous frame color buffer results to run a Sobel edge detection compute shader to detect the shading rate   a conservative VRS allows systems to opt-in for special quality if required   contains advice on optimizations for VRS tile texture generation   additionally provides guidance on how to estimate performance using Tier 1   provides performance numbers for the savings from different render passes  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           the article contains a list of common graphics programming terms and how to pronounce them  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           the article provides a guide for porting from the original VK_NV_raytracing extension to official VK_KHR_raytracing extensions   show what changes are required for device creation, memory management, acceleration structure build, pipeline management   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents an overview of Creation Graphs and what it enables the user to create in The Machinery   an extensible node-based system that allows the flexible combination of data from different kinds of data to create new combinations       
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           the video tutorial explains how to create stylized grass in the Unreal engine   shows how to create the meshes in Houdini, textures in Unreal and integrate them into the rendering pipeline  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article explains in detail how to render a raytraced sphere that interacts with other parts of the Unity rendering pipeline   covers how to use a billboard to render there sphere, explaining how to calculate an optimal camera facing quad and texture mapping   extending to support shadow casting, receiving, and use of conservative depth output to enable early depth rejection        
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     beginner-focused tutorial that explains how 3D data is structured in computer graphics   covers what shaders are, what type exists, and how they are used within Unity to define the look  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           the video tutorial explains how to create interactive snow on terrain and objects using Godot    interactive snow is implemented via a snow mask that is updated and blends between textures and modifies vertex positions   snow on objects is world space projected snow textures that also is interactive  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           the article presents a walkthrough of a RayTracing abstraction layer that was implemented for D3D12 and Vulkan   provides a walkthrough of how to combine the elements to a example scene   shows what the different raytracing shaders are and what they contribute to the final image  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           the updated tool allows an in-depth view into the raytracing details on AMD hardware   reveals that the driver might inline all shaders into a single shader or keep shaders separate   the new update provides a shader table view to see the relative cost of different stages   additional shows all shaders with costs, call count, and ability to see ISA  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           the video explains the CUDA memory model   covering the rules of how memory operations on shared memory from multiple threads are processed   looking at loading, reordering, barriers, etc.. and explains with examples (source code published)  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Overview for the start of a new shader tutorial series for beginners   starts by providing the motivation, approach, and topics that will be covered       
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article focuses on providing a walkthrough of dithering techniques   provides an overview of what dithering is, use cases   showcase of different dithering patterns and what results they produce       
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article provides an overview of the CVTT compression techniques used (DirecXTex fork aims to be an experiment to improve state of the art)   shows how the different formats are compressed, common themes across formats, and lists possible improvements       
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video tutorial explains the fundamentals of texture mapping in ShaderToy   describes how to apply a texture map to a 3D cube, sphere using tri-planar mapping   additionally describes how to animate a second texture set onto a sphere as well as displacement mapping  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     this Unity tutorial aimed at beginners presents a starter guide for compute shaders   shows how to convert CPU based random cube generation tp GPU   demonstrates how much quicker even a simple GPU based version can be  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents a new technique of on-the-fly quantization for unorganized sets of unit vectors   approach detects groups of windows that are then uniformly mapped onto the whole sphere surface before unit vector quantization is applied   the presented technique can archive better results than octahedral quantization with only 16 bits  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     tutorial series about creating a custom scriptable render pipeline in Unity   decoupling the render resolution from the target resolution to allow variable resolution at runtime   presents how to deal with post FX and the difference between upscaling with different color spaces  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the Unity tutorial provides a starting point for how to use tessellation shaders   example shows to tessellate a simple terrain   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     collection of articles that provide a breakdown of various games   contains links from analyses since 2015 from multiple authors   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article shows the steps required to use star databases to enable the correct rendering of stars   covers data parsing, dealing with different time reference frames, color conversion    provides sources and code for the implementation   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Collection of impressive screenshots from Games (mostly PC, a few from PS4 Pro)  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents an implementation of a hash-based Owen scrambling for Sobol sampling with nested uniform shuffling to enable multidimensional padding    presents practical considerations for use cases and provides an example implementation  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article provides an overview of considerations when developing a graphics technique for video games   presents how game design, workflow, performance, artist controllability, ... affect the possible solution space   provides a case studio from the vegetation system from The Witcher 2   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents how to implement frustum culling and the effects on CPU and GPU performance  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post provides a look back at the evolution of graphics technology and how they affect game production   author expresses his view on how ray tracing will repeat history and complexity will continue to increase as we want to archive more complex goals  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog posts takes a look at the RNDA ISA and presents how ray tracing has been implemented in AMD hardware   look at the instructions to accelerate ray/triangle and ray/BVH intersection logic in hardware  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents a new perceptual color space   illustrates how the color space conversion is used and how it was derived   color space is designed to use D65 white point (easier interop with Rec202 and sRGB) with even transitions when used in blending  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents an overview of D3D12 aliasing barriers, Discard/Clear semantics, and how they interact with resource states   presents three approaches to the problem   it appears no way exists that doesn't trigger debug-runtime errors and archives optimal performance  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents a breakdown of a Cyberpunk 2077 frame   looking at the different passes that create the final image, what techniques are employed   how the gbuffer is structured, volumetrics, decals, culling ....   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Vulkan tutorial that shows how to implement a Path Tracer in 300 lines of C++ using Vulkan compute shaders   broken into multiple chapters that explain the fundamental concepts of Vulkan and path tracing   additional chapters provide further information on optimizations, multiple materials, blurs, ...  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the project that presents the implementation of a custom external raytracing card for use with the SNES  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the Unity tutorial explains how interactivity between player and grass can be implemented for geometry shader based grass   additionally covers how to apply point light shading  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article explains how to generate cables from cylinders   based on the Unreal Cable component for the physics simulation, but all visual effects are implemented as pixel shader   covers the spiral generation, normal generation, silhouette handling, and support for stretching  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents an overview of what a Z-pre-pass is   what benefits and drawbacks this technique has   additionals discussion of techniques that can benefit from having access to a full scene z-buffer early in the frame  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     in-depth Digital Foundry comparison between Raytracing and classical rendering features on PC   presents what Raytracing adds to the final look of the game   comparison of performance with different settings and the importance of DLSS  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article gives an understanding of how different types of camera and lenses work   provides many interactive examples that explain the various elements, aspects and how they interact  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video tutorial provides an overview of signed distance fields   explains how to use SDFs for font rendering   provides an example implementation of multiple font effects (thickness, feather, outline color)   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     video recording from all talks in the Siggraph 2020 course in a single video   covering Intro to Moving Mobile Graphics, Mobile Graphics 101, Vulkan on Mobile Done Right, Deferred Shading in Unity URP,    Large Voxel Landscapes on Mobile, High Quality, High-Performance Graphics in Filament are covered below in more detail  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     introductory slides for physically based rendering course   provides an overview of fundamental terms and concepts   explaining how the different ideas fit together to create a basic physically based shading implementation  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video tutorial shows how to generate grass blades that swing in the wind   LODs are supported, reducing the number of segments for each blade of grass when it's further away from the camera   implemented as compute shaders using Unity  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video tutorial explains how to implement a ripple effect   first implements a sprite-based effect, extends this afterward to support 3D mesh deformation   implemented using Unity shader graph  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     short blog post that provides advice on how to debug refraction in a raytracer   provides what values to expect when debugging refraction on a glass sphere  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents an overview of different compression formats and libraries   comparing quality and compression speed for several texture types    
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article explains the implementation of Caustics using a photon mapping technique that takes advantage of DXR capabilities   the first part focuses on caustics from meshes (such as bottles, glasses)    additional provides a performance comparison between Nvidia GPUs   part 2 focuses on water-based caustics  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article shows examples of how to use mesh shaders (code examples in GLSL)   show how different data types and models influence the performance   gives advice on best-practices when designing a solution for Nvidia hardware   additionally provides pointers on what might be different on other hardware  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the RDNA 2 Instruction Set has been released   shows that RDNA 2 supports dedicated instructions for BVH intersection to accelerate ray tracing workloads  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     AMD released the source code for the Memory Visualizer   tools support Vulkan and D3D12 to provide insights into memory usage  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article shows how fading our transparent objects when getting close to an intersection helps them to appear more volumetric   technique presented in the article uses the depth buffer information from opaque objects to fade out the transparent  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents the results of research into using the RTX raytracing hardware for unstructured point rendering   presents multiple iterations from a reference CUDA implementation to more complex RTX solutions   comparing performance for the different approaches  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     video for the talk has been released, was covered in the week [147](https://www.jendrikillner.com/post/graphics-programming-weekly-issue-147/)   how to take advantage of tiling GPU architecture and enable the use of fp16 math   cloth shading, reduction of energy loss for rough metals, multi-bounce AO  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the talk explains the Voxel-based terrain system used in Roblox   voxels store material id and material occupancy (0,1) range   how to generate meshes from the sparse voxel representation   texture mapping, tiling reduction, water considerations, and various performance advice   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     The article presents how important reflectivity of Black skin is for believable results   it shows how to adjust textures and the Unity PBR shaders (specular workflow) to decouple specular color from the glossiness  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the talk from Digital Dragons looks at open questions in rendering   walkthrough of the various assumptions and approximations and raises the question of the most significant source of error in modern rendering pipeline?   presenting a look at the higher-level view at how are rendering and production pipeline might evolve   discussing tradeoffs and how a more holistic view of rendering might lead to more productivity and better results  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the talk provides an overview of Roblox and how the philosophy creates an environment with very different technical challenges   a tech that favors scalable over optimal and how it's been able to evolve existing data to take advantage of new device abilities   provides an overview of the engine architecture and a walkthrough of a large number of rendering systems (clustering, lighting, shading)  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     part of tutorial series about the Unity scriptable rendering pipeline (SRP)   covers how to support soft and distortion particles   determining depth for orthographic and perspective projections  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     presentation shows the in-progress state of the new Frostbite hair rendering system in the context of FIFA   covering both the strand simulation and rendering   rendering is done using a custom line rasterize, order-independent transparency, and strand space shading (texture space shading)  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the articles discusses how the voxel rendering in teardown uses an 8-bit color palette for voxel materials and still allows coloring   this is archived by precalculating multiple color variations for each material   if not enough slots are available similar materials will be merged  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the Bachelor thesis introduces Linearly Transformed Spherical Harmonics    A technique for computing specular shading from to polygonal area lights    compares the method against linearly transformed cosines, and it's able to produce higher quality results  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article explains a different kind of memory that exists   how AMDs Smart Access Memory fits into the picture   additionally covers considering of performance when using a device or host-local memory   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents how the effect was implemented that allows objects to be colorized/silhouetted to make them pop out of the scene   this is implemented by rendering AABB with per-object depth into a separate render target, marking tagged objects via stencil   and using post-processing to apply the outline effect  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     video recording of the talk covered in [week 154](https://www.jendrikillner.com/post/graphics-programming-weekly-issue-154/)   the presentation explains how the raytracing for shadows has been implemented into Call of Duty   covering acceleration structure separation, performance, denoising implementation, and supporting multiple local area lights   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video presents an in-depth walkthrough that shows how to use signed distance fields (SDF) to create an animated girl   explains all used primitives as SDW, how they are combined, and the lighting implementation   implementation is done in shadertoy  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article shows how The Witcher 3 implements a fullscreen effect that gives the world a painterly look   presents a step-by-step walkthrough, showing all components that define the noise generation   author provides a [shadertoy](https://www.shadertoy.com/view/3stBD2) implementation of the effect  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the post presents a bi-planar mapping as an alternative to tri-planar mapping using only two texture fetches   starts by giving an overview of the tri-planar mapping   followed by an explanation of the bi-planar mapping technique, presenting strategies to improve the quality and how the quality compares   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     a very detailed article about depth buffers   focusing on Unity, but most of the information is engine agnostic   explains the different spaces, storage formats, and precision considerations   additionally shows how to calculate world space positions from the depth buffer  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     A Unity video tutorial that explains how to generate grass meshes using Compute shaders   covers the setup, mesh generation, and LOD selection  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article shows how Multiple Importance Sampling in 1D is used to improve the convergence of stochastic algorithms   presents multiple experiments and shows how different techniques can reduce the sampling error   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     a collection of resources (books, talks, websites) the author recommends for beginners to get started with graphics programming  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the presentation provides an overview of Variable Rate Shading (VRS), the different features levels   provides insights into VRS performance, features that disable VRS, and what bottlenecks will cause VRS to not offer performance improvements   additionally shows how to integrate the AMD helper library to generate the VRS screenspace map  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the presentation explains the ray tracing denoising technique developed by AMD    shows what inputs are used, how the algorithm uses these to decide ray count, and how to use temporal reprojection to further reduce sample counts   the code for the technique is provided, and the [website](https://gpuopen.com/fidelityfx-denoiser/) includes comparison pictures and images of the intermediate results  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the post explains what changes have been made to the Vulkan raytracing extension since the preview specification   extension has been split into 3 layers (acceleration structure, raytracing shaders states, and ray queries)   walkthrough of each stage of the extensions   in contrast to DXR, Vulkan offers the ability to generate acceleration structures on the CPU  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents an overview of how Vulkan raytracing has been implemented into Wolfenstein   provides a brief overview of the different API concepts and how they are used  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article contains an overview of the new features that will be included in shader model 6.6   64-bit Integer Atomic Operations, Dynamic Resource Binding, Compute Shader Derivatives and Samples, Packed 8-Bit Operations and variable Wave Size  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog posts describes how APITrace can intercept D3D12 applications (even complex AAA games such as Assassin's Creed Valhalla)   presents how the layer deals with Persistent Memory Mapping, Capturing and Replaying Descriptors, Fences, and Synchronization   additional describes what issues are still left unsolved   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the dev vlog explains how the 2D billboard based clouds are implemented   cloud volumes are generated in Blender, directional light information is baked into textures using single color lights along the principal coordinate system axis   these directions are blended at runtime to integrate into the in-game PBR lighting system  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the devlog presents a walkthrough of the implementation of a toon shader   contains a comparison between a toon shading model and a more realistic model    the implementation is done using the Unity Universal Render Pipeline (URP) and ShaderGraph  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video tutorial explains how to take an input mesh and use a compute shader to generate additional geometry   provides an overview of compute shader concepts, showing the HLSL based implementation and how to integrate it into the Unit rendering pipeline   additional explains how to use DrawIndirect to draw the results directly from the GPU timeline   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents three different approaches to archive a fire effect using Unity   show a sprite-based flipbook effect, procedural shape generation for a toon, and more realistic shape   the implementation is done in ShaderGraph  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     unrolled Twitter thread presenting an overview of differences between D3D12 and Vulkan   the aim of the comparison is to be able to support both APIs   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     collection of tweets related to VFX, shaders, and game art  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     brief article that shows how to create a D3D11 device without a window   presents that the FXC compiler can export compiled shader to a C compatible header  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents techniques to improve Subsurface Scattering (SSS) implementation based on the model used in [PBRT](https://www.pbrt.org)   presents a basic overview, how to importance sample the model   shows several improvements that aim to reduce Fireflies, optimize the implementation   additionally covers the material system that allows blending between materials that have SSS influence and not  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the Unity explains how to implement a heat map view to visualize the temperatures in Buildings   this effect is based on Frostpunk, the shader implemented as compute shader  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article provides a brief overview of different kinds of array indexing types in shaders   presents Vulkan caps required for a bindless access pattern   shows when extra annotations are needed for correct results and how these interact on different hardware   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post explains what shader occupancy is and how it connects to vector registers usage    provides a brief overview of GCN hardware details showing how shader compilers deal with data loading  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article explains how to implement a CRT rendering effect using GLSL   implements screen curvature, scanlines, and edge darkening  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article explains how the 2D VFX effect has been integrated int the 3D world of Blightbound  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     article introduces OWL, an abstraction build on OptiX 7   presents the difference abstraction difference between OptiX 6 and 7   shows several projects using it and samples on how to use it  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents the difference between baked, screen-space rasterization and Ray-traced GI of unity   shows how many visual influences can be expected from the different techniques   brief look at the performance of the other techniques  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the post explains how to generate a procedural mesh   describes how to approach the development of an algorithm, provides a list of common mistakes   lists advice on how to debug procedural mesh generation issues  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Vulkan survey to gather information about user experience, platform support, and future developments  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     a Unity video tutorial that shows how to implement a water ripple effect  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents how to resolve issues with movement widget logic   starts with an explanation of the problematic cases   shows how extra debug visualization helps to understand the 3D problems to simplify debugging  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     overview of technical papers that will be presented at SIGGRAPH Asia 2020  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents an energy normalization derivation of the Phong lighting model   provides a C++ implementation of the technique  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     collection of resources by Eric Lengyel covering geometric algebra (this includes Grassmann algebra)   mathematical model incorporates many common concepts (including homogeneous coordinates, quaternions) into a consistent model  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article explains how to use a compute shader to render moving cubes   explains the basics of compute shaders and presents   presents how to use the Unity profiler to validate the performance    
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post presents an overview of the development progress of Zink(OpenGL on Vulkan layer)   able to achieve 95% performance of native OpenGL in the Unigine Heaven  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the second part of the blog post series covering raytracing implementation with compute shaders presents the results of splitting the acceleration structure into two levels   presents an overview of the implementation, performance comparison   additionally shows that two-level separation provides additional flexibility advantages   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Vulkan extension for Variable Rate Shading (VRS) has been released as [VK_KHR_fragment_shading_rate](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_KHR_fragment_shading_rate.html)   adds the necessary API and SPIR-V extensions  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     latest PIX update adds support for visualizing the GPU execution of command list from a single ExecuteCommandLists call   adds support for showing the resources that belong to each descriptor in a heap  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     collection of tweets related to VFX, shaders, and game art  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the author presents an overview of his raytracer setup   explains the problems encountered and the current state   provides an overview of how to trace the Ptex textures on the GPU  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the Unity article explains how to integrate multiple cameras into a scriptable render pipeline   shows how to use it for split-screen, overlay camera (including correct blending), and in-game UI   additionally shows how to filter objects for one viewport  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the shader tutorial explains how to stylized toon glass shader   shows the breakthrough of the individual component and what they contribute to the final result  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the articles explains the pitfalls encountered when implementing Screen Space reflections   discusses special cases for a 2D game and presents what fallback options have been used if the information is not available  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post provides an overview of ambient occlusion and what it approximates   provides interactive examples to show the effect of screen space ambient occlusion   additionally provides interactive examples to show the impact of different parameters for Ray-Traced Ambient Occlusion  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     collection of tweets related to VFX, shaders, and game art  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the presentation explains how the raytracing for shadows has been implemented into Call of Duty   covering acceleration structure separation, performance, denoising implementation, and supporting multiple local area lights  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents a new framework for layering and compositing of bump maps from different sources   presents how to use the framework with different techniques, including volumes, decals, dealing with multiple UV sets, etc..   demo [code](https://github.com/mmikk/surfgrad-bump-standalone-demo) provided  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents how the precision HiZ tracing logic (used for screen space reflection) can be increased   additionally also makes the technique more generalized  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post explains the history of RLSL (Rust Like Shading Language)   and how rust-gpu is the spiritual successor  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     First public release of Rust-gpu, a new SPIR-V backend for the Rust   post explains the motivation, current state, and planned scope  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article provides a brief overview of scalarization and suggests an alternative approach  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the post explains the implementation of a path tracer that enables the rendering of the Disney Moana island dataset on an RTX 2070   provides an overview of the memory management strategies and scene splitting  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the Unity-based effect presents how to create a watercolor rendering style   uses a combination of object shaders, decal effects, and fullscreen post-processing   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the research presents a 2D fluid simulation in a 3D scene used to generate fire effects   explains separable Poisson filters that are used to fluid simulations   the demo video shows the technique interact within the 3D world to respond to wind, collision, and other forces  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the Unity tutorial provides a brief overview of the rendering pipeline   provides an overview of vertex/geometry/pixel shaders   presents how to use the geometry shader to generate normals using a cube to sphere morph as an example  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the tutorial explains HSV color space and presents how to implement conversion    an example implementation is accomplished using Unity shader graph  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents how to implement the rendering of a soap bubble in Unity  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     The video tutorial explains how vertex animations can be stored and played back from textures   shows how to export animations from blender   describes how to use the exported data inside of a Godot shader  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the articles presents an overview of the GPU execution model, how divergent control flow is handled   presents a statistical analysis of the relation of control flow and wave sizes   derives three categories that conditions can be split into  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article explains the terms required to understand the initialization of a webGPU application   shows how to call the API from Rust  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents an evaluation of deterministic hash functions   compares the performance and quality of several techniques   presents how to extend the dimensionality of hashing functions   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video shows the history of light transport techniques and presents how they perform in complex test cases   leading up to "Specular Manifold Sampling for Rendering High-Frequency Caustics and Glints" and how it makes aims to make state of the art a more accessible  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     links to the papers from I3D 2020   the winners for best-award are "Passthrough+: Real-time Stereoscopic View Synthesis for Mobile Mixed Reality", "Local Optimization for Robust Signed Distance Field Collision" and "Real-Time Stochastic Lightcuts"  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     SIGGRAPH 2020 presentation that provides an overview of Variance-Aware Path Guiding   paper proposes to treat the problem as an error minimization problem using relMSE ( relative mean squared error )   shows existing techniques that could be improved from the proposed solution  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post discusses the development of a GPU based grass rendering system   provides an overview of the approach taken and provides videos for the different stages of implementation  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video shows the Ray Tracing implementation and uses it to explain the considerations when designing a raytracing solution   explains the steps raytracing requires and how changes in each step influence the total reflection budget  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     breakdown shows how a Stylised Water Shader was implemented in Unity   the post focuses on the overall look  -presents the different layers of the technique and what these contribute to the final look of the water  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents extensions to the [probe based irradiance-field-with-visibility representation](http://jcgt.org/published/0008/02/01/)   These extensions include a self-shadow bias, introduction of heuristics to speed transitions, re-use for recursive glossy reflection, probe state machines as well as multiresolution cascaded volumes  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post  presents a comparison between the usage of different color spaces on the results of path tracing   compare Rec709 and ACEScg color space, providing the mathematical approximations for the color conversions required  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the 13ths part of the scriptable render pipeline tutorial explains how to add color grading to the Unity pipeline   presents several techniques to adjust the visual look of the scene   shows different color space, how to convert them, and optimize the conversion steps with LUTs   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents a table of HLSL and GLSL compute shader semantics and how they the meanings maps between local and global references  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     tutorial explains the new unified AMD interface for the GPU Profiler Memory Visualizer   shows how to use the different workflows  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the post explains the experiences on porting the game from PS4 to PC using Vulkan   part 1 of 3 focuses on optimize shader pipeline compilation  and descriptor allocation   the descriptor allocation is based around dynamic indexing into large arrays for each resource type  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     part two of the series provides on porting Detroit: become human offers an overview of indexing considerations using the VK_EXT_descriptor_indexing extension   shows the AMD ISA disassembly related to sampling textures and how much extra work is required when texture indexing is not uniform   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the last part of the series briefly explains how they used scalarization to optimize shader, split command list recording onto multiple threads   looks at memory management in more detail, detailing the AMD libraries and tools available for memory management  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the author explains his approach for the design of an aurora shader challenge   provides an illustrated walk through how to start from a simple effect and incrementally improve towards the expected look  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the articles explains how The Machinery implementing for rendering the outline of selected objects has been archived   this is implemented as a screenspace effect using the object ID and depth buffer to detect the shape of the objects   presents how to improve visual stability when TAA is used  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post provides an overview of the different API layering implementations (Vulkan on Metal, D3D11on12, etc..)   Vulkan Portability Initiative exposes a new extension (VK_KHR_portability_subset) that allows these layers to mark features as unsupported   progress on updating the conformance testing and device capabilities emulators to make them aware of these constraints  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     beginner-focused tutorial explains how to store normals, noise, and positional data in textures   explains what kind of effects can be archived with this data   the example effects are implemented using ShaderGraph in Unity  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     video presentation from the X.Org Developer Conference provides an overview of the Vulkan vendor-neutral API extension  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     collection all entries for a tech art challenge with the theme Retro shaders   the entries show a large variety of effects and implementations using different engines  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the author presents a look back at the last 5 years of the [GpuDB](https://db.thegpu.guru)   a useful website to gather information about different GPUs and compare them  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article explains the basic of the tiled GPU architectures used on mobile   uses this information to explain the importance of using the correct load and store operations for Vulkan render passes   additonally covers foveated rendering extension and how to structure rendering with multiple render passes  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video tutorial explains how to implement a rust effect on objects that intersect with a water plane   describes how to calculate the distance between a point and a plane   implemented using the Godot engine   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article explains the sorting, rendering layer design for a 2D game   implemented using Unity   sorting layers also interact with how the dynamic 2D lights interact with the sprites   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     post discusses a shader approach to implement a VHS effect using Unity  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the talk provides an overview of WebGPU and provides an overview of the implementation using Rust   this implementation is used by Firefox    shows the design considerations for the API, how to use it, and implementation discussions  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post explains how to implement a simple Toon Lighting shader using the Amplify Shader Editor inside of Unity   shows how to configure the effect and use the idea to archive different looks  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the Unity tutorial shows how to generate mesh data on compute shaders and draw them from the GPU without a CPU roundtrip  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     this guide explains how to use the Vulkan Synchronization Validation layer   shows what kind of problems it can detect, how to debug these issues, and explain how to understand the messages  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog posts explains how PIX for windows captures work   provides insights into how the focus has shifted from API focused recording to GPU work recording  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article explains how to implement a heat haze screenspace effect for a 2D game using Unity   implementation is done using Shader Graph   a video version of the tutorial is available too  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     article shows the new Instruction Timing, Theoretical occupancy, and UI improvements in the latest version  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     new release adds support for NVIDIA Ampere microarchitecture    support for the Vulkan added to the Shader Profiler (including raytracing)  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Vulkan validation layer has been updated to include additional and improved validation messages  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents a physically-based model for the realtime rendering of sparkling materials   the implementation uses a pre-computed BRDF dictionary of ~390KB size    precomputation is independent of smoothness, so runtime variations are possible  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video provides a great explanation of Monte Carlo integration importance sampling   presents how to generalize MIS to a from distinct techniques to a continuum of techniques   shows how to use the method for path reuse, spectral rendering, and photon planes  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           summary on how to take part and find the content of I3D 2020  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           overview of debugging D3D11 applications using Pix for Windows   shows what is supported and what limitations exist  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           the post discusses a variety of quantization topis to ensure conversion of precision   GPU based workloads should prefer centered quantization  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     collection of tweets related to VFX, shaders, and game art  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           the Unreal tutorial explains how to apply a shader effect that converts a video into a VHS style looking video   presents the walkthrough of the Material Graph   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           the SIGGRAPH Asia 2020 paper presents a cloud simulation with high-level parameters   the system can simulate cumulus, stratus, and stratocumulus for the formation of dynamic cloud formations  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           in-depth breakdown of the the frame strutcure in Doom eternal   major changes since Doom to 2016 include mesh decals, new GPU based light, decal culling and dynamic draw call merging  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           the blog post provides an overview of VRS modes, presents some possible use cases and performance numbers from the first tests in Wicket Engine  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           the article provides an introduction to sparse and dictionary learning methods and applies these to try to archive better compression for full PBR texture set  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           this part of the series presents a discussion of how the BC6 and BC7 format is implemented    Additionally provides the necessary code to decode the format in a shader  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post explains how PIX for Windows tracks placed and reserved resources   uses active/inactive state tracking and presents what limitations exist       
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                          the article provides an overview of the Nvidia tools available and how they can be combined to improve application performance  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           the article provides a post-mortem view about the kind of changes, optimizations, and quality reductions had to be done to make the game run on the Oculus quest  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           the article provides a detailed breakdown of a shader that implements a matrix style effect that can be applied via tri-planar mapping to every surface  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           collection of tweets related to VFX, shaders, and game art  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post describes the custom Occulus fork of RenderDoc that adds support for a profiling mode   this mode offers a Tile Timeline view that allows investigation of tiled GPU performance   additionally also ads a Vulkan draw call metrics collector       
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     slides and videos for all course talks are available   covering Fresnel modeling, MaterialX, Material Composition, Atmospheres system, and Anisotropic shading  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the talk discusses the anisotropic specular techniques    presenting a new  SGGX based filtering approach and fuzz BRDF for use with deferred shading   shows the importance of directional curvature  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     a guide aimed at beginners with Godot engine that presents an overview of the available counters    shows how to read the counters and use them to guide the process of optimizing rendering performance  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the post lists the minimum requirements and optional features for D3D feature level 12_2  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents a WebGL based technique for caustics rendering   using a shadow map inspired offscreen target to gather the underwater geometry for intersection testing  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     blog post provides an overview the PIX for Windows changes   seen GPU capture improvement up to 57X at capture time, broader API support  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post contains an overview of the Vulkan Configurator   provides a demo video and a whitepaper  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     collection of resources including a link to open Access Siggraph, interactive article on photogrammetry and history of the USD file format  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     how to take advantage of tiling GPU architecture and enable the use of fp16 math    cloth shading, reduction of energy loss for rough metals, multi-bounce AO  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog posts present an analysis of depth buffer precision   investigates reversed-z with a fixed far plane as well as an infinite projection far plane  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     SIGGRAPH 2020 course that presents an overview of inverse-rendering techniques that try to solve the problem of reconstructing a scene description given a final rendering image  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     presents a new model for Fresnel reflectance that provides a unification of Schlick and Gulbrandsen models with linear properties within realtime constraints   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Continued discussion on fresnel shading sparked by the talks of Siggraph 2020   Physically Based Shading in Theory and Practice course  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents a walkthrough and experiences of getting a paper included in Siggraph 2020  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the guide explains how optional robustness features allow Vulkan applications to treat out-of-bounds access as operations with well-defined behavior  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the first release of pbrt-v4, adds new rendering techniques but also adds support for GPU rendering   10-20x speedup compared to 32-core Threadripper   the article provides a list of new techniques and link to code walkthrough video  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Siggraph 2020 course that provides an API overview for basic drawing in Vulkan  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Single Pass Stereo is a technique that can be used to simultaneously project geometry for the left and right eye in the same pass   Part 1 discusses the advantages/disadvantages of Single Pass Stereo from a high-level perspective   the second part presents an in-depth discussion of the problems of SPS  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     growing link collection to resources from Siggraph 2020  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     SIGGRAPH 2020 course that reviews and discusses insights of techniques introduced Jaroslav Křivánek that shaped the research of light transport  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the Siggraph 2020 course presents guided sampling techniques that reduce variance to allow faster convergence for Subsurface Scattering  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents how to implement a path visualization system for a GPU path tracer  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     The Unity tutorial explains how to add HDR rendering support to a custom scriptable render pipeline   including an overview of different Tone Mapping techniques    
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article provides an overview of the scope of the sokol_gfx 3D API wrapper   provides an overview of the architecture and the zero initialization principle  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article provides an extensive list of best practices for DXR usage   covers acceleration structures, GPU utilization, memory allocations, handling of non-opaque geometries, binding, performance and pipeline state best practices  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post explains what the bindless model is   shows how to use for Textures and how to replace Vertex Layouts   examples are for D3D12, but links to information for Vulkan is provided  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article provides a basic overview of how the OpenGL ES based engine was ported to Vulkan   lists performance issues encountered such as Sparse Indexing, vkQueuePresent blocking and barrier usage for improved throughput   provides a comparison of CPU, GPU usage with OpenGL and Vulkan  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post explains how the author implemented a precural painting logic using compute shaders   explains how the algithmn was structrued, discussiong ecoutnered problems and solutions implemented  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents an overview of the DXT and ETC compression formats   shows how information is compressed and how to decode these formats from a compute shader  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     short post presenting how to setup VSCode to allow GLSL shader iteration  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article explains primary surface replacement (PSR) and  checkerboarded split frame rendering (CSFR)   these techniques are presented as a possible solution for high-quality reflections and refractions in a mixed hybrid renderer design that relies on GBuffers for primary rays  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     A video tutorial that explains how to implement a shader to render a torus knot using ShaderToy   starts by explaining the foundational math followed by the shader implementation   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article discusses the different render target requirements for D3D12 and Vulkan and presents 4 alternative solutions to design an abstraction   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Vulkan SDK release contains a graphics vkconfig tool to allow users to configure layer settings   can be enabled to control which layers are active, filter error messages, etc   the SDK now also contains Vulkan Synchronization validation and distributes the DXC compiler for PC, Mac, and Linux  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the Unity tutorials show how to implement a fire effect using a camera facing quad with shader based noise to wrap a noise texture to create the look  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the Siggraph 2020 talk presents the derivation of a point light attenuation that eliminates the singularity as the distance approaches 0   achieves this by treating point lights as simplified spherical lights   provides comparisons against other solutions  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article shows an overview of what vertex displacement mapping techniques are and how to generate data using Mudbox for use with Unity  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article an overview of the complexities with Pipeline management in D3D12 and Vulkan applications   showing why many AAA release include long shader compilation steps at application startup time  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article shows the theory of perspective projects and discuses perspective distortion  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the Unity tutorial shows how to write a simple fullscreen heat haze shader an apply in the different rendering pipelines  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article provides at the authors work of the last 8 years   this provides a great insight into how large scale engines evolve overtime to solve new requirements and improve   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     collection of tweets related to VFX, shaders, and game art  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     this video tutorial shows how to implement an Overwatch magical shield effect   a transparent material with pulsating energy effects   the effect is achieved in Unity using the visual amplify node graph system  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the in-depth article presents how the light shafts in The Witcher 3 have been implemented   explains how a radial blur can be applied and provides a shadertoy to showcase the example implementation  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     overview of the SIGGRAPH 2020 PBR course   contains the titles, speakers and abstracts of this year's talks  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents an evaluation of what kind of gains can be achieved with temporal reprojection in a path tracer setting   uses an SSIM (structural similarity index ) metric to relate spatially and temporally reprojected path traced image to a purely path traced image with similar quality    provides data for multiple scenes and sample counts  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     collection of tweets related to VFX, shaders, and game art  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     part 2 of an article series discussing the mathematical foundation of matrix/vector operations   presents different methods exposed by Unity and explains differences of the various methods  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     next part in a Unity SRP (scriptable render pipeline) tutorial series covering the implementation of a bloom post-processing effect  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     A video tutorial that shows how to implement a stylized ocean shader using Shader Graph in Unity  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     collection of 7 compelling links to compute graphics/programming related topics  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents how the corals in finding Nemo have been shaded  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents a few techniques to compress Dynamic Diffuse Global Illumination probe information   presented compression reduced the size from 2.4GB into 168MB  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     brief article showing an overview of a render graph API   discussing the reasons why this kind of architecture could be beneficial   summary of the goals of the project  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents an overview of Vulkan barriers and shows how different barriers influence a PowerVR chip's ability to overlap work  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the second part of the series presents how to overlap work from two consecutive frames by submitting each frame to its own queue  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post presents how to use the Intel Embree library to generate a BVH tree for use with a GPU raytracer   offers performance and memory comparisons for the different quality modes available  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article present how the food in ‘Ratatouille’ was shaded based on the skin model   using a subsurface scattering approximation on a voxel grid   artists were given much control over the final more stylized appearance   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the Unity tutorial explains how to add an outline to a 2D sprite   implemented using 8 extra texture samples around the shading point   additional presents a way to make the outline size independent of the sprite size  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     collection of tweets related to VFX, shaders, and game art  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the Unity tutorial explains how to create basic compute shaders   shows how to use a compute shade to generate random positions in a sphere and use these position from the CPU to render meshes  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     This Unity tutorial shows how to pass data from the Shuriken Particle System to the particle shader  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article provides a high-level explanation of the Vulkan API concepts required to render a single triangle on the screen   contains well-documented example implementations to clarify some ideas through code examples  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     open source D3D11 implementation of the paper presented at EGSR 2020 ["A Scalable and Production Ready Sky and Atmosphere Rendering Technique"](https://www.youtube.com/watch?v=y-oBGzDCZKI)   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog posts list a few possible drawbacks that need to be considered if a mix of dedicated GPU and integrated GPU is supposed to be used in a single application  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     a small shader example that shows that texture channels can be reserved to allow objects to change color dynamically at runtime  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article shows how to improve performance of fullscreen compute shader passes by tiling thread workloads to take advantage of memory locality   test cases show an example improvement of 1.47x on memory bound workloads  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     a twitter thread that visually explains what the Fresnel effect is and how it affects the appearance of different objects  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post presents how the shadow move technique was implemented in Killer Instinct: Season 3   the effect uses information from the previous frame in offscreen render targets combined with movement noise, flow maps, and trail renders attached to bones   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post provides an overview of mipmapping, Colour Bleeding, and pre-multiplied alpha  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the short blogpost shows an artists material setup that uses a small 16x16 LUT as indirection table into PBR materials  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     collection of tweets related to VFX, shaders, and game art  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article discusses what memory aliasing exposed from Vulkan and D3D12 is and how it can be used to reduce memory usage   provides an example implementation of an algorithm that implements a resource aliasing allocator  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Towards Fully Ray-Traced Games: Addressing System-Level Challenges (Holger Gruen, Intel)   Generalized Light Portals   Efficient Adaptive Deferred Shading with Hardware Scatter Tiles   Post-Render Warp with Late Input Sampling Improves Aiming Under High Latency Conditions  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Neural Denoising for Path Tracing of Medical Volumetric Data   High-Performance Image Filters via Sparse Approximations   FLIP: A Difference Evaluator for Alternating Images   Evaluation of Graphics-based General Purpose Computation Solutions for Safety Critical Systems: An Avionics Case Study   Euclid NIR GPU: Embedded GPU-accelerated Near-Infrared Image Processing for On-board Space Systems.   Fast Eye-Adaptation for High Performance Mobile Applications. (Morteza Mostajab, Theodor Mader)  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Porting PBRT to the GPU While Preserving its Soul   Quadratic Approximation of Cubic Curves   Using Hardware Ray Transforms to Accelerate Ray/Primitive Intersections for Long, Thin Primitive Types   Sub-Triangle Opacity Masks for Faster Ray Tracing of Transparent Objects   Improved Triangle Encoding for Cached Adaptive Tessellation   Iterative GPU Occlusion Culling with BVH   Ray-casting inspired visualisation pipeline for multi-scale heterogeneous objects  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents a technique that uses late input latching and wrapping wrap render results to match camera rotations based on ideas from VR  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article provides an overview of the performance that can be expected from several Unity Engine shaders   the provided information is from the Mali OpenGL ES shader compiler   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents many techniques for rendering broad outlines for 3D objects    provides performance and quality comparisons of the different techniques   the final result is a flood fill based approach  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     this Unity tutorial explains how to implement a rain effect on the surface of objects using a technique that is used on a tri-planar mapping   droplets on flat surfaces and streaks when angled   this is implemented using the Amplify Shader Editor  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article summaries the changes announced at WWDC   Apple will transition from Intel CPUs / GPUs to custom hardware   the article shows an architecture overview, best performance practices, new hardware, and API features   including improved GPU debugging, shader compilation pipeline, raytracing and windows based tools  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     a look back at how RenderMan handled blurry glossy surface reflection in 2007 for Ratatouille    using a technique called Brick maps, a form of 3D radiance caches  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog post explains a CSG algorithm implementation based on using the depth and stencil buffer   the technique is used to implement player visibility in bushes  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the author provides an overview of the mindset, technique, and requirements for learning graphics programming   additionally contains a list of resources to books, videos, web, etc. about the topic  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the master thesis looks at Machine Learning techniques to discover visual issues, such as stretched textures, missing textures in a game environment  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     this PIX upgrade adds support for signal wait visualizations and improved buffer visualization  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the Unity tutorial explains how to implement a stylized skybox with sun, moon, and clouds using the visual shader graph system  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents how to use the AMD GPU Analyzer for compute shaders   the tool allows the collection of low-level information such as the ISA disassembly, register usage, etc  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article explains got to use the AMD GPU ANALYZER to get low-level information about graphics workloads   shows what additional information is required to describe the required pipeline state  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article explains how to collect GPU timestamps and synchronize the CPU and GPU timestamps  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article explains the basics required to render a triangle with WebGL   focused on clarity to show only the WebGL functionality and not provide any higher-level abstractions  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     explanation of the architecture of executing OpenGL on D3D12 using a Mesa-based implementation   presents the development of the implementation and how performance was increased at each step  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article explains how spectral rendering can be implemented in a DXR based path trace   shows what needs to be adjusted from a classical path tracer   additionally shows how to convert existing data from textures into spectral data for rendering  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     collection of tech art and VFX twitter posts, including a look at facial animation tech of the Last Of Us 2  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     a brief summary video of the "Monte Carlo Geometry Processing: A Grid-Free Approach to PDE-Based Methods on Volumetric Domains" paper   presents how this paper connects to light transport and provides an overview of 6 examples and a look at implementations of the technique   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents an importance sampling method that is based on wrap functions that approximate a single factor   introduces how to use the technique with several existing techniques including projected solid angle sampling, glossy BSFDs, and others  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     an additional explanation for the previously discussed paper containing the implementation for a rectangular area light  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article provides an overview of the WebGPU API and shows the steps necessary to render a textured, spinning cube  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the great in-depth article explains the concepts of light with many interactive examples   illustrates the connection between the different units, explains connected concepts such as solid-angle   additionally explains the relationship between reflections, shadows, and color  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents a new technique that combines techniques caustics and glint into a single framework   the presented technique combines deterministic root finding and stochastic sampling   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents a neural network upsampling technique that is aimed at 16x upsampling for real-time rendering   the neural network takes advantage of additional information such as depth values and motion vectors  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     list of computer graphics conferences, dates and links to the stream as they are all virtual this year  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Unity tutorial that shows how to implement realtime shadows for point and spotlights using a custom scriptable render pipeline   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents a taxonomy of the lobes that are composed to create a BSDF   gives a hierarchical breakdown of the different models with examples for the different branches  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents how to efficiently implement render-to-texture techniques using UE4   compares the implementation using Slate and Canvas and shows why a slate based implementation is a lot quicker  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the articles show what screenspace shadows can add to the scene, provide an example of implementation, and show how noise can reduce banding  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article shows how to derive the intersection between a ray and a plane  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the Metal shader API now supports function pointers   the talk provides an overview of the compilation models and performance considerations   function tables can be passed via argument buffers t the GPU  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the Unity tutorial explains how to implement a moving scanline post-processing effect  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video provides an overview of the D3D12 frame-level profiler   walkthrough of an example capture of Wolfenstein scene and uses it to explain how to use it to identify performance issues  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article explains several different methods that can be used to manage shader constant data   provides a brief overview of each technique and compares performance on Mali GPUs   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article explains a method that stores shader instructions encoded into a texture and uses a runtime shader to interpret the data   shows an experiment what happens if the texture is filled with random information  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the program for the online conference taking place this week   all videos are available on youtube and linked from this program  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     a twitter thread that lists new features Metal API features and provides links to documentation for each topic    including Programmable Blending, Indirect Command Buffers for Compute and many more  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the GDC talk discusses the voxel-based lighting and shadow system    how to handle performance vs. quality tradeoffs in algorithms   uses MSAA to increase the effective resolution on shadow maps on higher-end devices   how to implement gaussian blur efficiently with async compute    presents shader optimizations for PowerVR hardware  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents a frame breakdown of the PC version of Red Dead Redemption 2   covering  g-buffer breakdown, environment map filtering, shadow pipeline, and more supporting systems  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     NVidia driver update adds support for DXR 1.1, VRS Tier 2, mesh shaders and sampler feedback   additionally now supports Vulkan 1.2  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     a video from WWDC 20 provides an overview of the GPU pipeline, what hardware counters are available and how to use them understand application performance bottlenecks  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     video from WWDC explains the basic building blocks of the Metal ray tracing API and how to support more complex materials  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article provides an overview of several problematic mesh characteristics that cause an issue for ray tracing and how to resolve them  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     a lightweight and efficient method to render layered materials with anisotropic interfaces   based around GGX BRDF lobes approximations when aligned with the tangent frame  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           collection of tweets related to VFX, shaders, and game art  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           overview of two new libraries developed by Oculus and Qualcomm to expose low-level profiling information designed for tile-based architectures   Ovrgpuprofiler is a CLI application that provides access to assembled real-time metric details based on the low-level information   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           the article presents how to use stochastic LOD selection for a DXR based ray-tracer   the given technique uses a combination of ray and instance mask to influence the ray selection   discusses the importance of selecting consistent LODs between rays and shows a performance comparison  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           the article explains how Oodle Texture can prepare BC textures in such a way that secondary compressions stages (such as zlib) will be able to compress it further   shows what Rate-Distortion Optimization is and presents considerations regarding the importance of error estimators  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           the article presents CUDA for WSL 2, how to use it and additionally shows how it cooperates with container workloads  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents to Welch’s statistical t-test can be used to detect bias even with low sample counts   presents techniques to visualize and analyze the test results       
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           the article contains the answers to some common question viewers of the Ray Tracing Essentials webinar had  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           an extensive collection resource covering various aspects of GPU optimizations  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           the article presents how to create a running rat animation using a vertex shader   this is archived by using UV partitioning to apply different animations to different body parts  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           the first part of a WebGPU series shows the necessary steps required to render the first triangle  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     this tutorial explains how to bind resources and uses this to add basic camera movement support  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           the paper presents a technique that allows Cumulative Distribution Functions that cannot be inverted to still offer an analytical and exact solution   shows the method at the example of a unit square, stratified sampling of a truncated disk and torus  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           overview of cross-platform raytracing abstraction in "The Forge" and a summary of performance numbers on different platforms  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           the paper presents the sky and atmosphere model developed by Epic Games that support dynamic viewpoints between planet surface and space   support different weather and planetary atmospheric settings without high dimensional lookup tables  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           the video tutorial explains UV animation, extending this to support varying animations between pixels using flow maps   uses the presented technique to implement a movement of a planet atmosphere using the Godot engine   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the author presents considerations for designing conversations explained with the example of RGBE encoding   discusses quantization, round trip error, and precision maximization   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article explains how to deal with pixel coordinates correctly   shows why pixel center coordinates are at half-offsets   additionally shows how to integrate this into a ray-tracer correctly   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     an online summit with talks about ray tracing topics   covers topic such as ray tracing API, usages in games and developments for mobile  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     program for talks that will be presented as part of high-performance graphics 2020   lectures will be streamed for registered attendees and recordings will be released after the conference  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article provides an overview of an algorithm for GPU based rendering of 2D vector graphics   presents a performance comparison against other existing solutions  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the talk from Unit presents techniques required for best results with Unity High definition rendering pipeline   shows how to light a scene following photography theory  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents how a CSG Operation implementation based around point clouds has been designed for GPU architectures  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the Unity tutorial shows how to dynamically generate light blocker textures to simulate clouds and tree shadows   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the collection of talks for the field of neural rendering methods   starting with an overview of the area, covering semantic photosynthesis, novel view synthesis   closing with a look at the state of the art  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the two-part article series shows the difference between Bump-maps, Normal-maps, Displacement and Vector Displacement   presents an in-depth overview of the different techniques and compares the strengths and weakness with a visual presentation of the results  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the notebook shows how to interpolate gradients in a perceptually smooth way using Catmull Rom splines   the website allows experimentation with results in several color spaces  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Vulkan talks that cover the Vulkan sample framework, load/store operations, sub-passes, pipeline barriers   Roblox presents how to they manage command buffers, descriptors, render passes and pipeline state  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the author presents his implementation of a UI element system that allows arbitrary object scaling in a single draw call   the technique does not support texturing and requires offline pre-processing  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the UE4 tutorial is a primer on how to build distance field shapes and use raymarching from volume texture to render them  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     path 3 of path tracing shows how to extend the materials to support fresnel as well as reflection and absorption for rough materials   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article discusses how to classify GPGPU work into the critical sequential work and the total amount of work done across all workers   presents how this division is useful to talk and understand the performance of algorithms  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents how RGBE 8888 should be encoded and decoded correctly   explains the reasoning and shows how the encoding format works  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     part 2 of path tracing implementation series, adding Glossy reflection Anti-Aliasing, tone mapping, and camera exposure  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Podcast episode with Arisa Scott (Unity), Eric Haines (NVIDIA), Mike Hardison (Blizzard Entertainment), Mohen Leo (ILM)   discussing the evolution of real-time technology and upcoming techniques  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article explains how to use to distribute points onto the surface of a sphere  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     new Vulkan SDK now contains the Microsoft Shader Compiler   GFXReconstruct is a new layer and tool that will replace [vktrace](https://github.com/LunarG/VulkanTools), it allows recording and playback of Vulkan commands  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     this guide is designed to explain SPIR-V, what to use it for and present an overview of the internals   additionally provides instructions for tooling and extension mechanism  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Shader guide that explains how to write Unity shaders that are compatible with the  Universal Render Pipeline   highlighting differences between the built-in pipeline and Universal Render Pipeline  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article shows problems of floating-point precision in the model export pipeline  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the presentation explains what Ambient Occlusion is, and provides an overview of different algorithms used to implement the effect  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     presents a method to implement a Cubism effect, similar to what can be seen in "Spider-Man: Into the Spider-Verse"   provides a Unity implementation  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents Contrast Adaptive Sharpening and how it's used in EVE to make details on ships and planet surfaces clearer  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Unity tutorial that shows to mix Normal map correctly   considerations to export normal maps to take the most advantage of the BC compresses precision  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     A tutorial that shows a practical walkthrough on how to implement a path tracer in shadertoy   focuses on the generation of renderings instead of physical correctness  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article shows how to generate UVs for curved corners using Unity   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the articles present how the VRS (Variable Rate Shading) implementation was approached   offers performance and quality considerations   shows how the shading rate was adjusted dynamically  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     This Unity tutorial explains how to implement a Civilization VI style fog of war system   shows how to render the hex grid, use a compute shader to generate visibility masks and combine all parts for the final result  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the articles describe the design of the new geometry (import) pipeline of the Magnum engine   the new design focuses on the reduction of load time and extra flexibility to handle any GPU understood format  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     A global illumination system developed by Activision   the system is based on a static light baking approach with runtime support for dynamically changing lights and geometry  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the articles presents different approaches on how to implement a ring progression effect   compares rendering quality, anti-aliasing, performance, and setup work for each method   proves Unity source code for all presented solutions  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     collection of tweets related to VFX, shaders, and game art  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     authors notes on the Survey of Temporal Antialiasing Techniques talk from the Eurographics 2020 virtual conference   discussing TAA, how it works, how different implementations compare, weaknesses and possible future improvements   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the next part in a Unity tutorial series on the scriptable render pipeline   this part adds support for point lights, Spot Lights, static light baking and per-object lights   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article explains how the GPU based picking system in "Our Machinery" has been implemented   presented solution writes a small UAV from the pixel shader to record the closes picked object   shows how to make sure that the closes object is atomically returned  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article shows how the portal rendering effect in The Witcher 3 has been implemented   shows the Reverse engineered HLSL shader implementation  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     a GI algorithm based around tracing Virtual point lights (VPLs), converting clusters of VPLs into probability distributions and storing these into hierarchical trees  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     detailed post presents the idea of “decorrelating” color channels to maximize information in texture channels and eliminate redundancy allowing data to be stored in fewer color channels   introduction into Singular Value Decomposition SVD and how it can be used for channel decorrelation    showing quality comparisons for a PBR texture set and discusses possible problems  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Version 2 of Windows Subsystem for Linux  adds full support for D3D12 (not allows rendering to the screen yet)   this is implemented as Linux kernel model driver to expose the GPU to user mode Linux applications   DirectML and CUDA are implemented on top to allow machine learning on Linux guests  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     relaxed cone step mapping for relief mapping to add more details   async compute based tesselation for interactive terrain   the interactive deformations have been implemented using texture-atlas based technique   running pixel bound post-processing in parallel with the pre-pass of the following frame   advice for the reduction of d3d12 hitches  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     collection of concepts, macros, shader logics, that exists in unity build-in render pipeline and how they are represented in the new Universal Render Pipeline  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Khronos questionary that presents a list of suggestion for possible vulkan helper libraries   looking for feedback on which libraries would be of most interest from developers  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Unity tutorial that shows how to use a navmesh as a base for minimap rendering  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper proposed a new method that aims to improve ray tracing by offsetting ray starting point aways from the originating leaf nodes of the acceleration structures    the suggested proposal is generating an auxiliary data structure of hemispheres that make it robust to offset the ray starting point  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     A unity tutorial that shows how to blend multiple textures together and save them to disk using Unity  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     collection of tweets related to VFX, shaders, and game art  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Eurographics & Eurovis 2020 conference will be virtual and streamed starting May 25-29, 2020   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     brief overview and introduction into Mesh Shaders using OpenGL and Vulkan    
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     collection of notes about the content of the AMD talk presenting the AMD RDNA architecture and GPU optimizations   presents a walkthrough of a MIP generation example  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     A new newsletter with news and insight on volumetric filmmaking, virtual production, 3D rendering, and other emerging realities  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents a new technique that allows a massive number of dynamic lights to be rendered in real-time   the presented implementation shows 3.4 million dynamic, emissive triangles in under 50 ms   this is archived by reusing information from spatially and temporally adjacent pixels to filter probabilities to guide rays  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     AMD virtual event that contains talks about       Ryzen™ Processor Software Optimization       optimizing for Radeon™ RDNA Architecture       From Source to ISA: A Trip Down the Shader Compiler Pipeline       A Review of GPUOpen Effects       Curing Amnesia and Other GPU Maladies With AMD Developer Tools       Radeon™ ProRender Full Spectrum Rendering 2.0: The Universal Rendering API  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     collection of tweets related to VFX, shaders, and game art  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     overview of what Constructive Solid Geometry (CSG) is and workflows   presents the algorithm that allows for iterative updates including how to calculate intersections and mesh generation    
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the post provides an overview of the new AMD memory profiler for Vulkan and D3D12   this tool allows gaining a deeper understanding of memory usage   shows all allocations, tracked on a timeline, will enable comparisons of snapshots and gives warnings about possible problems  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article shows how to calculate the shadows from the sun   presents the results of the shadow quality with white and blue noise   the implementation is then extended to Spherical Positional and spotlights  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents how using blue noise can improve ray marching results   provides a shadertoy that compares against white noise  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     presents a breakdown of the RTX implementation for Minecraft  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the author presents his ideas about how the Nanite technology in the UE5 tech demo might be implemented  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article that discusses possible ideas on how the UE5 nanite technology might be implemented   contains links to exciting techniques that might be related, or inspired the development  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     an overview of the new Nvidia Ampere Architecture aimed at compute workloads   new tensor cores for f32 data, IEE compliant fp64, and BF16 throughput improvements   adds the ability to run multiple processes on the same GPU with error isolation  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     overview of new features in CUDA 11 and how the NVIDIA Ampere GPU hardware features are exposed  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the final part of raytracing series   presents what denoising techniques are and why they are required    presents a comparison in multiple scenes, explaining how neural network technique is trained  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents an overview of the Nvidia GPU architecture and how they developed over time   shows changes done to the hardware, discussing the strengths and weaknesses of the design  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     presents a technique that combines singed distance fields and ray marching to render static volumetric clouds   the signed distance field is used to only use ray-marching once inside the cloud volume  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents how to apply the monte-carle methods to geometry processing  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents an overview of ray sorting techniques and introduces a new method for ray sorting of secondary rays  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     this paper presents the results of testing done into human perception, comparing test-cases for perceived quality differences between resolution and framerate   proposes a model for prediction to enable an application to dynamically adjust framerate and resolution based on the findings to achieve the highest perceived visual quality   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the Video presents an overview of a shader technique implementing the behavior of leaves in Animal Crossing   this technique is based around storing individual pivots for multiple leaves and applying dynamic effects based on this   implementation with blender and Godot is shown  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the author presents his view on WebGPU for use in native applications   showing why it could be an excellent offer for many types of developers if it can deliver on its promises  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     collection of resource links to presentations, papers and articles focusing on the details of GPU architectures  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     a brief overview on how to get started with CUDA   programming model and required components  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     a tool to generate meshlets for use with compute based culling algorithms or mesh shaders   explains the difference between Bounding Spheres and Visibility Cones and how to use them for culling parts of meshes more efficiently  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the presentation provides an in-depth overview of shadow techniques for real-time applications   discusses what shadow maps are, how they are rendered, stored and used   provides an overview of common problems and solutions   additionally provides an overview of more advanced techniques such as filtering and cascaded shadow maps   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents the definition of a physically-based material that is energy conservation and reciprocity    reciprocity is essential to be able to use bi-directional path tracing techniques   looks at common methods such as Pre-Filtered Environment Maps, several Dielectric Material implementations presenting if they are reciprocal and/or energy-conserving and explaining why  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents how to implement a prefix sum using Vulkan compute shaders   looking at memory model, dynamic allocations and subgroup controls  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the Unity tutorial explains how to use the depth texture to apply a localized toon shading effect   shows how to sample the depth texture, unpack the data and use it in a shader  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     new Nvidia extension for D3D12 that provides shaders the possibility to query timestamps from within a shader   the article explains how to use this technique to visualize the performance of TraceRay( ... ) with a heatmap   shows how to enable the extension in C++ and how to integrate it into a shader   comparable to the [VK_KHR_shader_clock](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_KHR_shader_clock.html) extension  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     next part in the Unity Tutorial series about implementing a custom scriptable rendering pipeline   adds support for more complex materials such as details maps and normal mapping  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video provides an overview of Variable Rate Shading (VRS)   present an overview of VRS implementation in Wolfenstein New Blood and Gears: Tactics for performance and quality   discusses considerations in how difference workload affect the performance gains that can be expected from VRS  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     breakdown of the rendering techniques used in Mortal Kombat 11  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents an alternative execution model that would be able to improve upon Timeout Detection and Recovery mechanism found in the OS   after 2 seconds the OS will terminate GPU processes and cause a device lost event   the proposal is to make the OS GPU process-aware which allows applications to start independent GPU processes that would behave similarly to CPU processes  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article provides an overview of the WebGPU API   covers the state of the implementation on Firefox and presents the next steps currently in progress   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents the Wrapped lighting technique to emulate subsurface scattering   the method is aimed for use with forward shading on the Oculus Quest  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     this part of the article on volumetric rendering shows how to model a volume using an SDF inside of shadertoy  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the second part of the article presents how to render the volumetrics   calculation absorption, Self-shadowing, quality improvements, and a few optimizations  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Twitter thread about the complexities of different light measuring units   provides a UE4 tool to simply conversion between units  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     a flowchart that provides an overview of the descriptor set binding logic of the Vulkan API  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     list of games studios and which custom engines they are using   broken down into AAA, middle, small and solo developers  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the thread provides an overview of what are use cases for quaternions   focusing on how to use them instead of the mathematics   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article explains problems with alpha testing materials and why they tend to shrink in the distance   presents a technique to reduce these artifacts and compares against other techniques  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     presents a test setup that explains how to validate ray refraction within a sphere   shows what values are expected, very useful when implementing your own ray tracer  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents how WebGPU compares with WebGL   compares findings in terms of API design, early performance results, and compatibility  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     part of the ray tracing series covering the rendering equation   breaks down the equations into components and explains the contributions to the final rendering result   shows how pure path tracing is using the equation and techniques used to reduce the time required for the results to converge to the final result   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the Vulkan validation layer now can send printf style information from a shader to the debug callback   the article explains how to use the layer and what constraints need to be considered  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the Unity video tutorial explains how to implement an effect that converts a 3D mesh into a voxelized version   achieved by rendering the mesh into an offscreen target and using the texture to drive a geometry shader   additionally shows how to break this object into a particle effect for destruction  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents how to calculate a blurred version of a rounded rectangle using a distance field based technique  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     a long document containing many tips and tricks to optimize UE4 performance   mostly aimed at materials and VFX related optimizations  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the last part of a series of UE4 based posts that recreate an environment artists scene   this part focuses on the recreation of the stylized ocean in the scene   combines all elements and presents the final result  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the guide presents an overview of the structure and content of technical interviews   presents a framework for mapping rendering engineers in different dimensions  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     provides an introducing into linear blending   explaining that pixels are no signal but rather samples taken at a given location   presents the star-shaped artifact of bilinear filtering   discusses an alternative to bilinear filtering with links to papers and analyzes the frequency response of some filters  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents how to use the Mitsuba renderer to validate the results from a PBR renderer   provides an overview of the file structure used by  Mitsuba and how to convert units where required  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents that Godot has now 3 update frequencies for shader parameters global, per-material and instance   provides a few video examples that show use cases of global parameters for vegetation interactions  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     part 5 of Nvidia ray tracing series   focuses on the presentation of different visual effects that are created through ray tracing   such as depth of field, motion blur, atmospheric effects  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Eric Haines will be giving a webinar on May 12   explains concepts related to ray tracing, comparison of ray tracing and explain how specialized hardware can accelerate the workload   additionally covering denoising and other techniques required to make interactive raytracing possible  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     part 3 of Rust gfx-hal intro series   shows all the steps required including binary serialization of mesh data, shader changes and all other Rust changes needed to render a spinning 3D teapot  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     presentation from revision   focuses on the physics of light interaction with matters   overview of shading models and possible implementation techniques  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Cuda introduces new memory management functionality   allows developers to reserve virtual memory ranges and map these ranges to physical memory on demand  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article shows that the D3D12 alignment requirement rules have an exception for small textures that allows a reduction in alignment requirements   this behavior needs to be explicitly requested and presents how to take advantage of it  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents 3 different techniques for Unity that allow the color of UI elements to be dynamically adjusted   shows pro and cons for each technique and what good use cases are  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     talks aimed at computer science students starting to get started with GPU technology   present an overview of GPU hardware architecture   how functional programming is a good fit for GPUs   shows how to adjust 2D rendering algorithms to be better adapted for the architecture   overview of the graphics infrastructure (compilers, APIs, shader languages )  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article and video and present a high-level overview of the rendering passes of Overwatch  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Part 1, [2](https://maxliani.wordpress.com/2020/04/16/life-stories-the-glimpse-renderer-part-2/) and [3](https://maxliani.wordpress.com/2020/04/17/life-stories-the-glimpse-renderer-part-3/) of a series about the story of the  Glimpse Renderer   a renderer was written from scratch and used in multiple movies such as The LEGO Movie   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the talk presents an overview of rendering features developed for Path of Exile   showing what constraints the game provides and how it enables these implementations   Point Light Shadows (Screenspace Hierarchical Variance shadow maps)    Screenspace Global Illumination   Subsurface refraction, a technique used for ice and water   Water flow map generation on the CPU using Algebraic Multigrid   grass and fur using pre-calculated raytracing   an extensive collection of brief overviews of other techniques such as burning, fracturing, scalar field vectorization  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     A virtual machine that is written in C enables executing of a subset of SPIR-V shaders (only 2D texture operations, no 3D etc.)  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     presents operations that reduced the shading time required from  21.58ms to 13.52ms   combination of scene-specific adjustments, implementation changes to noise generation and variance reduction  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     A guide aimed at technical artists to preset best practices for geometry, texture, material and shader optimizations for mobile devices  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents implementations optimizations to speedup trilinear filtering   taking advantage of the representation of power floating-point number to speed up operations  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     The database of articles included in this series has been updated with a new look   this is the first step of a more extensive upgrade, and new functionality will be added soon. Stay tuned  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     collection of Vulkan tutorials for the VK_KHR_ray_tracing extension   the tutorial starts from a working .obj rendering using rasterization and then integrates raytracing   additional topics covered are Anti-Aliasing, handling thousands of Objects, Transparency, Reflections, Animation, Callable Shader and Ray Query  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article shows how Nsight was used for debugging a frame stutter bug in the Vulkan raytracing implementation of Wolfenstein: Youngblood   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the post presents how to use Nsight to apply the Peak-Performance method to determine a performance problem in Wolfenstein: Youngblood (Vulkan)   shows how to detect being memory-bound and how to reduce the texture memory being access in a hit shader  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     this Unity tutorial explains how to implement a burning effect for paper   this tutorial builds on previous parts of the series  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     part 1 of rust graphics programming series using the rust gfx hal   gfx-hal is a graphics abstraction layer on top of D3D12, Vulkan and metal   this in-depth tutorial covers everything required from the setup of the application, window, shader, etc. needed to  render the first triangle into a window  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the second part of the tutorial series extends the example so that Vulkan push constants can be used to render multiple triangles with varying settings   settings that can be modified include color, position, and scale  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents a method that allows validation of a physical camera model against ground truth data  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     collection of links and graphics community news such as ACM Digitial library being free, I3D posponed, ...  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article shows how to use quadratic interpolation for depth aware upsampling   the presented use-case presented is volumetric clouds  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the GTC talks provide an overview of Deep Learning Super Sampling   presents an overview of the challenges for upscaling the results of realtime rendering   shows a history of existing techniques and compares the qualities of different methods   includes a section on how to integrate the technique into Unreal Engine 4  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     his Unity tutorial shows one way of blending meshes that are close to the terrain with the terrain colors   the presented approach uses a separate depth texture to record the terrain depth and uses this to calculate the distance of a pixel to the terrain  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents a breakdown of the rendering stages found in the PC version of Batman: Arkham Knight   the game uses a  hybrid approach between forward and deferred rendering based on the distance to the camera   lighting is done in a computer shader using checkerboard pattern with upscaling   rain is using GPU based particles  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the GTC presentation explains how the technique aims to replace existing indirect lighting techniques   provides an overview of how the method combines ray tracing, fast irradiance updates, and a moment-based depth scheme to enable realtime GI without baking information offline  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     ACM tech talk with Ed Catmull & Richard Chuang happening on Tuesday, April 14  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents a new technique to speed up the rendering of complex, layered materials   the model doesn't rely on any precomputation  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents a method for direct construction of tileable isotropic blue noise   the technique is based on improved Correlated Shuffling  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     A twitter thread that explains what barycentric coordinates are and how they are commonly used in computer graphics to interpolate data   provides animated graphics to explain the concepts more visually  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents what Hierarchical depth buffers are, what they are used for and how to generate them   two different techniques for calculating these buffers are presented   one pixel shader based method and a compute shader variation   the compute shader variation is designed to only generate a single MIP level, not a full MIP chain   presents a performance comparison between the two techniques  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the Unity tutorial explains how to implement a cone of sight that is occluded by objects   intersection with the primary scene depth buffer allows constraining the effect to the surface of the terrain   a secondary "shadow map" from the position of the player is used to detect occlusion in the cone  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     collection of link resources from GDC, GTC   additional resources from Google, Intel, Ubisoft and Khronos  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     new Pix for Windows release with support for DXR 1.1, Mesh shaders and sampler feedback   also includes updated timeline news with the correlation between CPU and GPU work   additionally adds support for DXIL source-level debugging  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     GPU Trace and Nsight Aftermath now supports Vulkan   Advanced mode for GPU Trace collects more in-depth information over several continues frames  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the author presents his domain-specific language and how it's used to extend shaders   allows all state required for pipeline objects to be encoded as part of the shader code  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents best practices for multithreaded command recording with Vulkan   show performance comparisons of different methods and discusses common mistakes  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article contains many best practices for WebGL applications   discussing a large number of topics including memory estimation, performance guidelines, GLSL tips, texture performance, and constraints   additionally covers some WebGL 2.0 and Canvas related advice  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Microsoft and Collabora are working together to implement an OpenCL and OpenGL layer for Mesa that is running on D3D12   provides a summary of what Mesa 3D is and why API translation is important   also provides an overview of the implementation  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     presentation from Intel that presents how to use multiple adapters with D3D12   techniques for work-sharing and dealing with synchronization   offers performance numbers for the presented methods, best practices, and possible problems  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the presentation provides an overview of Variable Rate Shading (VRS), explaining what shading and rasterization rate are   shows what settings implicitly disable VRS on Tier 1 intel hardware   presents how VRS is integrated into Unreal Engine 4, Chivalry II   gives performance and quality examples for both   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Nvidia released the RTX Global Illumination (RTXGI) SDK v1.0   SDK provides a framework for realtime GI for games, it offers full source code    post contains a video overview of the techniques from GDC 2019  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Nvidia released a new version of the DDS exporter   improved mathematically correct filtering for mipmap generation adjusted to the content of the image   support for high-quality BC7 and HDR formats  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     post containing an overview of the new D3D12 Feature level 12_2 now called DirectX 12 Ultimate   covers Variable Rate Shading, Mesh Shaders, DirectX Raytracing 1.1 and Sampler Feedback   fully supported on PC and Xbox Series X  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the Unity tutorial shows how to use color masks to apply runtime coloring with smooth blending to sprites in a 2D scene   explains masking, blending over time and using a sin function to achieve effect looping over time  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the post provides an overview of the new Vulkan raytracing extensions   using similar concepts as DirectX Raytracing   the acceleration structure can be built on the CPU or GPU    the article explains how CPU scheduling is exposed to the application   adds support for DXR 1.1 features such as inline raytracing   additionally provides a few code examples  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the presentation provides an overview of mesh shaders   explains the problem with the classical geometry pipeline and how the mesh shader pipeline is an improvement   provides a walkthrough of code demonstrating how mesh shaders are implemented and what needs to be considered to achieve excellent performance   explains the meshlet data structure and how to use this as a base for a mesh shader pipeline   how to implement instancing, and using per-primitive attributes   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     build upon the @Reinventing the Geometry Pipeline: Mesh Shaders in DirectX 12" talks summarized above   provides more hardware details and how to design mesh shader implementation to give excellent performance   extending the meshlet pipeline with more advanced culling and mesh data compression   providing performance numbers for different techniques  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video provides an overview of the new Sampler Feedback feature added to D3D12   shows how to use compile sampler feedback and reserved resources to improve texture streaming   overview of texture space shading and how sampler feedback can be used to guide the system   closing with an API overview  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     overview articles by Nvidia for D3D12 Ray Tracing, Mesh shading, Variable Rate Shading, and Sampler Feedback  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article describes the VK_NV_device_generated_commands  extension for Vulkan   it allows partial command buffers to be generated on the GPU   more flexible then D3D12 ExecuteIndirect   main functional addition is the support of changing of shaders between commands  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents an overview of a BVH structure for GPU raytracing   this is not using any raytracing APIs and focuses on the data structure design   how to structure the tree, handle animated meshes and refit the structure for changes  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the post presents the fresnel equations that are used for smooth metals and surfaces such as water   shows the Schlick approximations and compares them to the equations and where to retrieve the necessary parameter values  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Reverse engineering the color grading solution used in "The Witcher 3"   shows how the indexing into LUT works, including rounding mode handing   the solution used by the game can use up to 3 different LUTs for the same scene  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article aimed at beginners presents how to use ShaderToy to get started with shader development   extends the example from simple colors to animated scenes   shows how to implement a spinning octahedron  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents an overview of aliasing in digital signal processing   then applies the information and shows how the same understanding applies to computer graphics   covering rasterization, texture and shading aliasing   short on time? Only read the TL;DR at the end   example code provided  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the Unity tutorial shows how to create an outline effect for 2D sprites   implemented by storing a signed distance field in the alpha channel and using that additional information that in the pixel shader  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     discusses buffer allocation, update and mapping strategies   descriptor pools, texture transfer synchronization, fence signaling, memory alignment, and shader variations  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the post discusses how to write a simple GPU Hash table implementation using CUDA   uses 32-bit keys and values with open addressing and linear probing  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents that combining signed distance fields of primitives using min and max operations can create incorrect SDFs   this is especially noticeable on the interiors of objects   offers 5 different ideas/solutions on how to solve the problem  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     part 4 of ray tracing series by Nvidia   this episode focuses on the RayTracing APIs in D3D and Vulkan   discusses the types of shaders and how they are interconnected  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Video tutorial for Unity that shows how to present the Echo effect (a point-cloud based rendering overlay) from "The Division"   covers how to generate the data, implement the rendering, interactions with the player and post-processing  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     overview of what is new with DXR 1.1   presents how to extend a depth pre-pass system for shader ray tracing using the DXR 1.1 RayQuery object  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the document provides an overview of the ASTC texture compression format   explains how end-point color compression works   encoding strategies, block sizes and how the format allows the compressor to adapt the techniques for each block  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents how to use new ARM tools to gather performance information (later versions will support Continues integration)   provides an easy to read report that can be used by non-programmers to validate the performance of the game   the tool allows performance budgets to be defined, will be shown in the UI   Automated screenshot collection when frames take longer than a specified threshold to produce  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article explains how exposure used to work in Unreal Engine 4.24   what problems the behavior caused and how the new implementation solves these problems   looking at grey-point targeting, physical exposure units, lens values, and perceptual brightness   additionally provides an overview of the debug modes available  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article shows how the milky way rendering from the Witcher 3   Blood & Wine DLC was implemented   including a brief look at the star rendering   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     A Unity tutorial that focuses on the deformation of a plane to create a crumbled paper look   implemented using a vertex shader  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the post provides an overview of an algorithm for boolean operations on geometry   this allows for runtime slicing of meshes such as for dynamic destructions systems   the idea is based around finding the overlap of two meshes to generate new vertices along the interception to create the cut  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     part 3 of Nvidia ray tracing series   this part focuses on the history of ray tracing hardware and presents how Nvidia changed its design approach   Turing has dedicated hardware for Raytracing and machine learning tasks. the previous architecture contained only general-purpose compute  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article discusses techniques to compress data for skeletal animation data used for game runtimes   presents an overview of standard terms   followed by a look at data quantization, quaternion compression, and track compression  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     a very brief high-level overview of mesh shaders and necessary OpenGL extension   provides a condensed OpenGL example that renders a fullscreen quad  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents multiple scenarios in D3D12 where manual barrier synchronization is required   followed by a back-to-back copy into buffers that cannot be synchronized by barriers and shows the behavior observed on actual hardware  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the post focuses on efficient and high-quality grid rendering for "The Machinery" editor   implementation is done in a pixel shader on world space quad created by two triangles   shaders deals with LOD selection, anti-aliased line rendering, falloff for gracing angles and grid extends  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     copy of an article that was published in GPU Zen 2, updated for changes introduced with Vulkan 1.1 and 1.2   covering memory management, Descriptor sets, command buffers, pipeline barriers, render passes and pipeline management   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     video comparing rasterization and ray-tracing algorithm   analyzing the strengths and weaknesses of both techniques and how they complement each other  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents an overview of Temporal Antialiasing (TAA) techniques, the history, different implementation techniques   follows up with a presentation of open challenges and discussion of possibilities for improvements  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     presents findings from compressing PBR material information into a single texture   developed for terrain-like materials   shows a comparison of memory usage and performance improvements  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     A FAQ for Vulkan best practices guide by ARM   swap chain acquisition, image transitions, device lost debugging, and transient attachments  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the 7-min video provides a walk through the history of light transport research   showing numerous techniques, how multi importance sampling can be used to combine multiple techniques   closes with the presentation of the "Unifying points, beams, and paths in volumetric light transport simulation" (UPBP) paper   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents an approximation to the GLSL trisect function   trisect splits an angle into three equal parts, playing the same role as square root in quadratics  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the tutorial shows how to implement a skeletal animation system using Geometric Algebra (GA)   additionally introduces the required GA concepts along the way   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents how to pack UV and gradients (ddx, ddy) into 32-bit gbuffer channels   this is used for deferred materials where the results of texture samples are not stored in the gbuffer  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the Unity tutorial shows how to implement a checkerboard pattern if a 2D player is behind another object   this is achieved using the stencil buffer   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     a 3 part series that provides an overview of the backend implementations of sokol_gfx for the OpenGL, D3D11 and Metal implementation  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Nvidia added support to the DirectX Shader Compiler (DXR) to generate SPIR-V that is valid to be used with the Vulkan SPV_NV_ray_tracing extension   the article shows an example and explains how concepts are mapped to SPIR-V  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents an overview of techniques to optimize pixel shaders   starting with techniques to make sure that pixel shaders are only run if necessary and offers several methods to reduce the cost of pixel shaders afterward  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the author presents how shooting stars in the Witcher 3 are implemented   show the vertex and pixel shader implementation   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the in-depth article presents the physical models and approximations of participating media (such as fog, water)   presents constant, linear and exponential fog implementations   extends these solutions to express atmospheres and provides approximations for numerical approaches  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the newest part in article series about defining a data-driven rendering pipeline   focusing on the definition of a render pipeline   a simplified version of a RenderGraph/FrameGraph system   build around render targets as central primitive   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the Unity tutorial explains how to implement a stylized Eyeball Shader using Unity Shader Graph  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     presents an approach to render particle effects using compute shaders   the primary focus is optimization for tiny, pixel-sized particles that are additively blended   lacking support of atomic on floats requires float->int->float conversions in the shader and how this influences the final implementation  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the results from the Vulkan survey have been released   contains comments, and what are the next steps that are taken to address the feedback  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents how to implement a Path Tracer using the Unity Data-Oriented Technology Stack (DOTS)  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article describes how to deal with device orientation changes in a Vulkan application efficiently   describes how to query the information from the system, recreate Vulkan objects and necessary modifications to shader code   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents the problems with ray tracing in terms of divergence workflows   Imagination GPUs are able to reorder rays in hardware to maintain better coherency   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog posts presents how to use high quality volumetric fog in UE4 to simulate ground level rolling fog   based on multiple layers of 3D texture based noise, and fake self shadowing  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     collections of art, unity tutorials and shader introduction articles  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     new Geometric Algebra designed for realtime graphics and animation applications   including SSE optimizations  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     article presents how to use barycentric coordinates in a pixel shader to manually interpoliate values in a quad  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents a brief overview of what deferred shading is   shows how to customize the deferred shading logic used by unity   expose global tweakable settings that influence the whole scene  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     collection of gpu resources   links to details about hardware, shader languages, and WebGPU  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the Unity article describes how to generate a stylized procedualr skybox   shows how to generate proper speherical UVs, generate a sky gradient, stars, moon, sun and clouds  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the Unity tutorials shows how to use  Material Property Blocks   this feature allows Unity to better batch draw calls even if multiple materials are used  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     beginner Unity shader tutorial that shows how to implement a gradient made from 4 colors forming a quad  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     last part of Unity shader torial that shows how to add ripples into the sand dunes   this is achieved using normal mapping  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Unity tutorial that shows how to calculate new normals from a vertex shader   this is required because the vertex shader modifies the vertex positions   normal is calcuded by transform neighboring points and adjusting the normal based on the relative change of the points   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article shows what needs to be considered when baking normal maps for use with separate applications   it shows what kind of different conventions exists, what common artifacts look like and how to verify that the content pipeline is correct  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article shows a connection between "2D cross product", Complex Numbers and 2D rotation matrices  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the tweet shows an alternative formulation for a normal transformation matrix (required when non-uniform scaling is allowed)   the technique uses less memory but more ALU  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the Unity shader breakdown explains how to dissolve a mesh using a combination of noise and height based effect  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Siggraph presentation showcasing a shadow system that enables thousands of shadowed-lights in large environments   uses a fixed size shadow map pool, each light allocates it's the target size   splits dynamic and static shadows, using conservative filtering for the highly sparse dynamic shadows   presents several techniques for compression, filtering and an overview of performance    
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents an overview of the Wave Function Collapse algorithm    a tile-based algorithm for the generation of procedural structures  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents a comparison between techniques to solve the harsh shadow terminator problem   offers comparison images in different situations and with and without normal mapping  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article shows a breakdown on how to approximate subsurface scattering from a point light using Spherical Gaussians   presents why spherical harmonics are not a good fit to approximate point lights  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents the basics of Singular Value Decomposition   shows how to use the concept to check if filters are separable and if not how it helps with approximations  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           a collection of articles, presentations and other resources covering volumetric cloud rendering  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           the presentation provides an overview of the development of WebGPU   presents a few API examples regarding how to use the API from Rust   additionally offers a solution to prevent the spreading of generics required by the API  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           short Unity tutorial that shows how to use sprites to simulate screenspace effects such as distortion and color shifts  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           the tutorial shows how light baking is implemented in Unity   shows how to integrate lightmaps and light probes into a custom render pipeline   replace the default surface model during baking with a custom model  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           the article presents Do’s and Don’ts for the use of GPU performance events   shows how to write performance event with D3D11, D3D12, Vulkan, and OpenGL   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           the article describes what color banding is and what causes it   presents a demo application that shows how dithering can help to reduce banding  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           the Unity tutorial shows how WorldSpace positions can be used to texture planar object   extends these ideas to show tri-planar mapping can be used to texture arbitary meshes  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           the article presents several Vulkan patterns that cause reduced performance and should be avoided   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           the paper presents a GPU compatible algorithm for processive approximation least-square encoding into linear bases  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents how ordering mesh data can influence rendering performance   compares different algorithms developed for this purpose   the primary focus is on how to train these algorithms using machine learning techniques   analyzes the results of different approaches and presents results  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article shows how to enable AMD FreeSync using D3D12 and Vulkan   presents how to use the library to encode color information into the desired HDR display format  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Vulkan 1.2 has been released   this release promotes [23 extensions](https://www.khronos.org/registry/vulkan/specs/1.2/html/chap38.html#versions-1.2) into core Vulkan   including extensions such as imageless_framebuffer, timeline semaphores, and better support for HLSL shaders  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Microsoft open-sourced two layers to help to port to D3D12   [D3D12 Translation Layer](https://github.com/microsoft/D3D12TranslationLayer) helps mapping from D3D11 style APIs to D3D12 style       Resource binding, renaming, sub-allocation, pooling, and deferred destruction       Batching and threading       Residency management    [D3D11On12](https://github.com/microsoft/D3D11On12) is implemented on top of the previous layer and contains the D3D11 specific aspects  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper examines k-d trees and bounding volume hierarchies   comparing the approaches with varying cone sizes  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article discusses the new timeline semaphore synchronization API included in Vulkan 1.2   superset VkSemaphore and VkFence allows synchronization between CPU and GPU using a single primitive   additionally provides support for wait-before-signal submission and multiple waits per signal  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the code snippet shows how to screenspace extends of a sphere from view space   an optimized version of [Clipped Perspective-Projected 3D Sphere](http://jcgt.org/published/0002/02/05/paper.pdf)  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents how Grassmann (Geometric) Algebra extends four-dimensional homogeneous coordinates into a larger algebraic structure  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the Unity tutorial explains how to achieve a stylized lava effect  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the Unity tutorial shows to implement the stylized lava effect discussed in the previous article using Shader Graph  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the author presents his opinions about how a rendering abstraction layer should be designed   additionally offers his thoughts on Render Graphs, Meta Command Buffers, and meta shader languages  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     presents an improved precision method for normal reconstruction from depth buffers   the technique uses 5 depth samples in each direction  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents a few approaches to skybox rendering   introduces how to use the min/max depth of the D3D12 viewport to force skybox to a max depth   the comments present other approaches  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper introduces a technique for improving the computation time required for lightmap baking   based on guided sampling and minimum variance-based estimator combination   the method has a fixed memory footprint and is independent of scene complexity  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article shows how to use Node bindings to enable RTX support when using WebGPU   provides a brief overview of the DXR API and presents how to use the API to set up the pipeline and render an animated mesh  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents the shader nodes from Unity ShaderGraph system   explains how to use the nodes, what options are available and how to combine them  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents code and explains the logic behind correct dithering patterns that preserve the brightness   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article shows an overview of deferred shading techniques   alternative structures and methods for optimizations are presented   using compute shader for conservative rasterization for spot and sphere lights  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     new release of AMD profiler that introduces a new pipeline overview view and adds new overlays for the wave occupancy view   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article shows how to use RenderDoc to identify issues and how to alleviate them   most advice is not Occulus specific and talks about shader complexity, LOD, culling, and empty draws   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     a short Unity tutorial that explains inverse lerp function   a function that given value in an input range returns a normalized 0-1 value   additionally shows how to combine lerp and inverse lerp to allow range remapping  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the latest Nvidia driver update introduce Variable Rate Supersampling for D3D11 + MSAA applications   driver side implementation that allows games to render with higher quality in the center of the screen   the article presents and compares MSAA and SSAA   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the second part of a shadertoy video tutorial   the tutorial extends the scene to render multiple parallax layers of mountain ranges   how to draw a moon  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     this video tutorial shows how to derive the signed distance field for a line segment  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     next part in Unity tutorial series about the rendering of sand   adds support for sparkling based on microfacets based on a texture with precomputed random values  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     a brief summary of mipmapping   shows how mipmapping causes details in glitter effect of sand to be lost in the distance   proposes a manual mipmapping strategy where the texture coordinates are adjusted to keep a constant texel density  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents how to write an outline shader for Unity   uses color, normal and depth information   implemented as a post-processing effect  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the Unity tutorial shows how alpha to coverage allows improved edges on vegetation   how to implement alpha to coverage into a shader    shows how to adjust mipmap calculation to preserve small details with this method  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     update to Vulkan database shows the first driver version an extension/feature has been introduced   a more natural way to compare extension support across different platforms  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article shows how to use the WebGPU API to implement everything required to render a colored triangle   this includes shader loading, mesh creation and command generation   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Twitter thread about the authors' recommendations about learning graphics programming  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           collection of resources covering physically based shading   a short summary for every source is provided  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the Unity tutorial shows to create a toon style glass shader using shader graph       
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           the article shows how the 1991 game Another World is being rendered   the game is using a 16-bit color palette, with a static background runtime cache and composited from an off-screen target  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           the article shows a collection of usage scenarios and explains what should be done for best performance   shows how to use RenderDoc to verify the behavior   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           the article shows how to render anti-aliased lines   expanding lines in the geometry shaders into quads and fading out the lines towards the edges of the quad  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           part 4 of sand rendering tutorial   adds support for Rim Lighting, Fresnel Reflectance, and a secondary specular highlight  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           the paper extends the Exposure Fusion technique to operate on a single image    the method aims to enhance the contrast in an image locally  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           the article presents a tile-based classification system for post-processing depth of field   DispatchIndirect is then used to execute only the required functionality   the post shows how the classification, stream compaction, and final execution is implemented  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           collection of tweets related to VFX, shaders, and game art  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           the article provides an overview of the technical artist role    the author shows different specializations and offers recommendations for skills required   additionally includes general information about the application process   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           the article shows the two different shader compilers for D3D12: the FXC and DXC compiler   presents a high-level overview of the compiler   how to compile shaders from DLL vs. command line and other relevant information on the usage  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           the article explains the parallax effect and how it's different from normal mapping   afterward shows how to extend a Unit surface shader to support parallax   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           the article describes the algorithm rewire of a vector to triangle mesh tesselator written in Rust   focuses on the discussion of precision issues,  fill rules and custom vertex attributes  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           the Unity tutorial shows how to implement a thermal view effect   implemented as offscreen rendering and the result is blended with the main pass  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           collection of tweets related to VFX, shaders, and game art  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           A unity video tutorial that shows how to generate a circle procedurally   additionally shows how to deform the circle, apply different line width and other modification  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           an updated article that presents the latest numbers and what APIs Roblox is currently supporting   nearly 50% of android users are now using the Vulkan backend   looking into dropping D3D9 support on Windows soon  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           the article presents how to inverse the CDF of the Disney SSS  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           a list of open-source ray and path tracers   the comment sections contain some additional ones  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           collection of games that have been selected by Nvidia as excellent showcases for the use of RTX raytracing  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           the first part of the video series that will explain the basics of ray-tracing   covers basic of ray-tracing with the diffuse lighting model  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           the recording of a talk presents an overview of the architecture of the Mitsuba 2 renderer   a set of problems and how Mitsuba can help in solving them  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           the unity tutorial provides a brief overview of the specular workflow compared with the metalness workflow   this is covered with a toon shading model   focuses on the art authoring aspect, less on the shader aspects  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           the article shows a UV sphere, icosphere and proposes the octasphere   an alternative way to generate a sphere surface   shows how to create a sphere and additional extend the method for other surfaces  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents transformations around an arbitrary axis and points   follow by a discussion of non-affine transformations (parallel lines are not preserved, such as perspective projection)  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     video review by Digital Foundry of the games released in 2019s   talking about the technology used in different games, not just covering AAA games  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           the video tutorial shows how to write a ray marcher in a unity pixel shader  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           the article presents how to integrate FidelityFX Contrast Adaptive Sharpening (CAS) compute post-processing filter into an engine   the architecture is designed to make integration into a custom engine relatively simple  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article shows how to use a vertex shader to animate the vertices for a lightsaber effect       
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Instruction Set Architecture provides an overview of how Vega architecture is designed   an in-depth description of all instruction set and additional hardware details  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article provides an overview of new features of the PowerVR SDK   improved tools, improved Vulkan support, support for Android 10    
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article provides an overview of the experience using metal over the last 3 years   discusses the situation on iOS, macOS, and improvement has been made since the first iterations  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     collection of tweets related to VFX, shaders, and game art  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the Unity tutorial shows how to create a skybox shader that uses a gradient defined by two colors  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     a web-based ray tracing framework that exposes programmable stages based on GLSL for rapid prototyping, in a similar fashion to ShaderToy  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the blog details the mathematical approach of Monte-Carlo integration   additionally explores several techniques (such as Importance Sampling) to reduce the variance   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article extends the knowledge from part 1 to the domain of solving the rendering equation   explains the theory behind the different aspects of path tracing   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents an exploration of a material system designed for Vulkan requirements   the material system expresses the information required to create pipeline objects   additionally supports loading and binding of resources   example implementation (with provided code) provides examples of how to use it for different workloads     
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article shows the possibility of using Bezier Triangles to store arbitrary and use this as a lookup structure for GPUs   shows how to calculate Barycentric Coordinates   provide the foundation for Bezier curve creation   extends this to a triangle formation  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     new PIX version allows the creation of custom buffer formats and saves/restore those   can now start applications in a suspended state, this will enable workloads leading up to the first frame to be captured   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           collection of tweets showcasing a large number of effects, games and technical art resources   contains gifs that explain the length of a vector, dot and cross product  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           new GPU architecture by Imagination Technologies (PowerVR)   promises a 2.5x performance increased while using 60% less power and providing no thermal throttling problem   now uses MAD 128-thread wide ALU   improved multi-tasking systems allow timing guarantees for parallel GPU work  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           the article presents an overview of the Taichi programming language   a data-oriented language that separates computations from data structures   programmers can write algorithms as if the data structure was dense   compiler and runtime will deal with the extra complexity introduced by sparse data structures   can generate CPU and GPU instructions  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           the article describes the Visible GGX distribution (vGGX) sampling method    mathematically proves that this results in the required probability density  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     begins with an overview of RenderDoc functionality   shows what window are provided by the UI, what features they expose   how to take a frame capture of a game   and a basic look at how to start investigating the capture       
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           part 2 of the grass shader, part 1 was discussed in issues [105](https://www.jendrikillner.com/post/graphics-programming-weekly-issue-105/)   will extend the shader with tesselation, better lighting, and shadows   additionally shows how this can be extended to support trampling   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           the article provides an overview of matrices   introduces the idea of viewing matrices as spaces and the importance of frame of reference   with this knowledge presents the different types of linear transformation and how they influence the space   additionally covers translations, homogeneous coordinates, and projection matrices  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     part of Rust game programming series   the article shows how to call D3D11 from Rust   shows how to create a d3d11 device, swap chain and present the back buffer to the window  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     fork of the PerfDoc performance layer to detect performance issues on PowerVR hardware   the article provides an overview of performance issues that the layer can detect and possible improvements  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article provides an overview of the lighting model used by SculptrVR   designed for the hardware constraints of the occulus quest   it's based on the  Phong lighting and supports clay, metal, and glowing materials  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article provides an easy to understand overview of Variable Rate Shading   shows what quality and performance can be expected with different modes  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the tutorial explains the ddx and ddy shader functions   provides a visualization of its effects   shows how to use fwidth to antialias a cutoff transition from a gradient  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the Unity tutorial shows how to use transparency to create a look through the object   later uses a grab pass (copy of the screen buffer before a draw call starts) to implement a glass appearance material  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     part 2 of the shader glass material shader tutorial with Unity   extends the standard lighting model to feature stringer rim lighting, stronger highlights, and a more cartoony overall look  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     this Unity tutorial shows how to use the scriptable rendering pipeline to implement up to 4 directional lights   the shading model is based on the default physically-based unity BRDF    additionally shows how to deal with transparency and implement a custom material UI  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article provides a brief overview of the YUV/YCbCr colorspace and a few complications with it    then show how to use the ycbcr_sampler_conversion to sample YUV textures from a shader more efficiently  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     brief unity tutorial that shows how to implement effects that are based on the player position   such as flowers spawning around the player, or stones moving to form a path in front of the player  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article shows the matrices between XYZ colors and sRGB colors   these numbers vary from the ones found in Real-Time Rendering and Physically Based Rendering   the author explains how he derived the values and why they are correct  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents an overview of techniques that are not a good fit for mobile VR applications   provides brief explanations of the methods and the reasons for why they should be avoided   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     collection of tweets showcasing a large number of effects, games and technical art resources  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     a unity tutorial that explains how to create a post-processing effect that implements a Chromatic Aberration style effect   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article shows how the surface gradient framework  (discussed in issue [102](/post/graphics-programming-weekly-issue-102/)) can be integrated into the High Definition Rendering Pipeline (HDRP) from Unity   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     a new Vulkan extension that allows developers to query performance metrics from the GPU   exposed metrics are defined by the driver   granularity is determined by the capabilities of the GPU, ranging from single commands to complete command buffers  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     overview of advice by the author on what candidates should be focusing on if they are interested in getting started in graphics programming positions in games  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     list of open-source rendering engines and helper libraries   a mix of large, established and hobby projects   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     podcast episode for artists   contains a collection of links to other articles related to PBR rendering  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     provides an overview of the raytracing execution model    explains shader binding tables and why they are fundamental for raytracing APIs   differences between Vulkan, DXR, and OptiX   provides a tool that visualizes the required table layout for the different APIs and how to trace rays with correct offsets  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     links to Vulkan presentations and videos from  Reboot Develop Red   topics include Vulkan Ray tracing, mobile, and optimizations  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     research by Nvidia that investigates the influence of latency reduction and higher frame rates in the context of first-person shooters   shows that high frame rates are mainly significant because of the latency reductions it provides  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article explains how to render lines   extends the method to support different styles of line rendering  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents a new technique that uses a neural network to reconstruct foveated rendering from sparse source data  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article provides an overview of the new API that allows users to request the underlying D3D12 resources from an application that is using the D3D9 on D3D12 layer  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article proposes a technique that uses a random texture to perturb the normals of dunes to simulate the variation caused by sand grains  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article provides an overview of how Vulkan descriptor set management influences CPU performance   provides 3 possible solutions to the problem   showing how they affect both performance and application implementation   suggest a descriptor set caching scheme combined with using a single VkBuffer to store uniform data   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     D3D12 is adding two new flags for memory heap creation   D3D12_HEAP_FLAG_CREATE_NOT_RESIDENT, the heap is created non-resident state to enable EnqueueMakeResident to be used for heaps   D3D12_HEAP_FLAG_CREATE_NOT_ZEROED enables an optimization that allows non-zeroed pages to be returned  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article proposes a solution for voxel rendering   voxel scene is pre-calculated into multiple vertical slices   each slice is represented by an image and stores all voxel in the slice   additionally contains a logic summary on how to procedurally generate a voxel-based island  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     brief article explains how to detect particle overdraw using the PowerVR profiler   suggest to disable anisotropic filtering and use close fit meshes for particles   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the author mentions the new rendering features of Disneys' Hyperion Renderer that have been used on Frozen 2   contains a large selection of stills from the movie  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     collection of tweets showcasing a large number of effects, games and technical art resources  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents a modification of histogram-preserving tiling algorithm discussed in [issue 45](https://www.jendrikillner.com/post/graphics-programming-weekly-issue-45/)   it removes the lengthy 3D optimal transport preprocessing step and replaces it with per-channel lookup tables   aims to reduce clipping and ghosting artifacts   provides multiple blend modes that treat quality for performance  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article explains the problem with the  classic GPU geometry pipeline   mesh shaders allow kernels to execute on sub-parts of meshes and output per-vertex and per-primitive attributes   amplification shaders are run before, and output decide how many mesh shaders to launch   shows code examples on how to use the feature in both HLSL and C++ API   ExecuteIndirect also supports launch mesh shaders from the GPU  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article explains what has been added with DXR tier 1.1   it doesn't require new hardware features but needs a new windows version and driver support    provides an alternative to that doesn't use separate dynamic shaders or shader tables   inline shaders allow all shader stages to trace rays   additionally added features are DispatchRays generated on the GPU   growing state objects, GeometryIndex() in ray shaders, flags to skip triangles / procedural geometry  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     new Vulkan guide by Khronos   a crucial starting point for getting started with Vulkan   provides an overview of the ecosystem, components of Vulkan, tools, ...   additionally contains links to specific usage patterns and further information  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents the use-case of the streaming system and texture space shading   sampler feedback is a hardware feature that allows D3D12 shaders to write to a texture which MIPS has been accessed   FeedbackTexture2D is a new HLSL resource type to express it   the granularity of the feedback map is user-controlled  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Twitter thread about possibilities of texture-space shading   Sampler Feedback addition in D3D12 can improve the implementations  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper introduces a technique for improving the computation time required for lightmap baking   based on guided sampling and minimum variance-based estimator combination   the method has a fixed memory footprint and is independent of scene complexity  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper introduces a technique for translation of materials between different renderers    using an image-based metric for uniform and texture based paramterization  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video shows how to modify the SDF of any geometrical shape to make its edges more rounded  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the post introduces new D3D12 features available with latest win10 preview version   DirectX Raytracing Tier 1.1 introduces ExecuteIndirect, dynamic raytracing PSO additions and Inline Raytracing   Inline Raytracing allows RayQuery to be called from every shader stage   DirectX Mesh Shader are similar to nvidia mesh shaders, allowing more flexibily in the vertex processing pipeline   DirectX Sampler Feedback allows the recording of which parts of textures have been accessed   enabling more fine grained streaming and texture space shading scenarios  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the video explains the basic of shaders in Unity for beginners  
                    
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the ARM developed sets of samples to showcase best practices for Vulkan on mobile is now open-source and part of Khronos   article has list of samples and tutorials for a number of different areas  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Khronos published a unified Vulkan Samples Repository   all samples are based on the same framework and have been reviewed and are maintained by Khronos  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article shows the Unity shader implementation for stylized and unlit grass   a geometry shader is used to spawn a variable number of grass blades based on camera distance   grass movement by wind is emulated with a displacement texture  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     starts by showing how to create a small 2D world procedurally   small overview of explicit vs implcit surface ray tracing   then shows the steps used to render a procedural mini planet   including ocean waves, mountains and clouds  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     summary of SIGGRAPH 2019 for a hybrid solution between temporal anti-aliasing with adaptive ray tracing   using heuristics to detect when adaptive ray tracing provides the best improvements  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents the different meaning of the term gamma in different color contexts   suggest to always use a piece-wise sRGB function  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                          presents an overview of the difference between static and dynamic branching   dynamic is a lot more expensive of PowerVR hardware   shows examples of problematic cases with dynamic branching   presents an extension that can be used to make the dynamic branch a lot more performant if all threads agree on a condition  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     introduction of marching cube pre-pass stage reduces the mesh shader example GPU time by 33% to 50%  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     collection of tweets related to VFX, shaders, and game art  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the author presents his solution on how to implement painting onto textures using unity   intersects mouse position with meshes, converting into UV space to be able to apply painting information using signed distance fields  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents the D3D12 resource state promotion and decay rules related to the common resource state   mentions the AssertResourceState debug API that can be used to validate resource state promotion/decay behavior   explains the ExecuteCommandLists behavior concerning resource states  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents how the author took the CPU implementation of Ray Tracing in a Weekend and converted it to run on the GPU using a GLSL implementation  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     a brief presentation by Embark Studios showing RLSL, a subset of rust compiled to SPIR-V   experimental stage   showing how/what it is currently implemented, vision for the future   presents examples of how shaders are implemented   integration into the rust ecosystem    
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article describes how the architecture of mobile GPUs is different from PC    shows why load/store operations have a significant impact on mobile   present a demo application to profile the various load and store operation  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the tutorial shows the steps necessary to render a single triangle using the D3D12 API  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the tutorial shows the steps necessary to render a triangle in WebGL using Typescript  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     excerpt of Siggraph 2019 talk that proposes averaging of neighboring rays into cells   using a jittered access + filtering to remove artifacts of discretization  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article shows how to use the Radeon GPU Analyzer to generate hardware native ISA disassembly, provide resource and register usage statistics  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article describes a demo scene effect that uses a 2D height map on a flat 2D shaded object to simulate the appearance of 3D voxels   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     next part of tutorial series shows how to extend a sphere tracing implementation in Unity to use the depth buffer correctly   shows the necessary shader state changes and how to calculate custom depth output in a pixel shader   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     part 1 of a Unity tutorial series about the sand rendering in Journey   show visually the contribution of the different shading components  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     a mathematical framework for more consistent layering of bump/normal maps using linear surface gradients   shows the problems with reliance on vertex level tangent space in existing techniques    how to express existing methods in the new framework   including source code    
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     high-level system discussion of a retro GPU emulation implemented in Vulak compute shaders   implementation details are discussed in the presentation   using Subgroup and async compute for further optimizations  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     new RenderDoc version allows explicit GPU playback selection   improved SPIR-V reflection, performance improvements   more extensions and feature levels supported for Vulkan and D3D12  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     proposal of approach for rendering layered materials   layers are defined by anisotropic NDFs on varying tangent vector fields  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the post describes the perspective from Stardock on D3D12/Vulkan vs. D3D11   new possibilities but also many more problems   performance improvements with D3D12 need to be balanced against the higher QA costs compared to D3D11  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     proposes a real-time solution to rendering unstructured point clouds   combination of temporal reprojection, random point selection, and GPU vertex buffer shuffling  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     provides an overview of the foundations of denoising techniques   expands pon the basics to explain how more complex schemes are constructed   how to consider denoising as a building block for several different problems  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     in-depth article that provides an overview of subsurface scattering techniques used for games   presents the most common techniques found in games, Texture-Space Diffusion, Screen-Space Subsurface Scattering, and Pre-integrated Subsurface Scattering  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the author provides an overview of problems that are encountered and make text rendering system very complex   overview of terminology, overlapping glyphs, antialiasing, styling end emojis  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     presents a model to simulate erosion and transport simulation for sand due to wind   the simulation can generate a large number of different dune types  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper proposes the addition of a Traversal Shader stage to the DXR model   this shader stage allows the programmable selection of acceleration structures   presented use cases are stochastic LOD selection, choice of LOD levels based on ray type and improved multi-level instancing performance  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article shows how to use 16-bit floating-point types on PC hardware   differences in handling between APIs and shader compilers   only modern hardware supports native 16-bit instructions on PC  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     collection of tweets related to VFX, shaders, and game art  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article describes the characteristics of Fractional Brownian Motion   commonly used for the procedural modeling of nature  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article shows the precalculations steps that enable PBR rendering on mobile devices   irradiance map from the environment, BRDF lookup table for Cook-Torrance model and prefiltered reflections map  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the presentation shows the new WIP hair rendering system   a realtime system that is based on hair stands instead of cards   strands are rasterized into shadow and deep opacity maps   for performance reasons, a visibility buffer is written, and a sample deduplication pass is applied   shading is done in a screen space pass   shows how the different shading components have been implemented  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents guided filtering as an alternative to a bilateral filter   explains the bilateral filter logic and compares against guided filtering   showing what the strengths and weaknesses of both approaches are  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the new PIX CPU timeline view shows when a thread context switch happened and to where   optimized shader access tracking, significant speedup when opening the pipeline view   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     overview of denoising techniques in raytracing applications   covering sampling and signal processing techniques   additionally covers blurring kernels and spatial reprojection techniques  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     performance comparison of a ray tracer application using native OpenGL against WebGL (Chrome, Firefox)    The GPU performance is comparable on the D3D backend, even better at times  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Unity tutorial showing how to set up a custom render pipeline   covering how to set up the project   cull, filter, and sort objects   add support for multiple cameras    
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     overview video for the new DirectX Raytracing sample, showing a Raytraced Ambient Occlusion implementation  
                    
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     collection of tweets related to VFX, shaders, and game art  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     provides an overview of the ocean rendering system   the system is based around hierarchical, fully dynamic ocean data sources   shows how to model waves, integrate shading and realistic flow patterns  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents what kind of artifacts happen when reconstructing normals from world space positions   suggests how to reduce the artifacts by selecting triangles that are most likely to have originated from the same object   additionally shows how to use compute shaders and group shared memory to optimize the reconstruction  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents a method that allows SDFs to be combined with techniques such as linear skinning   this is achieved by calculating a triangle mesh hull for the SDF, applying the transformation to the hull and using this to trace   tracing linearly in transformed space follows a non-linear trace in untransformed space  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     overview of what has been improved in the latest apple GPU architecture and metal   sparse textures, what it is, use cases and explanation of how to use it   rasterization rate maps, mask that allows defining non-linear mapping between virtual and physical render targets   vertex amplification specifies which vertex calculations can be shared between multiple viewports and which ones are unique per viewport    better argument buffers, allow access to 500k textures and multiple levels of indirection  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents a new scheme that allows selectively combining different Monte Carlo rendering algorithms   allow the use of less computational complex algorithms for more straightforward light transport cases and more sophisticated algorithms for more complicated cases   enables to reduce the overall amount of noise in the same render time  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article explains how vertex shaders in "Our Machinery" engine is handled   all vertex data is explicitly loaded in the vertex shader   shows how a more flexible skinning variation can be implemented   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     excerpt from the [Siggraph talk](https://developer.nvidia.com/siggraph/2019/video/sig918-vid) talk   overview of the mesh shading demo   culling implement in task shader   frustum calling also is done in the meshlet shader stage, since only parts of the model could be visible on screen  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     DRED can now include PIX markers   additional string events can be attached to markers   debugger extension has been updated to provide access to the information  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the presentation explains how lightmap baking has been implemented in [Wicked Engine](https://github.com/turanszkij/WickedEngine)   how to ray trace with D3D11 compute and/or pixel shaders   discusses artifacts, limitations, UV packing, texture formats, and filtering   the resulting system is an object space shading system  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Metaballs2 demo has been updated   the demo shows how to use mesh shaders and now provides a compute shader fallback version   allows switching between both implementations   compute shaders require extra memory to store intermediate results  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     interview discussing the details of the Gear 5 implementation   all post-processing and UI rendering is done post-upscaling in the output resolution   using [Relaxed Cone Stepping](https://developer.nvidia.com/gpugems/GPUGems3/gpugems3_ch18.html) for extra details instead of parallax occlusion mapping   a mix of shadow maps and ray-traced distance field shadows   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     tutorial explaining how to implement a Caustics effect in unity   uses a tileable texture, that is sampled multiple times   slight offsets in RGB sample locations allow for color shifting across channels   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents an overview of performance methodology to detect performance issues earlier   including the building of test scenes, early clarification of constraints and constant checking of assumptions   setting budgets early simplifies expectations and possibilities  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     overview of the state of WebGPU in safari   Web Shading Language is a new text-based shader language, now supported   presents compile-time and size comparisons against SPIR-V based implementations   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     looks at the behavior of texture sampling in divergent code flows on different hardware   undefined behavior that is handled very differently depending on the GPU hardware  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     GPU assisted validation for VK_EXT_buffer_device_address   SPIRV-opt can now retarget shaders to use RelaxedPrecision without requiring source-level changes  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper discusses the design of the  Mitsuba 2 renderer   based on a combination of generic algorithms and composable compile-time transformations   demonstrates the approach with Polarized light transport, coherent Markov Chain Monte Carlo (MCMC) exploration, caustic design in heterogeneous media with multiple scattering  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     collection of tech art tweets, many gifs, and videos showing a large variety of effects and art styles  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper proposes a new weighting heuristic for multiple importance sampling   taking into account variance estimations   shows how to integrate the solution into Bidirectional path tracing  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents novel integral formulations for volumetric transmittance   it enables the use of Monte Carlo estimator variance analysis   comparison of different estimators for different scenarios  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     guide by Roblox for the career development of rendering engineers   what jobs are required, how to learn and personally take control of directed development  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     summary and links to the video recordings from Unity talks at SIGGRAPH 2019  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the first release of a new open-source D3D12 memory allocator project by AMD  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     a walkthrough that explains a Unity water shader implementation   the shader is designed to be easy to use, control and extend  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article discusses the image quality difference between film and realtime rendering   presents that games are overly sharp and what future developments might look like  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents a hybrid technique between Screen space reflections and ray-traced reflections   shows comparisons between the two methods, differences, strengths, and weaknesses  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     OpenGL tutorial that teaches the concepts required to render a textured mesh  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Microsoft is now offering pre-built binaries of the shader compiler on GitHub   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents different techniques to generate ray traced shadows   compares the performance of using Any Hit, Closest Hit or Miss Shader to determine if the ray has been occluded  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     intro to computer graphics from University of Waterloo summarized in one slide deck  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     slides for the Advances in Real-Time Rendering in Games are starting to be released  
                    
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     a brief historical look at the rendering pipeline   what aspects mesh shaders can improve   explanation of programming model   what new programming approaches it enables  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     overview of the interactive wind system in God of War   discussion wind fluid simulation, wind sources, receivers, and interactions   authoring pipeline, best practices, and algorithm implementation details  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     a presentation covering the volumetric effects of Red Dead Redemption 2    talks about the data model, rendering and scene integration   covering clouds, fog, sky, light shafts  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     instruction set documentation for the new AMD RDNA GPU architecture  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     frame breakdown of a Resident Evil 2   presents the different stages found in the frame   deferred rendering engine, heavy use compute and indirect draw  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents a distance for function for ellipsoid   how to improve it for better control and better interaction with other primitive types  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article discusses how to build a correct CPU occlusion sorting structure  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     slides for Siggraph 2019 course   talking about the state of ray-tracing   state-of-the-art in hardware and software developments   provides a history and vision of where ray-tracing in games is going to develop  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the detailed article explains how to tile-based rasterization works   show how to implement rasterization using this design   includes SSE and multithreaded implemenation  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     course notes for the Siggraph 2019 course   part 1 focuses on the necessary background knowledge  provide an insight into movie production requirements and mathematical foundation     part 2 focuses on materials (acquisition and production requirements) showing practical efforts, achievements and problems encountered  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article discusses the foundations of alpha compositing   explains the different compositing operations   show how to use pre-multiplied alpha to eliminate common problems   explanation of filtering, interpolation, blend modes, and additive blending  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     collection of VFX tweets of the week   tutorials, demos, and showcases of great looking effects  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article discusses memory management in Vulkan and D3D12   shows differences in API and exposed features   discussion resource allocation, mapping, cache invalidation, memory budgets, and resource residency  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     presents problems with the Fresnel equations when applied to sRGB data   model is only accurate when the parameters are carefully selected   comparison against the Schlick model   offers an extension of the  Schlick model for more accuracy and control  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article contains the links to the build-in Shadertoy media files   useful when implementing an effect based on reference found on Shadertoy  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     presents Axis-Aligned-Bounding-Tetrahedron (AABT) and Axis-Aligned-Bounding-Octahedron (AABO) as alternative approaches to  axis-aligned Bounding Boxes (AABB)  to build acceleration structures   displays the data structures in 2D and extends into 3D   showing results and possible proposals for more research into the topic   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     frame breakdown of a single frame in the Anki engine   clustered deferred engine   discussing shadows, Screen space ambient occlusion, global illumination,   Volumetric lighting/fog, reflections, tone mapping, and compositing  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article explains what wavefront path tracing is    how it enables efficient path tracing on GPUs   implementation provided in [Lighthouse 2](https://github.com/jbikker/lighthouse2/blob/master/README.md)  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     provides an overview of Vulkan pipeline caching   list of possible problems that can be encountered   different driver behavior and IO issues require user code validation   shows the system used by Roblox to validate the cache  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     slides for the High-Performance Graphics 2019 conference are now available   topics include raytracing, 3D text rendering, denoising, many light techniques, shadows, VR and more  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     A Shadertoy that shows the different components the define physically based rendering   with explanations and demos of the separate components  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     GPU based validation in Vulkan has been updated   now supports more cases, the article explains which are currently supported    the whitepaper provides more details  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Radeon GPU Analyzer can now compile compute shaders to the target ISA without having to have the GPU installed in the host machine   the article explains how the shader compiler pipeline works and the different ways to express the required information  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     an article explains the dot product and how it relates to the plane equation  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     shows how the dot product and axis define matrices   dot products can be used to decompose effects onto the axis   3 axis represents a 3x3 matrix  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article shows that with the inverse-transformation applied to a ray origin and direction    intersection tests can be done against the untransformed geometry   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     explains a renderer architecture that separates command generation from execution   commands have an associated sort key that is used to determine the execution order   shows how to handle materials, resource updates and some advice for debugging such a system  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     video recording of the i3D keynote discussed in detail in [issue 88](https://www.jendrikillner.com/post/graphics-programming-weekly-issue-88/)   additionally contains the QA that is not covered in the slides  
                    
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     survey by the ASTC Khronos group to understand compression use in games  
                    
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     a paper about a new hair rendering technique   the technique is a hybrid between strand-based rasterizer and volume-based raymarching   example implementation is available [here](https://github.com/CaffeineViking/vkhr)  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     video recording of the talk discussed in detail in [issue 87](https://www.jendrikillner.com/post/graphics-programming-weekly-issue-87/)  
                    
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     explains how to implement line lights   using a Most Representative Point (MRP) approximation   finds the point with the most significant contribution along the line and treats that as point light source  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     D3D12 motion estimation support exposes access to the motion estimation hardware found in supported GPUs    resolved motion vectors are stored in 2D textures, ready to be used by other application stages   the article presents the API  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     discusses a new renderer project aimed at providing a high-performance to enable ray tracing research   split into layers to provide application logic, scene representation and actual render codes   render codes are plugins that can be shared   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     shows how to compile the Basis command line tool   use it to compress a texture   and runtime code required to load it into a metal application  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the timing capture view now supports GPU workload visualization   the article shows the different features   overlapping GPU work on the same queue and on different queues can be visualized  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article explains how to use the DXC compiler API   compile a shader, shader reflection, and signing  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     updated page with all raytracing related sessions, talks and papers from Siggraph 2019  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Twitter thread about modern APIs   strengths, weaknesses, opinions, and suggestions for an alternate design  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper presents a new technique that allows the generation of spectral data from sRGB source data  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     open source and well-commented implementation of a spectral path tracer   provides support for the previously discussed technique  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Vulkan techniques used to achieve better performance on the Nintendo Switch   how to measure performance using timestamps  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     video recording of talk about the SEED halyon engine, was discussed in [issue-65](https://www.jendrikillner.com/post/graphics-programming-weekly-issue-65/)   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     slides that present common problems with mesh data   what problems geometry processing algorithms need to support   possible solutions to a few common problems  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     HLSLexplorer, a tool which helps in understanding how HLSL code gets translated to hardware assembly   added support for D3D12 preview and other quality of life improvements  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     part 1 of a Unity tutorial that shows how to create 3D geometry offset from  a texture and corresponding heightmap  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     collection of VFX tweets of the week   tutorials, demos, and showcases of great looking effects  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     presents a technique that improves the handling of nested dielectrics in ray-tracing   example for nested dielectrics is "ice cubes in a drink in a glass"   tracking entering / existing geometry + priority system to handle overlap cases   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           the tutorial shows to create custom nodes in Unity Shader Graph   shows to implement Vertex painting using shader graph and use it for a variety of effects  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           presents an algorithm for scheduling work in a render graph architecture   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           extension for WinDbg that enables debugging of Device Removed Extended Data   the post shows how to track and find the reason for a GPU device lost error caused by a page fault  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     presents how to use the Ambient Dice to store the GGX specular component   alternative storage scheme instead of spherical harmonics  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           derives weighting functions for  Multiple Importance Sampling (MIS) that  minimize the variance of an MIS estimator  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           a new strategy for the generation of stratified samples   using the concept of orthogonal arrays from statistical experiment design   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           the article explains how to generate high-quality blue noise  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     next part in the article series about the implementation of a scriptable render pipeline in Unity   adds support for multiple LOD levels per object   switching between LODs is implemented using a dithering transition   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     explains gamut mapping techniques   difference perceptual and clipping techniques   shows how gamut mappings are derived  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     shows how the fog in The Witcher 3 has been implemented   combines aerial fog and an artist-controlled fog coloring based on a gradient from 3 colors (front to back)   uses AO information to darken the fog in occluded areas  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     list of sessions from SIGGRAPH 2019 that are related to ray tracing techniques  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     new extensions in AMD driver   VK_EXT_full_screen_exclusive, allows application to enter fullscreen mode such as IDXGISwapChain::SetFullscreenState    VK_EXT_separate_stencil_usage allows separate depth and stencil states   VK_AMD_display_native_hdr, better HDR support for FreeSync 2 monitors without requiring AMD libraries  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     support for GPU timing data in the new timing capture view   a lot of GPU capture improvements  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     new glint integrator for specular surfaces using multiple-scattering patch-based BRDF    addresses energy loss introduced from classical normal mapping   uses normal maps and second moments of slopes as in [LEADR mapping](https://hal.inria.fr/hal-00858220v1/document)  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     shows a new version of voxel-based path-tracing based graphics engine   provides an overview of the implementation  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     new path tracing sampler techniques   distributed per-pixel samples so that errors are distributed as blue noise in screen space   provides C++ source code   comparison against other methods at various sample counts  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the paper builds on the techniques described in the previous article   introduces a temporal algorithm that locally permutes the pixel sequences   improves error distribution for a series of frames  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     describes how to support unbounded arrays of textures in Vulkan   presents two techniques to solve validation errors   first fills unused slots with a know valid texture descriptor   second shows the required extensions to enable partially filled descriptor sets  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     shows how to implement raytracing against a Signed Distance Field (SDF)   extends this to use sphere tracing  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     a master thesis that describes a progressively path-traced solution for indirect illumination lightmaps on the GPU   covers parameterizing geometry into lightmaps, improving coherence in a path tracer, reducing variance and spherical basis functions   presents a new way to store diffuse and specular irradiance using an Ambient Dice encoding scheme (additional post below)  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     explains how to extend the Ambient Dice basis function to store and evaluate both diffuse and specular irradiance  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     explains how branching on GPUs is commonly implemented   explains what divergence is, impact on performance and how to reduce it   GPUs use an execution mask to hide results from inactive threads   shows how this looks in GCN ISA and AVX512  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     describes the surface gradient framework   a framework for robust processing of height maps, height volumes, and normal maps   explains the Preliminaries (Tangent Frame, Height Maps, and Volumes, Wrinkled Surfaces)  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     explains how to combine sampling of projected spherical caps and multiple importance sampling   source code provided  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           collection of VFX tweets of the week   tutorials, demos, and showcases of great looking effects  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           an updated article explaining color blending with OpenGL   how the blend operators work and what premultiplied alpha is  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           hardware overview of the new architecture for AMD GPUs   now uses 32 or 64 waves wide operations   unified cache hierarchy including compression for all stages  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           the article shows what changes have been introduced with Metal 3   including metal support for the simulator   cleaned up feature levels into families  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           the article shows what changes have been introduced with Metal 3   covers additional details compared to the previous article  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           the paper investigates using the raytracing hardware support added in Turing GPUs to accelerate other tasks   uses the hardware to detect in which tetrahedral mesh a point is located   can achieve better performance than pure CUDA implementation  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     breakdown of two frames in the game   very little instancing   all render targets are manually packed into 32-bit formats   rats use a 4 level LOD system, and only the last level is instanced  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the presentation explains the stages a triangle is passing through while being processed for rendering   starts with a brief look at the software layers   provides more details on lower-level hardware layers  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Windows Version 1903 adds a new variable refresh rate option   enable VRR in older D3D11 games if the hardware supports it  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     beginner level explanation of the rendering pipeline for games   explains how game worlds are defined, and models are converted into something that can be seen on the screen  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     explains what a Vulkan pipeline cache is, why developers want to use it   presents best-practices  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     keynote from I3D presenting the challenges modern open world games such as FarCry need to solve   presents an in-depth case study for Multiscattering BRDFs & Area Lights   research investigation, implementation combinations with other techniques  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     part 1 of article series about Global Illumination   overview of terms and concepts required to understand Global Illumination solutions  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     a paper about Dynamic Diffuse Global Illumination solution   builds on the terms explained in the previous article   presents an overview of the problems the technique tries to solve   provides implementation details   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     collection of best practices and pitfalls when using Vulkan on Nvidia hardware   many of the guidelines should apply to other hardware manufacturers too  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article presents a comparison between two different sampling strategies for environment maps   tested on three environment maps with very different characteristics  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     presents an overview of what requirements need to be met on AMD to enable color compression on render targets   and what causes DCC to be disabled   look at barriers and copy queue usage  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     presentation with a collection of options and debug modes that help with debugging   provide a safe mode to disable optimizations and use API validation layers   overview of tools available and APIS to add more debug information  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     presents how ray tracing is integrated into the High Definition Render Pipeline (HDRP)   a brief overview of the Unity raytracing API integration   shows how different effects have been implemented   including optimizations and performance results  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     shows how to use HLSL to write a raytracing implementation using the Nvidia Vulkan extension   uses recently added DXC support to compile the shaders   updated docker image to provide the shader compiler support  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     presents how the Unity demo was made   overview of skin/hair/eye/teeth shading   facial animations used scanned information, at runtime need to resolve positions for hair   details about how the tentacles were created for the different use cases   based on Hermite splines, signed distance fields and divergence-free noise and skinning  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     overview of the deferred decal solution   uses bindless resource binding model   decals are part of lighting shader and don't modify the Gbuffer   presents use-cases, common problems, and optimizations for deferred decals   includes a lot of code samples to explain the concepts  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     a new release, range profiler provides detailed metric graph about the performance of the application   rules can be written to trigger custom performance warnings   ray tracing acceleration structures can be exported and inspected independently  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     summary of the Quake II path tracing implementation   presented in 3 video parts with notes   covering Path Tracing theory, denoising and the path tracer implementation  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Nvidia helper library to simplify the integration of Variable Rate Shading   the user only needs to provide eye positions and select performance presets   the library creates/updates/manages the required API resources  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the author presents what makes a graphics system paper   papers that introduce new systems and are not necessarily introducing new discoveries    provides what paper authors and reviewers should focus on  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     new point based shadowing algorithm for local area lights   better quality than single view and less performance required than multi-view solutions   generate a multi-viewpoint pointset for the area light   projecting points into many depth buffers at once  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     tutorial series covering Unity's scriptable render pipeline   explains how to combine real-time lighting with baked shadows  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     presentations that talks about the state of rendering   how did we get to today's state and what might be the next steps   ideas about challenges, workflow, and research   meant to challenge ideas and start a discussion  
                    
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     new representation approach for spectra   shows use in offline raytracing and real-time D3D12 application   a variable number of momements can be used to match quality and performance constraints   the source provided in C++, HLSL, and Python  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     database with articles that were previously covered in Graphics Programming Weekly    central location that aims to make it easier to discover/rediscover graphics programming information  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     open source release of the Basis Universal texture codec   similar compression as .jpeg but allows textures to stay compressed on the GPU   transcode from a common format into compressed GPU formats at runtime  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     collection of VFX tweets of the week   tutorials, demos, and showcases of great looking effects  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     presents the GPU based light mapper implemented in Unity, based on Radeon Rays   how to design for GPU occupancy and efficient cache usage  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     overview videos of the hair rendering in Frostbite   later parts will contain details about the implementation  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     master thesis trying to answer if raytraced real-time ambient occlusion is a viable option for games   providing path tracing theory, an overview of implementation (Vulkan)   presents the theory behind ambient occlusion    comparison for performance and quality with existing real-time techniques  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     proposed antialiasing technique combines rasterization with ray tracing   uses ray tracing to collect extra samples when information from previous frames is not available   run FXAA on the fast moving parts on the edges of the screen to reduce cost  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Microsoft GDC 2019 presentation about variable rate shading (VRS)   presents the history of techniques and what problems VRS is designed to solve   how VRS works   introduction into the API    how it performs on Intel hardware   results by Firaxis in Civilization  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     presentation video recordings have been released   a large variety of topics are covered   VFX, modern rendering features for 2D games, layer materials, raytracing, color management, Vulkan and many more  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     a new skinning algorithm that removes the need for iterative calculations from delta mush skinnings   the algorithm aims to reduce the manual skinning requirements   quality comparison against existing skinning techniques  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     a master thesis that demonstrates how to use multiple GPUs with Vulkan   comparison of sharing work by dividing the screen or recomposition of rendering results  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     shader tutorial aimed at beginners that teaches shader fundamentals using Panda3D and GLSL   starting with the basics of coordinate spaces, and GLSL shaders   shows how to implementing texturing, lighting, normal mapping   additionally outlining, fog, bloom, screen space ambient occlusion, depth of field and several stylization techniques   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     explains tone mapping terms and how the human vision perceives changes in luminance   the viewing environment has a significant influence on the perceived dynamic range   shows how different display technologies deal with bright pixels and what artifacts they produce   FreeSync provides information about the HDR capabilities of a connected to monitor to the application to be able to adjust the tone mapper accordingly   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     paper on path trace denoising   aimed at interactive scenarios with 1 sample per pixel   using linear regression and temporal anti-aliasing combined with many problem-domain specific improvements  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Vertex Descriptors in Metal allow the programmer to describe the memory layout of vertices   shader compiler inserts the necessary fetch logic to read the data correctly   this allows decoupling of vertex memory layout from the usage in shaders  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     shows how to implement Asymmetric Projection   adjust the projection on a render-to-texture in 3D space so that it appears as if the viewer is looking through a portal into another 3D space  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the new version adds support for hardware-level tracing on an instruction level   now shows the ISA inside of the pipeline view too   support for user markers have been added   a small overview of how to interpret the provided data  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     video for article discussed in [issue 76](https://www.jendrikillner.com/post/graphics-programming-weekly-issue-76/)  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the tutorial shows how to use BGFX running on Linux   initialize BGFX, load shaders, and models and draw a cube on screen  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     example project for a course teaching the basics of shader development using Unity   covers vertex, pixel, surface shaders   additionally talks about Shader Graphs and post-processing  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     collection of VFX tweets of the week   tutorials, demos, and showcases of great looking effects  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     presents what kind of approximations are still required to be done in Physically Based Rendering   opens the question that we should start looking at the approximations to determine where to focus on for the next generation of visuals    
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     proposal of requirements that would allow WebGPU to be used as a common cross-platform abstraction  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     describes an alternative bounding structure that is based around axis aligned triangles   starts with 2D example and extends the concepts to 3D   comparison against other bound object representations  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     overview video of papers that will be presented at SIGGRAPH 2019  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     describes the cross-platform shader pipeline   mix of json description files for state / constants / vertex layout / ...   code generator used to generate the final shader for compilation   cross-compilation pipeline for platforms that don't support HLSL  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Vulkan 1.1 will be a requirement on 64-bit devices starting with Android Q   [Thermal API](https://developer.android.com/preview/features#thermal) will be added to allow games to react to thermal status changes  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     tour of TensorFlow Graphics   allows to define 3D scenes and run training on them   system to allow bi-directional machine learning techniques  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     presents the history of 2D printing and font formats   shows problems with implicit curve evaluations   discussion of implicit surfaces in regards to 2D rendering  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     interview describing the reflections that have been implemented in the [Neon Noir Demo](https://www.cryengine.com/news/crytek-releases-neon-noir-a-real-time-ray-tracing-demonstration-for-cryengine)   merging voxel and ray tracing data   only tracing rays for mirror-like surfaces and the beginning of rays, otherwise tracing voxels instead  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     a method based on stochastic light culling   hierarchical Russian Roulette using an approximate scattering lobe   does not support perfectly specular surfaces  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     brief Unity example that shows how to render a basic fur look   combination of vertex offsets and alpha blending  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     overview about how to design a game to run all logic in Vulkan shaders   compute shaders to run the game logic and updating the game state   draw management is done using a compute shader and draw indirect is used for the final draw submission  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Dynamic Diffuse Global Illumination   overview of the evolution of several indirect illumination techniques   how the method tries to solve the problem of Irradiance Probes   summary of the implementation and evaluation in different scene contexts  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     reverse-engineering the cloud rendering of The Witcher   uses a texture based approach, including normal mapping the clouds   uses a sky gradient to lighten the clouds close to the sun  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     explains how to apply a screenspace Bayer dithering pattern in Unity  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     presents how Granite deals with vkPipeline management   API designed for user convenience   hashmaps used for control of the different state combinations   pre-warmed with information from previous runs using [Fossilize](https://github.com/ValveSoftware/Fossilize)    
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     explains a code generation method to generate helper functions to make indexing into unbounded resource tables more convenient   uses glslang symbol information to auto-generate accessor functions  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     explains the BHH (Bounding Half-Space Hierarchy) data-structure   allows sorting of 3D objects with sublinear search  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     bibliography file containing 2000+ entries, in computer graphics, rendering, transport theory, and statistics  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     part 3 of the volumetric cloud rendering series   the code has been released on [github](https://github.com/sergeneren/Volumetric-Path-Tracer)   Open VDB is used to store volumetric data  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     a twitter thread that provides an overview about how games, especially in regards to texturing, have changed since the 90s  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     presents the rendering architecture used for the raytracing demo   uses nearby pixels to fill in missing lighting information   temporal reprojection is used to gather extra information from the last 6 frames  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     overview of the state of graphics API wrappers and libraries for rust  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     explains 3D camera projections   shows the influence of the camera FoV and how it changes the perceived image   presents how to calculate a perspective and orthographic projection matrix  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     shows how to convert effects from unity shader code to use the ShaderGraph system   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     shows the window system abstraction   can be used to render to a window or into an offscreen render target   how to allocate temporary data that is only required for the duration of the frame  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article describes the process to locate a bug in Babylon.js PBR pipeline   comparison against other rendering engines confirmed the problem   caused by the difference between spherical polynomials and spherical harmonics   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     shows the effect on PBR scene when no tone mapping is applied   why tone mapping is required and explanation of exposure   presents how to calculate luminance and the final average exposure required  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     presents the process of tone mapping and how curves are used   shows different kinds of tone mapping curves and their final result   highlighting what different considerations need to be considered when deciding on a solution  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     new PIX version contains a preview of a new timing view   will support larger capture durations, up to hours   designed to better visualize a large amount of data collected   preview because a large number of features are still missing   team is looking for feedback  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     presents how render passes are expressed in the user-facing API   shows how layout transition for external dependencies are handled   separate logic for user-created, WSI images and transient images   suggests that barriers should be treated at a higher level inside a frame graph architecture    
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     presents a new technique for a stochastic sampling of spherical area lights that is suitable for GPU implementations   able to reduce noise from unoccluded areas significantly   based on cutting the projected spherical cap into disks and sampling the disks instead    
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the second part of the volumetric cloud rendering series   explains transmittance and phase functions   3D path visualization that presents how phase functions influence the way rays traverse the volume  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     an extended version of the GDC 2019 talk   overview of AABB and BVH   shows how to build a BVH using bottom up and top down building algorithms and update dynamically   presenting different strategies  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     explains how to create a layering parallax effect to simulate the inside of a marble using ray marching  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     presents how memory, object lifetime and command buffers are managed   resource lifetime is bound to a frame context   frame context tracks which resources can be deleted once the frame has been consumed  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     PDFs for all AMD presentations from GDC 2019 have been posted  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     shows the Cooperative Matrix extension for Vulkan   the extension enables matrix multiplications to be computed across a subgroup   enables better shader optimizations and allows the use of tensor cores on Turing GPUs  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     explains the HSV colorspace and how to convert it to RGB  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     using a Forward+ rendering pipeline and raytracing for shadows   presents a frame breakdown of the main rendering passes   acceleration structure for skinned objects is updated via UAV writes from a vertex shader  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     shows the different spaces that are typically involved in 3D rendering   how to transform between the different spaces   visually shows the effect of the transformations    
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     series on rendering of volumetric clouds   shows how to sample the sky lighting contribution    using a sampling scheme that places more samples in the bright sections of the sky  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Flax engine now fully supports a Vulkan backend   better performance than the D3D12 implementation  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     D3D12 is starting to allow GPU drivers to implement shader optimization in a background thread   provides an API to control the driver behavior  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     presents how the snow simulation has been implemented and how it was optimized for Intel GPUs   supports dynamic melting and build up of snow   tesselation stage is used to generate the snow mesh  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     presents the shader binding model used by granite   user binds resources to sets and bind points on a per-resource basis   Vulkan descriptor set management is not exposed to the user  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     vulkan extension that allows progress markers to be inserted into the Vulkan command stream   these can be used to detect the range of draw commands that have caused a GPU device error   a short overview of how it is used in X-Plane  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     a brief overview of the rasterization process   look at the logical rendering pipeline model   presents the different components that are used to implement pipeline in hardware   implementation details about the different stages  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Ray Tracing Gems is now also available as a free Kindle version  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     presents an overview of the general flow of a frame of the game   a more detailed look at the acceleration structures used for the raytraced GI implementation  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     looks at the composition of transparent objects, lens flares and at terrain tessellation   presents more images from the acceleration structures and problems discovered with it  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Microsoft released the engineering specification for Direct3D 11 and 12 including DXR  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     all GDC content from Nvidia is now available for download (free login required)  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     shows which tools are available to look at the shader disassembly for AMD GPUs   presents the instructions generated for a simple shader and overview of some of the instructions used   shows the effect of code changes to the code generation  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     preprint of I3D paper that will be presented in May   AO calculations are split into large-scale interactions based on sphere approximations   finer details are created using linear interpolation from key points on the spheres   both components are trained against ground truth data  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     overview of the latest extensions added to Vulkan on Nvidia GPUs   mesh shader motivation, execution model and how to use them   barycentric coordinates extension   subgroup overview and tensor core access   texture space shading   derivatives in compute shaders    
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     discusses the authors' thoughts about abstraction levels in graphics APIs   presents the motivation for the design of the granite engine API  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     provides a look at the 3DFX VOODOO1 GPU from the mid-90s   shows how the hardware and rendering pipeline was designed   comprising between the visual result of the software renderer and the GPU acceleration  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     a tutorial that explains how to render grass using Unity   uses a mix of geometry and tesselation shaders   covers how to generate geometry from the geometry shader, explains tangent space, and adds vertex attributes   tesselation shader is used to control the density of the grass   wind is applied to make the grass move   lighting and shadows are added  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     walkthrough of a simple cloud shading setup using the Unity shader graph system  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     with Windows Server 2019 or Windows 10, version 1809 GPU acceleration for Direct3D based workloads is now supported in Docker   also enabled Windows ML hardware acceleration  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     describes how cubemap pre-filtering for image-based lighting is done in Unity’s HD Render Pipeline   derivation of the filtering equation and comparison against the [split sum approximation](https://cdn2.unrealengine.com/Resources/files/2013SiggraphPresentationsNotes-26915738.pdf) used in UE4  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     windows update 19H1 supports GPI based validation with shader model 6, generated by the [DXC](https://github.com/Microsoft/DirectXShaderCompiler) compiler  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     presents the Creation Graph   a graph-based system that allows the definition of functionality, which mixes GPU and CPU based work in a single graph   examples presented: cubemap filtering for image-based lighting and skybox rendering  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     collection of tweets related to a variety of tech art articles   many great looking effects  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     videos and slides for GDC 2019 have been released on the vault  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     presents techniques used to alleviate ghosting in the TAA solution of "The Grand Tour Game"   uses the stencil to mark object groups and does not blend between with history buffer pixels when the stencils differ   uses per-pixel depth and velocity to disable TAA so as to further reduce ghosting on shadows  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     presents the coordinate conventions for Metal, OpenGL and Vulkan   how they differ and how to deal with the difference in a mixed API scenario  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     series part 1 of the reverse engineering of The Witcher senses   explains how objects are selected using the stencil buffer  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     reverse engineering of The Witcher sense effect   show how the outline for objects is generated  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     explains how the inputs from part 1 and 2 of the series are combined using a fullscreen effect  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     part 3 of tutorial series in building a path tracer in Unity   shows how to trace a ray against a triangle and extends this by integration of Unity mesh interactions from the scene  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     new Nsight graphics release adds improved DXR support, D3D12 fence visualization and Vulkan support for the range profiler  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     whitepaper presenting the Autodesk uber surface shader based on the Arnold shading model   based on ten components that are layered and mixed hierarchical to form the final surface appearance   defines a "preview" model that simplifies the shading model for real-time use   shows the effect of the individual components and exposed parameters   partial Open Shading Language implementation is provided  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     presents how to render maps using WebGL   shows how to convert color maps to elevation   generate normal maps from a height map   apply soft shadows, ambient lighting and combine with color map information  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     collection of resources aimed at helping beginners get started with graphics programming  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     overview of Variable Rate Shading which is starting to become part of the D3D12 API   will have a two-tier hardware support level   tier 1: per draw shading rate changes   tier 2: can vary shading rate within a draw, with a screenspace image or per-primitive  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     next Windows update will add support for library subobjects   these allow configuring raytracing pipeline state from HLSL, removing the need for boilerplate C++ code  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     youtube playlist with all Khronos talks from GDC 2019  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the author presents his thoughts on the current state of raytracing in games   where it can bring an advantage, weaknesses and the need for hybrid solutions   how it might influence art direction  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     explores a stable filter further   presents a new test that can be used to validate the filter quality better   performs experiments to find a filter that is stable and introduces less blurring than the filter discussed in part 1  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     ARM released a best practice guide for Vulkan   consists of runnable samples that show best-practices and shows common performance pitfalls   on-screen information visualizes the performance impact of different methods  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     look at the disassembly for parts of the skydome, sun, and stars shader from The Witcher  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     covers overview of color theory, color spaces, and encoding   presents what problems FreeSync 2 solves and what guidelines it requires hardware manufacturers to follow  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     list of best practices for ray tracing   how to manage the acceleration structure construction and building efficiently   how to manage pipeline objects, shaders, and resources   denoisers and memory budget  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     occupancy graph is now supported on Turing GPUs too   Variable Rate Shading is supported  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     a small article explaining the difference in the viewport coordinate system when using Vulkan compared to OpenGL   shows how to flip the viewport to match OpenGL convention  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     presents how to precalculate an energy preserving microfacet BRDF with a diffuse-like lobe  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     presents the authors' views on "do"'s "do not"'s for the future use of raytracing in games   how RTX gives new opportunities and also challenges   performance vs. quality tradeoffs will still be required, and raytracing will not make this simpler   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the latest update adds support to run the D3D12 game on windows 7   user mode d3d12 implementation without win10 kernel level optimizations   no public information about the implementation details yet  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     source code for the Ray Tracing Gems has been released  
                    
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     follow up to the post discussed in [issue 75](/post/graphics-programming-weekly-issue-75/)   presents a way to speed up the presented technique by 2.34x   discussion of the rendering error using the Eric Heitz method discussed above  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     pix for windows now supports High-Frequency Counters   This allows that hardware counters are sampled multiple times per draw/dispatch and allows further insight into GPU activity  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     a ray tracing system for Wolfenstein 3D using only WebGL 1   a hybrid approach, raytraced shadows, diffuse GI and reflections   overview of the implementation for the different elements   how to apply temporal stability and noise reduction filters  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     explains the concepts of textures, mip-mapping, sampling   shows the different filtering, addressing mode available on texture samplers   describes how to use DirectXTex to load textures and upload them into GPU memory   introduction into compute shaders and how to use them to generate mipmaps  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     a new low distortion mapping between squares and triangles that is also cheap to compute   can be used for random sampling of points with a uniform density  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     program for the I3D conference in Montreal has been published  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     presents 3 optimizations that can be applied to BVH to increase performance        usage of inverse ray direction, ray traversal early-out and surface area heuristic for construction of the BVH   the comments contain a few more tips for increased performance  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     a new technique for continuous level of detail generation of point clouds, designed for VF applications   additive point storage, each point is assigned to one level   compute shader used to iterate over all points, time-sliced over multiple frames, and builds a new vertex buffer that only contains required points   each point is classified into distinct LOD levels + a random factor, this makes it possible to allow the set to be changed continuously   points have a blend zone to reduce aliasing, in this zone point sizes are adjusted so that they gradually are blended to the final extent as the camera approaches the points  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     explains how the lightning effect in The Witcher 3 has been implemented   based on a tree-like mesh that is expanded based on the normals and additive blending  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     explanation of half-pel filters   shows properties of different filters common in video compression and how they perform when applied multiple times   common filters are "unstable" when executed multiple times   the feedback loop causes the results to be oversharpened until the results become unrecognizable   presents a filter that does not have a feedback loop problem and converges to a slightly softened but stable result  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     survey about the Vulkan memory allocator library   how it is used, how the experience is and what features are you used or are missing  
                    
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     getting started guide that shows how to use the bgfx library   initialize the library and render a cube to the window  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     overview of the state of graphics APIs in Rust   presents wgpu-rs, a higher level API based on the [WebGPU](https://www.w3.org/community/gpu/) API that is being designed for use in the browser  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     overview of particle system samples that have been created with the Visual Effect Graph in Unity   including small video demonstrations of most effects  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     an unofficial updated version of Ray Tracing Gems with fixes for the errors found in the original book  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     presents how to find a GPU crash on a low-end Vulkan device   caused by a GPU driver timeout, requiring the work to be split into smaller submits  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     overview of all sessions AMD is involved with during GDC 2019   will later also include links to the slides as they become available  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           the chapter describes the hybrid rendering pipeline used in the PICA PICA demo   uses a mix of rasterization and raytracing techniques to generate the final image   talks about opaque and transparent shadows, reflections, ambient occlusion, transparency, translucency, and GI techniques  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           Ray Tracing Gems is now available as open access book   the whole book is available as single pdf, but individual chapters can be downloaded too  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     presents a method to distribute sampling points within a triangle taking advantage of sub-triangles to guide the distribution   able to reduce variance in the test scene by 2.17x  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           collection of different sampling patterns   explains the patterns and the characteristic of each   provides C++ implementations  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     presents a new algorithm that allows to efficiently and incrementally generate stratified sample points  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           shows how to implement a fluid like movement inside an object, tri-planar mapping and a animated waterfall shader using the Unity Shader Graph  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           shows how to implement halftone toon shading with Unity   a technique that uses a binary lighting style that is modified by sampling screenspace signed distance fields to customize the edge between lit and unlit area  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           documents the experiments with HDR support using all 3 different hardware vendors   shows what HDR information is reported from DXGI and compares against manufacture APIs   all vendors seem to indicate very different information about the same monitor connected  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           presents how FreeSync2 supports HDR and variable refresh rate   explains what variable refresh is and what is required to use it   FreeSync HDR allows the game to collect capabilities from the monitor to adjust the tone mapping accordingly   shows how to use the AMD library to create and request the device  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           shows the method used to abstract pixel formats between OpenGL and Vulkan using an external enum format   using C++ preprocessor to provide abstraction and testing support  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     explains the design of the new Unity batching system   designed to enable better matching in situations where many materials are used, but they are using a small number of shader variations  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     in-depth discussion of color spaces   shows how the color response curve influences which color absolute values are referring to   explains how to match colors between different color spaces   how to represent color spaces visually   what negative color values represent   defines the standard CIE XYZ and RGB color space and how they have been defined relative to human perception capabilities   look at the sRGB color space related to all the information covered in the article  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     whitepaper explains how to enable GPU assisted validation   how it is implemented, performance implicatications   what issues it is a ble to detect and known problems  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     walkthrough of two algorithms for forward culling techniques   stream compaction and flat bit arrays   presents how to implement scalarazation to reduce atomics overhead and achieve higher occupancy   presents performance comparisions of the approaches with lights and decals  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     presents multiple approaches to calculate MIP mapping textures when using raytracing   includes performance comparisons for the different methods   DXR shader implementation of the RayCones mip selection algorithm  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     explains how to use GPU instancing    to render health bars for individual objects  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     implementation walkthrough of the OpenGL Scalable Ambient Obscurance (SAO) algorithm  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     shows how to implement a parallax effect in the pixel shader   allows the appearance of depth in materials that is not backed by actual geoemtry  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Vulkan extension that exposes NVIDIA Tensor Cores on Turing GPUs  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     video, author presents his approach to reducing of tiling artifacts in terrain textures using a height based approach  
                    
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     great visual explanation of Convolution Integrals   many examples that allow to gain a visual understanding of filters commonly used in computer graphics  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     chapter from the [Ray Tracing Gems](http://www.realtimerendering.com/raytracinggems/) book   describes the real-time GI preview system developed for the Frostbite engine, runs on the GPU asynchronously to the editor   uses an irradiance cache light map approach with denoising applied   presents performance and results of different acceleration techniques  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     shows the frame breakdown of Shadow Fight 3   rendering approach designed to reduce the number of draw calls   explains how the rendering system was designed to take advantage of the game design constraints to find very cheap solutions for lighting, shadows, and reflections  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     presents performance optimizations done for the 2D rendering system   reducing overdraw for blended objects   discussion of texture compression formats for detailed 2D pixel art   using [YCoCg-DXT compression](https://www.nvidia.com/object/real-time-ycocg-dxt-compression.html) to split luma and chrominance   requires two textures instead of 1 but still a performance win for the game  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     shows how to set up full-screen quad geometry data so that attribute interpolation can be used to generate the camera rays in a vertex and pixel shader with few instructions  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     card deck that introduces visual shapes and GLSL code required to create them   combined with [The Book of Shaders](https://thebookofshaders.com) (by the same author) it provides a good starting point for artistic shader projects  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     presents a brief look at the performance of emulating a custom command buffer format on top of OpenGL   notices a 7% overhead from the command buffer parsing  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     explains how to create a pulsating vertex effect using Unity Shader Graph and the lightweight rendering pipeline   shows how to set up the shader node graph and control parameters it from C# scripts  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     shows how debug compute shaders when using BGFX   a brief introduction into what is necessary to compile the project   explains how to compile shaders so that debug information is available and can be used with RenderDoc and the Visual Studio Graphics Debugger  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     open-source AMD Linux driver adds support to use async compute to cull primitives before the vertex shader stage  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     added support for ray and path tracing for the D3D12 backend   low-level abstractions and high levels features have been implemented   includes GI path-tracer to generate reference images directly in the editor   preview for render graph API  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Unity provides a plugin that implements the tiling stochastic texturing approach presented in issue [68](https://www.jendrikillner.com/post/graphics-programming-weekly-issue-68/) and [45](https://www.jendrikillner.com/post/graphics-programming-weekly-issue-45/)   source code for shader and offline precomputation step is provided  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     list of Unreal events/talks/presentations that will take place at GDC  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     presents a brief history of the development of WebGL and it's adoption  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     presents the equations necessary to express point  and directional lights when only area lights are supported  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     presents a simplistic approach to tone mapping results from a renderer  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     presents how the RGB color representation is based on human vision   shows how to visualize the visual color range in chromaticity diagrams   presents the Rec. 709, sRGB, Rec. 2020 and XYZ color space   shows which color ranges can and cannot be represented in each space  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Crytek removed all presentations from their website   a user has uploaded a backup copy of many presentations to his dropbox  
                    
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     presents how to optimize the compaction pass in a GPU culling pipeline   reduce memory bandwidth usage by taking advantage of shared memory and compression of data that needs to be processed   wrap level and shuffle instructions allow further optimizations  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     shows how to simplify the math for constant time sphere indexing (the technique was described in issue [64](/post/graphics-programming-weekly-issue-64/)  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     enables debugging of GPU hangs with D3D12 using Nvidia aftermath   allows trace comparison   Support D3D12 NVAPI Metacommand enabling [DLSS](https://news.developer.nvidia.com/dlss-what-does-it-mean-for-game-developers/)  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     presentations from Siggraph 2015 have been published   Deus Ex: Mankind Divided presentations covers:       shield and skin VFX,       parallax occlusion mapping       hair simulation and rendering       motion blur        color correction that allows changing the effect depending on the distance to the camera   Rise of the Tomb Raider presentation covers:       volumetric lights       sunlight shadows       ambient occlusion       procedural snow deformation  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     overview of improvements to the system that allows D3D11 applications to be run using D3D12   improved threading behavior   new APIs will allow the underlying D3D12 resources to be requested from the D3D11 objects  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     discusses author's view on the state of low-level graphics APIs (Vulkan, D3D12, Metal)   presents how the abstraction level might not be the right one   too low-level for ease of use but too high-level to guarantee predictable performance on all platforms  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     every few days a new preprint article from the "Ray Tracing Gems" book will be released   requires a free Nvidia developer account  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     part 2 of getting started with D3D12 for programmers with D3D11 experience, part 1 discussed in week [70](/post/graphics-programming-weekly-issue-70/)   shows to create vertex and constant buffers   explanation of memory management and binding model  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     shows how to sample a signed distance field in a Unity UI shader   signed distance field UI shaders allow the UI to be resolution independent  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           discusses screen space reflection and planar reflections techniques   presented technique for reflections uses ray-marching against the terrain height map to calculate the reflections   show that the technique could be extended to trace against signed distances fields to add reflection for other objects too  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     show how a projection matrix is formed   explains GPU clipping and how it relates to the projection matrix   many videos explain the significance of each component visually   provides a calculator to help gain a more intuitive understanding  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     twitter thread discussing mip-map selection algorithms   comparison between the custom shader implementation and hardware solution  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           introduction into physically based shading   presents how light  is reflected and refracted when it comes into contact with surfaces   shows how metal and dielectrics (non-metals, insulators) interact with light differently and how this forms the visual perception of different materials  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     presents a technique to distribute an infinite sequence of points on the surface of an arbitrary triangle evenly  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           the article points out that albedo textures are commonly stored in sRGB color space and need to be converted into linear color space before using in shading   achieved using the correct SRGB texture format   comparison images present the differences between sRGB and non-sRGB color formats  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           thesis presentation covering snow rendering   presents the visual features of snow with real-world reference pictures   an overview of existing techniques   defines 4 defining characteristics for snow shading and develops a BRDF from them  
                    
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           a short post that shows how to make an object appear infinitely large without clipping artifacts   adjusts the vertex position in the vertex shader so that they are mapped onto the far plane  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           extends the custom scriptable rendering pipeline, the previous part was covered in [issue 66](/post/graphics-programming-weekly-issue-66/)   now adds support for directional shadows, such as sun shadows   shows how to deal with common shadow artifacts   implements cascaded shadow mapping for the main directional light  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           weekly series with twitter posts about tech art techniques and ideas  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           summary of resource about getting started with tech art   mainly unity shader focused  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     new PIX for windows version   performance counters are now supported on AMD Radeon 7 GPUs and NVIDIA Turing GPUs   more consistent and reliable timing data on all GPUs  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     D3D12 adds support for DRED (device removed extended data) in the latest windows insider preview build   writes an auto-incrementing counter after each render-operation into memory that is persistent across device removed events   this allows the GPU progress to be inspected during post-mortem analysis   the overhead is around 2 to 5 % for a frame of a AAA game, therefore defaults to off and needs to be enabled explicitly   additionally allows better tracking of page faults   tries to detect access to recently deleted objects   shows the API to enable and how to use it to enable and inspect provided data  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     extension to real-time image based lighting models    adding support for multi-scattering shading using the precomputed integrals from single scattering models   accomplishes energy conversation   the paper derives the GGX approximation for 3 classes of objects (perfect reflectors, generic metals, and  dielectrics)   presents comparisons against single scattering models in a furnace test  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     explains the PBR shading model   a combination of 3 BSDFs that allow expressing a large number of materials   including the derived formulas and illustrates the exposed parameters   user guide describes how to use the system and provides examples of the different effects that can be achieved  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     shader workshop that uses Shadertoy to teach raymarching techniques   the workshop starts with basic 2D shape marching   in the end explains how to define 3D scenes with support for lighting, gamma correction, shadows and materials with tri-planar texture mapping  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     latest Vulkan SDK version (1.1.97.0) adds GPU assisted validation   validates at runtime that shaders are not accessing any descriptors out of bounds   this is achieved by adding instrumentation into the SPIR-V   the document explains the constraints of the layer, known issues and an overview of the implementation details  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article discusses his favorite chapters and insights when looking back at the original "An Introduction to Ray Tracing" (book is now free) from today's perspective   mentions which chapter are still relevant today and which information has not aged as well  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     list of common  problems encountered when using Shadertoy and how to solve them   texel center issue, loading texture data, resolution changes,  mipmap discontinuities  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     list of sessions by Khronos and related talks that will be taking place during GDC this year  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     issue 2 of weekly tech art series, contains a collection of twitter post showing interesting art and effects  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     describes lookup table based (LUT) color grading in LDR color space   shows how to represent the 3D color space in a 2D image   LUT is embedded into the picture during color grading and later used to apply the transform at runtime   walkthrough of the implementation using Unity  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     explains how to port an existing iOS OpenGL application to use Metal   shows everything required for a spinning 3D cube on screen   including shader authoring, render pipeline creation, uploading of data from the CPU to the GPU and draw call execution   providing resources for future steps at the end of the article  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     implementation of ray marching   renders the back faces of the bounding volume to determine on which pixels raymarching needs to be done   simplified absorption model, ignoring the scattering effects   the vertex shader is used to calculate the ray direction and pass it to the pixel-shader   lookup texture is used to color to the greyscale information from the 3D volume texture  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     cellular noise created from a quadtree grid structure   presents a method that calculates the optimal order in which neighboring cells need to be visited in 2D   introduces how to generalize this into higher dimensions and provides a python script can generate lookup tables to store the optimal visit order   the technique reduces computation time by around 15%  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     explains how the distant rain shafts in The Witcher 3 are implemented   large cylinders in the distant use noise textures with UV distortion   reading back the scene depth buffer is used to fade out the effect on distance objects   reverse engineered source code provided  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the first book on raytracing "An Introduction to Ray Tracing" from 1989 is now freely available as PDF  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     full path tracing implementation of Quake 2   implemented Vulkan and the RTX raytracing extension   uses an adaptive temporal filter for light transport paths to reduce noise  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     start of weekly curation of tweets about 3D (technical) art, shaders, and VFX  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     start of series for programmers with D3D11 experience starting to learn D3D12   explains what command queues are, how they express different GPU execution timelines and how fences allow synchronization between CPU and GPU  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     explains how to render water using WebGL, Rust, and WebAssembly   water supports reflection and refraction   reflections are rendered using a reflection plane technique, that mirrors the world and clips fragments if they are below the water plane  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     shows how to use screen space derivatives to create hard edges on a mesh in the pixel shader   how to calculate greyscale from colors  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     video explaining the rendering equation in an easy to understand and visual way  
                    
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     list of common patterns for shadertoy programming   included are: normalizing screen coordinates, color management (hue, sRGB), line drawing, antialiasing, blending, vector math, and random value generation  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     preprint of the article to appear in GPU Zen 2 talking about the implementation details (C++ and GLSL)   replaces the 3D histogram transformation with three 1D histogram transformations   improves quality of the result under mipmapping and shows how to generate correct results with compressed texture formats  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     walkthrough of steps to learn graphics programming   recommends starting that beginners start with a raytracer/rasterizer from scratch before starting to use any graphics API   list of project ideas for beginners  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     explains how to rasterize the glyphs from a font into a texture. Providing the coverage information that is required by the technique discussed in part 1 and 2   includes code for the OpenGL compute shader   overview of typography terms and explain how to correctly position the glyphs to form the final text on the screen  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     presents what vertex attributes are and how they are interpolated to deal with  perspective distortions correctly   uses this knowledge to interpolate normals and UV coordinates for the sponza model  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                    Part 1 of the article:   explains how classical forward/deferred pipelines work and how tiled and clustered algorithms can be used to extend these ideas   includes animations to show the concepts in a more visual way   presents strengths and weaknesses for each technique  Part 2 of the article:    presents the clustered forward shading implementation   how to subdivide the camera frustum into clusters and implement light culling   provides links to further information sources  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     frame breakdown of the Rise of the Tomb Raider with D3D12 on PC   uses a light pre-pass architecture   lens flares don't use a visibility query but instead use the depth buffer to calculate visibility   talks about shadow mapping, ambient occlusion, depth-aware upscaling, reflections, hair rendering, volumetrics, and tone mapping  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     explains how to apply an expanding color effect that converts the world from greyscale back to color as post-processing effect using Unity scriptable render pipeline   presents how to reconstruct world space position from the depth buffer  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     shows how to set up a Docker container image that is able to run shader compilers   supported are: DXC, FXC, GLSLang, AMD Radeon Graphics Analyzer, DXIL signing, SMOL/V and Vulkan SDK  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     explains the state management system implemented for the Diligent Engine   resources states are exposed on D3D12 style semantic for barriers   allows mixing of automatic and manual explicit state management       the developer can choose to disable automatic transitions on a per resource basis       can switch on a per-resource basis at any time during the frame  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     course notes for the Siggraph Asia 2019 course   presenting the newest developments and techniques used during The Incredibles 2   talking about Simulation & FX, Rendering & Compositing and Real-time Tools to allow quicker iteration time   overview of subdivision surface representations for use with OpenSubdiv  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     explains the parallax mapping technique used to represent the interiors of buildings as seen through windows   broken into multiple layers to separate window frames, curtains and interior of the room   baked separate light texture to allow night time for interiors  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     explains sparse binding and residency   sparse binding lifts the requirement that resource memory needs to be fully continuous in memory. Instead, memory is managed with pages that can be mapped at non-continues offsets   sparse residency lifts the requirement that the complete resource needs to mapped. For example, only parts of a texture atlas could be mapped  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     describes how the histogram of pixel brightness is collected using a compute shader in The Witcher 3   the system allows a dynamic weighting of pixels that origin from the sky  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     explains how to use D3D12 to calculate a histogram of pixel brightness in a compute shader   shows how to use a per-bin weight to calculate the luminance for the exposure step  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     part two of rasterization implementation article series with C++   shows how to extend the rasterizer into 3D   now implements the necessary pipeline to project vertices from object space into clip space for rasterizations   adds support for depth testing and index buffers  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     RenderDoc survey looking to gather information about the user experience, stability, development experience, API and platform coverage   help to set the direction for future developments  
                    
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     presenting an overview of next-generation Intel architecture   will support adaptive sync, tile-based rendering, coarse pixel shading  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     acceleration structure visualization for DXR (DirectX Raytracing) and Vulkan   serialize DXR application to a C++ capture is now supported   added Vulkan pixel history support  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     new AMD driver adds support for VK_EXT_inline_uniform_block, VK_KHR_swapchain_mutable_format, VK_EXT_scalar_block_layout and sparse extensions  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the final part of the series   presents how different GPUs are able to overlap the workload between        different async and graphics queues        work on the same graphics queue   presents how split barriers influence the overlap   additionally presents the ability of Windows to preempt GPU work when multiple applications are sharing the same GPU  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     slides for the fluid simulation used in Shadow of the Tomb Raider have been released   the content of the talk was discussed last week in [issue 65] (https://www.jendrikillner.com/post/graphics-programming-weekly-issue-65/)  
                    
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     next part of the series about the development of a forward shading pipeline using the Unity scriptable render pipeline   implements support for directional, point, and spotlights   show how to interact with the Unity provided light culling system  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     object based shading approach designed for VR rendering   splits rendering into client and server operations   the server calculates visible geometry and object space shading   the results are stored into a shading atlas   the client receives a preprocessed vertex stream and the shading atlas   the visible geometry is rendered from a single vertex buffer and shading is applied from the information cached in the shader atlas   presents the memory management technique and mip-level selection  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     user created index-page for the Apple Metal documentation   contains links to samples, class documentation, best practices documents, tools and debugging helper  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     shows how to validate using image comparison and using a furnace test   how to implement a plastic and glass BSDF   make the ray tracer less biased through changes to the way the number of bounces is determined  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Khronos talks from Siggraph 2018 Asia   talks about Vulkan       memory management, subgroup operations and the design of a FrameGraph style engine architecture   introduction to WebGL and overview of the latest updates to the GLTF format  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     series of videos walking through the implementation of a software renderer written in multithreaded C++ using SIMD   presenting the whole pipeline from vertex fetching, vertex processing, culling, projection, binning, rasterization, mipmapping and finally shading  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     explains why noise is significant in computer graphics and how to animate blue noise over time so that it retains its properties  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     video summary of variable rate shading   presents a few approaches that are used to drive shading rate selection    what options are exposed in Wolfenstein 2 and how they influence performance and quality  
                    
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     new encoding model for Ambient Highlight Direction (AHD) lightmaps that eliminate common interpolation artifacts   and how to fit AHD from spherical harmonics data  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     review of problems with classical APIs (OpenGL) and motivations for the creation of WebGPU   presentation about Dawn, WebGPU implementation from Google   splits into render passes that insert resource transitions between passes automatically   how numerical fences are implemented (Monotonically increasing values indicate a timestamp in GPU execution history)   considerations for implementations using cross-process communication  
                    
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     part 2 of Vulkan raytracing series   extends the application with multiple 3D meshes, texturing, simple shading, shadows, reflections, and ice shading model  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     development of a new rendering framework for transmittance for participating media that enables non-exponential media types to be represented   archived by splitting transmittance into 4 transport functions   discussion of how to express this new model so that it is intuitive to use and still creates physically correct results  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     walkthrough of the implementation of a rain material using the Unreal Engine 4 shader graph  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     a short summary of what spherical harmonics are and what they are used for   proposes a sanity check for SH projection code, by passing a function with a constant of 1, should result in a first coefficient close to 2√π  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     article series about procedural routines for color generation   talks about some techniques to generate procedural color variations   explains HSB color space and the effect of changing each component   convert from RYB hues to HSB hues   generation of monochrome color schemes   how the difference in colors influences human perception  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     a sample that explains how to use Metal to generate render commands on the GPU   implements GPU culling only to issue rendering commands for visible meshes and remove empty draws   the final command buffer submission is controlled from the CPU  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     explains a new model for sampling visible normals of the GGX distribution   summarizes the properties of GGX and how sampling a 2D projection of the truncated ellipsoid is equivalent to sampling the visible normals of the GGX distribution   the method is more precise and quicker than previous methods   provides a GLSL implementation  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     twitter thread that discusses what a BRDF is and how they are formed   links to sources with more in-depth information  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     a single slide-deck that will evolve and serve as a single reference point for information about the SEED Halcyon engine   the content was discussed in issue [63](https://www.jendrikillner.com/post/graphics-programming-weekly-issue-63/) [61](https://www.jendrikillner.com/post/graphics-programming-weekly-issue-61/) of this graphics programming weekly series  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the walkthrough explains how to use GLSL-reduce to simplify a GLSL shader and preserve certain conditions such as a crash or invalid output   this is achieved with an interestingness test script   the script expresses what is considered to be interesting, such as specific compiler crash, high memory usage, long compile time, etc   presents the problem of bug slippage, this happens when a reduced shader generates a problem, but it's not the same problem as in the original shader   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     a tutorial explains how to implement ray traced shadows when using a signed distance field to represent the scene geometry using Unity  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     interactive WebGL demo for the paper describing a technique to reduce firefly artifacts from path tracer outputs  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     a brief overview of the concepts of the ray tracing extension   started integration with replacing screenspace AO and shadow map implementations   how to implement ray trace reflections, techniques to reduce noise and optimizations   best optimization advice is to split ray casting and shading   export ray hit information from raycasting shader, and shade samples later using a conventional compute shader   overview of the indirect diffuse voxel solution used in Quantum Break and how ray tracing can be used to improve the results  
                    
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     overview of the Navier-stokes equation, look at each step of the implementation and how it was integrated into the engine   scrollable grid, only run simulation near the player character, a static map for the rest of the world   obstacle injection uses capsule vs. water plane collision checks   algae implementation uses virtual particles that convert density to particles, applies simulations, and turns back to densities  
                    
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Nvidia sample for mesh shaders using Vulkan and OpenGL   presents performance comparison for different meshes and a varying number of vertex attributes  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     explains the GPU programming model, how shaders are executed   showcases the differences between CPU and GPU design  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     twitter collection of many graphics and game programming related links  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     explains how to implement a shader that simulates a foggy window effect applied to a plane in 3D space   allows the user to clean parts of the window. Foggy state returns after some time has passed  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     explains how to integrate the DirectX shader compiler (DXC) into the Visual Studio build system (msbuild)   integration of dependency tracking   detecting headers    shows how to provide a regex to integrate with the Visual Studio error window  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Khronos survey looking for feedback on Vulkan education material  
                    
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     beginner level overview about consideration for modeling techniques related to performance and minimizing z-fighting artifacts  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     article with interactive and live tweakable examples   presents a technique that allows constant time conversion from a position on or above a sphere to the nearest triangle index using an octahedron subdivision model  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     explains how to use new D3D12 API additions to precompile shaders for DirectX raytracing in parallel into a native hardware format  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     performance comparison of OpenGL, D3D9, D3D11, and Vulkan in Dota 2  
                    
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     frame breakdown of an interior scene in Ni No Kuni 2   uses a light pre-pass architecture   the cartoon edge line is using FXAA for smoother lines, and the final render result uses SMAA  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     C++ header only implementation to generate 2D blue noise sample points  
                    
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     part 1 of the series on writing a software rasterizer in C++   explains the concept of barycentric coordinates, edge functions and how they are combined to rasterize a 2D triangle  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     overview of the synchronization primitives of the Vulkan API   explains concepts of barriers, access masks, semaphores, and queue transitions  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the distinction between memory and execution barrier   explains render passes including sub-region dependencies   look at GPU → CPU synchronization  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     overview of architecture   multiple render backends are supported at the same time   all GPU resources are referred to by a handle, resources can exist on multiple GPUs   overview of the high-level command system that is recorded and translated into native API command buffers   render graph system graph construction and execution   how to deal with multiple GPUs   virtual GPU system allows emulation of a multi GPU setup using a single GPU   proxy backend routes rendering calls to a remote machine for execution   a brief look at machine learning in a render graph architecture   overview of the asset pipeline   overview of hybrid rendering pipeline and how transparent shadows have been implemented using DirectX Raytracing   discussing open problems with ray tracing  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     a new shading language, designed for use with WebGPU   discusses the constraints of targeting the web, and the ability to convert to Metal, HLSL, and SPIR-V   SPIR-V limitations also limit the expressiveness of WHLSL   memory safety for arrays, getter and setter support   does not support a preprocessor but instead uses a two-pass compilation model with specialization constants   bindless binding model is not supported  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     part 2 of the series on font rendering   shows the artifacts a regular grid sampling pattern causes and how a rotated grid improves the edges of glyphs that contain straight lines   explains how to sample the grid efficiently by splitting the rotation into one horizontal and one vertical skew   able to optimize the sampling by precalculating lookup tables  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     new open source library from Microsoft that combines the [DirectXShaderCompiler](https://github.com/Microsoft/DirectXShaderCompiler) and [SPIRV-Cross](https://github.com/KhronosGroup/SPIRV-Cross) to convert HLSL shaders into OpenGL/Metal/SPIR-V or HLSL compatible with D3D11  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     presents an approach to generate a quasirandom blue noise point sequence   shows the mathematical foundation, distribution analysis and comparison with other techniques   python code is provided to help with the understanding of the technique  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     podcast episode discusses how to design a cross-platform API, problems, and considerations   engine design is aimed at modern APIs, supporting older APIs is not a concern for "Our Machinery"  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     reverse engineering the sharpening filter from The Witcher 3 and explains how it works step by step   provides HLSL source code that produces the same assembly  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     shows that using DXGI functionality can be used to keep track of Vulkan memory usage on Windows   presents how to identify physical adapters between Vulkan and DXGI to deal with multi-GPU systems  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     experiments with using DXGI for memory reporting when using Vulkan   results are presented for the system using one AMD and one NVIDIA GPU    memory management behavior seems to be different between the vendors   DXGI appears to be able to report sensible application local memory usage information  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the extension allows the application to collect timing information from the presentation engine and schedule presents at specified times   the post presents results from experimenting with VK_GOOGLE_display_timing on Android and Mesa (X11)   list of issues encountered and possible points of improvement  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     explains how ray-tracing could be used for arbitrary data-lookup in 2D and 3D   can handle more data points where the signal changes more rapidly   a texture has a fixed resolution and cannot adjust to varying density needs  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     shows how to generate a depth pyramid for Vulkan   takes the depth buffer and produces a conservative mipmap chain   preparation for GPU occlusion culling in the next episode  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     implementation of GPU occlusion culling into the mesh-shader and classical rendering pipeline  
                    
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     list of resources for beginners that are looking to get started with graphics programming  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     new Vulkan extension that allows usage of the C++ memory layout in Vulkan constant and structured buffers   this relaxes the alignment requirements  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     presents how to recover the scale, rotation, and position from a model matrix   rotation is retrieved as a rotation matrix  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     a presentation about the development and design of a C++ library implementation that allows GLSL shaders to run on the CPU  
                    
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     overview of the compute shader execution and pipeline model   explains how instructions are executed, what the difference between uniform and non-uniform work is and how it relates to SGPRs and VGPRs   using the example of texture downsampling to present the performance profile of a pixel shader solution and why a compute shader solution can achieve better performance  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     overview of the GPU execution model, the difference between scalar and vector registers and instructions   explains the concept of scalarization and how wave level instructions enable this process  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     walkthrough of two different strategies to scalarize the forward+ shading loop   provides code, step by step analysis and links to more in-depth presentations  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     overview of some of the technical papers that will be presented during SIGGRAPH Asia 2018, 4-7 December 2018 in Tokyo  
                    
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     adding support for multiple meshes and GPU frustum culling and submission   one Dispatch to execute culling and one ExecuteIndirect is used to draw the rest of the scene  
                    
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     improving culling performance through the removal of dummy draw calls   implementation of LOD selection per mesh   support querying of pipeline statistics to gather information about the number of triangles drawn  
                    
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     A walkthrough that explains all the concepts and shaders necessary to ray trace a single colored triangle using the Vulkan raytracing extension  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     explains how to convert the code from the [Ray Tracing in One Weekend](http://in1weekend.blogspot.com/2016/01/ray-tracing-in-one-weekend.html) book to use CUDA   the source code is available [here](https://github.com/rogerallen/raytracinginoneweekendincuda), one branch for each chapter  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     unity tutorial that explains how to create a signed distance field for a 2D circle and rectangle   how to apply transformations (translation, rotation, scale) and how to visualize the distance field to aid debugging  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     explains how to implement 3D picking in a Metal application   overview of coordinate spaces and how to convert between them   hit-testing performed using a ray vs. bounding sphere test  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     a tool, now open source, that allows the compilation of HLSL and shows the disassembly in DXBC and AMD GCN    includes a small utility to visualize the effect of a fullscreen pixel shader effect  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     list of image effects found in tools such as Photoshop with a small explanation and GLSL code snippets  
                    
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     paper on BRDF measurement which proposes a new parameterization that adapts to the behavior of the material   able to significantly reduce the number of samples required   published a new large database of measured BRDFs that have been captured using this technique  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     presents an architecture overview of the engine   render backends are implemented as DLLs that can be reloaded at runtime   multiple backends can be loaded at the same time   resource handle system that allows the same resource to point to physical instances on multiple GPUs   GPU work is recorded into an abstract command stream that is later compiled into API specific format   render graph system that manages resource transitions, lifetimes, and execution order   showcase of shader binding model       using HLSL spaces concept to separate between update frequencies       explanation how the HLSL resource binding model was emulated with SPIR-V using shader patching  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     discusses considerations when designing memory components for use with gfx-hal (rust graphics API abstraction)   proposes not to use a general purpose allocator but instead to implement simple allocator components and combine them into context-aware allocators on a higher level  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     open source path tracer implemented using the DirectX Ray Tracing API  
                    
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     presents a technique for font rendering that operates on coverage instead of visibility   this allows fonts to remain sharp when moving on the screen and at varying font sizes    for each pixel in a glyph, a 4x4 sub-sample grid of visibility samples is calculated ahead of time   explains how to use this coverage mask to implement font rendering    covering how to sample the coverage mark correctly for axis-aligned font rendering  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     new PIX version that supports the final DirectX Raytracing API version  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     full Linux support for Vulkan and OpenGL 4.5   support for final DirectX Raytracing API and new supports Vulkan extensions such as VK_NV_shading_rate_image, VK_NVX_raytracing  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     shows that BC7 encoders produce compression artifacts when the alpha channel is unrelated to the RGB channels   presents a heuristic to decide what BC7 mode to use on a per-block basis to improve the compression  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     case study of a performance regression in League of legends   presents what performance data they collected   shows what problems they had with the existing data and how a better aggregation of performance data into distinct buckets allows better detection of performance regressions  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     provides best practices for applications that use the RTX API   talks about acceleration structure creation and updating   how to improve memory usage, improve performance and best practices for shader authoring and compiling  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     presents how to reduce light leaks in a large scale global illumination system   each geometry is associated with markup information about visibility zones   GI light data is only applied if two pieces of geometry are in the same visibility zone or are visible through connected portals  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     comparison of  two libraries to compress SPIR-V shaders SMOL-V MARK-V   compares for compression ration, decompression speed, and library size   MARK-V achieve great compression results, but the library has a large memory footprint and is slow at decompressing the data  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     a tutorial that explains how to create a custom shader for use with the scriptable render pipeline in Unity   teaches how to interact with constant buffers   presents what is required for GPU instancing to be supported by a shader and how to pass custom per-material data to the instanced meshes  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     mesa gallium driver that implements partial support for OpenGL 2.1, and OpenGL ES 1.1 and 2.0 on top of Vulkan   talks about why this project was started, and what is and is not supported at this point  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     shows how the lighting system in the 2D game was implemented   making heavy use of color remapping LUTs   sprites have normal maps, lights move in 3D space with custom light falloffs for lights moving behind sprites   discusses how shadows and fog are applied   presents how a deformation shader is used to simulate wind  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     optimizing mesh shading pipeline, can now reach >20B triangles/second (input triangles, before cone culling)  
                    
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     adding per object transformation and depth buffer support   switched to using multi-draw indirect for classical and mesh shader based pipeline  
                    
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     brief overview about what mips are and how to calculate mip selection in a rasterizer   explains ray differentials, a technique that can be used for mip selecttion on primary rays   discussion of problems with ray differentials on other ray types, possible solutions and look at what other production renderers use   solution using a distance to camera metric and presenting the results by comparing against other techniques   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     explains the plugin architecture that enables efficient implementation of high-level graphical features   how to interact with the scene, culling, scheduling, and GPU execution  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     SPIR-V shaders can only access global resources   HLSL is very flexible with resource usage   this post shows what usage pattern DXC is able to transform into legal SPIR-V and what patterns cannot be expressed in SPIR-V  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     walkthrough of the development of real-time GPU based water simulation   discusses simulation experiments and algorithms used   a brief look at the lighting of the water  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     post that provides links to talks with summaries about ray tracing on Nvidia RTX hardware   difference between rasterization and ray tracing   the structure of a real-time ray-tracing application and the components required   how to extend the raster-based application with ray-tracing  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     overview of texture space shading   technique decouples shading from rasterization rate   Turing hardware provides support for computing derivatives in compute shaders and exposes texels that need to be shaded   linked video explains the implementation of a texel space shading pipeline  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     look at how to adjust mip selection to favor noise over more detail at acute angels  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     visual and interactive explanation of quaternions and stereographic projection  
                    
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     usage of descriptor update templates   SPIRV parser implementation  
                    
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     cone culling in task shaders   two implementations, one using shared memory atomics and one with other subgroup operations  
                    
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     collection of HLSL functions to use spherical harmonics   Mathematica notebook to verify and visualize SH functions   
                    
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     all content from the SIGGRAPH 2018 course has been published  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     console tool to get collect capabilities information from DXGI and Direct3D 12  
                    
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the complete 3rd edition of Physically Based Rendering is now online for free   the post explains the history of the book and decisions that led to making the book available for free   authors can be supported on [https://www.patreon.com/pbrbook](https://www.patreon.com/pbrbook)  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     summarizes voxel ray tracing implementation, memory and performance optimizations   show the different artifacts that can be encountered and their solutions  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     next part in the Metal ray tracer series that adds support for multiple bounces to simulate global illumination   implements importance sampling for diffuse BSDF  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     extending the material system of the Metal raytracer so that multiple materials can be expressed and importance sampled correctly   changes sampling heuristic to support multiple importance sampling. This enables both rough and mirror-like surfaces  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     2-minute video summary of the "Position-Free Monte Carlo Simulation for Arbitrary Layered BSDFs" paper  
                    
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     overview of the strengths and weaknesses of different sampling techniques in ray tracing   presents links to papers that present methods that are aimed at creating better-stratified sampling results  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     stream that adds support for rendering meshes using Nvidia mesh shader extensions  
                    
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     during the stream, the mesh shader pipeline is optimized   performance parity with the classical rasterization pipeline is achieved without GPU culling  
                    
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     shows how to implement interior mapping using the Unity reflection probe system   explains how to set up the model and environment to generate the required probes and how to apply the reflections to the windows  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     rust version of the [meshoptimizer](https://github.com/zeux/meshoptimizer) library is now available   the post explains how to setup Rust code to be able to compile, link and use existing C code from Rust  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the presentation explains how Global illumination has been implemented in the Godot engine   talking about GI probe generation, deterministic light baking and the interacting with the shading pipeline  
                    
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     walkthrough of a Godot shader that uses particles to spawn vegetation meshes based on height map and feature (biomes) map data  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     a brief summary of the usage of premultiplied alpha using Vulkan   pre-multiplication is done in the pixel shader, no texture pre-processing is used   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     explains an O(n) algorithm that calculates 2D distance fields by operating on rows and treating samples as overlapping quadratic parabolas   shows ideas to visualize distance fields, generate tiling noise and some use-cases of distance field functions  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     slides from XDC ([X.Org](http://x.org/) Developer's Conference)   Vulkan timeline semaphores       allow increasing a 64-bit value on signal and wait on "greater than" a target value       unified system for CPU and GPU waits       look at how to implement them in the drivers   many more talks about OS-level graphic topics  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     compute shader based adaptive GPU tessellation technique using Mesh Shaders on Turing   up to ~25% rendering time reduction at high tesselation rates  
                    
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     explains the Vulkan ray-tracing extension   contains an overview of the ray tracing pipeline, the new shader types and how to interact with the API   shows how to generate the acceleration structure, update and compact it as required  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     explains the mathematical foundation behind deep composition that allows compositing of volumetric effects such as fog  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     walkthrough of the steps required to render the Moana scene in the authors custom path tracer   uses a binning scheme on rays combined with on-demand geometry loading to be able to render the scene on a 32 GB RAM machine  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     discusses a change to the SDL render back-end that will batch CPU rendering commands to reduce the number of draw calls required   this will improve performance significantly  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     next part of the series on gfx-hal usage (low-level graphics API for Rust)   adds support for loading and using vertex buffers  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     explains a water ripple system implementation that uses a top-down projection of ripples onto the water surface in a separate rendering pass  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     updated SDF function for a capped cone, round cone, and an ellipsoid  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Vulkan stream   part 3   fixing validation layer errors, explanation of pipeline barriers   implementation of swap chain resize   shader compiler integration with Visual Studio  
                    
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Vulkan stream   part 4   overview and integration of Vulkan extension loader   loading an .obj and rendering a mesh using classical vertex pipeline and manual vertex pulling  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     explanation of shader for diamond rendering in a forward rendering architecture   uses a precalculated cubemap from the inside of the object to simulate internal bounces  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     discussing many aspects of making a fractal-based game   including cone tracing, lighting, shadows, ambient occlusion, volumetric lighting, and atmospheric effects  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     presents the steps required to vectorize the Ray-AABB approach by [Andrew Kensler](http://psgraphics.blogspot.com/2016/02/new-simple-ray-box-test-from-andrew.html)   results are very similar to the recent [jcgt paper](http://jcgt.org/published/0007/03/04/)  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     derivation of the progressive spherical Gaussian encoding technique discussed in last week's issue  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     explores changes to CUDA path tracer with Rust, what improved since the last post and what problems persists  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     command line tool that allows cross compilation from GLSL to HLSL, GLES and MSL (Metal)   implemented using a combination of Glslang and SPIRV-cross  
                    
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     work in progress post comparing API concepts between D3D12, Vulkan, Metal, and OpenGL  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Windows raytracing support is available starting with Windows 10 October 2018 update  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     breakdown of "Real-Time Ray Tracing for Interactive Global Illumination Workflows in Frostbite" into short sections   key takeaways for each section is provided in the post  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     explains how to parse a shader file for includes using regex (implemented using Rust)  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     collection of resources to get started with the Unity Scriptable Render Pipeline  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     visualization of floating point precision when a classical OpenGL projection matrix is used  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     explanation of Unity shader graph nodes   walkthrough of example shaders that allow the creation of a small island scene  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     new PIX features are available with Windows 10 October 2018   can capture D3D11 applications using Direct3D 11 on 12 translation layer and WinML workloads  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                          explains what variable rate shading is and what use cases it enables   a control texture allows varying of the shading rate on a 16x16 pixel grid  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           explains the recent developments in VR headsets and how Turing offers new hardware solutions   extensions that allow rendering up to 4 different views, with view-dependent attributes using a single invocation  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           a new encoding method for Spherical Gaussians that improves quality from previous encoding methods  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     presents a high-level overview of how to implement interior mapping   comments have much information about the timeline of games that used similar techniques  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           discusses a technique to generate instanced geometry procedurally on the GPU using OpenGL compute shaders   aimed at filling vast streaming worlds that are broken down into tiles  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     new stream coding series about the creation of a Vulkan renderer from scratch   the first two episodes implement rendering of a single triangle on screen  
                    
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           pre-print of an article that will appear in GPU Zen 2   implements adaptive tessellation using OpenGL 4.5 compute shaders   source code: [https://github.com/jadkhoury/TessellationDemo](https://github.com/jadkhoury/TessellationDemo)  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           Twitter thread discussing Raw vs. Typed buffer performance on Claybook   suggest using raw buffers if supported  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     overview of new features included in CUDA 10   Multi-Precision Tensor Cores are exposed on Turing   CUDA Graphs allow the specification and recording of an execution graph that can be executed multiple times, this reduces overhead and allows the compiler to apply further optimizations   interoperability with Vulkan and D3D12 is supported  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     explains how to generate 2D and 3D noise in a Unity shader  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           extends the Metal raytracer with obj model loading   a simple diffuse BRDF implementation, including frame accumulation and shadows   provides a Mitsuba test scene  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     walkthrough of the geometry pipeline on current GPU architectures and how mesh shaders fit into it   description of an upgrade path to mesh shaders   look at possibilities of future use cases  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           updated post now includes SM warp-issue-stall metrics   previously discussed in [issue-26](https://www.jendrikillner.com/post/graphics-programming-weekly-issue-26/)  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           summary of resources for graphics programmers to study and keep up-to-date with the graphics programming community  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           a tutorial that shows how to implement a custom rendering pipeline in Unity   implements skybox rendering, culling filtering, sorting and rendering of unlit objects   how to improve memory usage and better integration with the Unity frame debugger  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                           Unreal released the tech talks from SIGGRAPH 2018   Virtual Production in Unreal Engine 4.20, Mixed Reality Production with Unreal Engine, Fortnite: Advancing the Animation Pipeline, Real-Time Motion Capture in Unreal Engine  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     new shader stages on Turing that allows the generation of primitives for direct consumption by the rasterizer   task shader: emits mesh shader workgroups 	  allows work on larger clusters, the selection of mesh resolution, ...   mesh shader: generates primitives (index + vertex buffers)   OpenGL shader implementation that uses the new shader stages to allow culling on a per-cluster basis and generation of efficient mesh data   [video recording](http://on-demand.gputechconf.com/siggraph/2018/video/sig1811-3-christoph-kubisch-mesh-shaders.html)  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     talks about the challenges of developing for open world games   covers water rendering, physically based time of day model, nighttime rendering   lighting, exposure, emissive effects, and tone mapping   material blending  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     a new algorithm to compute the intersection point and surface normal of an oriented 3D box without precomputations or spatial data structures   uses rasterizer pipeline to generate screen-space AABB to limit tests to only potentially visible pixels   provides GLSL shader implementation  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     explains the evolution of the windows graphics driver model from win7 to win10   how WDDM 2.0 enables the features of D3D12    differences between D3D12 and Vulkan regarding queue submission design   D3D12 fences are designed to enable the OS to control command buffer scheduling   look at Nvidia and AMD hardware details  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     explains optimizations done to the hybrid shadow raytracer   change to the way the BVH layout is constructed (Surface Area Heuristic) and memory layout changes enable huge speedups (16ms to 0.8ms on the GTX970)  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     overview of the new Turing hardware architecture   description of new hardware features, exposed shader features, and improvements to existing technologies  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     an extensive list of OpenGL and Vulkan extensions that expose the new Turing hardware features   with short descriptions of each feature  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Vulkan extension that makes it possible to skip parts of command buffers based on the content of a GPU buffer   the example uses this to pre-generate a single command buffer and controls visibility of mesh parts from the CPU  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     overview of the interior mapping technique   showcase of different implementations and links to further information  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     discussing of a technique that tries to preserve normal map variation by generation MIPs that preserve the variance in the roughness map   the comments contain links to further reading about this topic  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     comparison of DXC (DirectX Shader Compiler) and FXC shader compiler in regards to performance and functional regressions   provides a docker file that allows FXC to run successfully  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     provides a configuration that allows the DXC compiler to run within docker  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     explains the process that enables DXIL shaders to be signed after they have been compiled   provides code for detecting if a shader has already been signed and how to call the necessary libraries to sign the shader   provides a command line utility that can be used to sign DXIL shaders  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     start of a series of posts that will describe the development of a ray tracer using Metal Performance Shaders  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Khronos released provisional material on the memory model for Vulkan   including the specification, extensions for SPIR-V, GLSL and conformance tests  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     presents a small cross-vendor library for D3D12 that allows collection of information to narrow down GPU hangs to specific draw call ranges  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     looks at the state of integration of the Vulkan swap chain with different OS and GPU vendors   explains the expected API, what is required for a good experience and how the implementations differ between platforms  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     discusses challenges and possible solutions to undersampling artifacts on curved geometry   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     links to the presentations from the machine learning and rendering course from Siggraph  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     an interview that explains what Nvidias DLSS is (Deep Learning Super Sampling)   a trained neural network that is able to infer a 64 sample per pixel supersampled image from a 1 sample per pixel source   the model is trained on Nvidia GPU clusters before the release of the game  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     extends the Perlin noise implementation from the previous tutorial to support mixing of multiple layers of Perlin noise   uses this to generate a dynamic terrain in a vertex shader  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     explains how Unity command buffers enable the extension of the Unity graphics pipeline   uses this to implement selective bloom on objects  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     presents a filtering approach for a pixel art style in a 3D environment   discussion of filtering theory and derivation of a filter for real-time use   provides GLSL implementation of the filter  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     in-depth documentation for Unity   explains the most common terms, the difference between the rendering pipelines with strengths and weaknesses   explains the difference between global illumination systems and light modes   provides 4 example scenarios that show how the desired game influences the decisions  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     shows how to reformulate the rendering equation so that stochastic shadows can be combined with non-stochastic shading   explains how to denoise the stochastic shadows   shows results and discusses the performance of the approach  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     start of a new Intel series about Vulkan   the focus is on the high-level usage and will be comparing different approaches to common problems   walkthrough of the structure of the series and how the sample code will be structured  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     investigates the performance effect of different acquire → render → present approaches   shows visually why two sets of frame resources are required to utilize the available hardware efficiently   the sample allows experimentations with different scene complexities and CPU workloads  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     explains the strategy how GPU memory is currently managed and what allocation strategy is used   shows a visual representation of allocator usage and discusses the weaknesses of the current approach,  pointing to possible future improvements  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     tutorial on how to implement a candle flame using 3 separate texture channels and noise distortion using Unity  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     discusses how the drunk effect in "The Witcher 3" was implemented based on reverse engineering the D3D11 shader disassembly   provides the reverse engineered HLSL source code  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     reusing a generic ray-triangle intersection for other calculations such as calculating the distance from a ray to a curve segment  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Unity tutorial that extends water with flow map (previous part of the series) to support transparent water rendering   apply underwater fog and approximation of refractions  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     overview how the large-scale ambient occlusion data is baked for Homefront: The Revolution   implemented using rasterization with an orthographic projection and per-pixel linked lists   runtime information stored in regularly spaced cells  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     article discussing what is required to achieve high-quality lightmaps   UV space rasterization, using a UV G-buffer to collect necessary information to trace rays   dealing with shadow leaks and UV seams   an algorithm to enable mipmap generation for lightmaps  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     explains why clipping happens in 4D clip space before the perspective divide is applied  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     blender developers view of the technologies shown at Siggraph   talking about USD / Hydra, MaterialX / ShaderX / OSL / Gaffer and OpenColorIO  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     overview of the open shading language in 3ds Max   how OSL was implemented into the 3ds max architecture   discusses problems encountered and improvement possibilities for OSL  
                    
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     explains what contact-hardening shadows are   presents one technique that can be used to implement them and deal with artifacts   discussions of a method to optimize the process by splitting the shadow mask generation into two passes   the first pass generates the penumbra mask at a quarter resolution and the second pass generates the soft shadows, sampling from the quarter resolution penumbra mask  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the slides for all talks from the High-Performance Graphics 2018 conference have been uploaded  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     can now show register and LDS (Local data share) usage as well as theoretical occupancy   new render target overview table, provides information about all render targets in the frame in one location   more robust handling for applications that create multiple device contexts  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     explains how to pack an integer and a floating point number into a single unsigned render target channel   provides source code for packing and unpacking into a variable number of available bits  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     video for the talk that was discussed in [issue 42](https://www.jendrikillner.com/post/graphics-programming-weekly-issue-42/)   an in-depth overview of color, color spaces, and color transformations   discussion of HDR standards   ACES pipeline overview   implementation of HDR pipeline covering:     tone curve, display mapping, UI rendering     universal CLUT and color grading  
                    
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     normal and gloss mipmapping     using a shortened normals technique     normals are shortened based on the glossiness     how to combine different textures to add detail to a base texture   material surface occlusion     reformulation of Ambient Occlusion that adds indirect lighting in the occluded parts of the material     adds micro-shadowing from material occlusion into the direct-lighting component     indirect specular occlusion, using 3D Environment BrdfLut, 3rd dimension is cone angle   multi-scattering diffuse BRDF utilizing an approximation stored in a 2D LUT  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     present HLSL code snippets that implement different kinds of dithering and an example application   comparison of quality and performance of the different dithering techniques  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     an in-depth walkthrough of the new Depth of Field implementation in Unreal Engine 4   discussing problems encountered, solutions and optimizations   includes many small code snippets   better results and better performance than the old UE4 implementation  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     discusses architecture, light culling, clustered lighting implemetation   how feature parity between deferred and forward pipeline is achieved   implementation of decal system using a D-buffer (similar to g-buffer but for decals only)   details about material types, lighting features, volumetric systems   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     presentation of a screen space subsurface scattering model, they call it the Disney SSS   model is using a single tweakable parameter that makes it easy to use for artists   implementation details for a thick and thin object model and optimizations to the implementation  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     start tracing rays where rasterizer has shortcomings   explains how to tune Monte Carlo estimators to converge quicker by minimizing variance using different AO and spherical lights as examples   shows the weakness of uniform random numbers and provides techniques to generate better distributions   variance-driven sampling focus taking more samples where variance is high  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     presents two techniques that improve on existing Fibonacci lattice methods   one version to achieve better packing distribution    other to optimize volume and surface area of the convex hull  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     overview of differentiable rendering   a technique gaining traction in machine learning   the idea is to provide a way to inverse the rendering process so that changes in the output can be traced back through the pipeline to map changes from output state into changes in the input state  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     slides for the Moving Mobile Graphics 2018 course from SIGGRAPH 2018  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Game Of Life implemented using OpenGL compute shaders in Rust  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     an in-depth explanation WIP document about Monte Carlo integration   how it's able to approximate the shape of the function from taking independent samples   how importance sampling helps to converge quicker   extend technique to support Multiple Importance Sampling  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     slides from the SIGGRAPH course   characteristics of an idealized display   discussion of real hardware considerations   tone reproduction, tone characteristics, dynamic range   color primaries, gamut, calibration & characterization   viewing environment, adaptive displays, observer differences  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     video tutorial on how to implement a subsurface scattering approximation with unity  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     a tutorial that explains how to use the stencil buffer with Unity   shows how to read/write the stencil mask so that only parts of models will be visible on the screen  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     a tutorial explains how to create an Overwatch style x-ray effect in Unity   implemented using stencil buffer and multiple shader passes  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     abstraction layer from AMD on-top of Vulkan has been released as open source   implements automatic render barrier management, descriptor pools/sets, memory management, render passes, etc  
                    
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     collection of observations and nuggets of information from different SIGGRAPH 2018 sessions  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     a visual explanation of foundational linear algebra concepts that are required for shader programming  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     video of the demoscene session at SIGGRAPH 2018   [Clouds in Wande](https://youtu.be/yqA71-HHY2Q?t=585)   [Making an animation in 18 bytes at a time](https://youtu.be/yqA71-HHY2Q?t=1555)   [Building World in 64KB](https://youtu.be/yqA71-HHY2Q?t=2722)   [Demo Party in Japan](https://youtu.be/yqA71-HHY2Q?t=3918)  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     next part of the series about developing a path tracer using Cuda   discussing how to move ray generation code from the CPU to the GPU   speedup of 11x is achieved compared to single threaded CPU implementation  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     thoughts on open questions in regards to raytracing dynamic, open world type environments  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     brief discussion of difference between [Moment Transparency](https://dl.acm.org/citation.cfm?id=3231585) and [Moment-Based Order-Independent Transparency](http://momentsingraphics.de/?page_id=210) approaches   small code samples to help to integrate the trigonometric Moment-Based Order-Independent Transparency technique  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     look at different ray tracing scenarios and how they influence coherency between neighboring rays   references to papers that investigate the issue in further details  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     slides for the layered real-time shading model discussed in [issue 38](https://www.jendrikillner.com/post/graphics-programming-weekly-issue-38/)   using a statistical analysis of light transport in layered structures   a visual explanation of the statistical analysis framework   presentation of results, comparison against stochastic references and discussion of limitations of the technique  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     slides for the technique discussed in [issue 45](https://www.jendrikillner.com/post/graphics-programming-weekly-issue-45/)   explanation of problems with linear blending   how contrast-preserving blending is able to mitigate some of these problems   presents a histogram-preserving blending algorithm that has many use cases besides the introduced procedural texturing technique   whenever you blend     weighted data: use premultiplied blending     data chosen randomly: use histogram-preserving blending  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     video discussing a fully automated UV unwrapping tool   explains all steps of the pipeline that tries to find the best projection technique for local parts of the model   tool available for licensing  
                    
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     added pixel history view for D3D12 and added support for support for Vulkan ray trace extension   new GPU trace activity view visualizes the GPU utilization in more detail   provides a breakdown of wrap level activity, connected to events and performance markers  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     overview of the PICA PICA hybrid raytracing pipeline   thought about DirectXRaytracing constraints related to acceleration structures   presentation of a texture LOD technique developed with Nvidia     preprint available [here](https://t.co/opJPBiZ6au)   Pica Pica assets are avaible with with a non-commercial license on [sketchfab](https://skfb.ly/6AJCp)  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     comparison of 3 techniques to generate blue noise   visual quality comparison of three methods to generate blue noise   the void and cluster technique produces the best results in the test  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     integration of spherical harmonics over spherical polygons   using a closed form expression with linear cost   shows applications for area lights and approximating shadows from area lights  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Nvidia open sourced the MDL SDK (Material Definition Language)   set of tools that allow materials to be shared between different renderers   can generate texturing functions for multiple backends; however the GLSL backend is NOT part of the open source release  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                    slides and [video](https://youtu.be/Q1cuuepVNoY?t=310) for the "Introduction to DirectX RayTracing" track from Siggraph 2018 have been released 
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the pdf version of the Ray Tracing Minibooks series has been released for free  
                    
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     growing collection of links to SIGGRAPH 2018 content  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     new GPU architecture from Nvidia   dedicated ray tracing hardware   volta cores have int8 and int4 support   support for variable rate shading   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     slides and [videos](https://www.youtube.com/watch?v=FCAM-3aAzXg) for the Khronos talks from SIGGRAPH 2018  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     list of author's favorite papers with a brief summary of the content  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     slides for the Siggraph course about the fundamentals of color science and color management for games and film   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     slides for the Siggraph course   provides an overview of all API interfaces required to render 3D meshes  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     fully vulkan 1.1 compatible   support for VK_EXT_conditional_rendering, VK_KHR_8bit_storage  
                    
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     using ideas from imperfect shadow map point-cloud rendering to implement reflections   generates a point cloud around the track   screen space pixels that are close to points of the point cloud transfer their color onto the points   the point cloud is then projected onto a sphere around the car and used as an environment map to add reflections on the cars  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     breaks down the engine into two separate related concepts, Resource and Command management    discusses how to interact with resources   introduces the idea of state scopes to prevent state leaking   commands are recorded into engine specific command buffers that are later converted into the API specific format  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     slides for most of the talks have already been published  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Nvidia tutorial on how to integrate DirectX raytracing and rasterization so that both rendering paths can be used within the same application   how to initialize the API, create DXR acceleration structures   how the ray tracing pipeline works, manage shaders, resources, and shader binding tables   implementation of the required raytracing shaders to produce identical results with the rasterization pipeline  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                    . short description of the different aspects of the Disney BSDF, including source code 
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     a technique to render screen space water using unity   water particles write information into offscreen buffers to accumulate water information   these buffers are then resolved to form a continues water surface instead of individual blobs  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     improves upon the multiple scattering approximation from the previous part of the series    the result is a model that only requires a 2D LUT to be pre-calculated  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     walkthrough of two vegetation shaders created with the visual shader editor that was added in Unity 2018.1  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     how to improve the generation of uniform points in a sphere, disk, and a spherically capped cone  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     a tutorial that shows how to clip a mesh in a pixel shader against a plane using unity  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     a web tool that allows the conversion from HLSL Shaders to HLSL 6.2, GLSL 4.5 and Metal 2.1  
                    
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     choosing a different algorithm to optimize triangle-ray intersection tests and vectorizing the calculations  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     a quick overview of blue noise tiled with various tile sizes from 16x16 to 256x256  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     explores source to source optimizations techniques using the LunarGlass framework with GLSL shaders   comparison of different optimization techniques and the effects on runtime performance   results vary significantly between different shaders and target platforms  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     overview of libraries available to write GPGPU applications using the Rust programming language  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     description of the "unlit" light system being used   it allows lights to modify tint, brightness and contrast to enable the 2D characters to match the environment better  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     a short explanation and Metal shader code for different blend modes as described in the PDF specification  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     overview of different fire effects that are based around animated noise textures  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     overview of different rain effects with links to more in-depth articles discussing the showcased effects  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Microsoft open sourced their library to read and write GLTF model files  
                    
                   
                 
               
             
           
         
          
            
              
              
                
                  
                    	   great in-depth discussion of the full PBR rendering pipeline, documentation for the [Filament engine](https://github.com/google/filament)   base BRDF model, extended with support for clear coat layer, anisotropic surfaces, and cloth   explanation of lighting units and implementations for directional, point and spotlights   providing GLSL code snippets   a short overview of the clustered forward shading implementation   information about how to validate a PBR implementation  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                    	   physically based shading model implemented using D3D11, D3D12, Vulkan and OpenGL 4.5   each backend is implemented in a single .h and .cpp file  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     shows algorithms for generating random points within a sphere   contains interactive visualizations that make it easy to see the quality of the distribution 	  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                    	   breakdown of a burning shader implemented in Unreal Engine   uses flow maps and world space positioned spheres to influence the fire   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     part two of the series providing an introduction to vertex shaders   shows how to add a custom vertex shader to a basic unity shader, sample textures, pass data from vertex to pixel shader and modify vertex positions 	  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     summary of the paper: "View-warped Multi-view Soft Shadows for Local Area Lights " discussed in [last weeks] (/post/graphics-programming-weekly-issue-49) issue    a real-time technique for soft shadows 	  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     shows how to measure Cuda copy performance using the tools contained in the SDK   how to speed up the application with the collected performance information 	  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the article discusses how to calculate the central axis from a 3D mesh   the axis is computed as maximal perpendicular to the area-weighted surface normal of the mesh 	  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                    	   explains how to use MSAA when using Vulkan   how to detect the supported sample count, set up the render targets and make the necessary adjustments to the render passes   shows how to enable sample shading to further improve quality on the inside of polygons  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     twitter thread that provides a large number of links to information about volume rendering 	  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                    	   provides the Vulkan specification in a chunked version   the original specification is one large HTML file that causes usability issues  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                    	   AMD provides a XML file that offers the possibility to map from external driver version to the contained Vulkan driver version  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Xenko, a C# based game engine has been released as open source with an MIT license 	  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     collection of many 3D graphics research papers for a large number of different topics (sorted by topic) 	  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     OpenGL ES implementation using Vulkan   licensed as LGPL v3 	  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     explanation of frame stuttering   provides videos and frame by frame comparisons of what is causing the stutter   explains how the discrepancy between measured time and actual present time causes the studdering issue   current state of graphics API ecosystem in solving this problem 	  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     shadertoy implementations of multiple noise types   the comments describe improvements and possible optimizations to the used noise types 	  
                    
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     shadow technique for local area lights   based on the generation of view independent point clouds from dynamic triangle meshes and the rendering of multiple depth maps simultaneously   proposes two different implementations   performance and quality comparison against PCSS (percentage closer soft shadows) and Multi-view rasterization (MVR) 	  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     part 3 of the series about Grassmann for computer graphics   combines the concepts of bi-vectors / tri-vectors with dual vectors   explaining use cases  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     explains how GPUs are able to execute multiple execution streams to hide memory latency   how the different workloads of CPU and GPU lead to differences in the design of caches 	  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     added support for visualizing the content of DirectX Raytracing shader tables   able to detect invalid data in the table and warn about it  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     explanation of a geometry shader in Unity that converts a triangle mesh into camera facing quad particles 	  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     explains how to calculate luminance and a very brief overview of the human vision 	  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     look at image shaders that modify brightness, contrast, exposure, gamma or saturation using Metal  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     overview of water rendering starting from the early 90s to the early 2000s 	  
                    
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the history behind the release of the Disney datasets of large-scale scenes   comparison of the scene rendered using Disney's renderer and PBRT 3  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     paper discussing the software implementation of the rasterization pipeline using compute shaders   using a dynamic approach that adjusts to the workload dynamically   comparison within environments taken from games to evaluate the pipeline overhead   showcase of what kind of effects are possible with a software approach     custom primitive rendering     programmable blending     adaptive supersampling   in-depth performance comparison against hardware and other software approaches  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     follow up series of 2012's GPU Pro 3 model   dynamic, real-time atmospheric model without pre-calculations   explains aerial perspective and the Chapman approximation to optical depth  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     showcase different ways to visualize a 2d flow field   presentation of an algorithm that allows the creation of loopable animations from vector fields  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     summary of "Conservative Z-Prepass for Frustum-Traced Irregular Z-Buffers" paper   explanation of irregular z-buffer and conservative shadow maps and how they are combined  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     mathematical derivations of importance sampling for GGX, Beckmann, and Blinn-Phong  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     part 2 of the Metal tutorial   adding support for depth buffers, some simple lighting with textures   extending the application to support multiple lights, objects, and materials with some basic animations  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     explanation of Vulkan render passes example   how to create Render passes   manage shader bindings for input attachments and how to use them from within the GPU shader  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     start of a series about graphics engine architecture   core design goals and pillars for the author's graphics engine     embrace concepts introduced in modern graphics APIs     make job-based multi-threaded execution a first class citizen     define a clear, small API, but be open towards extension  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     a new vertex cache optimization algorithm that is able to improve cache usage on NVidia hardware by taking advantage of vertex batch sizes  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     summary of the "Revisiting The Vertex Cache: Understanding and Optimizing Vertex Processing on the modern GPU" paper  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     explains what color inversion is and how to implement it using metal  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     tutorial on how to use multi-pass shaders in unity to implement an outline drawing effect   first pass object is drawn like usual   in the second pass drawn with front face culling and slightly scaled up to define the outline  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     explanation of partial derivates in pixels shader, (ddx, ddy in HLSL or dFdx, dFdy in OpenGL)   the rate of change for variables in a 2x2 pixel grid   how they are calculated, how they can be used to calculate face normals from world space positions   how branches interact with derivative calculations  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     explanation of SIMD execution details for GCN   discussing latency, throughput, and scheduling   introduction of instructions that allow multiple SIMD lanes to exchange information   extra requirements for pixel shaders  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     a technique to rotate vectors on the GPU using only integer math   aims to take advantage of packed operations and scalar integer operations  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Colin Barré-Brisebois is looking for feedback and open problems in real time raytracing   this will influence the HPG 2018 keynote  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     how to calculate the bounding box for quadratic and cubic Bezier splines analytically  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     changing the color parts of a character at runtime using a mask texture   detailed visual explanation of why this works for fixed colors but causes an issue when giving the option to blend between two colors   using premultiplied colors removes the artifacts  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     explanation of how blending HDR values into an SDR render target behaves regarding clipping into the [0,1] range   shows how using non-premultiplied HDR values results in incorrect results and how this can be fixed by the use of premultiplied alpha colors  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     tutorial how to write a Metal app for iOS   end results is a spinning, constant color teapot   deals with loading models, handling vertex data, shaders, constants and drawing  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     showcase of small rendering demos that showcase volumetric rendering effects  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     explanation of dark and stormy, cloudy skybox shader for unity   source code and example assets are available  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     a technique to generate quadrilateral meshes from triangulated meshes   won the Best Paper Award at Symposium on Geometry Processing 2018   source code available  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     a library that aims to provide a thin abstraction layer on top of OpenGL, D3D11, D3D12, Vulkan, and Metal  
                    
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     GLSL implementation as a starting point for a temporal antialiasing solution  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     bibliography of the Real-Time Rendering 4th edition   1978 references  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                          comparison of combinations of six different sampling strategies for disk area light sources and 9 sample sequences   testing is done for wholly and partially illuminated regions   the best result could be achieved with the polar4 strategy introduced in this paper with well-stratified samples  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     introduction of new strategies to generate progressive(hierarchical) 2D sample point sequences     can be stopped at any point in the sequence and samples will still be well distributed   comparison against existing techniques, using many different distribution functions and shapes  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     explanation and derivation of the HSV and HSL color spaces   how to convert the color spaces to and from RGB colors  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     implementation of a hybrid approach that mixes rasterization for first hit and raytracing for secondary rays   tracing against polygons using compute shaders directly (no raytracing API)   how to create a BVH structure and traverse it   details about how to raytrace for shadows and reflections   look at the performance, mainly memory bound  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     provides an overview of GPU preemption strategies and how these affect application responsiveness and latency  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     explains the physical properties of cameras, starting with a pinhole camera model   shows the effect of changing focal length, aperture radius and how to implement this into a raytracer   extending the concepts into a lens based camera system  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     explanation of performance culture, a working culture that treats performance as a core feature   designed from the beginning and it's everyone responsibility to uphold it  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     video and slides from a talk that explains lessons learned from porting an AAA engine to Vulkan   recommendations for memory, descriptors, command buffers and barrier management   a short overview of frame graph architecture to achieve better barrier usage  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     overview of the hybrid real-time rendering pipeline developed for PICA PICA demo     layered material model     transparency     translucency     shadows   an in-depth look at the reflection system and global illumination system  
                    
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     how GPUs evolved from fixed function hardware to the uniform architecture used today   overview of concepts required to understand the programming model   how GPUs are able to hide memory latency to achieve higher throughput  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                    summary of the paper "High-Performance Procedural Noise using a Histogram-Preserving Blending Operator" that was discussed in issue [45](https://www.jendrikillner.com/post/graphics-programming-weekly-issue-45/) 
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     steps that the author recommends programmers follow that are interested in getting started in graphics programming   from shadertoy (for instant visual feedback) to game engines to more low-level aspects of the implementation  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     overview of the SDF storage system   how the world space SDF is generated from a list of brushes and how it is modified at runtime   how to raytrace against the distance field efficiently   soft shadows and ambient occlusion improvements   SDF → mesh conversion for moving particles  
                    
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     overview of design decisions of single header low-level rendering API   comparison against bgfx and sokol_gfx  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     windows registry contains entries for Explicit Layers (all layers that can be loaded by a process) and Implicit Layers (all layers that will be loaded automatically for every process)   sometimes these values will become corrupted  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     a technique that allows the generation of infinite output space from a small example texture (such a grass, snow) in a pixel shader only     for example tillable terrain textures     cheap to evaluate; 0.29ms for a fullscreen quad   the approach is to partition the output space into a triangle grid and to pick three random patches from the input texture to blend to create the output patch   this is made possible through the variance preserving blending operation, and this can also be used to improve triplanar mapping  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     technique for downsampling images that preserves high-frequency information from the original image   instead of discarding high-frequency information it remaps the signal into a form that can be represented in the downsampled image  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     a technique to improve importance sampling for spherical light sources by projecting the visible spherical cap onto a 2D plane, and taking uniform samples within this plane   yields noise-free direct illumination for constant illumination with no occluders  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     summary of the previous paper   explains the spherical cap projection and the intuition how this improves the results    
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     program for the High-Performance Graphics 2018 in Vancouver has been published  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     technique changes shading rate adaptively based on the local content of the image   partitions the framebuffer into subdivision levels; uses these to estimate the variance between neighboring pixels to decide if new shading information needs to be calculated or if the shading result can be estimated from neighboring pixels  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     overview of area-preserving approaches of cube to sphere mapping   summarizing ability to preserve area and GPU performance   how to generalize 2D grid-based poisson-disc sampling to the sphere   provides shadertoy implementations of the presented techniques  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     summary of "cube-to-sphere projections for procedural texturing and beyond" paper  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Pix now also support GPU occupancy visualization for all shader types on AMD GPUs  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     polygons on terrain implemented as image-space decals   how to apply them when they span a large area on the surface of the earth   effects of implementation inaccuracies of inverse trigonometric functions between CPU and GPU  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     explains what a context on AMD hardware is and how the driver manages these   the Radeon GPU Profiler has a tool to analyze when context rolls are causing a performance issue  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     a technique that adjusts the temporal accumulation factor dynamically per pixel and frame   done by calculating per-pixel temporal gradients. These are reconstructed from sparse information that captures the change of luminance between the last and current frame  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Microsoft DirectX Shader Compiler is now also supported on Linux and macOS   there is a docker image available: [https://github.com/gwihlidal/docker-dxc](https://github.com/gwihlidal/docker-dxc)  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     low-level C# graphics library now supports SPIR-V shader for all supported backends   exposes specialization constants on the API level and emulates them at translation time for backends that don't support them  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     discusses problems with synchronization between unrelated work when using a single command queue   showcases how two command queues can achieve better overall utilization at the cost of longer latency  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     explanation of the simball environment that has been initially designed for the Maxwell Renderer   descriptions of the different object features, what they are designed to provide tests for and how it's supposed to be used  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     shows how Zelda uses an FX in world space to make objects visible in high grass by adjusting the position of the effect based on the environment   fix clipping with the object by offsetting the FX towards the camera  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     twitter thread with a checklist of common problems that can cause objects not be rendered in OpenGL / D3D  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the technique that mixes rasterization and temporal antialiasing to only ray trace pixels where a classification algorithm determines that TAA will not produce good results  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     C++ source code and prebuild demo application are released  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     The decals are projected from world space onto the mesh UV and rendered into separate per-object decal textures  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     optimizations to raytracer using SIMD   extending AABB tests to deal with various edge cases  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     a new set of SDR ODT (Output Device Transforms)    first Output Transforms that combine the RRT (Reference Rendering Transform) and ODT (Output Device Transforms) into a single transform  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     shows how the runtime/compile time selection feature of the Rust programming language is used to select different SSE intrinsics based on the available hardware  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     overview of rendering API support for the user of Roblox   Metal reaches above 60% on MacOS and D3D11 77% on Windows   on Android, Vulkan is available on 20% of devices  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     new sdk contains VK_KHR_get_display_properties2 and VK_KHR_draw_indirect_count extensions  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     how to use two Vulkan queues to enable optimal scheduling for compute-shader based post-processing   discussion how fragment → compute can introduce bubbles on the hardware   uses two software queues with semaphore synchronization to overlap early work in the frame of the following frame with the post-processing work of the previous frame  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     explanation of to use Monte Carlo integration to calculate the area under a curve   extending the system to deal with non-uniform random numbers distributions     convergence can be faster when using a distribution that is a closer match to the signal that is being sampled  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     timing capture now visualizes fence signal and wait   fences can be named   shader edit and continue workflow improvements   shader resource tracking for DXIL shader  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     shader playground added support for [slang](https://github.com/shader-slang/slang)       a shader language that extends HLSL to make it more modular and extensible   ability to shows the control flow graph in GraphViz 'dot' form for SPIRV  
                    
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     using lookup tables to precompute the endpoints better compression results   different number of lookup tables allow tradeoffs in performance, quality and memory usage  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     talks from Microsoft at GDC are online     including [DirectX Raytracing](https://channel9.msdn.com/Events/GDC/GDC-2018/05) and [Optimizing and debugging your DirectX-12 game](https://channel9.msdn.com/Events/GDC/GDC-2018/10)  
                    
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     discusses the history and design of their in-house procedural texture generation tool  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     discussion of the photogrammetry workflow   camera used to capture, tools to generate the mesh and normals   using unity Unity’s DeLighting tool to remove shadows are even present on an overcast day   Tree assets are created with a mix of scans, 3ds max plugins, and quixel megascans assets   a fluid solver is used to calculate the flow map for the wind, shape exploration and VFX generation  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     overview of all the post effects that can be found in PostFX v2   code is on [github](https://github.com/Unity-Technologies/PostProcessing)  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     explains the basic of path tracing used in his D3D12 path tracer  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     discusses  engines, frameworks, abstraction layers that support metal  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     QT adds support for vulkan on macOS through [MolenVK](https://github.com/KhronosGroup/MoltenVK)  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     this in-depth document (26 pages) covers how real-world measurement is used to achieve correct lighting in call of duty   explanation of camera concepts   getting relative EV differences between light and shadowed areas is more important than having absolute correct values   how having consistent measurements between the real world and in-game allowed numerous issues to be discovered and fixed   the exposure handling required for the sizeable dynamic range of the scene   how to capture accurate HDR photographs, albedo textures, and specular gloss  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     an in-depth overview of color, color spaces, and color transformations   discussion of HDR standards   ACES pipeline overview   implementation of HDR pipeline covering     tone curve, display mapping, UI rendering     universal CLUT and color grading  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     look at solution developed by Imageworks compensates for the energy loss in a single bounce BRDF model   improvements to the model  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     proposal of how to group vulkan resources by usage type   designed for coloring in the [VulkanMemoryAllocator] (https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator)  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Apple will start to deprecate OpenGL with macOS 10.14 and OpenGL ES with iOS 12   developers should be using Metal instead  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     how to generate command buffers in parallel on the CPU   metal can analyze data dependencies to insert GPU parallelization automatically   explicit control is supported but requires explicit opt-in   how to build a GPU driven rendering pipeline using indirect command buffers and argument buffers   look at image blocks, programmable blending, tile shading, persistent thread group memory, custom multi-sample color resolve   lessons learned from bringing Fortnite: Battle Royale to iOS  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     twitter thread with advice how to learn more advanced graphics programming topics  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     a tutorial that explains how to clip a polygon based on a list of lines in a pixel shader  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     derivation of a ray function that implements the effects of a thin lens on rays  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     looks at different file formats and discusses the difference between formats aimed at the interchange of information or consumption only   formats covered: gltf, fbx, alembic, USD,   a brief look at application and engine support  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     a sample that shows how to use the VK_KHR_multiview Vulkan extension  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     shader authors can define variations of shaders with a number of systems   each system can inject code/resources/constants into the shader   a material allows specifications of which shaders belong together, which systems they use and allows to insert command at the correct time in the Frame   all of the resulting shaders get a shared resource binder and constant buffer to reduce   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                       explanations how ray tracing shaders in OpenGL can access the necessary textures for all objects in the world using GL_ARB_bindless_texture 
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     moving the scene information into group shared memory to speed up the ray tracing code a lot   problems on metal, slower unless passing data by value instead of by const reference   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                       look at the iOS implementation with an overview of performance tools for CPU and GPU  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     now using Logarithmic depth buffer when available   writes custom depth in a pixel shader, this does disable early depth optimizations but still a performance win for their use-case   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     look at the implementation of Witcher 3 rendering from an outside perspective using RenderDoc   breakdown of rendering Frame structure   how normals are stored in the g-buffer   explanation of a number of techniques from the d3d disassembly     sun rendering     blinking stars     eye adaptation     tonemapping     vignette  
                    
                   
                 
               
             
           
         
          
            
              
              
                
                  
                          discussion of tradeoffs for the basis file format   comparison of different images formats transcoded from the same source format   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     extending previous work in CNN(Convolutional neural network)  based denoising   using a modular architecture that improves temporal stability and detail preservation   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     the longer the CPU/GPU can idle, the less power is needed   optimizing a CPU bound game might cause more frames to be rendered (hitting 60 fps instead of 30). causing less GPU idle time and increasing power consumption   kernel heuristics might trigger higher frequency mode which increases battery usage significantly   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Tutorial about the implementation of water surface movement of using a flow map in unity   how to deal with deformation of normals using derivative maps   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     NVIDIA Nsight Systems visualizes system-wide application interactions across CPU and GPU   Nsight     Volta, Vulkan 1.1 and Cuda 9.2, are supported     user configurable memory view   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                    -how to investigate GPU starvation and detect CPU/GPU synchronizations and overview of other tools  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                       many optimization lessons learned for mobile   how to deal with shader preloading   discussion of error detection in automated image comparison tests   increased game brightness to reduce the use of display backlights to save battery and reduce heat   using raytracing to remove aliasing in special cases   improvements to blue noise algorithm   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                    	   discussions of problems with old occlusion culling systems   renders occluders in a pre-pass, uses the depth information to cull instances   how to implement culling against the depth  buffer, remove culled instance from the stream   stream compaction implementation   extend the system to handle LOD, materials and manual vertex fetching   performance results on Nvidia  and Intel   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                    	   overview of how to generate a SDF in unity   per object SDF at build time   global SDF aggregation at runtime   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                    	   introduction to shaders workshop in Montreal   focused on the node-based shader pipeline of Unreal   
                    
                   
                 
               
             
           
         
          
            
              
              
                
                  
                        discussion of characteristics of different ways to pass CPU generated data to the GPU using OpenGL     persistent memory (GL_ARB_buffer_storage)     client arrays     vertex buffer object (VBO)   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                       overview of SPH (Smooth Particle Hydrodynamics)   how it's implemented in a compute shader   explanation of a sorted grid acceleration structure   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                    	   how the fractal raytracer was implemented on the GPU   evaluating the fractal, ray marching and photon simulation   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                       discussion of a unique art style rendering technique   the character is represented from axis aligned voxels   voxels are created/destroyed on a quantized world space grid as the character moves through the world   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                       adds supports for a basic material system with lambert diffuse + phong specular   explanation of importance sampling   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                       list of resource for beginners into graphics programming   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                       implementation details for reflections, translucency, transparency, shadows   global illumination uses surfels with world space accumulation   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     explanations of how to get started with shader programming with unity   takes the unity toon shader as the starting point to explain concepts and provide a gentle introduction into making modifications to it   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                    	   adds support for GPU tracking system that allows to enable/disable features based on the GPU used   
                    
                   
                 
               
             
           
         
          
            
              
              
                
                  
                       now includes present events in the system activity view   explanations for why the driver had to insert barriers   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     implements foveated rendering through usage of log-polar transformation   gbuffer is written as normal, attributes transformed into sub-resolution textures using a log-polar transformation   shading is done in log-polar space before the results are transformed back into Cartesian space 	  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     Intro to sampling theory and how different sampling patterns influence the aliasing that can be observed   explanation of why the default D3D11 MSAA has been chosen 	  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     description of a shader effect that dissolves triangles outside of a spherical effect range 	  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     slerp between two orientations takes the shortest path on a 4D hypersphere   author wants the shortest arc in 3D instead   decomposes rotation into swing and twist operations   these are interpolated independently and concatenated to form the final rotation 	  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     start of series that will look at lack of multi scattering in common analytical BSDFs and solution   only modelling single scattering causes significant energy loss on rough surfaces   post shows visual example that up to 60% of energy can be lost 	  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     derivation of the multi-scattering GGX BRDF   provides source code and precomputed lookup tables  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     explains what shader variations are    how to compute the amount of variations created for a shader   how unity decides what variations to include   Unity 2018.2 beta adds the possibility to control shader variation compilation from a C# script 	  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     new image diff option allows visualization of pixel difference between compressed / uncompressed textures   adds model optimizations (vertex cache, overdraw, vertex prefetch optimizations)   draco compression support 	  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     tool that allows to only include vulkan functionality that you need   comparison of header sizes and influence on compile time, startup time 	  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                    	   introduction into vectors as functions and dual space   how to transform dual vectors  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                    	   uses ShaderGen to write shaders in C# and compile them into the target shader language for D3D11, Metal, OpenGL and vulkan  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     website that allows compilation of shaders with a multitude of shader compilers and inspect the available outputs   possibility to chain compilers together 	  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     tutorial how to use the VK_EXT_debug_utils extensions   combines old debug extensions into a unified one and adds more possibilities   allows more details to be reported from the validation layer and tools that support the extension 	  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     technical details about the font rendering algorithm used in [slug](http://sluglibrary.com/) 	  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     presents one method to derive the slerp formula for quaternions 	  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     discusses issues with composability, how complexity poses a problem of sharing research results   list of frameworks for research   how the scriptable render pipeline of unity allows more flexibility and still hides most of the complexity 	  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     discusses problems with using a texture atlas   set of scripts to help with the creation, management and usage of texture arrays in unity 	  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     technique that helps to reduce problems of disappearing geometry for alpha tested geometry   no runtime changes required, only changes the way mips are generated 	  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                    	   experience of using vulkan with AMD drivers (stock and open source)   comparison of register usage with different shader compilers 	  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                    	   Khronos event focused on experiences of game developers that ship Vulkan versions on May22 in Cambridge  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                    	   compressing animation key frames relative to the bind pose and presenting results   results are data dependent, on Paragon dataset saves 7.9% but increases compression time  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     new model for layered materials   statistical analysis that uses an atomic decomposition of light transport to predict scattering in the layered structure   per layer statistics are combined into a scattering function as mixture of microfacet models 	  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                    	   in-depth look at the distribution of display resolution across the VR display   how this influences the mapping of renderer output results to the final display   physical display resolution is the same on both headsets (1080×1200 per eye)     Oculus favors  resolution over FoV     Vive has a higher FoV but reduced resolution  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                    	   tutorial course covering representation, usage and applications of voxel DAG and multiresolution hierarchies   voxel DAG take advantage of duplicated data found in voxel data sets   how to     compress color information     construct a DAG using CUDA     raytrace the structure     use it for shadows in static environments  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     unicode overview   overview of different font rendering techniques   look at how Slug renders individual glyphs and what is required to present good results for lines of text 	  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                    	   explanation of rules that apply to shader input structures and interstage linking   differences between HLSL and SPIR-V semantics   shows how HLSL semantics are expressed in SPIR-V  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     blog series about the mathematics of spherical gaussians     a gaussian function that is defined on the surface of a sphere   and how to use the techniques for normal map filtering 	  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                    	   videos from the Montreal Vulkan dev days have been uploaded 	  
                    
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     how the stylized vfx in Rime was implemented   short overview of fire and smoke effect   in-depth overview of the water rendering implementation  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     explanation how to query reflection information from SPIR-V shader   brief overview of the the SPIR-V type system  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     explanation of the implementation of [Pixel Projected Reflections](http://advances.realtimerendering.com/s2017/PixelProjectedReflectionsAC_v_1.92.pdf) using vulkan   supports approximation of normal maps and roughness   comparison against brute force ray tracing implementation (image quality and performance)  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     how to implement a ray tracer using a compute shader in unity   features supported: sky box, ground plane, spheres, reflections, directional light with hard shadows and a basic material system   simple temporal anti-aliasing solution  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     shows the steps leading up the final implementation   uses a fixed weight for all contributing samples. If sample doesn't contribute, blend in the current average color instead   clamping sample size when sample is further away then the center sample. This makes sure out of focus background do not blur into in-focus foreground objects  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     texture compression library in just 500 lines of C code + Zstd   zpng compressing is quicker, takes 6% of the time and output size of the image is 66% compared to the png reference  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     presentations from the Vulkan Montreal dev day   including updates about HLSL in Vulkan and descriptor indexing  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     comparison of Draco and mesh optimizer output in regards to size and decoding time   Draco size compression is mesh dependent, can be larger. Always a lot slower to decode  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     most of the AMD presentations from GDC have now been uploaded  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     examples for arguments buffer have been published   allow the grouping of resources and constants into a single object that can be bound as a single unit  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     tool that allows simplifications for static VR environments   takes RGB + depth as input images   generates simplified geometry that textures will be mapped onto to represent the scene   prebuild version can be found here: [https://github.com/ddiakopoulos/seurat/releases](https://github.com/ddiakopoulos/seurat/releases)  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     build upon the ideas of moment shadow mapping   transparent geometry is rendered twice    1. determine transmittance function per pixel   2. composite all transparent surfaces    taking advantage of the fact that the logarithm of the transmittance can be accumulated additively  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     overview of the new rendering API   build around method chaining for the initialization of  descriptors  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     summary of     cloud modeling and authoring system     lighting model   high level overview of the implementation  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     environment lighting is using several distributed area lights   distribution / strength is adapted to the environment   implementation of importance sampling using varying step sizes for ray marching steps  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     investigation of relation between linear interpolation and curve representations  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     D3D11 extensions to simplify use of Lens Matched Shading and Multi-Res Shading   short overview of the concepts and how the API works  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     vulkan function calls pass through several layers until the actual function is  executed   looks at the disassembly to evaluate the cost of this (between 1-5%)   and how to bypass many layers to reduce the overhead  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     100% dynamic lights, 16 shadow maps in 4kx4k atlas   gbuffer breakdown     stores material index in gbuffer, indexing into structured buffer for material information   deferred decals have problems with depth discontinuities because of wrong mip selections     use mip0 when depth discontinues are found around the pixel   object decals, blending arbitrary meshes into the gbuffer   working on bindless decals, follow the same pattern as clustered deferred lighting  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     implementation of a buffer based (breadth first) approach for the raytracer   looking at synchronization issues, performance   brief look at the NVidia nsight tool  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     overview of what error metric he uses when working/comparing encoders  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     shows effect of different ray marching step sizes for screen space reflections   diffuse reflections approximation with mip selection vs reference implementation with many samples  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     comparison of backface culling efficiency for cluster cone, 64-triangle clusters  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     discusses 3 different approaches for implementing thermal erosion on a height field based terrain  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     supports perceptual metric for compression   designed for opaque textures  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     descriptor types in vulkan vs D3D12   how to specify resource bindings for vulkan in HLSL   memory layout rules  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     April 30th, Vulkan Developer Day in Montreal, hosted by Ubisoft  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     UVs map into a gradient texture   to change the colors the UVs are adjusted to point to other sections in gradient texture   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     overview of the shader authoring format   shader input parameters are defined without thinking about how they are bound   passing data between shader stages is abstracted     giving the system flexibility to pack as required    
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     microarchitectural details of the NVIDIA Volta architecture   registers are divided into two 64 bit banks     reduction of bank conflicts with register remapping can improve performance by 15%   shorter latency for shared memory atomics  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     MatCap texture contains lighting information for all camera space normals   needs to be recalculated when camera direction changes  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     uses a texture based and camera facing quad approach instead of a post-processing bloom    lighting for terrain rendered into a low-res light map, sampled per-fragment   terrain is rendered at 720p, up-scaled to 1080p   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     algorithm to sum regions from arrays or grids in constant time   need larger storage format, increase depends on largest range that needs to be summed   compatible with bilinear filtering for sub-pixel values   
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     unity graphics team is looking to gather feedback to improve the roadmap  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     performance numbers for all implementations with latest changes  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     current approach recursively processes a single ray until it terminates   new approach calculates each step for all rays in seperate passes   memory read seems to be limiting factor, shows a few optimizations for that  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     available with AMD vega architecture   pack two FP16 into FP32 register     reduce ALU instructions count, reduce VGPR usage   how to detect FP16 code generation in FXC disassembly and GCN ISA output   discussion of pitfalls and common use-cases   how to deal with FP16 constants  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     combination of ripples and streaking effect   blending between the two effects based on surface orientation   this post covers the implementation of the streaking effect  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     many BC7 encoders compress all channels equally   for color textures, errors in red and blue are less noticeable   YCbCr color space allows better compression by reducing the number of bits used for chroma  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     discusses issue with the ispc implementation   compression has quality problems with grayscale textures  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     survey of methods utilizing Monte Carlo for light transport in participating media  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     list of resources for beginners aimed at shader toy like graphics programming  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     A C++14/C++17 header-only library for simple, efficient, and robust serialization/deserialization of glTF 2.0  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                     library that allows access to GPU performance data on intel GPUs  
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                    It is my favorite book, and I own the first and second editions. It covers a vast amount of different topics required for game engine development.  Presents different approaches to the engine design and discusses different strategies with practical examples from various engines and their associated tradeoffs. The book provides detailed insights into how Naughty Dog solved several challenges in their property technology.  It doesn't focus too much on the rendering aspect of engine design but covers pretty much everything else. 
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                    This book fills the gap where Game Engine Architecture needs more information about rendering.  The book provides an extensive overview of the real-time rendering world aimed at an intermediate-level graphics programmer. This is not a beginner book, and it's helpful to have followed a couple of getting-started tutorials for graphics programming before picking up this book.  However, it focuses on developing a practical and well-explained understanding of basics such as color spaces, coordinates spaces, graphics pipelines, projections in various forms, and classical lighting and shadow methods. Many of the techniques presented are not state-of-the-art, but these techniques provide an excellent understanding of the foundations of the more "modern" techniques used in many AAA game engines today.  Additionally, it contains an excellent chapter on visibility and occlusion.  It's an intermediate book; a good understanding of fundamentals in math is helpful, but the author explains as the material gets introduced. If you notice yourself needing more mathematical understanding, look at [part 1](/books/book-engine-vol1-math) from the same series and author. 
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                    This book covers a modern and in-depth approach to the design and developemnt of a practical photorealistic rendering system. The implementation is aimed at non-realtime rendering but shows the theory that underlies the state-of-the-art realtime rendering methods.  The whole book is available free of charge online but an print version is available as well. 
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                    This book provides an in-depth introduction to the mathematics required for graphics developers. It covers "classical" topics such as linear algebra (vectors and matrices), transforms, and geometry and gives the reader a great understanding of how to solve many practical challenges and understand industry work.  However, the book also covers Grassmann/Geometric algebra, a relatively recent algebra extending to more natural work on geometrical objects. With this understanding, some "oddities" of linear algebra, such as the behavior of normal vectors under transformation, can be understood more cohesively. 
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                    This is a book that I find myself grabbing from the bookshelves quite regularly. It's my go-to resource when I am looking to solve geometry or collision-related challenges.  It has an extensive list of explanations for the most reliable and efficient way to perform various operations.  Looking to test for a collision between two primitives, find the closest point between a shape and a line, how to merge AABBs, and build efficient spatial partitioning structures?  This book has you covered, as well as in many more cases. Take a look at the table of contents. 
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                    This book is a quick and fabulous read to get a deeper understanding of what all this talk about data-oriented design is about. It goes beyond the often-mentioned reduction of cache misses. It shows how an application design based on the underlying data's properties is fundamentally designed differently than when following an object-oriented approach. It provides much food for thought when looking at your problems with a new mindset. 
                    archive  / summary   
                   
                 
               
             
           
         
          
            
              
              
                
                  
                    This book covers the Zettelkasten method. A method of organizing knowledge based around a structured, interconnected web of fundamental ideas.   This book fundamentally changed how I store, connect, and find all the knowledge I read and learn about daily. The book focuses on academic writing, but the same can be applied to a personal knowledge management system.  This book is in German, and I have yet to read the English translation. Therefore, I cannot comment on the quality of the translated English text. 
                    archive  / summary