Hi, This was my own mistake refactoring some code, accidentally switched the order of some lines of code. We're not benefiting much from last hit optimization here, the ao/env/indirect rays need the closest hit. Maybe I should try using it to shorten the rays before doing the bvh traversal, though not sure how helpful it would be in practice.
Brecht. On Tue, Jun 22, 2010 at 1:04 AM, André Susano Pinto <[email protected]> wrote: > Hmm bretch was this a bug that only shows up when instances are used and > they are not enabled for rendering? > > If that then I guess you are using instances besides the DUPLI_VERTS and > stuff... > which makes me think you might be using it to transform the whole scene or > something like that. > > Please be aware that last_hit optimization is not very good when instances > are in use. > Namely it currently raytraces to the instanced rayobject closest to root > that got last hit. > If it doenst hits that object it then raytraces the whole scene (and during > this step i think it doenst skips the already tested object). > > Which can be very bad (like raytracing the same ray twice) if you have the > whole scene enclosed by an instance. > > Fix would be to store the actual primitive that got last_hit and also a > transformation matrix to apply to a ray during that last_hit test... > that would even allow to have instances inside instances and still have the > last_hit test go directly to the last_hit primitive. > > I might implement it in a few days (i need it for a bug fix where I plan to > use the instance to rotate the whole scene). > > -- > (andré goes back to study for boring exams >.<) > > On 21 June 2010 20:35, Daniel Salazar - 3Developer.com > <[email protected]>wrote: > >> About this probably the raytracer instancing should be on by default, >> I talked to Andre a while back about this and he told me the speed >> impact of having the feature on when you don't really need it should >> be unnoticeable. So maybe we need to do a couple of tests and if it >> turns out not to have any negative effect on speed just enable it by >> default? The huge benefits of using memory instancing when there are >> instances on the scene are very worth it >> >> pura vida, >> Daniel Salazar >> >> >> On Mon, Jun 21, 2010 at 8:16 AM, Brecht Van Lommel <[email protected]> >> wrote: >> > Revision: 29593 >> > >> http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=29593 >> > Author: blendix >> > Date: 2010-06-21 16:16:05 +0200 (Mon, 21 Jun 2010) >> > >> > Log Message: >> > ----------- >> > Render Branch: fix bug raytracing instanced objects with use instancing >> > disabled for the raytracer. >> > >> > 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-06-21 11:43:28 UTC (rev 29592) >> > +++ branches/render25/source/blender/render/intern/raytrace/rayobject.cpp >> 2010-06-21 14:16:05 UTC (rev 29593) >> > @@ -72,6 +72,8 @@ >> > >> > MALWAYS_INLINE void rayface_from_vlak(RayFace *rayface, >> ObjectInstanceRen *obi, VlakRen *vlr) >> > { >> > + rayface_from_coords(rayface, obi, vlr, vlr->v1->co, vlr->v2->co, >> vlr->v3->co, vlr->v4 ? vlr->v4->co : 0); >> > + >> > if(obi->transform_primitives) >> > { >> > mul_m4_v3(obi->mat, rayface->v1); >> > @@ -81,8 +83,6 @@ >> > if(RE_rayface_isQuad(rayface)) >> > mul_m4_v3(obi->mat, rayface->v4); >> > } >> > - >> > - rayface_from_coords(rayface, obi, vlr, vlr->v1->co, vlr->v2->co, >> vlr->v3->co, vlr->v4 ? vlr->v4->co : 0); >> > } >> > >> > RayObject* RE_rayface_from_vlak(RayFace *rayface, ObjectInstanceRen >> *obi, VlakRen *vlr) >> > >> > >> > _______________________________________________ >> > Bf-blender-cvs mailing list >> > [email protected] >> > http://lists.blender.org/mailman/listinfo/bf-blender-cvs >> > >> _______________________________________________ >> Bf-committers mailing list >> [email protected] >> http://lists.blender.org/mailman/listinfo/bf-committers >> > _______________________________________________ > Bf-committers mailing list > [email protected] > http://lists.blender.org/mailman/listinfo/bf-committers > _______________________________________________ Bf-committers mailing list [email protected] http://lists.blender.org/mailman/listinfo/bf-committers
