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:
authorBrecht Van Lommel <brechtvanlommel@gmail.com>2014-01-22 18:48:17 +0400
committerBrecht Van Lommel <brechtvanlommel@gmail.com>2014-01-22 19:40:11 +0400
commit162d6c73e3d0799303dcdfc19e744cfeb8d10e5f (patch)
tree8250ad1f29dbd3f0989f52837afd06bc541c3ea8 /source/blender/render
parentc24a23f264d2c7001c61ca6e11c66b8c372e1d2a (diff)
Fix T38318: blender internal viewport now uses viewport, not render visibility.
This is the same as cycles and more consistent with it also using viewport resolution.
Diffstat (limited to 'source/blender/render')
-rw-r--r--source/blender/render/intern/source/convertblender.c16
1 files changed, 12 insertions, 4 deletions
diff --git a/source/blender/render/intern/source/convertblender.c b/source/blender/render/intern/source/convertblender.c
index 4f7fbe72b73..4ca1fd4c398 100644
--- a/source/blender/render/intern/source/convertblender.c
+++ b/source/blender/render/intern/source/convertblender.c
@@ -3924,6 +3924,14 @@ static GroupObject *add_render_lamp(Render *re, Object *ob)
return go;
}
+static bool is_object_hidden(Render *re, Object *ob)
+{
+ if (re->r.scemode & R_VIEWPORT_PREVIEW)
+ return (ob->restrictflag & OB_RESTRICT_VIEW) != 0;
+ else
+ return (ob->restrictflag & OB_RESTRICT_RENDER) != 0;
+}
+
/* layflag: allows material group to ignore layerflag */
static void add_lightgroup(Render *re, Group *group, int exclusive)
{
@@ -3936,7 +3944,7 @@ static void add_lightgroup(Render *re, Group *group, int exclusive)
for (go= group->gobject.first; go; go= go->next) {
go->lampren= NULL;
- if (go->ob->restrictflag & OB_RESTRICT_RENDER)
+ if (is_object_hidden(re, go->ob))
continue;
if (go->ob->lay & re->lay) {
@@ -3964,7 +3972,7 @@ static void set_material_lightgroups(Render *re)
Material *ma;
/* not for preview render */
- if (re->scene->r.scemode & (R_BUTS_PREVIEW|R_VIEWPORT_PREVIEW))
+ if (re->r.scemode & (R_BUTS_PREVIEW|R_VIEWPORT_PREVIEW))
return;
for (group= re->main->group.first; group; group=group->id.next)
@@ -4961,7 +4969,7 @@ static void database_init_objects(Render *re, unsigned int renderlay, int nolamp
lay= (timeoffset)? renderlay & vectorlay: renderlay;
/* if the object has been restricted from rendering in the outliner, ignore it */
- if (ob->restrictflag & OB_RESTRICT_RENDER) continue;
+ if (is_object_hidden(re, ob)) continue;
/* OB_DONE means the object itself got duplicated, so was already converted */
if (ob->flag & OB_DONE) {
@@ -4994,7 +5002,7 @@ static void database_init_objects(Render *re, unsigned int renderlay, int nolamp
if (!(obd->transflag & OB_RENDER_DUPLI) && dob->no_draw)
continue;
- if (obd->restrictflag & OB_RESTRICT_RENDER)
+ if (is_object_hidden(re, obd))
continue;
if (obd->type==OB_MBALL)