Added support for serializing Camera::ImplicitBufferAttachmentRenderMask and ImplicitBufferAttachmentResolveMask properties.

git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@15135 16af8721-9629-0410-8352-f15c8da7e697
This commit is contained in:
Robert Osfield
2015-09-24 10:52:35 +00:00
parent 57d0538f1e
commit 62764a56c5
2 changed files with 28 additions and 5 deletions

View File

@@ -495,12 +495,17 @@ class OSG_EXPORT Camera : public Transform, public CullSettings
_implicitBufferAttachmentResolveMask = implicitBufferAttachmentResolveMask;
}
ImplicitBufferAttachmentMask getImplicitBufferAttachmentRenderMask() const
{
return _implicitBufferAttachmentRenderMask;
}
/**
Get mask selecting implicit buffer attachments for Camera primary FBO
if effectiveMask parameter is set, method follows USE_DISPLAY_SETTINGS_MASK dependence and returns effective mask
if effectiveMask parameter is reset, method returns nominal mask set by the Camera
*/
ImplicitBufferAttachmentMask getImplicitBufferAttachmentRenderMask(bool effectiveMask = false) const
ImplicitBufferAttachmentMask getImplicitBufferAttachmentRenderMask(bool effectiveMask) const
{
if( effectiveMask && _implicitBufferAttachmentRenderMask == USE_DISPLAY_SETTINGS_MASK )
{
@@ -513,12 +518,17 @@ class OSG_EXPORT Camera : public Transform, public CullSettings
}
}
ImplicitBufferAttachmentMask getImplicitBufferAttachmentResolveMask() const
{
return _implicitBufferAttachmentResolveMask;
}
/**
Get mask selecting implicit buffer attachments for Camera secondary MULTISAMPLE FBO
if effectiveMask parameter is set, method follows USE_DISPLAY_SETTINGS_MASK dependence and returns effective mask
if effectiveMask parameter is reset, method returns nominal mask set by the Camera
*/
ImplicitBufferAttachmentMask getImplicitBufferAttachmentResolveMask(bool effectiveMask = false) const
ImplicitBufferAttachmentMask getImplicitBufferAttachmentResolveMask(bool effectiveMask) const
{
if( effectiveMask && _implicitBufferAttachmentResolveMask == USE_DISPLAY_SETTINGS_MASK )
{

View File

@@ -259,10 +259,23 @@ REGISTER_OBJECT_WRAPPER( Camera,
ADD_BITFLAG_VALUE(NO_VARIABLES, osg::Camera::NO_VARIABLES);
/** ADD_BITFLAG_VALUE(ALL_VARIABLES, osg::Camera::ALL_VARIABLES);*/
END_BITFLAGS_SERIALIZER();
//ALL_VARIABLES
}
{
UPDATE_TO_VERSION_SCOPED( 140 )
BEGIN_INT_BITFLAGS_SERIALIZER( ImplicitBufferAttachmentRenderMask, osg::Camera::USE_DISPLAY_SETTINGS_MASK );
ADD_BITFLAG_VALUE( IMPLICIT_DEPTH_BUFFER_ATTACHMENT, osg::Camera::IMPLICIT_DEPTH_BUFFER_ATTACHMENT );
ADD_BITFLAG_VALUE( IMPLICIT_STENCIL_BUFFER_ATTACHMENT, osg::Camera::IMPLICIT_STENCIL_BUFFER_ATTACHMENT );
ADD_BITFLAG_VALUE( IMPLICIT_COLOR_BUFFER_ATTACHMENT, osg::Camera::IMPLICIT_COLOR_BUFFER_ATTACHMENT );
ADD_BITFLAG_VALUE( USE_DISPLAY_SETTINGS_MASK, osg::Camera::USE_DISPLAY_SETTINGS_MASK );
END_BITFLAGS_SERIALIZER();
BEGIN_INT_BITFLAGS_SERIALIZER( ImplicitBufferAttachmentResolveMask, osg::Camera::USE_DISPLAY_SETTINGS_MASK );
ADD_BITFLAG_VALUE( IMPLICIT_DEPTH_BUFFER_ATTACHMENT, osg::Camera::IMPLICIT_DEPTH_BUFFER_ATTACHMENT );
ADD_BITFLAG_VALUE( IMPLICIT_STENCIL_BUFFER_ATTACHMENT, osg::Camera::IMPLICIT_STENCIL_BUFFER_ATTACHMENT );
ADD_BITFLAG_VALUE( IMPLICIT_COLOR_BUFFER_ATTACHMENT, osg::Camera::IMPLICIT_COLOR_BUFFER_ATTACHMENT );
ADD_BITFLAG_VALUE( USE_DISPLAY_SETTINGS_MASK, osg::Camera::USE_DISPLAY_SETTINGS_MASK );
END_BITFLAGS_SERIALIZER();
}
}