- video for the talk that was discussed in 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
- present HLSL code snippets that implement different kinds of dithering and an example application
- comparison of quality and performance of the different dithering techniques
- 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
- 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
- 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
- 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
- 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
- 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
- slides for the Moving Mobile Graphics 2018 course from SIGGRAPH 2018
- 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
- 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
- video tutorial on how to implement a subsurface scattering approximation with unity
- 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
- a tutorial explains how to create an Overwatch style x-ray effect in Unity
- implemented using stencil buffer and multiple shader passes
- 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
- a visual explanation of foundational linear algebra concepts that are required for shader programming
- video of the demoscene session at SIGGRAPH 2018
- Clouds in Wande
- Making an animation in 18 bytes at a time
- Building World in 64KB
- Demo Party in Japan
- 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
- thoughts on open questions in regards to raytracing dynamic, open world type environments
- brief discussion of difference between Moment Transparency and Moment-Based Order-Independent Transparency approaches
- small code samples to help to integrate the trigonometric Moment-Based Order-Independent Transparency technique
- look at different ray tracing scenarios and how they influence coherency between neighboring rays
- references to papers that investigate the issue in further details
If you are enjoying the series and getting value from it, please consider supporting this blog.
Support this blog