Commit Graph

2584 Commits

Author SHA1 Message Date
Robert Osfield
d1ff16614c Added Thread::CurrentThreadId() method to wrap up thread id functionality in a more platform appropriate way. 2020-01-06 18:39:51 +00:00
OpenSceneGraph git repository
5f2a3ef76f Merge pull request #870 from eligovision/OpenSceneGraph-3.6_glext_fix
GLExtensions's isPBOSupported and isVAOSupported flags fixed
2019-12-16 09:40:30 +00:00
konstantin.matveyev
67523373a9 GLExtensions's isPBOSupported and isVAOSupported flags fixed for GLES2+GLES3 configuration 2019-12-13 19:52:10 +03:00
konstantin.matveyev
f38fa9e9c3 GLExtensions's isInvalidateFramebufferSupported flag improved 2019-12-13 19:45:42 +03:00
valid-ptr
51fee80224 glInvalidateFramebuffer added to GLExtensions 2019-12-13 12:09:06 +03:00
konstantin.matveyev
fefabb6c2b glFramebufferTexture2DMultisample added to GLExtensions 2019-12-13 12:08:37 +03:00
Tim Moore
5f1e33fcb3 Fix bug in matrix transpose() and transpose3x3
The diagonal elements were not copied from the source matrix.
2019-12-12 10:40:41 +00:00
OpenSceneGraph git repository
38807c4bb8 Merge pull request #851 from LaurensVoerman/submitCpSubImg
fix copySubImage crash on compressed files
2019-12-12 10:08:32 +00:00
DCFennell
987521ba9c GL_CLAMP_VERTEX_COLOR and GL_CLAMP_FRAGMENT_COLOR deprecated in GL core profile according to OpenGL 4.5 specification. 2019-12-12 09:40:02 +00:00
Laurens Voerman
c4e7a07367 fix copySubImage crash on compressed files 2019-11-01 16:45:16 +01:00
Laurens Voerman
23b7c4d47d fix apple carbon reference 2019-09-11 10:22:16 +02:00
Linan Wang
4ad34877d2 fix typo 2019-07-19 14:06:20 +08:00
Linan Wang
2a8b760833 fix u64 and i64 allocation, setArray bug 2019-07-19 13:28:25 +08:00
Robert Osfield
ab95a79540 Removed debug info for constructor and destructors 2019-07-12 16:16:43 +01:00
Robert Osfield
079cf6c090 Added FrameBufferAttachment::resizeGLObjectBuffers(..) and releaseGLObjects(..) methods 2019-07-12 16:09:12 +01:00
Robert Osfield
56e2a03378 Fixed layout 2019-07-01 13:43:29 +01:00
Robert Osfield
5fc917881d Merge branch 'patch-27' of https://github.com/mp3butcher/OpenSceneGraph into patch-27 2019-07-01 13:42:33 +01:00
Robert Osfield
8d505e80a9 Merge branch 'OpenSceneGraph-3.6_vas' of https://github.com/eligovision/OpenSceneGraph into OpenSceneGraph-3.6_vas 2019-07-01 12:33:21 +01:00
Julien Valentin
cfd190a9fa update traversedebug preventing traversal to disable OQN 2019-06-08 01:17:21 +02:00
Julien Valentin
5311d6fb6b add enable check in traverseQuery 2019-05-31 15:27:18 +02:00
Konstantin S. Matveyev
e31afbf78a typo fix 2019-05-15 14:35:39 +03:00
valid-ptr
be6bc39016 VertexArrayState's lazy disabling of vertex attributes mechanism major fix: _vertexAttribArrays must be 'shared' 2019-05-15 14:32:09 +03:00
Robert Osfield
a8e78fde99 Added --NO_CULLING, --VIEW_FRSUTUM and --VIEW_FRUSTUM_SIDES/--vfs command line options for setting the Camera CullingMode value 2019-03-25 12:40:41 +00:00
Chris Djali
7ebe56291f Resolve OpenGL error caused by confusion between geometry shader implementations.
There are two types of Geometry Shaders in OpenGL. One is provided by `GL_EXT_geometry_shader4` and `GL_ARB_geometry_shader4` and requires that certain parameters are set with calls to `glProgramParameteri` before the program is linked. The other is provided by OpenGL 3.2 as a core feature and by the GLES extensions `GL_EXT_geometry_shader` and `GL_OES_geometry_shader` and requires these parameters to be set in the GLSL source itself.

