Skip to content

Commit

Permalink
MultiView: Recreate resolve layers if user calls RenderStage::setFram…
Browse files Browse the repository at this point in the history
…eBufferObject() or RenderStage::setMultisampleResolveFramebufferObject
  • Loading branch information
Mads Buvik Sandvei committed Jan 11, 2025
1 parent fcf0c8b commit 34e7e4f
Show file tree
Hide file tree
Showing 16 changed files with 1,005 additions and 37 deletions.
31 changes: 31 additions & 0 deletions build/PlatformSpecifics/Windows/OpenSceneGraphVersionInfo.rc
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
1 VERSIONINFO
FILEVERSION 3, 6, 5, 162
PRODUCTVERSION 3, 6, 5, 162
FILEFLAGSMASK 0x17L
#ifdef _DEBUG
FILEFLAGS 0x1L
#else
FILEFLAGS 0x0L
#endif
FILEOS 0x4L
FILETYPE 0x0L
FILESUBTYPE 0x0L
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "040904b0"
BEGIN
VALUE "FileDescription", "OpenSceneGraph Binary"
VALUE "FileVersion", "3, 6, 5, 162"
VALUE "InternalName", "OSG"
VALUE "LegalCopyright", "Copyright (C) 2009"
VALUE "OriginalFilename", ""
VALUE "ProductName", "OpenSceneGraph"
VALUE "ProductVersion", "3, 6, 5, 162"
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x409, 1200
END
END
31 changes: 31 additions & 0 deletions build/PlatformSpecifics/Windows/OpenThreadsVersionInfo.rc
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
1 VERSIONINFO
FILEVERSION 3, 3, 1, 21
PRODUCTVERSION 3, 3, 1, 21
FILEFLAGSMASK 0x17L
#ifdef _DEBUG
FILEFLAGS 0x1L
#else
FILEFLAGS 0x0L
#endif
FILEOS 0x4L
FILETYPE 0x0L
FILESUBTYPE 0x0L
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "040904b0"
BEGIN
VALUE "FileDescription", "OPENTHREADS Binary"
VALUE "FileVersion", "3, 3, 1, 21"
VALUE "InternalName", "OSG"
VALUE "LegalCopyright", "Copyright (C) 2009"
VALUE "OriginalFilename", ""
VALUE "ProductName", "OPENTHREADS"
VALUE "ProductVersion", "3, 3, 1, 21"
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x409, 1200
END
END
34 changes: 34 additions & 0 deletions build/include/OpenThreads/Config
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
/* -*-c++-*- OpenSceneGraph - Copyright (C) 2008 Robert Osfield
*
* This library is open source and may be redistributed and/or modified under
* the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or
* (at your option) any later version. The full license is in LICENSE file
* included with this distribution, and on the openscenegraph.org website.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* OpenSceneGraph Public License for more details.
*/

/****************************************************************************
* THIS FILE IS AUTOGENERATED BY CMAKE. DO NOT EDIT!
****************************************************************************/

/* Changes to the configuration reflected here can be made with ccmake on
* unix or with cmake-gui on windows. Alternatively you can use cmake's -D
* or -P switches to set some configuration values at cmake configuration time.
*/

#ifndef _OPENTHREADS_CONFIG
#define _OPENTHREADS_CONFIG

/* #undef _OPENTHREADS_ATOMIC_USE_GCC_BUILTINS */
/* #undef _OPENTHREADS_ATOMIC_USE_MIPOSPRO_BUILTINS */
/* #undef _OPENTHREADS_ATOMIC_USE_SUN */
#define _OPENTHREADS_ATOMIC_USE_WIN32_INTERLOCKED
/* #undef _OPENTHREADS_ATOMIC_USE_BSD_ATOMIC */
/* #undef _OPENTHREADS_ATOMIC_USE_MUTEX */
/* #undef OT_LIBRARY_STATIC */

#endif
38 changes: 38 additions & 0 deletions build/include/OpenThreads/Version
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
/* -*-c++-*- OpenThreads library, Copyright (C) 2002 - 2007 The Open Thread Group
*
* This library is open source and may be redistributed and/or modified under
* the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or
* (at your option) any later version. The full license is in LICENSE file
* included with this distribution, and on the openscenegraph.org website.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* OpenSceneGraph Public License for more details.
*/

#ifndef OPENTHREADS_VERSION
#define OPENTHREADS_VERSION 1

#include <OpenThreads/Exports>

