Thanks Paul, changes look good, now merged and submitted to svn/trunk.

On Thu, Nov 26, 2009 at 4:40 PM, Paul Martz <[email protected]> wrote:
> Hi Robert -- Thanks for the help. Attached is my fix for this issue, and
> I've verified that it works for my test case.
>
> For the change log:
>
> This change address the following issue: an app opens a Viewer on a
> multidisplay system, configured to setUpViewAcrossAllDisplays, with a
> non-default clear mask. In this case, OSG failed to propagate the clear mask
> to the slave Cameras, resulting in the clear mask being ignored. To fix this
> issue, this revision adds a new CullSettings::VariablesMask bit, CLEAR_MASK,
> to explicitly control inheritance of the clear mask. This bit is set by
> default, which means that the clear mask now inherits by default, whereas
> previously it did not.
>
> Thanks,
>
> Paul Martz
> Skew Matrix Software LLC
> _http://www.skew-matrix.com_ <http://www.skew-matrix.com/>
> +1 303 859 9466
>
>
>
> Robert Osfield wrote:
>>
>> HI Paul,
>>
>> My inclination would be to add an extra CullSettings inheritance mask
>> value for inheriting the ClearMask - as this would fit the way that
>> other variables are inherited down.
>>
>> As for the naming of inheritCullSettings, I do also feel that it's not
>> perfect for conveying what it does, as ordinarily we would think of
>> cull to do just with scene graph traversal, rather than traversal of
>> the topmost Camera.  However, in implementation these settings control
>> what happens in the cull phase, and this does encompass traversal of
>> cameras as well as the scene graph. Given this I think it's not too
>> bad a naming.
>>
>> Robert.
>>
>> On Wed, Nov 25, 2009 at 5:13 PM, Paul Martz <[email protected]>
>> wrote:
>>>
>>> Hi Robert -- I've encountered a problem with how parent Camera values
>>> inherit down to slave Cameras, and wanted to discuss it before I launched
>>> into coding a fix.
>>>
>>> Quick summary: master Camera clear mask doesn't inherit down to slave
>>> Cameras. As a workaround, I can loop over slave Cameras and set the clear
>>> mask manually.
>>>
>>> Example use case: On a multidisplay system, create a Viewer configured to
>>> setUpViewAcrossAllDisplays. Get the Viewer's Camera, set the clear color
>>> to
>>> blue and set the clear mask to 0. Then call run. The windows incorrectly
>>> clear to blue -- they shouldn't clear at all, because the clear mask is
>>> set
>>> to 0.
>>>
>>> I managed to divine that slave Cameras get their clear colors set in
>>> Camera::inheritCullSettings, if the CLEAR_COLOR bit is set. If I modify
>>> this
>>> code to also copy the master Camera clear mask down to the slave Camera,
>>> then I get the expected result (no clearing occurs).
>>>
>>> It seems like there are two ways to fix this: One is to just piggyback
>>> clear
>>> mask onto the CLEAR_COLOR bit, or we could also add another bit
>>> specifically
>>> for clear mask.
>>>
>>> The second way, I'm not sure about. But the name "inheritCullSettings"
>>> fails
>>> to imply that clear color, possibly clear mask, read buffer, and draw
>>> buffer
>>> are all set in that function. So I wonder if inheritCullSettings is the
>>> right place to inherit these values? Or should master-to-slave value
>>> setting
>>> be done somewhere else?
>>>
>>> I'd appreciate your input on this, and I'd be glad to code a solution if
>>> you
>>> can provide some direction. Thanks.
>>> --
>>> Paul Martz
>>> Skew Matrix Software LLC
>>> _http://www.skew-matrix.com_ <http://www.skew-matrix.com/>
>>> +1 303 859 9466
>>>
>>> _______________________________________________
>>> osg-users mailing list
>>> [email protected]
>>> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
>>>
>> _______________________________________________
>> osg-users mailing list
>> [email protected]
>> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
>>
>>
>
> _______________________________________________
> osg-submissions mailing list
> [email protected]
> http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org
>
>
_______________________________________________
osg-submissions mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org

Reply via email to