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:
authorTon Roosendaal <ton@blender.org>2004-11-20 01:44:06 +0300
committerTon Roosendaal <ton@blender.org>2004-11-20 01:44:06 +0300
commita91f7ff763304dddf7f71fdf99fb39c48a1b8f40 (patch)
tree1b222ade4a031b63e9706455faac48ffa8cd87ee /source/blender/renderconverter
parentfe50974370bbcb087e7171756e5b3757f389abfd (diff)
Bugreports keep coming in... including real bad one.
- Deformed mesh didnt give correct 'orco' anymore on render - Mesh editmode, "Separate loose parts", crash on empty mesh (no verts) - Global undo; buttons sending redraw events gave extra undo push called "Make single user or local". That latter was wrong event handling for REDRAW event, harmless, until now :) First one is a real showstopper... bah!
Diffstat (limited to 'source/blender/renderconverter')
-rw-r--r--source/blender/renderconverter/intern/convertBlenderScene.c26
1 files changed, 15 insertions, 11 deletions
diff --git a/source/blender/renderconverter/intern/convertBlenderScene.c b/source/blender/renderconverter/intern/convertBlenderScene.c
index c7282fc46d8..1278848305f 100644
--- a/source/blender/renderconverter/intern/convertBlenderScene.c
+++ b/source/blender/renderconverter/intern/convertBlenderScene.c
@@ -1278,13 +1278,13 @@ static void init_render_mesh(Object *ob)
me= ob->data;
- /* object_deform changes imat! */
- do_puno= mesh_modifier(ob, 's');
-
paf = give_parteff(ob);
if(paf) {
+ mesh_modifier(ob, 's');
+
if(paf->flag & PAF_STATIC) render_static_particle_system(ob, paf);
else render_particle_system(ob, paf);
+
mesh_modifier(ob, 'e'); // end
return;
}
@@ -1294,7 +1294,6 @@ static void init_render_mesh(Object *ob)
MTC_Mat3CpyMat4(imat, ob->imat);
if(me->totvert==0) {
- mesh_modifier(ob, 'e'); // end
return;
}
@@ -1315,7 +1314,18 @@ static void init_render_mesh(Object *ob)
}
}
}
-
+
+ /* we do this before deform */
+ if(need_orco) {
+ if (mesh_uses_displist(me))
+ make_orco_displist_mesh(ob, me->subdivr);
+ else
+ make_orco_mesh(me);
+ }
+
+ /* after orco, because this changes mesh vertices (too) */
+ do_puno= mesh_modifier(ob, 's');
+
if (mesh_uses_displist(me)) {
dl= me->disp.first;
@@ -1349,9 +1359,6 @@ static void init_render_mesh(Object *ob)
mvert= dlm->mvert;
totvert= dlm->totvert;
- if(need_orco) {
- make_orco_displist_mesh(ob, me->subdivr);
- }
ms= NULL; // no stick in displistmesh
}
@@ -1363,9 +1370,6 @@ static void init_render_mesh(Object *ob)
dl= find_displist(&ob->disp, DL_VERTS);
if(dl) extverts= dl->verts;
- if(need_orco) {
- make_orco_mesh(me);
- }
ms= me->msticky;
}