diff options
author | Clément Foucault <foucault.clem@gmail.com> | 2018-11-30 15:26:30 +0300 |
---|---|---|
committer | Clément Foucault <foucault.clem@gmail.com> | 2018-11-30 17:40:57 +0300 |
commit | e68c0bf76a4ccb16f51b7caf488c2f345552eea9 (patch) | |
tree | fc5ec8d69b1f33445f2b8aff0639384bcb4ae758 /source/blender/blenloader | |
parent | dabd6615cc0ecbb82f52415e81c734ad041f7598 (diff) |
Workbench: Add Shadow Focus and change Shadow Orientation
Shadow focus let the user choose how hard are is the shadows transition.
Harder shadow transition can be used for stylistic effects or more uniform
shading.
Make shadow orientation respect the same orientation as the studio light
(view from +Y direction aka. front view). Make the default shadow direction
more similar to the default light position (the default light object, not
the default studio lighting).
Diffstat (limited to 'source/blender/blenloader')
-rw-r--r-- | source/blender/blenloader/intern/versioning_280.c | 10 | ||||
-rw-r--r-- | source/blender/blenloader/intern/versioning_defaults.c | 4 |
2 files changed, 14 insertions, 0 deletions
diff --git a/source/blender/blenloader/intern/versioning_280.c b/source/blender/blenloader/intern/versioning_280.c index 434153fc7b9..17859d257d0 100644 --- a/source/blender/blenloader/intern/versioning_280.c +++ b/source/blender/blenloader/intern/versioning_280.c @@ -2480,5 +2480,15 @@ void blo_do_versions_280(FileData *fd, Library *UNUSED(lib), Main *bmain) } } } + + /* Change Solid mode shadow orientation. */ + if (!DNA_struct_elem_find(fd->filesdna, "SceneDisplay", "float", "shadow_focus")) { + for (Scene *scene = bmain->scene.first; scene; scene = scene->id.next) { + float *dir = scene->display.light_direction; + SWAP(float, dir[2], dir[1]); + dir[2] = -dir[2]; + dir[0] = -dir[0]; + } + } } } diff --git a/source/blender/blenloader/intern/versioning_defaults.c b/source/blender/blenloader/intern/versioning_defaults.c index b88618bf7db..25946a9fb31 100644 --- a/source/blender/blenloader/intern/versioning_defaults.c +++ b/source/blender/blenloader/intern/versioning_defaults.c @@ -301,4 +301,8 @@ void BLO_update_defaults_startup_blend(Main *bmain, const char *app_template) } } } + + for (Scene *scene = bmain->scene.first; scene; scene = scene->id.next) { + copy_v3_v3(scene->display.light_direction, (float[3]){M_SQRT1_3, M_SQRT1_3, M_SQRT1_3}); + } } |