diff options
author | Clément Foucault <foucault.clem@gmail.com> | 2018-11-15 16:44:45 +0300 |
---|---|---|
committer | Clément Foucault <foucault.clem@gmail.com> | 2018-11-15 20:16:30 +0300 |
commit | 516e000aa9762c6b19c64ce46e5dd458cd04a1fb (patch) | |
tree | daef7a7f7e8211e212aa24bc9a8a8322d7eef25f /source/blender/blenloader | |
parent | d082b18d877f2da661ee2a48fdf3c69d67406e86 (diff) |
Eevee: Add Light Threshold value
This is an important change. Starting from now, all lights have a finite
influence radius (similar to the old sphere option for BI).
In order to avoid costly setup time, this distance is first computed
automatically based on a light threshold. The distance is computed
at the light origin and using the inverse square falloff. The setting
can be found inside the render settings panel > shadow tab.
This light threshold does not take the light shape into account an may not
suit every case. That's why we provide a per lamp override where you can
just set the cutt off distance (Light Properties Panel > Light >
Custom Distance).
The influence distance is also used as shadow far clip distance.
This influence distance does not concerns sun lights that still have a
far clip distance.
---
This change is important because it makes it possible to cull lights
an improve performance drastically in the future.
Diffstat (limited to 'source/blender/blenloader')
-rw-r--r-- | source/blender/blenloader/intern/versioning_280.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/source/blender/blenloader/intern/versioning_280.c b/source/blender/blenloader/intern/versioning_280.c index 9521c05f7f0..1871aea86a4 100644 --- a/source/blender/blenloader/intern/versioning_280.c +++ b/source/blender/blenloader/intern/versioning_280.c @@ -2265,6 +2265,18 @@ void blo_do_versions_280(FileData *fd, Library *UNUSED(lib), Main *bmain) } } + if (!DNA_struct_elem_find(fd->filesdna, "SceneEEVEE", "float", "light_threshold")) { + for (Scene *scene = bmain->scene.first; scene; scene = scene->id.next) { + scene->eevee.light_threshold = 0.01f; + } + } + + if (!DNA_struct_elem_find(fd->filesdna, "Lamp", "float", "att_dist")) { + for (Lamp *la = bmain->lamp.first; la; la = la->id.next) { + la->att_dist = la->clipend; + } + } + if (!DNA_struct_elem_find(fd->filesdna, "Brush", "char", "weightpaint_tool")) { /* Magic defines from old files (2.7x) */ |