extern "C" {

#define OPENTHREADS_MAJOR_VERSION 3
#define OPENTHREADS_MINOR_VERSION 3
#define OPENTHREADS_PATCH_VERSION 1
#define OPENTHREADS_SOVERSION 21

/** OpenThreadsGetVersion() returns the library version number.
* Numbering convention : OpenThreads-1.0 will return 1.0 from OpenThreadsGetVersion. */
extern OPENTHREAD_EXPORT_DIRECTIVE const char* OpenThreadsGetVersion();

/** The OpenThreadsGetSOVersion() method returns the OpenSceneGraph soversion number. */
extern OPENTHREAD_EXPORT_DIRECTIVE const char* OpenThreadsGetSOVersion();

/** The OpenThreadsGetLibraryName() method returns the library name in human-friendly form. */
extern OPENTHREAD_EXPORT_DIRECTIVE const char* OpenThreadsGetLibraryName();

}

#endif
42 changes: 42 additions & 0 deletions build/include/osg/Config
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
/* -*-c++-*- OpenSceneGraph - Copyright (C) 2008-2009 Robert Osfield
*
* This library is open source and may be redistributed and/or modified under
* the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or
* (at your option) any later version. The full license is in LICENSE file
* included with this distribution, and on the openscenegraph.org website.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* OpenSceneGraph Public License for more details.
*/

/****************************************************************************
* THIS FILE IS AUTOGENERATED BY CMAKE. DO NOT EDIT!
****************************************************************************/

/* Changes to the configuration reflected here can be made with ccmake on
* unix or with cmake-gui on windows. Alternatively you can use cmake's -D
* or -P switches to set some configuration values at cmake configuration time.
*/

#ifndef OSG_CONFIG
#define OSG_CONFIG 1

/* #undef OSG_NOTIFY_DISABLED */
/* #undef OSG_USE_FLOAT_MATRIX */
/* #undef OSG_USE_FLOAT_PLANE */
#define OSG_USE_FLOAT_BOUNDINGSPHERE
#define OSG_USE_FLOAT_BOUNDINGBOX
/* #undef OSG_USE_FLOAT_QUAT */
#define OSG_USE_REF_PTR_IMPLICIT_OUTPUT_CONVERSION
/* #undef OSG_USE_REF_PTR_SAFE_DEREFERENCE */
/* #undef OSG_USE_UTF8_FILENAME */
#define OSG_DISABLE_MSVC_WARNINGS
#define OSG_PROVIDE_READFILE
#define OSG_USE_DEPRECATED_API
#define OSG_ENVVAR_SUPPORTED
/* #undef OSG_WINDOWING_SYSTEM_CARBON */
/* #undef OSG_WINDOWING_SYSTEM_NONE */

#endif
194 changes: 194 additions & 0 deletions build/include/osg/GL
Original file line number Diff line number Diff line change
@@ -0,0 +1,194 @@
/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2009 Robert Osfield
*
* This library is open source and may be redistributed and/or modified under
* the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or
* (at your option) any later version. The full license is in LICENSE file
* included with this distribution, and on the openscenegraph.org website.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* OpenSceneGraph Public License for more details.
*/

#ifndef OSG_OPENGL
#define OSG_OPENGL 1

#include <osg/Config>
#include <osg/Export>
#include <osg/Types>

#define OSG_GL1_AVAILABLE
#define OSG_GL2_AVAILABLE
/* #undef OSG_GL3_AVAILABLE */
/* #undef OSG_GLES1_AVAILABLE */
/* #undef OSG_GLES2_AVAILABLE */
/* #undef OSG_GLES3_AVAILABLE */
/* #undef OSG_GL_LIBRARY_STATIC */
#define OSG_GL_DISPLAYLISTS_AVAILABLE
#define OSG_GL_MATRICES_AVAILABLE
#define OSG_GL_VERTEX_FUNCS_AVAILABLE
#define OSG_GL_VERTEX_ARRAY_FUNCS_AVAILABLE
#define OSG_GL_FIXED_FUNCTION_AVAILABLE
/* #undef GL_HEADER_HAS_GLINT64 */
/* #undef GL_HEADER_HAS_GLUINT64 */

#define OSG_GL1_FEATURES 1
#define OSG_GL2_FEATURES 1
#define OSG_GL3_FEATURES 0
#define OSG_GLES1_FEATURES 0
#define OSG_GLES2_FEATURES 0
#define OSG_GLES3_FEATURES 0
#define OSG_GL_CONTEXT_VERSION "1.0"


#ifndef _WIN32

// Required for compatibility with glext.h style function definitions of
// OpenGL extensions, such as in src/osg/Point.cpp.
#ifndef APIENTRY
#define APIENTRY
#endif

#else // _WIN32

#if defined(__CYGWIN__) || defined(__MINGW32__)

