Commit Graph

81 Commits

Author SHA1 Message Date
Robert Osfield
3572199cb8 Moved GLExtensions changes from 3.6 branch into master 2020-11-10 12:50:58 +00:00
Robert Osfield
cc835694e3
Merge pull request #955 from timoore/extension-observer-ptr
Fix GLExtensions static order of deletion bug
2020-11-10 11:14:47 +00:00
Robert Osfield
e0d5e4b0ff Fixed warnings reported by gcc-9.3.0 2020-08-26 15:19:23 +01:00
Tim Moore
97f955b2d4 Fix GLExtensions static order of deletion bug
The s_glExtensionSetList could be deleted while pointers to
GLExtension objects were still held e.g., by
VertexArrayStateManager, causing a segfault. This patch uses an
observer pointer to not access already-deleted data.
2020-05-20 18:21:49 +02:00
OpenSceneGraph git repository
32bb3fd91e
Merge branch 'master' into bufferstorage 2020-01-07 11:21:42 +00:00
Robert Osfield
9a21a1d1cf Fixed build error when GL_USE_FLOAT_PLANE is used 2018-10-23 09:11:49 +01:00
Robert Osfield
5962d2580f From Andy Skinner, Added ~GLExtensions to clear cached values for context ID 2018-10-02 12:29:30 +01:00
OpenSceneGraph git repository
86bd4a4e8b
Merge branch 'master' into imagebinding3 2018-07-23 07:57:23 +01:00
Robert Osfield
dbcd3b0324 Added GLExtensions::isPointSpriteModeSupported to allow it to be enable for GL versions that support GL_POINT_SPRITE_ARB/GL_POINT_SPRITE_OES 2018-06-27 11:04:14 +01:00
Hartwig
1b3928a017 Removal of compiler warnings caused by integer conversions
In most systems today sizeof(size_t) is larger than sizeof(GLsizei). Therefore, the inclusion of GLExtensions may introduce a lot of compiler warnings as array.size() (of type size_t) is passed to a function with a parameter of type GLsizei.
2018-03-25 19:04:10 +02:00
mp3butcher
c6b5aba249 regroup and add missing funcs related to immutable texture storage 2018-02-08 23:35:43 +01:00
mp3butcher
60ed2eff7b add glFlushMappedBufferRange 2018-01-29 04:08:11 +01:00
Robert Osfield
0c35541fc5 Merge branch 'master' into shader_pipeline 2018-01-27 10:56:09 +00:00
Julien Valentin
f4663b0e32 add ARB_BufferStorage extensions 2018-01-25 16:22:33 +01:00
Robert Osfield
6a413da143 Merge branch 'master' into shader_pipeline 2018-01-05 11:35:11 +00:00
Julien Valentin
0e76dc169e add more Extensions 2018-01-04 04:18:38 +01:00
Robert Osfield
bf517febfc Merge branch 'master' into shader_pipeline 2017-10-28 12:58:47 +01:00
Julien Valentin
c89b08ea1f Add extensions 2017-08-25 00:19:22 +02:00
Robert Osfield
f3adcda6b7 Removed the GLclampd declaration and replaced its usage with GLdouble to standardize the OSG extension setup with current GL/GLES headers.
Added a float fallback from osg::DepthDangeIndex to suppprt GLES.
2017-08-16 14:20:00 +01:00
luzpaz
2cd31f65e4 misc. typo fixes
mostly non-user-facing but some doxy.
2017-08-15 12:23:49 -04:00
mp3butcher
8d40323761 add Extensions 2017-04-05 18:11:50 +02:00
Robert Osfield
7744c44c8a Added convinience mathod for passing osg::Plane to glUniform 2017-03-23 17:58:34 +00:00
Robert Osfield
c0b04cc37b Introduced new osg::UniformBase class to enable an extensible uniform class hierachy
Added osg::UniformTemplate, osg::UniformArrayTemplate and a set of IntUniform, IntArrayUniform etc. to make it easier to interact with basic types more efficiently.
2017-03-23 17:58:34 +00:00
Robert Osfield
61782d8f29 Build fixes 2017-03-11 12:31:19 +00:00
d-a-heitbrink
3d2f4ea404 Added support for Bindless texture extension,
64 bit uniforms, 64 bit buffers
Added new bindless texture example
2017-01-13 09:56:42 -06:00
Robert Osfield
1abd99f084 Added support for glObjectLabel debugging 2016-11-15 14:35:47 +00:00
Robert Osfield
bf28e2d037 Refactored the VertexArrayState's handling of vertex attribute aliasing 2016-10-11 11:29:29 +01:00
Robert Osfield
14d1483b06 Experimental support for OpenGL Vertex Array Object 2016-10-11 11:29:29 +01:00
Laurens Voerman
ec74518868 Added glViewerArray, glSissorArray, glDepthRangeArray etc. GL extension support 2016-06-29 09:53:04 +01:00
Robert Osfield
07137f4111 Fixed unitialized variables 2016-06-23 16:32:02 +01:00
Robert Osfield
1f73376476 Restructed the GLExtensions(..) constructor so that it now intializes all the variables to NULL if there is not a valid graphics context present 2016-06-23 12:19:59 +01:00
Julien Valentin
e236acfed5 Added OpenGL extensions related to shader subroutine 2016-06-17 10:35:25 +01:00
Julien Valentin
ac26ba7e5b Shader subroutine related funcs added 2016-06-09 10:48:05 +01:00
Julien Valentin
5a4a5c3507 Added glDrawArraysIndirect, glMultiDrawArraysIndirect, glDrawElementsIndirect and glMultiDrawElementsIndirect extensions. 2016-06-01 10:01:44 +01:00
Robert Osfield
5cb486f7c5 Added osg::MultiDrawArrays which wraps up glMultiDrawArrays extension. 2016-01-22 09:47:49 +00:00
Robert Osfield
b4cd40cf7c From Mathias Froehlich, "Attached a new state attribute implementing the glClipControl that appeared with GL4.5."
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14928 16af8721-9629-0410-8352-f15c8da7e697
2015-06-30 09:11:00 +00:00
Robert Osfield
77f662f9f7 From Julien Valentin and Alberto Luaces, added support for transform feedback extensions
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14728 16af8721-9629-0410-8352-f15c8da7e697
2015-02-26 17:49:36 +00:00
Robert Osfield
8b384baca9 From Julien Valentin, "To sum up changes, I had:
-some extensions in GLExtensions
  - GL_TEXTURE_BUFFER as target in osg::StateSet
  - a VBO based transform feed back example
