Monday, February 24, 2020

Reverse engineering the rendering of The Witcher 3

Welcome,

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 10

 - distant rain shafts

Part 11

 - lightnings

Part 12

 - stupid sky tricks

Part 13a

 - witcher senses, part 1 (objects & intensity map)

Part 13b

 - witcher senses, part 2 (outline map)

Part 13c

- witcher senses, part 3 (fisheye effect & final combining)

Part 14

 - cirrus clouds

Part 15

 - fog

Part 16

 - shooting stars

Extra:

Someone has done awesome job and prepared Russian version of my posts!

Translation into Russian (parts 1-5) Translation into Russian (parts 6-10) Translation into Russian (parts 11-13)

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.

Enjoy! :)

Mateusz



from Hacker News https://ift.tt/2T6nZir

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.