#ifndef APIENTRY
#define GLUT_APIENTRY_DEFINED
#define APIENTRY __stdcall
#endif
// XXX This is from Win32's <windef.h>
#ifndef CALLBACK
#define CALLBACK __stdcall
#endif

#else // ! __CYGWIN__

// Under Windows avoid including <windows.h>
// to avoid name space pollution, but Win32's <GL/gl.h>
// needs APIENTRY and WINGDIAPI defined properly.
// XXX This is from Win32's <windef.h>
#ifndef APIENTRY
#define GLUT_APIENTRY_DEFINED
#if (_MSC_VER >= 800) || defined(_STDCALL_SUPPORTED)
#define WINAPI __stdcall
#define APIENTRY WINAPI
#else
#define APIENTRY
#endif
#endif

// XXX This is from Win32's <windef.h>
#ifndef CALLBACK
#if (_MSC_VER >= 800) || defined(_STDCALL_SUPPORTED)
#define CALLBACK __stdcall
#else
#define CALLBACK
#endif
#endif

#endif // __CYGWIN__

// XXX This is from Win32's <wingdi.h> and <winnt.h>
#ifndef WINGDIAPI
#define GLUT_WINGDIAPI_DEFINED
#define DECLSPEC_IMPORT __declspec(dllimport)
#define WINGDIAPI DECLSPEC_IMPORT
#endif

// XXX This is from Win32's <ctype.h>
#if !defined(_WCHAR_T_DEFINED) && !(defined(__GNUC__)&&(__GNUC__ > 2))
typedef unsigned short wchar_t;
#define _WCHAR_T_DEFINED
#endif

#endif // _WIN32

#if defined(OSG_GL3_AVAILABLE)
#define GL3_PROTOTYPES 1
#define GL_GLEXT_PROTOTYPES 1
#endif


#include <GL/gl.h>



#ifndef GL_APIENTRY
#define GL_APIENTRY APIENTRY
#endif // GL_APIENTRY


#ifndef GL_HEADER_HAS_GLINT64
typedef int64_t GLint64;
#endif

#ifndef GL_HEADER_HAS_GLUINT64
typedef uint64_t GLuint64;
#endif

#ifdef OSG_GL_MATRICES_AVAILABLE

inline void glLoadMatrix(const float* mat) { glLoadMatrixf(static_cast<const GLfloat*>(mat)); }
inline void glMultMatrix(const float* mat) { glMultMatrixf(static_cast<const GLfloat*>(mat)); }

#ifdef OSG_GLES1_AVAILABLE
inline void glLoadMatrix(const double* mat)
{
GLfloat flt_mat[16];
for(unsigned int i=0;i<16;++i) flt_mat[i] = mat[i];
glLoadMatrixf(flt_mat);
}

inline void glMultMatrix(const double* mat)
{
GLfloat flt_mat[16];
for(unsigned int i=0;i<16;++i) flt_mat[i] = mat[i];
glMultMatrixf(flt_mat);
}

#else
inline void glLoadMatrix(const double* mat) { glLoadMatrixd(static_cast<const GLdouble*>(mat)); }
inline void glMultMatrix(const double* mat) { glMultMatrixd(static_cast<const GLdouble*>(mat)); }
#endif
#endif

// add defines for OpenGL targets that don't define them, just to ease compatibility across targets
#ifndef GL_DOUBLE
#define GL_DOUBLE 0x140A
typedef double GLdouble;
#endif

#ifndef GL_INT
#define GL_INT 0x1404
#endif

#ifndef GL_UNSIGNED_INT
#define GL_UNSIGNED_INT 0x1405
#endif

#ifndef GL_NONE
// OpenGL ES1 doesn't provide GL_NONE
#define GL_NONE 0x0
#endif

#if defined(OSG_GLES1_AVAILABLE) || defined(OSG_GLES2_AVAILABLE) || defined(OSG_GLES3_AVAILABLE)
//GLES defines (OES)
#define GL_RGB8_OES 0x8051
#define GL_RGBA8_OES 0x8058
#endif

#if defined(OSG_GLES1_AVAILABLE) || defined(OSG_GLES2_AVAILABLE) || defined(OSG_GLES3_AVAILABLE) || defined(OSG_GL3_AVAILABLE)
#define GL_POLYGON 0x0009
#define GL_QUADS 0x0007
#define GL_QUAD_STRIP 0x0008
#endif

#if defined(OSG_GL3_AVAILABLE)
#define GL_LUMINANCE 0x1909
#define GL_LUMINANCE_ALPHA 0x190A
#endif


#endif
Loading

0 comments on commit 34e7e4f

Please sign in to comment.