Unreal Engine 4 Rendering Part 1: Introduction [wayback-archive]
- focus on the deferred shading pipeline
- settings required for good development experience
- how data is passed from updated thread -> engine thread -> gpu
- how shader system is structured
- binding between HLSLS and C++
- how the correct shader variation is picked
Deferred Signed Distance Field rendering [wayback-archive]
- using a fullscreen pass, render the SDF into the g-buffer
- outputting custom depth for correct depth sorting
State of Roblox graphics API across all platforms - December 2017 [wayback-archive]
- on windows 77% can use D3D 11+, still 3% on D3D39
- windows store, 10% for D3D10
- 52% can run metal on mac and 86 on iOS
- android very fragmented across ES 3.X and 2.0, vulkan
Vulkan: Pipelines and Render States [wayback-archive]
- support on-demand, VkPipeline creation at runtime only as fallback option
- most should be created offline
- how to handle this with multithreaded rendering
- Render State Override Blocks
- allow changes to some dynamic states at runtime
A Simple Device Memory Allocator For Vulkan [wayback-archive]
- memory heaps and types
- can’t mix different types into one heap
- vkAllocateMemory overview
- guaranteed to return memory aligned to the largest required alignment for any resource
- allocation sizes differ depending on hardware
- driver specifies maximum number of allocations that can be done
- when sub-allocating
- need to respect Buffer-Image Granularity to avoid aliasing
- need separate pool for each allocation type
- only allowed to map allocation once, even when sub-allocating different objects within
Deferred Path Tracing By Enscape [wayback-archive]
- path traced real time global illumination that can converge to offline quality
- using Radeon Rays for BVH construction and traversal
- using g-buffer as replacement for primary rays
- try to cast the diffuse rays in screen space, only if no hit is found trace using the BVH
- ray bundling based on direction
- BVH is streamed based on estimated visual importance weighted against their BVH cost
- bake lighting into BVH per-vertex
- sun is evaluated during traversal
- filtering with temporal accumulation buffers
presentation here: Real-time path tracing using a hybrid deferred approach [wayback-archive]
Learning DirectX 12 โ Lesson 1 [wayback-archive]
- very in-depth tutorial about D3D12
- win32 window creation
- Query the GPU adapters
- Create in d3d12 device, command queue, swap chain, command allocator and command lists
- Handle GPU synchronization
- Handle resizing
- Handle full-screen toggling
Crunch compression of ETC textures [wayback-archive]
- explanation of DXT1 compression
- detailed explanation how crunch compression works
- and what improvements have been done
Metal Gear Solid V - Graphics Study [wayback-archive]
- SSAO is done with two passes
- Line Integral SSAO + Scalable Ambient Obscurance
- uses local irradiance spherical maps for global illumination
- one bounding-box-shaped mesh representing the volume of influence of the zone
- additively blends the irradiance from all zones
- does tone-mapping early, right after g buffer lighting
- depth of field
- done using a sprite scattering approach
- on near-field and far field separately
- results blended together
Decima Visibility in Horizon Zero Dawn - Video
- this was discussed in Issue 18
- now the video has been released
Assimp: The 4.1.0-Release: gITF2 and more
- import / export GLTF 2.0
- open source showing the implementation of the Spherical Harmonic Lighting: The Gritty Details paper
- shader toy https://www.shadertoy.com/view/XtlBzs
Radeon GPU Profiler (RGP) v1.10
- now supports pix markers
- barriers and transitions now show reason why they are executed