Commit Graph

2482 Commits

Author SHA1 Message Date
OpenSceneGraph git repository
eb980136a0
Merge branch 'master' into fix_custom_query_geometry 2019-08-22 14:17:58 +01:00
Daniel Trstenjak
aff574b3ea OcclusionQueryNode: fix use case of user defined query geometry
The user defined query geometry handling has been broken in several ways.

The previous way of defining a query geometry was using the non const
`getQueryGeometry` method and overriding its members. But then
`OcclusionQueryNode` wasn't aware of the geometry change and couldn't
internally handle it correctly.

The `computeBound` method never considered a user defined query geometry and
always just overrode the vertices of the geometry.

The member `_validQueryGeometry` wasn't correctly set.

This change should fix all this issues by introducing a small backward
compatibility break. The non const `getQueryGeometry` method is removed
forcing the user to use the `setQueryGeometry` method. But then `OcclusionQueryNode`
is aware of the user defined query geometry and can handle it correctly.
2019-08-21 16:44:15 +02:00
Julien Valentin
c50235ba62
remove return of local pointer 2019-08-15 20:21:15 +02:00
Robert Osfield
edd0d3e35f Added FrameBufferAttachment::resizeGLObjectBuffers(..) and releaseGLObjects(..) methods 2019-07-12 16:11:45 +01:00
Capostrophic
da16693b4a Add asOccluderNode method to avoid dynamic casts in group child handling 2019-03-15 18:09:13 +03:00
Capostrophic
52fe3679a3 Add OSG_USE_FLOAT_QUAT build option to use single precision quaternions 2019-03-13 22:08:19 +03:00
Daniel Trstenjak
71997fa747 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 14:42:35 +01:00
Julien Valentin
91c6b80020 uncomment INLINE_DRAWABLE_DRAW 2019-02-20 16:55:08 +00:00
Robert Osfield
6eb0da3a16 Introduced a QueryGeometry::getQueryResult(const osg::Camera*) method as a more informative replacedment for QueryGeometry::getNumPixels(). 2019-01-26 18:12:19 +00:00
Daniel Trstenjak
f21ca61476 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 18:12:19 +00:00
Robert Osfield
587c893f84 Added separate test and rest of _currentVAO to State::resetCurrentVertexArrayStateOnMatch(..) method 2019-01-22 20:22:49 +00:00
Robert Osfield
aee747885a Changed resetCurrentVertexArrayStateOnMatch() to reset _vas tp _globalVertexArrayState and currentVAO to 0. 2019-01-21 18:13:43 +00:00
Robert Osfield
336791ca35 Added reset of the State::CurrentVertexArrayState() to prevent the State::_vas becoming a dangling pointer when VertexArrayState objects are deleted. 2019-01-21 17:38:40 +00:00
Robert Osfield
68e4341cb4 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:18:48 +00:00
Robert Osfield
32db852c77 Moved resizeGLObjects/releaseGLObjects out of Referenced to avoid multiple inheritance warnings 2019-01-12 11:28:25 +00:00
Robert Osfield
466bbc6740 Fixed for crashes on exit associaciated with VAO usage and vairous niche usage cases 2019-01-08 19:35:37 +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
Robert Osfield
b94c797ed6 Fixed build 2018-09-11 09:32:15 +01:00
Jason Beverage
89a5d8b513 Protect the _programSet in Shader with a mutex.
This prevents thread safety issues when Shader objects are used in
multiple programs.
2018-09-04 10:35:38 -04:00
Robert Osfield
71f134c64b Created a GLenum Texture::selectSizedInternalFormat(const osg::Image* image=0) const method to help clean up set up of glTexStorage.
Fixed typo.
2018-08-17 12:22:36 +01:00
Chris White
c3880a25b6 Remove duplication of REGISTER_WINDOWINGSYSTEMINTERFACE code
Refactor so GraphicsWindowWin32 doesn't duplicate code in
<osg/GraphicsContext>.

