Introduced new scheme for setting up which version of OpenGL/OpenGL ES the OSG is compiled for.
To select standard OpenGL 1/2 build with full backwards and forwards comtability use: ./configure make OR ./configure -DOPENGL_PROFILE=GL2 To select OpenGL 3 core profile build using GL3/gl3.h header: ./configure -DOPENGL_PROFILE=GL3 To select OpenGL Arb core profile build using GL/glcorearb.h header: ./configure -DOPENGL_PROFILE=GLCORE To select OpenGL ES 1.1 profile use: ./configure -DOPENGL_PROFILE=GLES1 To select OpenGL ES 2 profile use: ./configure -DOPENGL_PROFILE=GLES2 Using OPENGL_PROFILE will select all the appropriate features required so no other settings in cmake will need to be adjusted. The new configuration options are stored in the include/osg/OpenGL header that deprecates the old include/osg/GL header.
This commit is contained in:
parent
560587c88f
commit
5597248895
147
CMakeLists.txt
147
CMakeLists.txt
@ -286,6 +286,10 @@ ELSE()
|
|||||||
ENDIF()
|
ENDIF()
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
IF(UNIX AND NOT ANDROID)
|
IF(UNIX AND NOT ANDROID)
|
||||||
# Not sure what this will do on Cygwin and Msys
|
# Not sure what this will do on Cygwin and Msys
|
||||||
# Also, remember OS X X11 is a user installed option so it may not exist.
|
# Also, remember OS X X11 is a user installed option so it may not exist.
|
||||||
@ -450,28 +454,145 @@ MARK_AS_ADVANCED(OSG_DISABLE_MSVC_WARNINGS)
|
|||||||
OPTION(OSG_USE_REF_PTR_IMPLICIT_OUTPUT_CONVERSION "Set to ON to use the ref_ptr<> T* operator() output conversion. " ON)
|
OPTION(OSG_USE_REF_PTR_IMPLICIT_OUTPUT_CONVERSION "Set to ON to use the ref_ptr<> T* operator() output conversion. " ON)
|
||||||
|
|
||||||
|
|
||||||
|
# Map the OPENGL_PROFILE to OSG_GL*_AVAILABLE settings
|
||||||
|
SET(OPENGL_PROFILE "GL2" CACHE STRING "OpenGL Profile to use, choose from GL2, GL3, GLES1, GLES2")
|
||||||
|
|
||||||
|
IF ((OPENGL_PROFILE STREQUAL "GL1") OR (OPENGL_PROFILE STREQUAL "GL2"))
|
||||||
OPTION(OSG_GL1_AVAILABLE "Set to OFF to disable use of OpenGL 1.x functions library." ON )
|
OPTION(OSG_GL1_AVAILABLE "Set to OFF to disable use of OpenGL 1.x functions library." ON )
|
||||||
|
ELSE()
|
||||||
|
OPTION(OSG_GL1_AVAILABLE "Set to OFF to disable use of OpenGL 1.x functions library." OFF )
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
|
IF ((OPENGL_PROFILE STREQUAL "GL2"))
|
||||||
OPTION(OSG_GL2_AVAILABLE "Set to OFF to disable use of OpenGL 2.x functions library." ON )
|
OPTION(OSG_GL2_AVAILABLE "Set to OFF to disable use of OpenGL 2.x functions library." ON )
|
||||||
|
ELSE()
|
||||||
|
OPTION(OSG_GL2_AVAILABLE "Set to OFF to disable use of OpenGL 2.x functions library." OFF )
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
|
IF ((OPENGL_PROFILE STREQUAL "GL3") OR (OPENGL_PROFILE STREQUAL "GLCORE"))
|
||||||
|
OPTION(OSG_GL3_AVAILABLE "Set to OFF to disable use of OpenGL 3.x functions library." ON )
|
||||||
|
ELSE()
|
||||||
OPTION(OSG_GL3_AVAILABLE "Set to OFF to disable use of OpenGL 3.x functions library." OFF )
|
OPTION(OSG_GL3_AVAILABLE "Set to OFF to disable use of OpenGL 3.x functions library." OFF )
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
|
IF ((OPENGL_PROFILE STREQUAL "GLES1"))
|
||||||
|
OPTION(OSG_GLES1_AVAILABLE "Set to OFF to disable use of OpenGL ES 1.x functions library." ON )
|
||||||
|
ELSE()
|
||||||
OPTION(OSG_GLES1_AVAILABLE "Set to OFF to disable use of OpenGL ES 1.x functions library." OFF )
|
OPTION(OSG_GLES1_AVAILABLE "Set to OFF to disable use of OpenGL ES 1.x functions library." OFF )
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
|
IF ((OPENGL_PROFILE STREQUAL "GLES2"))
|
||||||
|
OPTION(OSG_GLES2_AVAILABLE "Set to OFF to disable use of OpenGL ES 2.x functions library." ON )
|
||||||
|
ELSE()
|
||||||
OPTION(OSG_GLES2_AVAILABLE "Set to OFF to disable use of OpenGL ES 2.x functions library." OFF )
|
OPTION(OSG_GLES2_AVAILABLE "Set to OFF to disable use of OpenGL ES 2.x functions library." OFF )
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
|
|
||||||
OPTION(OSG_GL_LIBRARY_STATIC "Set to ON to statically link with OpenGL/GLES library." OFF)
|
OPTION(OSG_GL_LIBRARY_STATIC "Set to ON to statically link with OpenGL/GLES library." OFF)
|
||||||
|
|
||||||
SET(OPENGL_egl_LIBRARY CACHE STRING "Set the OpenGL egl library.")
|
SET(OPENGL_egl_LIBRARY CACHE STRING "Set the OpenGL egl library.")
|
||||||
|
|
||||||
# SET(OSG_GL_DISPLAYLISTS_AVAILABLE ${OSG_GL1_AVAILABLE})
|
# Map the OSG_GL*_AVAILABLE settings to OSG_GL_* settings
|
||||||
# SET(OSG_GL_MATRICES_AVAILABLE ${OSG_GL1_AVAILABLE})
|
IF (OSG_GLES2_AVAILABLE OR OSG_GL3_AVAILABLE)
|
||||||
# SET(OSG_GL_VERTEX_FUNCS_AVAILABLE ${OSG_GL1_AVAILABLE})
|
OPTION(OSG_GL_DISPLAYLISTS_AVAILABLE "Set to OFF to disable use of OpenGL display lists." OFF)
|
||||||
# SET(OSG_GL_VERTEX_ARRAY_FUNCS_AVAILABLE ${OSG_GL1_AVAILABLE})
|
OPTION(OSG_GL_MATRICES_AVAILABLE "Set to OFF to disable use of OpenGL built-in matrices." OFF)
|
||||||
# SET(OSG_GL_FIXED_FUNCTION_AVAILABLE ${OSG_GL1_AVAILABLE})
|
OPTION(OSG_GL_VERTEX_FUNCS_AVAILABLE "Set to OFF to disable use of OpenGL vertex functions such as glVertex/glColor etc." OFF)
|
||||||
|
OPTION(OSG_GL_VERTEX_ARRAY_FUNCS_AVAILABLE "Set to OFF to disable use of OpenGL vertex functions such as glVertexPointer/glColorPointer etc." OFF)
|
||||||
OPTION(OSG_GL_DISPLAYLISTS_AVAILABLE "Set to OFF to disable use of OpenGL display lists." ${OSG_GL1_AVAILABLE})
|
OPTION(OSG_GL_FIXED_FUNCTION_AVAILABLE "Set to OFF to disable use of OpenGL fixed function pipeline." OFF)
|
||||||
OPTION(OSG_GL_MATRICES_AVAILABLE "Set to OFF to disable use of OpenGL built-in matrices." ${OSG_GL1_AVAILABLE})
|
ELSEIF (OSG_GLES1_AVAILABLE)
|
||||||
OPTION(OSG_GL_VERTEX_FUNCS_AVAILABLE "Set to OFF to disable use of OpenGL vertex functions such as glVertex/glColor etc." ${OSG_GL1_AVAILABLE})
|
OPTION(OSG_GL_DISPLAYLISTS_AVAILABLE "Set to OFF to disable use of OpenGL display lists." OFF)
|
||||||
OPTION(OSG_GL_VERTEX_ARRAY_FUNCS_AVAILABLE "Set to OFF to disable use of OpenGL vertex functions such as glVertexPointer/glColorPointer etc." ${OSG_GL1_AVAILABLE})
|
OPTION(OSG_GL_MATRICES_AVAILABLE "Set to OFF to disable use of OpenGL built-in matrices." ON)
|
||||||
OPTION(OSG_GL_FIXED_FUNCTION_AVAILABLE "Set to OFF to disable use of OpenGL fixed function pipeline." ${OSG_GL1_AVAILABLE})
|
OPTION(OSG_GL_VERTEX_FUNCS_AVAILABLE "Set to OFF to disable use of OpenGL vertex functions such as glVertex/glColor etc." ON)
|
||||||
|
OPTION(OSG_GL_VERTEX_ARRAY_FUNCS_AVAILABLE "Set to OFF to disable use of OpenGL vertex functions such as glVertexPointer/glColorPointer etc." ON)
|
||||||
|
OPTION(OSG_GL_FIXED_FUNCTION_AVAILABLE "Set to OFF to disable use of OpenGL fixed function pipeline." ON)
|
||||||
|
ELSE()
|
||||||
|
OPTION(OSG_GL_DISPLAYLISTS_AVAILABLE "Set to OFF to disable use of OpenGL display lists." ON)
|
||||||
|
OPTION(OSG_GL_MATRICES_AVAILABLE "Set to OFF to disable use of OpenGL built-in matrices." ON)
|
||||||
|
OPTION(OSG_GL_VERTEX_FUNCS_AVAILABLE "Set to OFF to disable use of OpenGL vertex functions such as glVertex/glColor etc." ON)
|
||||||
|
OPTION(OSG_GL_VERTEX_ARRAY_FUNCS_AVAILABLE "Set to OFF to disable use of OpenGL vertex functions such as glVertexPointer/glColorPointer etc." ON)
|
||||||
|
OPTION(OSG_GL_FIXED_FUNCTION_AVAILABLE "Set to OFF to disable use of OpenGL fixed function pipeline." ON)
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
|
IF (OSG_GLES1_AVAILABLE OR OSG_GLES2_AVAILABLE)
|
||||||
|
OPTION(OSG_CPP_EXCEPTIONS_AVAILABLE "Set to OFF to disable compile of OSG components that use C++ exceptions." OFF)
|
||||||
|
ELSE()
|
||||||
OPTION(OSG_CPP_EXCEPTIONS_AVAILABLE "Set to OFF to disable compile of OSG components that use C++ exceptions." ON)
|
OPTION(OSG_CPP_EXCEPTIONS_AVAILABLE "Set to OFF to disable compile of OSG components that use C++ exceptions." ON)
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
|
|
||||||
|
# Map the OSG_GL*_AVAILABLE settings to OpenGL header settings
|
||||||
|
IF (OSG_GL3_AVAILABLE)
|
||||||
|
IF (APPLE)
|
||||||
|
SET(OPENGL_HEADER1 "#include <OpenGL/OpenGL.h>" CACHE STRING "#include<> line for OpenGL Header")
|
||||||
|
SET(OPENGL_HEADER2 "#include <OpenGL/gl3.h>" CACHE STRING "#include<> line for additional OpenGL Headers if required")
|
||||||
|
ELSE()
|
||||||
|
|
||||||
|
IF (OPENGL_PROFILE STREQUAL "GLCORE")
|
||||||
|
SET(OPENGL_HEADER1 "#include <GL/glcorearb.h>" CACHE STRING "#include<> line for OpenGL Header")
|
||||||
|
SET(OPENGL_HEADER2 "" CACHE STRING "#include<> line for additional OpenGL Headers if required")
|
||||||
|
ELSE()
|
||||||
|
SET(OPENGL_HEADER1 "#include <GL3/gl3.h>" CACHE STRING "#include<> line for OpenGL Header")
|
||||||
|
SET(OPENGL_HEADER2 "" CACHE STRING "#include<> line for additional OpenGL Headers if required")
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
|
ENDIF()
|
||||||
|
ELSEIF(OSG_GLES1_AVAILABLE)
|
||||||
|
IF (APPLE)
|
||||||
|
SET(OPENGL_HEADER1 "#include \"TargetConditionals.h\"" CACHE STRING "#include<> line for OpenGL Header")
|
||||||
|
SET(OPENGL_HEADER2 "#include <OpenGLES/ES1/gl.h>" CACHE STRING "#include<> line for additional OpenGL Headers if required")
|
||||||
|
ELSE()
|
||||||
|
SET(OPENGL_HEADER1 "#include <GLES/gl.h>" CACHE STRING "#include<> line for OpenGL Header")
|
||||||
|
SET(OPENGL_HEADER2 "" CACHE STRING "#include<> line for additional OpenGL Headers if required")
|
||||||
|
ENDIF()
|
||||||
|
ELSEIF(OSG_GLES2_AVAILABLE)
|
||||||
|
IF (APPLE)
|
||||||
|
SET(OPENGL_HEADER1 "#include \"TargetConditiona2s.h\"" CACHE STRING "#include<> line for OpenGL Header")
|
||||||
|
SET(OPENGL_HEADER2 "#include <OpenGLES/ES2/gl.h>" CACHE STRING "#include<> line for additional OpenGL Headers if required")
|
||||||
|
ELSE()
|
||||||
|
SET(OPENGL_HEADER1 "#include <GLES2/gl2.h>" CACHE STRING "#include<> line for OpenGL Header")
|
||||||
|
SET(OPENGL_HEADER2 "" CACHE STRING "#include<> line for additional OpenGL Headers if required")
|
||||||
|
ENDIF()
|
||||||
|
ELSE()
|
||||||
|
IF (APPLE)
|
||||||
|
SET(OPENGL_HEADER1 "#include <OpenGL/OpenGL.h>" CACHE STRING "#include<> line for OpenGL Header")
|
||||||
|
SET(OPENGL_HEADER2 "" CACHE STRING "#include<> line for additional OpenGL Headers if required")
|
||||||
|
ELSE()
|
||||||
|
SET(OPENGL_HEADER1 "#include <GL/gl.h>" CACHE STRING "#include<> line for OpenGL Header")
|
||||||
|
SET(OPENGL_HEADER2 "" CACHE STRING "#include<> line for additional OpenGL Headers if required")
|
||||||
|
ENDIF()
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
|
IF (OSG_GL1_AVAILABLE)
|
||||||
|
SET(OSG_GL1_FEATURES "true")
|
||||||
|
ELSE()
|
||||||
|
SET(OSG_GL1_FEATURES "false")
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
|
IF (OSG_GL2_AVAILABLE)
|
||||||
|
SET(OSG_GL2_FEATURES "true")
|
||||||
|
ELSE()
|
||||||
|
SET(OSG_GL2_FEATURES "false")
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
|
IF (OSG_GL3_AVAILABLE)
|
||||||
|
SET(OSG_GL3_FEATURES "true")
|
||||||
|
ELSE()
|
||||||
|
SET(OSG_GL3_FEATURES "false")
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
|
IF (OSG_GLES1_AVAILABLE)
|
||||||
|
SET(OSG_GLES1_FEATURES "true")
|
||||||
|
ELSE()
|
||||||
|
SET(OSG_GLES1_FEATURES "false")
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
|
IF (OSG_GLES1_AVAILABLE)
|
||||||
|
SET(OSG_GLES2_FEATURES "true")
|
||||||
|
ELSE()
|
||||||
|
SET(OSG_GLES2_FEATURES "false")
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
# Set Config file
|
# Set Config file
|
||||||
@ -484,6 +605,10 @@ SET(OPENSCENEGRAPH_VERSION_HEADER "${CMAKE_CURRENT_SOURCE_DIR}/include/osg/Versi
|
|||||||
CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/src/osg/Version.in"
|
CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/src/osg/Version.in"
|
||||||
"${OPENSCENEGRAPH_VERSION_HEADER}")
|
"${OPENSCENEGRAPH_VERSION_HEADER}")
|
||||||
|
|
||||||
|
SET(OPENSCENEGRAPH_OPENGGL_HEADER "${CMAKE_CURRENT_SOURCE_DIR}/include/osg/OpenGL")
|
||||||
|
CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/src/osg/OpenGL.in"
|
||||||
|
"${OPENSCENEGRAPH_OPENGGL_HEADER}")
|
||||||
|
|
||||||
# INSTALL_FILES(/include/osg/ FILES "${OPENSCENEGRAPH_CONFIG_HEADER}")
|
# INSTALL_FILES(/include/osg/ FILES "${OPENSCENEGRAPH_CONFIG_HEADER}")
|
||||||
|
|
||||||
|
|
||||||
|
@ -114,7 +114,7 @@ public:
|
|||||||
typedef void (GL_APIENTRY * PFNGLDELETESYNCPROC) (GLsync sync);
|
typedef void (GL_APIENTRY * PFNGLDELETESYNCPROC) (GLsync sync);
|
||||||
typedef GLenum (GL_APIENTRY * PFNGLCLIENTWAITSYNCPROC) (GLsync sync, GLbitfield flags, GLuint64EXT timeout);
|
typedef GLenum (GL_APIENTRY * PFNGLCLIENTWAITSYNCPROC) (GLsync sync, GLbitfield flags, GLuint64EXT timeout);
|
||||||
typedef void (GL_APIENTRY * PFNGLWAITSYNCPROC) (GLsync sync, GLbitfield flags, GLuint64EXT timeout);
|
typedef void (GL_APIENTRY * PFNGLWAITSYNCPROC) (GLsync sync, GLbitfield flags, GLuint64EXT timeout);
|
||||||
typedef void (GL_APIENTRY * PFNGLGETINTEGER64VPROC) (GLenum pname, GLint64EXT *params);
|
typedef void (GL_APIENTRY * PFNGLGETINTEGER64VPROC) (GLenum pname, GLint64 *params);
|
||||||
typedef void (GL_APIENTRY * PFNGLGETSYNCIVPROC) (GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values);
|
typedef void (GL_APIENTRY * PFNGLGETSYNCIVPROC) (GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values);
|
||||||
|
|
||||||
bool _extensionInitialized;
|
bool _extensionInitialized;
|
||||||
|
@ -46,7 +46,6 @@ IF(DYNAMIC_OPENSCENEGRAPH)
|
|||||||
ADD_SUBDIRECTORY(osgfont)
|
ADD_SUBDIRECTORY(osgfont)
|
||||||
ADD_SUBDIRECTORY(osgforest)
|
ADD_SUBDIRECTORY(osgforest)
|
||||||
ADD_SUBDIRECTORY(osgfxbrowser)
|
ADD_SUBDIRECTORY(osgfxbrowser)
|
||||||
ADD_SUBDIRECTORY(osgframerenderer)
|
|
||||||
ADD_SUBDIRECTORY(osgoutline)
|
ADD_SUBDIRECTORY(osgoutline)
|
||||||
ADD_SUBDIRECTORY(osggameoflife)
|
ADD_SUBDIRECTORY(osggameoflife)
|
||||||
ADD_SUBDIRECTORY(osggeometry)
|
ADD_SUBDIRECTORY(osggeometry)
|
||||||
@ -175,6 +174,7 @@ IF(DYNAMIC_OPENSCENEGRAPH)
|
|||||||
|
|
||||||
IF(NOT OSG_GLES1_AVAILABLE AND NOT OSG_GLES2_AVAILABLE AND NOT OSG_GL3_AVAILABLE)
|
IF(NOT OSG_GLES1_AVAILABLE AND NOT OSG_GLES2_AVAILABLE AND NOT OSG_GL3_AVAILABLE)
|
||||||
ADD_SUBDIRECTORY(osgscreencapture)
|
ADD_SUBDIRECTORY(osgscreencapture)
|
||||||
|
ADD_SUBDIRECTORY(osgframerenderer)
|
||||||
ADD_SUBDIRECTORY(osgmotionblur)
|
ADD_SUBDIRECTORY(osgmotionblur)
|
||||||
ADD_SUBDIRECTORY(osgteapot)
|
ADD_SUBDIRECTORY(osgteapot)
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
@ -657,8 +657,8 @@ class OSG_EXPORT Drawable : public Object
|
|||||||
void glDeleteQueries(GLsizei n, const GLuint *ids) const;
|
void glDeleteQueries(GLsizei n, const GLuint *ids) const;
|
||||||
void glGetQueryObjectiv(GLuint id, GLenum pname, GLint *params) const;
|
void glGetQueryObjectiv(GLuint id, GLenum pname, GLint *params) const;
|
||||||
void glGetQueryObjectuiv(GLuint id, GLenum pname, GLuint *params) const;
|
void glGetQueryObjectuiv(GLuint id, GLenum pname, GLuint *params) const;
|
||||||
void glGetQueryObjectui64v(GLuint id, GLenum pname, GLuint64EXT *params) const;
|
void glGetQueryObjectui64v(GLuint id, GLenum pname, GLuint64 *params) const;
|
||||||
void glGetInteger64v(GLenum pname, GLint64EXT *params) const;
|
void glGetInteger64v(GLenum pname, GLint64 *params) const;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
||||||
@ -701,7 +701,7 @@ class OSG_EXPORT Drawable : public Object
|
|||||||
typedef void (GL_APIENTRY * EndOcclusionQueryProc) ();
|
typedef void (GL_APIENTRY * EndOcclusionQueryProc) ();
|
||||||
typedef void (GL_APIENTRY * GetOcclusionQueryivProc) ( GLuint id, GLenum pname, GLint *params );
|
typedef void (GL_APIENTRY * GetOcclusionQueryivProc) ( GLuint id, GLenum pname, GLint *params );
|
||||||
typedef void (GL_APIENTRY * GetOcclusionQueryuivProc) ( GLuint id, GLenum pname, GLuint *params );
|
typedef void (GL_APIENTRY * GetOcclusionQueryuivProc) ( GLuint id, GLenum pname, GLuint *params );
|
||||||
typedef void (GL_APIENTRY * GetOcclusionQueryui64vProc) ( GLuint id, GLenum pname, GLuint64EXT *params );
|
typedef void (GL_APIENTRY * GetOcclusionQueryui64vProc) ( GLuint id, GLenum pname, GLuint64 *params );
|
||||||
|
|
||||||
typedef void (GL_APIENTRY *GenQueriesProc) (GLsizei n, GLuint *ids);
|
typedef void (GL_APIENTRY *GenQueriesProc) (GLsizei n, GLuint *ids);
|
||||||
typedef void (GL_APIENTRY *DeleteQueriesProc) (GLsizei n, const GLuint *ids);
|
typedef void (GL_APIENTRY *DeleteQueriesProc) (GLsizei n, const GLuint *ids);
|
||||||
@ -712,8 +712,8 @@ class OSG_EXPORT Drawable : public Object
|
|||||||
typedef void (GL_APIENTRY *GetQueryivProc) (GLenum target, GLenum pname, GLint *params);
|
typedef void (GL_APIENTRY *GetQueryivProc) (GLenum target, GLenum pname, GLint *params);
|
||||||
typedef void (GL_APIENTRY *GetQueryObjectivProc) (GLuint id, GLenum pname, GLint *params);
|
typedef void (GL_APIENTRY *GetQueryObjectivProc) (GLuint id, GLenum pname, GLint *params);
|
||||||
typedef void (GL_APIENTRY *GetQueryObjectuivProc) (GLuint id, GLenum pname, GLuint *params);
|
typedef void (GL_APIENTRY *GetQueryObjectuivProc) (GLuint id, GLenum pname, GLuint *params);
|
||||||
typedef void (GL_APIENTRY *GetQueryObjectui64vProc) (GLuint id, GLenum pname, GLuint64EXT *params);
|
typedef void (GL_APIENTRY *GetQueryObjectui64vProc) (GLuint id, GLenum pname, GLuint64 *params);
|
||||||
typedef void (GL_APIENTRY *GetInteger64vProc) (GLenum pname, GLint64EXT *params);
|
typedef void (GL_APIENTRY *GetInteger64vProc) (GLenum pname, GLint64 *params);
|
||||||
|
|
||||||
~Extensions() {}
|
~Extensions() {}
|
||||||
|
|
||||||
|
@ -14,9 +14,17 @@
|
|||||||
#ifndef OSG_GL
|
#ifndef OSG_GL
|
||||||
#define OSG_GL 1
|
#define OSG_GL 1
|
||||||
|
|
||||||
|
#if 1
|
||||||
|
|
||||||
|
#include <osg/OpenGL>
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
|
||||||
#include <osg/Config>
|
#include <osg/Config>
|
||||||
#include <osg/Export>
|
#include <osg/Export>
|
||||||
|
|
||||||
|
|
||||||
#if defined(OSG_GLES1_AVAILABLE)
|
#if defined(OSG_GLES1_AVAILABLE)
|
||||||
|
|
||||||
#ifdef __APPLE__
|
#ifdef __APPLE__
|
||||||
@ -244,4 +252,6 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif // __osgGL_h
|
#endif // __osgGL_h
|
||||||
|
@ -1495,9 +1495,9 @@ class OSG_EXPORT State : public Referenced, public Observer
|
|||||||
{
|
{
|
||||||
return osg::Timer::instance()->delta_s(_startTick, _gpuTick);
|
return osg::Timer::instance()->delta_s(_startTick, _gpuTick);
|
||||||
}
|
}
|
||||||
GLuint64EXT getGpuTimestamp() const { return _gpuTimestamp; }
|
GLuint64 getGpuTimestamp() const { return _gpuTimestamp; }
|
||||||
|
|
||||||
void setGpuTimestamp(Timer_t tick, GLuint64EXT timestamp)
|
void setGpuTimestamp(Timer_t tick, GLuint64 timestamp)
|
||||||
{
|
{
|
||||||
_gpuTick = tick;
|
_gpuTick = tick;
|
||||||
_gpuTimestamp = timestamp;
|
_gpuTimestamp = timestamp;
|
||||||
@ -1930,7 +1930,7 @@ class OSG_EXPORT State : public Referenced, public Observer
|
|||||||
|
|
||||||
Timer_t _startTick;
|
Timer_t _startTick;
|
||||||
Timer_t _gpuTick;
|
Timer_t _gpuTick;
|
||||||
GLuint64EXT _gpuTimestamp;
|
GLuint64 _gpuTimestamp;
|
||||||
int _timestampBits;
|
int _timestampBits;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -14,6 +14,8 @@
|
|||||||
#ifndef OSGVIEWER_GRAPHICSWINDOWQT
|
#ifndef OSGVIEWER_GRAPHICSWINDOWQT
|
||||||
#define OSGVIEWER_GRAPHICSWINDOWQT
|
#define OSGVIEWER_GRAPHICSWINDOWQT
|
||||||
|
|
||||||
|
#include <QGLWidget>
|
||||||
|
|
||||||
#include <osgViewer/GraphicsWindow>
|
#include <osgViewer/GraphicsWindow>
|
||||||
#include <osgQt/Export>
|
#include <osgQt/Export>
|
||||||
|
|
||||||
@ -21,7 +23,6 @@
|
|||||||
#include <QEvent>
|
#include <QEvent>
|
||||||
#include <QQueue>
|
#include <QQueue>
|
||||||
#include <QSet>
|
#include <QSet>
|
||||||
#include <QGLWidget>
|
|
||||||
|
|
||||||
class QInputEvent;
|
class QInputEvent;
|
||||||
|
|
||||||
|
@ -14,6 +14,8 @@
|
|||||||
#ifndef QGRAPHICSVIEWADAPTER
|
#ifndef QGRAPHICSVIEWADAPTER
|
||||||
#define QGRAPHICSVIEWADAPTER
|
#define QGRAPHICSVIEWADAPTER
|
||||||
|
|
||||||
|
#include <QGLWidget>
|
||||||
|
|
||||||
#include <osg/Image>
|
#include <osg/Image>
|
||||||
#include <osg/observer_ptr>
|
#include <osg/observer_ptr>
|
||||||
#include <osgQt/Export>
|
#include <osgQt/Export>
|
||||||
|
@ -14,8 +14,8 @@
|
|||||||
#ifndef QWIDGETIMAGE
|
#ifndef QWIDGETIMAGE
|
||||||
#define QWIDGETIMAGE
|
#define QWIDGETIMAGE
|
||||||
|
|
||||||
#include <osg/Image>
|
|
||||||
#include <osgQt/QGraphicsViewAdapter>
|
#include <osgQt/QGraphicsViewAdapter>
|
||||||
|
#include <osg/Image>
|
||||||
|
|
||||||
namespace osgQt
|
namespace osgQt
|
||||||
{
|
{
|
||||||
|
@ -32,16 +32,4 @@
|
|||||||
#cmakedefine OSG_USE_UTF8_FILENAME
|
#cmakedefine OSG_USE_UTF8_FILENAME
|
||||||
#cmakedefine OSG_DISABLE_MSVC_WARNINGS
|
#cmakedefine OSG_DISABLE_MSVC_WARNINGS
|
||||||
|
|
||||||
#cmakedefine OSG_GL1_AVAILABLE
|
|
||||||
#cmakedefine OSG_GL2_AVAILABLE
|
|
||||||
#cmakedefine OSG_GL3_AVAILABLE
|
|
||||||
#cmakedefine OSG_GLES1_AVAILABLE
|
|
||||||
#cmakedefine OSG_GLES2_AVAILABLE
|
|
||||||
#cmakedefine OSG_GL_LIBRARY_STATIC
|
|
||||||
#cmakedefine OSG_GL_DISPLAYLISTS_AVAILABLE
|
|
||||||
#cmakedefine OSG_GL_MATRICES_AVAILABLE
|
|
||||||
#cmakedefine OSG_GL_VERTEX_FUNCS_AVAILABLE
|
|
||||||
#cmakedefine OSG_GL_VERTEX_ARRAY_FUNCS_AVAILABLE
|
|
||||||
#cmakedefine OSG_GL_FIXED_FUNCTION_AVAILABLE
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -1516,7 +1516,7 @@ void Drawable::Extensions::glGetQueryObjectuiv(GLuint id, GLenum pname, GLuint *
|
|||||||
OSG_WARN << "Error: glGetQueryObjectuiv not supported by OpenGL driver" << std::endl;
|
OSG_WARN << "Error: glGetQueryObjectuiv not supported by OpenGL driver" << std::endl;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Drawable::Extensions::glGetQueryObjectui64v(GLuint id, GLenum pname, GLuint64EXT *params) const
|
void Drawable::Extensions::glGetQueryObjectui64v(GLuint id, GLenum pname, GLuint64 *params) const
|
||||||
{
|
{
|
||||||
if (_gl_get_query_objectui64v)
|
if (_gl_get_query_objectui64v)
|
||||||
_gl_get_query_objectui64v(id, pname, params);
|
_gl_get_query_objectui64v(id, pname, params);
|
||||||
@ -1524,7 +1524,7 @@ void Drawable::Extensions::glGetQueryObjectui64v(GLuint id, GLenum pname, GLuint
|
|||||||
OSG_WARN << "Error: glGetQueryObjectui64v not supported by OpenGL driver" << std::endl;
|
OSG_WARN << "Error: glGetQueryObjectui64v not supported by OpenGL driver" << std::endl;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Drawable::Extensions::glGetInteger64v(GLenum pname, GLint64EXT *params)
|
void Drawable::Extensions::glGetInteger64v(GLenum pname, GLint64 *params)
|
||||||
const
|
const
|
||||||
{
|
{
|
||||||
if (_glGetInteger64v)
|
if (_glGetInteger64v)
|
||||||
|
@ -1785,7 +1785,7 @@ void State::frameCompleted()
|
|||||||
osg::Drawable::Extensions* extensions = osg::Drawable::getExtensions(getContextID(), true);
|
osg::Drawable::Extensions* extensions = osg::Drawable::getExtensions(getContextID(), true);
|
||||||
if (extensions && getTimestampBits())
|
if (extensions && getTimestampBits())
|
||||||
{
|
{
|
||||||
GLint64EXT timestamp;
|
GLint64 timestamp;
|
||||||
extensions->glGetInteger64v(GL_TIMESTAMP, ×tamp);
|
extensions->glGetInteger64v(GL_TIMESTAMP, ×tamp);
|
||||||
setGpuTimestamp(osg::Timer::instance()->tick(), timestamp);
|
setGpuTimestamp(osg::Timer::instance()->tick(), timestamp);
|
||||||
//OSG_NOTICE<<"State::frameCompleted() setting time stamp. timestamp="<<timestamp<<std::endl;
|
//OSG_NOTICE<<"State::frameCompleted() setting time stamp. timestamp="<<timestamp<<std::endl;
|
||||||
|
@ -11,8 +11,9 @@
|
|||||||
* OpenSceneGraph Public License for more details.
|
* OpenSceneGraph Public License for more details.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <osg/DeleteHandler>
|
|
||||||
#include <osgQt/GraphicsWindowQt>
|
#include <osgQt/GraphicsWindowQt>
|
||||||
|
|
||||||
|
#include <osg/DeleteHandler>
|
||||||
#include <osgViewer/ViewerBase>
|
#include <osgViewer/ViewerBase>
|
||||||
#include <QInputEvent>
|
#include <QInputEvent>
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user