- presents how Granite deals with vkPipeline management
- API designed for user convenience
- hashmaps used for control of the different state combinations
- pre-warmed with information from previous runs using Fossilize
![vulkan.png](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-83/vulkan.png&key=e9296cecfa2536580344d0ecdacb472959b490e3721d0a4a6442ccbb1bc09290)
- explains a code generation method to generate helper functions to make indexing into unbounded resource tables more convenient
- uses glslang symbol information to auto-generate accessor functions
![glsl_indexing.png](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-83/glsl_indexing.png&key=bc024285e75b2d43f79a720caf4a7b90b2221dafa3b61c2a39ac0016d756b7b5)
- explains the BHH (Bounding Half-Space Hierarchy) data-structure
- allows sorting of 3D objects with sublinear search
![bhh.png](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-83/bhh.png&key=f90b8daf2a7882ed5297e15c53c1f6d5e94a1793ece3caa94490358969ea9eec)
- bibliography file containing 2000+ entries, in computer graphics, rendering, transport theory, and statistics
![bib.png](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-83/bib.png&key=bd9141fdfe158c995587a82067ba4cb501206017997b88274d9a65facf8759f8)
- part 3 of the volumetric cloud rendering series
- the code has been released on github
- Open VDB is used to store volumetric data
![Clouds_GVDB.png](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-83/Clouds_GVDB.png&key=787e736293c9796133687eba6788ed1b584d60b5f6ef71b6c7e59003220392bf)
- a twitter thread that provides an overview about how games, especially in regards to texturing, have changed since the 90s
![texturing.jpg](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-83/texturing.jpg&key=bac5727af3140b498ce94381db8357fe314d6b5a77e6a3c8efc9b33e7e51a398)
- presents the rendering architecture used for the raytracing demo
- uses nearby pixels to fill in missing lighting information
- temporal reprojection is used to gather extra information from the last 6 frames
![newton_demo.png](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-83/newton_demo.png&key=7df0ab898ba2cdfa0c1528ef903c14fd0a347b4a26bfc5f99e0db4b96ae12140)
- overview of the state of graphics API wrappers and libraries for rust
![AGuideToRustGraphicsLibraries2019.png](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-83/AGuideToRustGraphicsLibraries2019.png&key=96e7073bbb6e768ffed33f1ef4de9797b68af3ddf58338ee7fceaa9822ce2800)
- explains 3D camera projections
- shows the influence of the camera FoV and how it changes the perceived image
- presents how to calculate a perspective and orthographic projection matrix
![3d_projection.png](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-83/3d_projection.png&key=eb4d47104926197d2a6cbabd28fa4ee3ebe47abc9e0306ce684e2a6eb71628a3)
- shows how to convert effects from unity shader code to use the ShaderGraph system
![shader_graph_conversion.png](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-83/shader_graph_conversion.png&key=9ff4dac9489c2e9255040972c440ff625fb1ac1e00d1fdc095c590489a9abb0b)
Thanks to Eric Haines for support of this series.
Would you like to see your name here too? Become a Patreon of this series.