Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2013-07-05 11:53:22 +0400
committerCampbell Barton <ideasman42@gmail.com>2013-07-05 11:53:22 +0400
commit970a4c7cc4ce50ea204f7525ebd160b93bbcd0a7 (patch)
treebfe8fab4c4d9d8db4c32461922f4836b29547edc /source/blender/render
parent02002c23947f901bd7648dba1c9d50906b5a9be9 (diff)
fix [#36005] viewport rendering crashes blender
Diffstat (limited to 'source/blender/render')
-rw-r--r--source/blender/render/intern/source/convertblender.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/source/blender/render/intern/source/convertblender.c b/source/blender/render/intern/source/convertblender.c
index 28277b0c07e..adb8956bfa3 100644
--- a/source/blender/render/intern/source/convertblender.c
+++ b/source/blender/render/intern/source/convertblender.c
@@ -4149,10 +4149,15 @@ static void set_renderlayer_lightgroups(Render *re, Scene *sce)
void init_render_world(Render *re)
{
+ void *wrld_prev[2] = {
+ re->wrld.aotables,
+ re->wrld.aosphere,
+ };
+
int a;
if (re->scene && re->scene->world) {
- re->wrld= *(re->scene->world);
+ re->wrld = *(re->scene->world);
copy_v3_v3(re->grvec, re->viewmat[2]);
normalize_v3(re->grvec);
@@ -4181,6 +4186,10 @@ void init_render_world(Render *re)
re->wrld.linfac= 1.0f + powf((2.0f*re->wrld.exp + 0.5f), -10);
re->wrld.logfac= logf((re->wrld.linfac-1.0f)/re->wrld.linfac) / re->wrld.range;
+
+ /* restore runtime vars, needed for viewport rendering [#36005] */
+ re->wrld.aotables = wrld_prev[0];
+ re->wrld.aosphere = wrld_prev[1];
}