[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [13269] trunk/blender/source/blender:
Brecht Van Lommel
brechtvanlommel at pandora.be
Thu Jan 17 13:02:15 CET 2008
Revision: 13269
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=13269
Author: blendix
Date: 2008-01-17 13:02:15 +0100 (Thu, 17 Jan 2008)
Log Message:
-----------
Bugfix for "ghost feathers" trailing one frame behind the character.
The derivedmesh and particle system needed to be evaluated at render
level before creating dupliparticles.
Modified Paths:
--------------
trunk/blender/source/blender/blenkernel/intern/object.c
trunk/blender/source/blender/render/intern/source/convertblender.c
Modified: trunk/blender/source/blender/blenkernel/intern/object.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/object.c 2008-01-17 11:07:45 UTC (rev 13268)
+++ trunk/blender/source/blender/blenkernel/intern/object.c 2008-01-17 12:02:15 UTC (rev 13269)
@@ -2199,6 +2199,7 @@
if(ob->particlesystem.first) {
ParticleSystem *tpsys, *psys;
+ DerivedMesh *dm;
psys= ob->particlesystem.first;
while(psys) {
@@ -2215,6 +2216,14 @@
else
psys= psys->next;
}
+
+ if(G.rendering && ob->transflag & OB_DUPLIPARTS) {
+ /* this is to make sure we get render level duplis in groups:
+ * the derivedmesh must be created before init_render_mesh,
+ * since object_duplilist does dupliparticles before that */
+ dm = mesh_create_derived_render(ob, CD_MASK_BAREMESH|CD_MASK_MTFACE|CD_MASK_MCOL);
+ dm->release(dm);
+ }
}
}
Modified: trunk/blender/source/blender/render/intern/source/convertblender.c
===================================================================
--- trunk/blender/source/blender/render/intern/source/convertblender.c 2008-01-17 11:07:45 UTC (rev 13268)
+++ trunk/blender/source/blender/render/intern/source/convertblender.c 2008-01-17 12:02:15 UTC (rev 13269)
@@ -4136,18 +4136,11 @@
return;
if(ob->transflag & OB_DUPLIPARTS) {
- DerivedMesh *dm;
-
for(psys=ob->particlesystem.first; psys; psys=psys->next)
if(enable)
psys_render_set(ob, psys, re->viewmat, re->winmat, re->winx, re->winy);
else
psys_render_restore(ob, psys);
-
- if(enable) {
- dm = mesh_create_derived_render(ob, CD_MASK_BAREMESH|CD_MASK_MTFACE|CD_MASK_MCOL);
- dm->release(dm);
- }
}
if(ob->dup_group==NULL) return;
More information about the Bf-blender-cvs
mailing list