"


git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14651 16af8721-9629-0410-8352-f15c8da7e697
2015-01-06 17:12:51 +00:00
Robert Osfield
49c48a5509 Added OpenGL Transform Feedback extensions.
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14600 16af8721-9629-0410-8352-f15c8da7e697
2014-12-10 13:05:47 +00:00
Robert Osfield
485709f708 Moved GL2Extensions functionality into the include/osg/GLExtensions header and new GLExtensions object.
Moved the #defines into new include/osg/GLDefines
Converted all GL2Extensions usage to GLExtensions usage


git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14593 16af8721-9629-0410-8352-f15c8da7e697
2014-12-10 10:38:12 +00:00
Robert Osfield
09205544b7 Streamlined the extension functions
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14592 16af8721-9629-0410-8352-f15c8da7e697
2014-12-10 09:11:17 +00:00
Robert Osfield
14a563dc9f Ran script to remove trailing spaces and tabs 2012-03-21 17:36:20 +00:00
Robert Osfield
89f7726383 Copied libutil and libtess implementations in form Mesa 7.9/src/glu into the src/osg/glu,
changed extensions from .c to .cpp and got compiling as C files as part of the osg core library.

Updated and cleaned up the rest of the OSG to use the new internal GLU.
2010-10-06 14:44:52 +00:00
Robert Osfield
3b192f5119 Added checked from the ARG version of glDraw*Instanced(). 2009-01-08 11:19:21 +00:00
Robert Osfield
c85437e967 Fixed warnings 2008-12-17 15:32:35 +00:00
Robert Osfield
528fdbb75c Aded osg::isGLExtensionOrVersionSupported(uint contextID, char* extensionName, float minVersionRequired) method that
returns true if (the extension string is supported or GL version is greater than or equal to a specified version) and 
non extension disable is used.   This makes it possible to disable extensions that are now
available as parts of the core OpenGL spec.

Updated Texture.cpp is use this method.
2008-12-15 19:37:14 +00:00
Robert Osfield
fe207a09c1 From Sherman Wilcox, "Minor change to bool setGLExtensionFuncPtr(T& t, const char* str1) and
setGLExtensionFuncPtr(T& t, const char* str1, const char* str2) -
functions returned false even on success."
2008-08-04 17:08:28 +00:00
Robert Osfield
3333ca2b46 From Mathias Froehlich, "I have extended the X11 pbuffer code to use either the complete set of glx 1.3
pbuffer functions or exactly ask for the extensions we need to call the
apropriate glx extension functions for and around pbuffers extensions.
The glx 1.3 version of this functios are prefered. If this is not pressent we
are looking for the glx extensions and check for them.
Prevously we just used some mix of the glx 1.3 functions or the extension
functions without making sure that this extension is present.
"
2008-02-22 18:38:30 +00:00
Robert Osfield
409cdd0b28 Intoduced a new setGLExtensions template method to do a copy of void* pointer to
local function pointer to avoid compiler warnings related to case void*.

Moved various OSG classes across to using setGLExtensions instead of getGLExtensions,
and changed them to use typedef declarations in the headers rather than casts in
the .cpp.

Updated wrappers
2007-09-10 15:19:23 +00:00
Robert Osfield
cc6740176f From Andy Skinner,adding c includes to avoid problems with mixing c and c++ versions
of c functions.
2007-07-31 17:28:09 +00:00