From 62764a56c5d8225633d929098bb85c557d745819 Mon Sep 17 00:00:00 2001 From: Robert Osfield Date: Thu, 24 Sep 2015 10:52:35 +0000 Subject: [PATCH] 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 --- include/osg/Camera | 14 ++++++++++++-- src/osgWrappers/serializers/osg/Camera.cpp | 19 ++++++++++++++++--- 2 files changed, 28 insertions(+), 5 deletions(-) diff --git a/include/osg/Camera b/include/osg/Camera index ad615ec00..8a1272441 100644 --- a/include/osg/Camera +++ b/include/osg/Camera @@ -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 ) { diff --git a/src/osgWrappers/serializers/osg/Camera.cpp b/src/osgWrappers/serializers/osg/Camera.cpp index aa121b82d..37e4d300b 100644 --- a/src/osgWrappers/serializers/osg/Camera.cpp +++ b/src/osgWrappers/serializers/osg/Camera.cpp @@ -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(); + } }