The value of `isGeometryShader4Supported` is being used to determine if the `glProgramParameteri` calls should occur, so it should only be `true` when one of the extensions requiring them is present.
2019-03-14 13:51:44 +00:00
Capostrophic
12b298130a Add OSG_USE_FLOAT_QUAT build option to use single precision quaternions 2019-03-14 10:46:42 +00:00
Daniel Trstenjak
5770774e00 OcclusionQueryNode: reset the test result of the invalid geometry
There're cases that the occlusion test result has been retrieved
after the query geometry has been changed, it's the result of the
geometry before the change.
2019-02-25 15:08:38 +00:00
Daniel Trstenjak
5624a22fe4 OcclusionQueryNode: ensure a valid query geometry
If the query geometry is invalid then don't do any occlusion queries and
never traverse the subgraphs.
2019-02-21 17:34:26 +00:00
Robert Osfield
0f2e9e6557 Added missing {} to fix getPassed() bug introducted by previus commit 2019-01-26 18:10:44 +00:00
Daniel Trstenjak
cd150cbe96 OcclusionQueryNode: ensure a consistent value for '_passed' 2019-01-26 17:42:20 +00:00
Robert Osfield
02d7d980a7 Introduced a QueryGeometry::getQueryResult(const osg::Camera*) method as a more informative replacedment for QueryGeometry::getNumPixels(). 2019-01-26 16:33:23 +00:00
Daniel Trstenjak
c8521068a5 OcclusionQueryNode: add resetting of queries
If there's a big view change then it might not be appropriate to wait
for '_queryFrameCount' till the next query is issued, because then
geometry might pop into the view after '_queryFrameCount'.

This is especially important for applications not having a constant
frame rate, but just issue a new frame on demand.
2019-01-26 15:22:08 +00:00
Robert Osfield
e2fb88e187 Commented out the reset of the _vertexArrayObject = 0 as it was break later State::resetCurrentVertexArrayStateOnMatch() calls ability to reset the State::_currentVAO when required. 2019-01-23 15:40:13 +00:00
Robert Osfield
488b4854b2 Added reset of the State::CurrentVertexArrayState() to prevent the State::_vas becoming a dangling pointer when VertexArrayState objects are deleted. 2019-01-21 17:36:40 +00:00
Robert Osfield
6455159757 Added calling of releaseGLObjects() and resizeGLObjects() to the Camera DrawCallback's to enable the draw callbacks to clean up their own GL objects. 2019-01-19 16:16:53 +00:00
Robert Osfield
f6b64afdfc Fixed for crashes on exit associaciated with VAO usage and vairous niche usage cases 2019-01-08 19:32:50 +00:00
Robert Osfield
1c65815f4e Fixed crash on exit issues with osgFX, osgParticle, osgSim and the osgforest example 2019-01-07 17:46:02 +00:00
Robert Osfield
5e9be10da6 Merged changes from master 2019-01-07 10:25:13 +00:00
Robert Osfield
fd47b84bd7 Restructured the clean up of arrays/primitives and GL objects 2019-01-04 08:14:33 +00:00
Robert Osfield
b7947b13f3 Changed the clean up of the GL objects on destruction so that the destructors of the arrays/primitives themselves do the release rather than have it done explictly in the destructor. This allows arrays/primitives to be shared. 2018-12-31 11:06:45 +00:00
flashk
d4bbec4a0c Fix hardware mipmap generation for cube maps
I was getting a black image when enabling hardware mipmap generation on cubemaps. I believe the problem is that the base Texture class is hard coding GL_TEXTURE_2D when enabling mipmap generation, instead of using the target type from the derived class.
2018-10-03 12:00:04 +01:00
Robert Osfield
114c818f2e Removed unused static variables 2018-10-02 12:21:31 +01:00
Robert Osfield
1ee6d476f8 From Andy Skinner, Added ~GLExtensions to clear cached values for context ID 2018-10-02 11:28:34 +01:00
Robert Osfield
ca134dca2d Standardized the glTexStorage*() calls to use osg::maximum(_numMipmapLevels,1) of rnumber of mipmaps to keep the usage consistent.
Fixed the erronous Texture2DArray glTexStorage call so that it used the _numMipmapLevels as above to resolve bug in allocation.
2018-09-12 17:45:49 +01:00
Robert Osfield
4ea833cc6b Fixed build 2018-09-11 10:13:49 +01:00
Robert Osfield
34d58d447d Fixed copy constructor 2018-09-05 18:01:33 +01:00
Alberto Luaces
69667a478f Fix typo in the initial check of Image::scaleImage(). 2018-09-05 13:38:09 +02:00
Jason Beverage
6ae1139630 Protect the _programSet in Shader with a mutex.
This prevents thread safety issues when Shader objects are used in
multiple programs.
2018-09-05 09:34:54 +01:00
Robert Osfield
5f9c6a0170 Changed the ShapeDrawable::build() methpd so that it does run when the ShadpwDrawabe is a KdTree. 2018-09-04 15:26:30 +01:00
Robert Osfield
006ca64f4b Added reset of _stateset to prevent the releaseGLObjects calling release on th StateSet from the destructor 2018-09-03 09:37:36 +01:00
Robert Osfield
77fd07eaa9 Replaced the glSGetProcAddressARB code with the dlsym() usage as the NVidia driver looks to be returning non NULL pointers for invalid function names. 2018-08-28 12:01:35 +01:00