- great in-depth discussion of the full PBR rendering pipeline, documentation for the Filament engine
- 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
![screenshot_camera_transparency.jpg](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-50/screenshot_camera_transparency.jpg&key=1780e80c80a57471faced394d740ba338628570be4980bcfaf1a0b3577f32b95)
- physically based shading model implemented using D3D11, D3D12, Vulkan and OpenGL 4.5
- each backend is implemented in a single .h and .cpp file
![pbr.jpg](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-50/pbr.jpg&key=50ef8eeb7aa300665525cf3a817b75a9dad39c1c260cdd8fac26f83188b79608)
- shows algorithms for generating random points within a sphere
- contains interactive visualizations that make it easy to see the quality of the distribution
![random_in_sphere.png](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-50/random_in_sphere.png&key=a4f2976382b4099e873381974bfcc49bc55e00171c970838eed2095dedebfe1e)
- breakdown of a burning shader implemented in Unreal Engine
- uses flow maps and world space positioned spheres to influence the fire
![burn_shader.png](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-50/burn_shader.png&key=031374260fd2749a5e075f51e0136fd090dcfdafb80c7961635b9649b692d6e2)
- 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
![vertex.png](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-50/vertex.png&key=e397c39caba7a9daf171c249040be9d2d7f416fb4fb5dfa5fba775a73ee21f49)
- summary of the paper: “View-warped Multi-view Soft Shadows for Local Area Lights ” discussed in last weeks issue
- a real-time technique for soft shadows
![umbra_penumbra_3d.png](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-50/umbra_penumbra_3d.png&key=15b6a6c8db201409e5a14d5ad1551902eeb012da416591b84da2ad6a3416dc15)
- 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
- 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
![align_scans.png](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-50/align_scans.png&key=5c525d5028ea641a291ee1f6d5994767e8fe38cce1bcb786c6638be14bfb9f8a)
- 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
![antialiasing.png](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-50/antialiasing.png&key=0bcf4558e3bfa3b36bf39aa186386f2d069a6b45a7df1499b72a6efa2db5297f)
- twitter thread that provides a large number of links to information about volume rendering
![volume_rendering.jpg](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-50/volume_rendering.jpg&key=9a030c9ea4031522b7e912fc63ad7a8bf55380fd2e6d8b130986681abb5533db)
- provides the Vulkan specification in a chunked version
- the original specification is one large HTML file that causes usability issues
- AMD provides a XML file that offers the possibility to map from external driver version to the contained Vulkan driver version
![vulkan.png](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-50/vulkan.png&key=0fde962629d445e02928eddb52448df545b53b56ce40cf069e4fcd93f5881e89)
- Xenko, a C# based game engine has been released as open source with an MIT license
![xenko.jpg](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-50/xenko.jpg&key=d6b21f63680dacfaab7d77d6628b4c322f0c568383b526fc68bfe54f02bd7e36)
- collection of many 3D graphics research papers for a large number of different topics (sorted by topic)
- OpenGL ES implementation using Vulkan
- licensed as LGPL v3