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:
authorLukas Tönne <lukas.toenne@gmail.com>2014-05-06 19:44:43 +0400
committerLukas Tönne <lukas.toenne@gmail.com>2014-05-06 19:47:48 +0400
commit5cee409d42ff33ce4f3d7fa98655867b2c84b701 (patch)
tree3d10a570c4e8b4c94d342f92bf36cada49e4e842
parent9fe618e309157ff0534846c5d7a00a62227d1205 (diff)
Followup fix to T39966.
The previous fix was not quite correct: * It would use the same wireframe/bbox check in viewport- and regular render * The duplicator loop in Blender Internal is more permissive now to avoid disabling wireframe duplicators, but this means we need to check is_object_hidden right before making render objects to ensure this still works.
-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 dfd0531f16d..18c9434929f 100644
--- a/source/blender/render/intern/source/convertblender.c
+++ b/source/blender/render/intern/source/convertblender.c
@@ -3924,10 +3924,15 @@ static bool is_object_hidden(Render *re, Object *ob)
if (is_object_restricted(re, ob))
return true;
- /* Mesh deform cages and so on mess up the preview. To avoid the problem,
- * viewport doesn't show mesh object if its draw type is bounding box or wireframe.
- */
- return ELEM(ob->dt, OB_BOUNDBOX, OB_WIRE);
+ if (re->r.scemode & R_VIEWPORT_PREVIEW) {
+ /* Mesh deform cages and so on mess up the preview. To avoid the problem,
+ * viewport doesn't show mesh object if its draw type is bounding box or wireframe.
+ */
+ return ELEM(ob->dt, OB_BOUNDBOX, OB_WIRE);
+ }
+ else {
+ return false;
+ }
}
/* layflag: allows material group to ignore layerflag */
@@ -4795,6 +4800,9 @@ void RE_Database_Free(Render *re)
static int allow_render_object(Render *re, Object *ob, int nolamps, int onlyselected, Object *actob)
{
+ if (is_object_hidden(re, ob))
+ return 0;
+
/* override not showing object when duplis are used with particles */
if (ob->transflag & OB_DUPLIPARTS) {
/* pass */ /* let particle system(s) handle showing vs. not showing */