Robert Osfield
64341cfb72
Added State::glDrawBuffer/glReadBuffer() method to implement lazy state updating for glDrawBuffer and glReadBuffer
2018-03-06 09:49:02 +00:00
Robert Osfield
a7cc9664c0
Renamed EnvVar header to os_utils in prep for adding more OS related calls to it
2018-01-12 16:48:17 +00:00
Robert Osfield
dd1f95d24d
Fixed typo
2017-12-31 13:17:23 +00:00
Robert Osfield
490b9b0e0e
Fixed string parsing and substituion bugs isn substitudeEnvVars(..)
2017-12-02 17:35:36 +00:00
Robert Osfield
1152da8bbd
Quietened down debug output
2017-11-28 18:08:08 +00:00
Robert Osfield
338b0e2b7b
Moved getenv usage across to safer osg::getEnvVar() usage
2017-11-01 17:38:33 +00:00
Robert Osfield
0a5c6d3fd6
Improved the formating of GLSL source that is passed to OpenGL to make debugging shaders easier.
2017-10-14 09:03:08 +01:00
Robert Osfield
a1f519cbec
Removed debug info
2017-09-21 15:41:21 +01:00
Robert Osfield
72cf6734a1
Added osgText/shaders to support greyscale and Signed Distance Field based text
2017-09-19 16:35:28 +01:00
Robert Osfield
cc7cf54353
Added support for subsititing $VAR_NAME entries in shaders to enable writing shaders that work across GLSL versions.
2017-09-18 18:09:15 +01:00
mp3butcher
7606159a78
add DrawIndirectBufferObject as State variable in order to minimize call to glBindBuffer(GL_DRAW_INDIRECT_BUFFER,X)
...
TODO: Promote PrimitiveSetIndirect's VBO to target explicited DIBO (in order to benefit from BOSet queue management)
2017-07-27 01:54:25 +02:00
OpenSceneGraph git repository
429aef3b08
Merge pull request #221 from tomhog/topic-gles3-ios
...
GLES3 support improvements on iOS
2017-03-21 17:56:39 +00:00
Robert Osfield
1778a2a6fb
Made VAO the default for GL3 builds.
...
Improved the handling of DisplaySettings::getVertexBufferHint() values.
2017-03-21 15:38:52 +00:00
Thomas Hogarth
7ba2e728cd
GLES3 now working on iOS, tried to maintain support for have bother gles2 and gles3, allowed avfoundation to be added on iOS, improved iOS example cmake generation
2017-03-20 18:39:56 +00:00
Robert Osfield
ffbc1167de
Added lazy state updating for vertex array object binding/unbinding
2017-03-13 11:44:34 +00:00
d-a-heitbrink
7b3fc0925c
Merge branch 'master' of https://github.com/openscenegraph/OpenSceneGraph
2017-03-01 16:12:49 -06:00
Kjell Andersson
f5483b0ad6
Bug fix to not crash when using shared context and adding / removing windowed views dynamically.
...
The GLExtension object is now reused instead of creating a new when allocating a state on the same ContextID. The static map that stores the GLExtensions is only reset when all references to the extension object are released.
2017-02-02 11:46:16 +01:00
d-a-heitbrink
18369bed2d
added code to deal with #extension for shader, added int64 and uint64 support
2017-01-13 09:33:49 -06:00
Robert Osfield
38c515a600
Fixed handling of #define's that are used as functions
2016-12-16 16:16:50 +00:00
Robert Osfield
99cb8ebacf
Added more flexibility into the State::checkGLErrors() method, allowing calling code to pass in two strings.
...
Improved the StateSet::compileGLObjects() usage of checkGLErrors() to make the warning reports more meaningful.
2016-11-14 11:59:47 +00:00
Robert Osfield
66873b8c6c
Fixed build errors when OSG_USE_REF_PTR_IMPLICIT_OUTPUT_CONVERSION to OFF
2016-10-11 11:29:29 +01:00
Robert Osfield
e11e45a2e3
Removed GLBeginEndAdapter as it is no longer needed
2016-10-11 11:29:29 +01:00
Robert Osfield
f842750342
Removed no longer used member variables
2016-10-11 11:29:29 +01:00
Robert Osfield
359b136b5e
Added check against State::useVertexBufferObjects(..) so that Display Lists are only used when VBO is OFF.
2016-10-11 11:29:29 +01:00
Robert Osfield
94891778c4
Restructred the enabling of vertex array object support to allow one to set enable the default via osg::State.
...
Added OSG_VERTEX_BUFFER_HINT env var to osg::DisplaySettings with VERTEX_BUFFER_OBJECT/VBO, VERTEX_ARRAY_OBJECT/VAO and NO_PREFERENCE to allow one to foce on VBO or VAO usage.
Restructred BufferObject assigned in osg::Geometry
Added
2016-10-11 11:29:29 +01:00
Robert Osfield
ee31921520
Streamlined State::_is*Supported variables
2016-10-11 11:29:29 +01:00
Robert Osfield
e3c663bb02
Removed deprecated code paths and moved implementations into headers
2016-10-11 11:29:29 +01:00
Robert Osfield
bf28e2d037
Refactored the VertexArrayState's handling of vertex attribute aliasing
2016-10-11 11:29:29 +01:00
Robert Osfield
1f147f6bc6
Moved implementations from .cpp's to headers as inline methods to improve performance.
2016-10-11 11:29:29 +01:00
Robert Osfield
83f73df814
Added State::useVertexArrayObject() member to streamline toggling on/off of VAO usage
2016-10-11 11:29:29 +01:00
Robert Osfield
4b4cd13d31
Implemented lighter weight setting of the CurrentVertexArrayState and introduced GlobalVertexArrayState.
2016-10-11 11:29:29 +01:00
Robert Osfield
7d83d735ad
Implemented a different approach to vertex array object support to enable creation of a single global vertex array object as well as provide individual vertex array objects per Drawable when required.
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
Anish Thomas
2b9dfab1fc
GLSL 1.3 support for vertex-attrib aliasing
2016-08-10 14:12:27 +01:00
Robert Osfield
0876677fb2
Removed check against changed flag as check is aleady done outside the method so no need for a duplicate check
2016-06-29 16:07:39 +01:00
Julien Valentin
98b81821fb
fix in StateSet.cpp
...
the State::DefineMap::changed flag is not resetted to false after currentDefines are updated
2016-06-29 16:05:14 +01:00
Robert Osfield
bc8452512f
Added initializers and handling of null case
2016-06-23 11:03:38 +01:00
Robert Osfield
707c1a32aa
Within the #pragmatic shader composition code added platform specific line endings for WIN32 vs all other platforms to "\r\n" and "\n" respectively.
2016-03-01 11:45:20 +00:00
Robert Osfield
4b2912e096
From John Farrier, "Best I can tell, there is an enumeration for NEVER_CHECK_GL_ERRORS in CheckForGLErrors, defined in State. State.cpp does check to see if you want MORE error checking, but there is no way to turn OFF error checking. This change allows disabling of OpenGL error checking."
2016-01-25 10:45:07 +00:00
Robert Osfield
161246d864
Refactored the GL object deletion management to use new osg::GraphicsObjectManager/GLObjectManager base classes, and osg::ContextData container.
...
This approach unifies much of the code handling the clean up of OpenGL graphics data, avoids lots of local mutexes and static variables that were previously required,
and enables the clean up scheme to be easily extended by users providing their own GraphicsObjectManager subclasses.
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@15130 16af8721-9629-0410-8352-f15c8da7e697
2015-09-23 09:47:34 +00:00
Robert Osfield
b964c53445
Removed spaces
...
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@15088 16af8721-9629-0410-8352-f15c8da7e697
2015-08-10 19:55:16 +00:00
Robert Osfield
aff6e112ec
Added support for injecting GL_VENDOR strings into GLSL shaders via the new #pragma(tic) shader composition
...
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@15078 16af8721-9629-0410-8352-f15c8da7e697
2015-08-10 17:42:05 +00:00
Robert Osfield
1020e22c33
Moved uniform substitution to infront of vertex attribute substituion to make sure gl_Vertex usage is replaced when required.
...
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14848 16af8721-9629-0410-8352-f15c8da7e697
2015-04-20 09:39:00 +00:00
Robert Osfield
0a1db3d6fc
From Jannik Heller, typo fixes
...
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14832 16af8721-9629-0410-8352-f15c8da7e697
2015-04-13 10:43:56 +00:00
Robert Osfield
d03b38dea8
Fixes for warnings
...
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14736 16af8721-9629-0410-8352-f15c8da7e697
2015-02-27 04:29:30 +00:00
Robert Osfield
6bddbdf074
Improvements to the #pragma(tic) shader composition support
...
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14694 16af8721-9629-0410-8352-f15c8da7e697
2015-02-13 12:50:43 +00:00
Robert Osfield
b90503fdf5
Introduced new shader composition approach that utilizes #pragma requires(), #pragma import_defines() and #ifdef in GLSL to enable multiple different versions of shaders based
...
on defines passed in from osg::StateSet::setDefine(..).
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14681 16af8721-9629-0410-8352-f15c8da7e697
2015-02-10 17:04:02 +00:00
Robert Osfield
d5f2c34f24
From Andreas Henne, OpenGL core profile fixes required for OSX.
...
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14669 16af8721-9629-0410-8352-f15c8da7e697
2015-01-21 15:35:19 +00:00
Robert Osfield
0a4efa35c3
Changed the reset of the GLExtensions::Set() in the State destructor so that it checks to see if the local _glExtensions pointer has been set up and taken ownership of the GLExtensions::Set() value
...
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14661 16af8721-9629-0410-8352-f15c8da7e697
2015-01-20 11:24:31 +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