- 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
![](/img/posts/graphics-programming-weekly-59/pbr_landing.jpg)
- summarizes voxel ray tracing implementation, memory and performance optimizations
- show the different artifacts that can be encountered and their solutions
![](/img/posts/graphics-programming-weekly-59/screen_space_to_voxel.png)
- next part in the Metal ray tracer series that adds support for multiple bounces to simulate global illumination
- implements importance sampling for diffuse BSDF
![](/img/posts/graphics-programming-weekly-59/multiple_bounces.png)
- 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
![](/img/posts/graphics-programming-weekly-59/improving_material_system.png)
- 2-minute video summary of the “Position-Free Monte Carlo Simulation for Arbitrary Layered BSDFs” paper
![](/img/posts/graphics-programming-weekly-59/layered.jpg)
- 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
![](/img/posts/graphics-programming-weekly-59/flavors_ray_tracing.png)
- stream that adds support for rendering meshes using Nvidia mesh shader extensions
![](/img/posts/graphics-programming-weekly-59/meshshader_unoptimization.png)
- during the stream, the mesh shader pipeline is optimized
- performance parity with the classical rasterization pipeline is achieved without GPU culling
![](/img/posts/graphics-programming-weekly-59/meshshader_optimization.png)
- 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
![](/img/posts/graphics-programming-weekly-59/interior_mapping_probes.png)
- rust version of the 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
![](/img/posts/graphics-programming-weekly-59/meshoptimizer_rust.png)
- 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
![](/img/posts/graphics-programming-weekly-59/gi_godot.png)
- walkthrough of a Godot shader that uses particles to spawn vegetation meshes based on height map and feature (biomes) map data
![](/img/posts/graphics-programming-weekly-59/grass_shader.png)
- 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
![](/img/posts/graphics-programming-weekly-59/BlendModesSample.png)
If you are enjoying the series and getting value from it, please consider supporting this blog.
Support this blog