Also, add OSGVIEWER_EXPORT to X11WindowingSystemInterface so
X11WindowingSystemInterface examples can build on cygwin.
This change parallels that in commit 0bca415d5a.
2018-08-15 12:49:01 -04:00
Vic-Min
e7583207db Renamed USE_DEPRECATED_API to OSG_USE_DEPRECATED_API 2018-08-08 15:05:53 +03: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
Robert Osfield
d2c2ef3ec9 Moved osg::clampProjectionMatrix() template from CullVisitor.cpp into include/osg/CullSettings to make it easier to implement custom clampProjectionMatrix callbacks 2018-06-25 20:03:50 +01:00
Robert Osfield
8127ddc541 Fixed type of Timer_t under Windows 2018-05-23 06:34:51 +01:00
Robert Osfield
0bca415d5a Restored the REGISTER_WINDOWINGSYSTEMINTERFACE macro to the include/osg/GraphicsContext header and removed the OSGVIEWER_EXPORT as this was causing compatibility issues with osgQt.
In GraphicsWindowWin32 replaced REGISTER_WINDOWINGSYSTEMINTERFACE usage with locally implemented equivilant with the required OSGVIEWER_EXPORT.
2018-05-21 13:19:06 +01:00
Robert Osfield
c4c84d4f94 Moved REGISTER_WINDOWINGSYSTEMINTERFACE from include/osg/GraphicsContext to include/osgViewer/GraphicsWindow and added OSGVIEWER_EXPORT 2018-05-18 15:33:29 +01:00
Robert Osfield
41f7efbab6 Imoroved backwards compatibility with 3.6 2018-05-14 10:47:50 +01:00
Robert Osfield
bc600bc9f7 Fixed crash when using ShapeDrawable with a TriangleMesh or ConvexHull shape due to missing texture coords 2018-05-13 11:53:21 +01:00
Robert Osfield
ac6eaee583 Fixed build when OSG_ENVVAR_SUPPORTED is disabled and quietened down warnings using OSG_UNUSED* macros 2018-05-10 19:00:13 +01:00
Alberto Luaces
bc4f181d41 Fix typos and spelling. 2018-04-20 18:18:22 +02:00
Robert Osfield
0dd5230d82 Cleaned up inbludes and unused code 2018-04-20 14:01:21 +01:00
Robert Osfield
85c835b902 Merge branch 'master' of https://github.com/openscenegraph/OpenSceneGraph 2018-04-19 20:11:19 +01:00
Robert Osfield
0836fa602a Fixed the GLBufferObject size computation so that it takes into account padding. 2018-04-19 19:45:29 +01:00
Jason Beverage
7250cd717c Removed unimplemented Uniform::getNameID from Uniform header as it's defined in UniformBase now. 2018-04-18 14:59:51 -04:00
Robert Osfield
724dbac41c Fixed inline Drawable::draw(..) method 2018-04-16 15:08:24 +01:00
Robert Osfield
e884df59c7 Pulled in latest changes from 3.6 branch 2018-04-07 18:14:57 +01:00
Frank Bausch
72ab22e539 When testing XYZ/ECEF coordinate values that convert to LLA points with latitude = 90.0 or latitude = -90.0, the heights calculated by EllipsoidModel::convertXYZToLatLongHeight have substantial errors. With the provided change, points at the pole are handled more correctly. This has been tested against US NGA GoldData. 2018-04-04 08:50:39 +01:00
Robert Osfield
5c48904626 Rewrote the handling of AutoTransform::setAutoScaleToScreen(bool) functionality so that is disabling CullingActive when switched on. 2018-04-02 18:26:26 +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
Robert Osfield
deef029823 Fixed member variable names to avoid conflicts with osg::Node 2018-03-23 20:07:08 +00:00
Robert Osfield
76c584ab25 Added osg::UnfiromBase* StateSet::getUniformBase(..) and osg::Uniform* StateSet::getUniform(..) methods to help with backwards compatibility 2018-03-19 12:08:28 +00:00
Robert Osfield
98a7772fa7 Merge branch 'master' into shader_pipeline 2018-03-06 10:24:26 +00:00
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
Daniel Emminizer
28544a4e29 Minor typo fix on osg::StateAttribute 2018-03-05 10:26:54 -05:00
Robert Osfield
1b8567e11e Added deprecated comments for ShaderComposer 2018-03-05 14:39:07 +00:00
Robert Osfield
1ae954f5c3 Merge branch 'master' into shader_pipeline 2018-02-28 09:11:29 +00:00
Robert Osfield
99bcd95756 Replaced GL_TEXTURE_2D_ARRAY_EXT with GL_TEXTURE_2D_ARRAY 2018-02-28 08:50:48 +00:00