Blender Git Commit Log
Git Commits -> Revision f2f16a2
Revision f2f16a2 by Clément Foucault (master) April 10, 2017, 10:36 (GMT) |
Eevee: First Shadows implementation Using Texture Arrays to store shadow maps so less texture slots are used when shading. This means a large amount of shadows can be supported. Support Projection Shadow Map for sun like in old BI/BGE. Support Cube Shadow Map for Point/Spot/Area lights. the benefit of using it for spot light is that the spot angle does not change shadow resolution (at the cost of more memory used). The implementation of the cubemap sampling is targeted for 3.3 core. We rely on 2D texture arrays to store cubemaps faces and sample the right one manualy. Significant performance improvement can be done using Cubemap Arrays on supported hardware. Shadows are only hardware filtered. Prefiltered shadows and settings comming next. |
Commit Details:
Full Hash: f2f16a2568c2006b46ba0daa851961355a42f20b
Parent Commit: 0811d08
Lines Changed: +710, -136
3 Added Paths:
/source/blender/draw/engines/eevee/shaders/shadow_frag.glsl (+3, -0) (View)
/source/blender/draw/engines/eevee/shaders/shadow_geom.glsl (+21, -0) (View)
/source/blender/draw/engines/eevee/shaders/shadow_vert.glsl (+11, -0) (View)
/source/blender/draw/engines/eevee/shaders/shadow_geom.glsl (+21, -0) (View)
/source/blender/draw/engines/eevee/shaders/shadow_vert.glsl (+11, -0) (View)
13 Modified Paths:
/source/blender/draw/CMakeLists.txt (+3, -0) (Diff)
/source/blender/draw/engines/eevee/eevee.c (+43, -6) (Diff)
/source/blender/draw/engines/eevee/eevee_lights.c (+346, -91) (Diff)
/source/blender/draw/engines/eevee/eevee_private.h (+77, -9) (Diff)
/source/blender/draw/engines/eevee/shaders/bsdf_common_lib.glsl (+63, -9) (Diff)
/source/blender/draw/engines/eevee/shaders/lit_surface_frag.glsl (+86, -4) (Diff)
/source/blender/draw/intern/draw_manager.c (+17, -1) (Diff)
/source/blender/draw/intern/DRW_render.h (+4, -0) (Diff)
/source/blender/gpu/GPU_lamp.h (+6, -4) (Diff)
/source/blender/gpu/GPU_viewport.h (+1, -1) (Diff)
/source/blender/gpu/intern/gpu_framebuffer.c (+1, -2) (Diff)
/source/blender/gpu/intern/gpu_lamp.c (+14, -3) (Diff)
/source/blender/gpu/intern/gpu_texture.c (+14, -6) (Diff)
/source/blender/draw/engines/eevee/eevee.c (+43, -6) (Diff)
/source/blender/draw/engines/eevee/eevee_lights.c (+346, -91) (Diff)
/source/blender/draw/engines/eevee/eevee_private.h (+77, -9) (Diff)
/source/blender/draw/engines/eevee/shaders/bsdf_common_lib.glsl (+63, -9) (Diff)
/source/blender/draw/engines/eevee/shaders/lit_surface_frag.glsl (+86, -4) (Diff)
/source/blender/draw/intern/draw_manager.c (+17, -1) (Diff)
/source/blender/draw/intern/DRW_render.h (+4, -0) (Diff)
/source/blender/gpu/GPU_lamp.h (+6, -4) (Diff)
/source/blender/gpu/GPU_viewport.h (+1, -1) (Diff)
/source/blender/gpu/intern/gpu_framebuffer.c (+1, -2) (Diff)
/source/blender/gpu/intern/gpu_lamp.c (+14, -3) (Diff)
/source/blender/gpu/intern/gpu_texture.c (+14, -6) (Diff)