Porting GPU driven occlusion culling to bgfx [wayback-archive]
- breakdown of how a gpu driven pipeline can be implemented with bgfx
- indirect buffer writing from the CPU not supported so using regular instancing instead
Breaking down barriers – part 1: what’s a barrier? [wayback-archive]
- look at different meaning of barriers
- on GPUs it includes synchronization, cache management, decompression
- description of how it works on the hardware level
Hair in In the Valley of Gods [wayback-archive]
- how the stylized hair from Zora is being created
- based on hair cards
- for the trailer the hair was rigged and animated
Using the GitHub dxcompiler.dll [wayback-archive]
- when using custom dxcompiler.dll to build shaders they will be unsigned
- can only be used when windows developer mode is active and d3d12 experimental mode is enabled
- when the official dxil.dll can be loaded by the compiler the shader will be signed
Khronos Group Releases Vulkan 1.1 [wayback-archive]
- Subgroup Operations: operations that allow communications between parallel gpu work
- extension integrated into 1.1 core specification
- multi-gpu support, cross-api sharing, 16-bit data types, hlsl memory data layout
Importance Sampling techniques for GGX with Smith Masking-Shadowing: Part 1 [wayback-archive]
- mathematical derivation of importance sampling using the CDF (Cumulative Distribution Function)
- including source code
Importance Sampling techniques for GGX with Smith Masking-Shadowing: Part 2 [wayback-archive]
- description of the flaws of solution from part 1
- explanation of a better importance sampling using the distribution of visible normals
- source code included
Don’t Convert sRGB U8 to Linear U8! [wayback-archive]
- visualizing loss of precision between storing color data in 8 bits per channel using linear vs sRGB encoding
- difference in lerp behaviour between sRGB and linear color space
Codegen for fast Vulkan [wayback-archive]
- for better calling performance it’s recommended to query the entry points directly instead of going through the vulkan loader
- article shows how to parse the vulkan xml specification with python to automate the generation of the loading code