On Tue, Mar 30, 2010 at 11:01 PM, Brecht Van Lommel <[email protected]> wrote: > Revision: 27865 > > http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=27865 > Author: blendix > Date: 2010-03-30 14:01:17 +0200 (Tue, 30 Mar 2010)
Hi Brecht, was debugging a volume render bug and found an issue in rayobject.cpp introduced in the above quoted commit. In that commit it changes the raytrace 'skip' behaviour from checking multiple bitflags successively, to treating the bitflags like mutually exclusive options. I don't think this is the original intention of this code, since in multiple places in the source (eg. rayshade.c and also the volume render stuff) the is.skip is set to multiple bitflags. This has the side effect in the case of: is.skip = RE_SKIP_VLR_RENDER_CHECK | RE_SKIP_VLR_NON_SOLID_MATERIAL; ignoring the second flag, since (is->skip & RE_SKIP_VLR_RENDER_CHECK) is true. removing RE_SKIP_VLR_RENDER_CHECK makes this volume code work properly, but I suspect that may not be what we want - it still seems dodgy. If these are now meant to be mutually exclusive options, they should probably be represented that way in the code, rather than bitflags. cheers Matt _______________________________________________ Bf-committers mailing list [email protected] http://lists.blender.org/mailman/listinfo/bf-committers
