Fix for regression noted in T38942: Blender Internal rendering can lead

to wrong obmats of nested dupli objects.

Restoring obmats after BI nested dupli object rendering has to happen
in reverse order, so higher level omats are applied last.
This commit is contained in:
Lukas Tönne
2014-03-04 11:22:56 +01:00
parent dad9600004
commit a31571481b

View File

@@ -5108,8 +5108,11 @@ static void database_init_objects(Render *re, unsigned int renderlay, int nolamp
if (re->test_break(re->tbh)) break;
}
/* restore obmats */
for (dob= duplilist->first, i = 0; dob; dob= dob->next, ++i) {
/* restore obmats
* NOTE: this has to happen in reverse order, since nested
* dupli objects can repeatedly override the obmat
*/
for (dob= duplilist->last, i = totdob - 1; dob; dob= dob->prev, --i) {
copy_m4_m4(dob->ob->obmat, duplilist_extra[i].omat);
}