Blender Git Loki
Git Commits -> Revision b4209b1
Revision b4209b1 by Clément Foucault (master) March 14, 2018, 11:41 (GMT) |
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). |
Commit Details:
Full Hash: b4209b138f6bda863009568bf8dc19eb5cf8361c
Parent Commit: e22bc55
Lines Changed: +348, -192
1 Added Path:
/source/blender/draw/engines/clay/shaders/clay_prepass_frag.glsl (+44, -0) (View)