diff options
author | Clément Foucault <foucault.clem@gmail.com> | 2018-03-14 00:58:18 +0300 |
---|---|---|
committer | Clément Foucault <foucault.clem@gmail.com> | 2018-03-14 14:41:00 +0300 |
commit | b4209b138f6bda863009568bf8dc19eb5cf8361c (patch) | |
tree | a41e71adbeaa66c744f393bf3908c6b2ebab9017 /source/blender/gpu/intern/gpu_viewport.c | |
parent | e22bc559b0a3c918e508f3ac04fb3417fa308947 (diff) |
Clay: Refactor: Port clay to a deferred pipeline.
This means that rendering clay with AO only needs 1 geometry pass.
Thus greatly improving performance of poly heavy scene.
This also fix a self shadow issue in the AO, making low sample count
way better.
We also do not need to blit the depth anymore since we
are doing a fullscreen shading pass.
The constant cost of running the a deferred shading pass is negligeable.
This include quite a bit of code cleanup inside clay_engine.c.
The deferred pipeline is only enabled if at least one material needs it.
Multisampling is not supported yet.
Small hacks when doing deferred:
- We invert the normal before encoding it for precision.
- We put the facing direction into the sign of the mat_id.
- We dither the normal to fight the low bitdepth artifacts of the normal
buffer (which is 8bits per channel to reduce bandwidth usage).
Diffstat (limited to 'source/blender/gpu/intern/gpu_viewport.c')
0 files changed, 0 insertions, 0 deletions