This is the index page for my “Reverse engineering the rendering of The Witcher 3” small series where I select some rendering techniques from “The Witcher 3”, analyze them using RenderDoc , then grab DirectX assembly for shaders and finally try to turn these instructions back to readable HLSL shader.
I focus especially on understanding and explaining presented techniques; It’s all for learning purposes after all.
The genesis of the series is simply “I want to know how it’s done”. Having RenderDoc and other tools which allow us to see every stage of the pipeline is great way to learn how games do rendering stuff.
I have not worked on “The Witcher 3: Wild Hunt” nor its expansion packs in any way so all of code and conclusions here are results of my analysis and tinkering.
Disclaimer: All opinions and views expressed on my blog and on this series are my own and are in no way representative of Rockstar Games.
Here is the current index:
Part 1 – tonemapping
Part 2 – eye adaptation
Part 3 – chromatic aberration
(Part 4 – vignette
Part 5 – drunk effect
Part 6 – sharpen
Part 7a – average luminance, part 1 (histogram of luminance)
Part 7b – average luminance, part 2 (calculation)
(Part 8 – the Moon and lunar phases
(Part 9) – GBuffer
(Part – stupid sky tricks
(Part) a – witcher senses, part 1 (objects & intensity map)
(Part) (b – witcher senses, part 2 (outline map)
Part (c – witcher senses, part 3 (fisheye effect & final combining)
(Part) – cirrus clouds
(Part) – fog
(Part) – shooting stars
Someone has done awesome job and prepared Russian version of my posts!
(Translation into Russian (parts 1-5)
Translation into Russian (parts 6 – 11) Translation into Russian (parts –
I’m the author of HLSLexplorer which greatly helped me in the process of learning HLSL assembly and was invaluable in writing this series. See the post For details, source code and binaries.
GIPHY App Key not set. Please check settings