Thank you everyone for the support in 2018, this is the last post of the series for this year, the next post will be released on January 14, 2019.
I wish you happy holidays and a great start into 2019.
- explains the state management system implemented for the Diligent Engine
- resources states are exposed on D3D12 style semantic for barriers
- allows mixing of automatic and manual explicit state management
- the developer can choose to disable automatic transitions on a per resource basis
- can switch on a per-resource basis at any time during the frame
![DiligentGraphics.png](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-67/DiligentGraphics.png&key=3e1d7a93d760f3205f5132f163064b64bb82795294fa1950688de22e6020b262)
- course notes for the Siggraph Asia 2019 course
- presenting the newest developments and techniques used during The Incredibles 2
- talking about Simulation & FX, Rendering & Compositing and Real-time Tools to allow quicker iteration time
- overview of subdivision surface representations for use with OpenSubdiv
![pixar.png](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-67/pixar.png&key=d4597cbd1ba33ce4d96826baf5e098d446bf3fc41ccab59e2e08506608710ea9)
- explains the parallax mapping technique used to represent the interiors of buildings as seen through windows
- broken into multiple layers to separate window frames, curtains and interior of the room
- baked separate light texture to allow night time for interiors
![forza.jpg](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-67/forza.jpg&key=a5e7af42f015427865d08a132cb38a304c57acbfb6eaf090ab8774d3b911c06d)
- explains sparse binding and residency
- sparse binding lifts the requirement that resource memory needs to be fully continuous in memory. Instead, memory is managed with pages that can be mapped at non-continues offsets
- sparse residency lifts the requirement that the complete resource needs to mapped. For example, only parts of a texture atlas could be mapped
![sparse_resources.png](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-67/sparse_resources.png&key=2d518f4f115e0ccaf33682ed49766a91cc47ca677fffcb8e9640928557412c0f)
- describes how the histogram of pixel brightness is collected using a compute shader in The Witcher 3
- the system allows a dynamic weighting of pixels that origin from the sky
![witcher_input.png](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-67/witcher_input.png&key=2fcabf9aab32231125fda25762615f50fd9f85659af37f050479d5c24eb122b4)
- explains how to use D3D12 to calculate a histogram of pixel brightness in a compute shader
- shows how to use a per-bin weight to calculate the luminance for the exposure step
![HistogramLuminance.png](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-67/HistogramLuminance.png&key=491b2784dbba4d8c31c80eb6555db8f5a34dc5da0b3242f2c80438289ae6f303)
- part two of rasterization implementation article series with C++
- shows how to extend the rasterizer into 3D
- now implements the necessary pipeline to project vertices from object space into clip space for rasterizations
- adds support for depth testing and index buffers
![rasterization_part2.png](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-67/rasterization_part2.png&key=f0d3ee74acf2faba885dc0ae34854cd887a668375f9e3ffc7775b5484cf0fbbb)
- RenderDoc survey looking to gather information about the user experience, stability, development experience, API and platform coverage
- help to set the direction for future developments
![renderdoc.png](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-67/renderdoc.png&key=87fa463d9060287c3fc86023e035e6a6872f5a7b2d47556f5569a0d5ccf547e2)
- presenting an overview of next-generation Intel architecture
- will support adaptive sync, tile-based rendering, coarse pixel shading
![intel_graphics.jpg](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-67/intel_graphics.jpg&key=12b0e56d0ae9d4f1647b6aafbc096efe9e61135f026f74201d7d14b763b14571)
- acceleration structure visualization for DXR (DirectX Raytracing) and Vulkan
- serialize DXR application to a C++ capture is now supported
- added Vulkan pixel history support
![Nsight_1.png](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-67/Nsight_1.png&key=990ec19781e25e7b7432f5737b5ffb5deee49e4d6d7e5b2e28dae8fccf8ff426)
- new AMD driver adds support for VK_EXT_inline_uniform_block, VK_KHR_swapchain_mutable_format, VK_EXT_scalar_block_layout and sparse extensions
If you are enjoying the series and getting value from it, please consider supporting this blog.
Support this blog