[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [28172] branches/render25/source/blender/ render/intern/raytrace/rayobject.cpp: Render Branch: Fix for incorrect bounds of transformed objects in new
Brecht Van Lommel
brecht at blender.org
Tue Apr 13 19:42:35 CEST 2010
Revision: 28172
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=28172
Author: blendix
Date: 2010-04-13 19:42:35 +0200 (Tue, 13 Apr 2010)
Log Message:
-----------
Render Branch: Fix for incorrect bounds of transformed objects in new
raytracing code.
Modified Paths:
--------------
branches/render25/source/blender/render/intern/raytrace/rayobject.cpp
Modified: branches/render25/source/blender/render/intern/raytrace/rayobject.cpp
===================================================================
--- branches/render25/source/blender/render/intern/raytrace/rayobject.cpp 2010-04-13 17:24:29 UTC (rev 28171)
+++ branches/render25/source/blender/render/intern/raytrace/rayobject.cpp 2010-04-13 17:42:35 UTC (rev 28172)
@@ -478,12 +478,22 @@
else if(RE_rayobject_isVlakPrimitive(r))
{
VlakPrimitive *face = (VlakPrimitive*) RE_rayobject_align(r);
- VlakRen *vlr = face->face;
+ RayFace nface;
+ RE_rayface_from_vlak(&nface, face->ob, face->face);
- DO_MINMAX( vlr->v1->co, min, max );
- DO_MINMAX( vlr->v2->co, min, max );
- DO_MINMAX( vlr->v3->co, min, max );
- if(vlr->v4) DO_MINMAX( vlr->v4->co, min, max );
+ if(face->ob->transform_primitives)
+ {
+ mul_m4_v3(face->ob->mat, nface.v1);
+ mul_m4_v3(face->ob->mat, nface.v2);
+ mul_m4_v3(face->ob->mat, nface.v3);
+ if(RE_rayface_isQuad(&nface))
+ mul_m4_v3(face->ob->mat, nface.v4);
+ }
+
+ DO_MINMAX( nface.v1, min, max );
+ DO_MINMAX( nface.v2, min, max );
+ DO_MINMAX( nface.v3, min, max );
+ if(RE_rayface_isQuad(&nface)) DO_MINMAX( nface.v4, min, max );
}
else if(RE_rayobject_isRayAPI(r))
{
More information about the Bf-blender-cvs
mailing list