Commit Graph

16018 Commits

Author SHA1 Message Date
Daniel Trstenjak
995e849e8a OcclusionQueryNode: make all usages of 'updateDefaultQueryGeometry' thread safe 2020-01-20 16:44:58 +01:00
Daniel Trstenjak
ddb72691bc OcclusionQueryNode: fix resetting to default query geometry
When the query geometry gets reset to its default then its
vertices have to be updated by the bounding box dimensions of
the current children of the OcclusionQueryNode.
2020-01-20 16:44:48 +01:00
Daniel Trstenjak
817d92b703 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.
2020-01-20 16:42:38 +01:00
Daniel Trstenjak
8fb5ba4a3f 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.
2020-01-20 16:24:24 +01:00
Daniel Trstenjak
3ef5d2b331 OcclusionQueryNode: ensure a valid query geometry
If the query geometry is invalid then don't do any occlusion queries and
never traverse the subgraphs.
2020-01-20 16:24:08 +01:00
Daniel Trstenjak
c64b94da2e OcclusionQueryNode: ensure a consistent value for '_passed' 2020-01-20 16:21:34 +01:00
Robert Osfield
19cf8b46c3 Introduced a QueryGeometry::getQueryResult(const osg::Camera*) method as a more informative replacedment for QueryGeometry::getNumPixels(). 2020-01-20 16:15:18 +01:00
Robert Osfield
605821e655 Implemented TextBase::compileGLObjects() with handling of VAO/VBOs to address bugs associated with VAO usage of Text. 2020-01-07 11:12:18 +00:00
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
8551f25da0
Merge pull request #887 from limbolily/patch-1
Fix navagation error about Android GLES2 example.
2020-01-06 10:27:18 +00:00
limbolily
315031fa3b
Fix navagation error about Android GLES2 example.
Android GLES2 example use event queue without initializing window rectangle with graphics context,that produce navigation error.
2020-01-06 14:48:34 +08:00
Michael Danilov
f4fe1e5cec Fix #877 "Shift key stuck if both shifts switch keymap"
Adapted the patch from https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=687332
2019-12-23 15:07:14 +00:00
Robert Osfield
7e8665308d Adopted CMake's FindDCMTK.cmake variables 2019-12-23 14:53:17 +00:00
OpenSceneGraph git repository
c50b699992
Merge pull request #874 from blobfish/occt7.4
Occt7.4
2019-12-22 12:29:47 +00:00
blobfish
cd5740e98f Plugins: OpenCasCade: Adding 'std' prefix where needed. See Following.
Prior to 7.4, occt had a 'using namespace std' in a header file that
was polluting dependent projects. They have since fixed it and so these
changes are required.
2019-12-19 12:41:56 -05:00
blobfish
023bfb8bbb Plugins: Cmake: OpenCasCade: Changing header used for include directory search. See Following.
BRepMesh.hxx is gone in occt 7.4. Now searching for Standard_Version.hxx, which should be more consistent.
2019-12-19 10:16:09 -05:00
Robert Osfield
c5ff9e63df Added classic locale setting to avoid local setting of locale affecting the GLSL code generated. 2019-12-18 14:25:07 +00:00
Robert Osfield
e5e5ea6239 Updated ChangeLog 2019-12-16 17:10:39 +00:00
Robert Osfield
9ae47b921b Added automatically removal from the OjbectCache when a object or it's subgraph contain Texture that no longer have an osg::Image. 2019-12-16 16:51:16 +00:00
OpenSceneGraph git repository
994b066329
Merge pull request #871 from LaurensVoerman/commit_tgaFix
fix debug compile error for ReaderWriterTGA
2019-12-16 11:54:12 +00:00
Laurens Voerman
ad82aea2e3 fix debug compile error for ReaderWriterTGA 2019-12-16 11:06:06 +01: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
OpenSceneGraph git repository
2e7a7d786a
Merge pull request #869 from eligovision/OpenSceneGraph-3.6_glext
Added FBO GL extensions (useful for mobile VR etc.)
2019-12-16 09:40:00 +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
PntAndCnt
99b2fffa7c Fontconfig should be external library.
Add Fontconfig to TARGET_LIBRARIES cause osg3::osgText target looking for
openscegraph-Fontconfig-import-targets.cmake, which doesn't exists.
2019-12-13 11:11:44 +00:00
PntAndCnt
3fbf24759f Fix a typo and invisible 3dtext in examples/osgtext.
Second text alignment is wrong when "--alignment" specified.

3D text radius is too small, only SCREEN_COORDS can be seen.

Text position should multiply radius.
2019-12-13 10:23:47 +00:00
Kent
d215b255c4 Mered fix for internalFormat 2019-12-13 10:03:52 +00: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
Dmitry Marakasov
27e3f57da2 Add FreeBSD-specific code bits for pthread_setaffinity_np support 2019-12-12 13:58:23 +00:00
Robert Osfield
56835cf821 Fix linking with Xinerama 2019-12-12 13:25:44 +00:00
OpenSceneGraph git repository
445596e59c
Merge pull request #861 from aluaces/default-ffmpeg
Set ffmpeg as the default plugin for video files.
2019-12-12 13:09:33 +00:00
elsid
c0ea4c6310 Fix clang 8 & libc++ build errors
Replace operators for implicit type conversion by explicit data() method to
access implementation pointer and subscript operator to access element by
index just like in std::vector.

src/osgPlugins/tga/ReaderWriterTGA.cpp:455:22: error: use of overloaded operator '==' is ambiguous (with operand types 'SafeArray<unsigned char>' and 'long')
        if (colormap == NULL)
            ~~~~~~~~ ^  ~~~~
src/osgPlugins/tga/ReaderWriterTGA.cpp:525:16: error: use of overloaded operator '==' is ambiguous (with operand types 'SafeArray<unsigned char>' and 'long')
    if (buffer == NULL || linebuf == NULL)
        ~~~~~~ ^  ~~~~
src/osgPlugins/tga/ReaderWriterTGA.cpp:525:35: error: use of overloaded operator '==' is ambiguous (with operand types 'SafeArray<unsigned char>' and 'long')
    if (buffer == NULL || linebuf == NULL)
                          ~~~~~~~ ^  ~~~~
src/osgPlugins/tga/ReaderWriterTGA.cpp:548:30: error: use of overloaded operator '==' is ambiguous (with operand types 'SafeArray<unsigned char>' and 'long')
            if (formattedMap == NULL)
                ~~~~~~~~~~~~ ^  ~~~~
src/osgPlugins/tga/ReaderWriterTGA.cpp:574:40: error: use of overloaded operator '[]' is ambiguous (with operand types 'SafeArray<unsigned char>' and 'int')
                        index = linebuf[x];
                                ~~~~~~~^~
src/osgPlugins/tga/ReaderWriterTGA.cpp:577:50: error: use of overloaded operator '+' is ambiguous (with operand types 'SafeArray<unsigned char>' and 'int')
                        index = getInt16(linebuf + x * 2);
                                         ~~~~~~~ ^ ~~~~~
src/osgPlugins/tga/ReaderWriterTGA.cpp:580:50: error: use of overloaded operator '+' is ambiguous (with operand types 'SafeArray<unsigned char>' and 'int')
                        index = getInt24(linebuf + x * 3);
                                         ~~~~~~~ ^ ~~~~~
src/osgPlugins/tga/ReaderWriterTGA.cpp:583:50: error: use of overloaded operator '+' is ambiguous (with operand types 'SafeArray<unsigned char>' and 'int')
                        index = getInt32(linebuf + x * 4);
                                         ~~~~~~~ ^ ~~~~~
src/osgPlugins/tga/ReaderWriterTGA.cpp:592:72: error: use of overloaded operator '+' is ambiguous (with operand types 'SafeArray<unsigned char>' and 'int')
                        (dest + adjustedX * format)[i] = (formattedMap + index * format)[i];
                                                          ~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~
src/osgPlugins/tga/ReaderWriterTGA.cpp:626:30: error: use of overloaded operator '==' is ambiguous (with operand types 'SafeArray<unsigned char>' and 'long')
            if (formattedMap == NULL)
                ~~~~~~~~~~~~ ^  ~~~~
src/osgPlugins/tga/ReaderWriterTGA.cpp:642:21: error: use of overloaded operator '==' is ambiguous (with operand types 'SafeArray<unsigned char>' and 'long')
            if (buf == NULL)
                ~~~ ^  ~~~~
src/osgPlugins/tga/ReaderWriterTGA.cpp:664:44: error: use of overloaded operator '[]' is ambiguous (with operand types 'SafeArray<unsigned char>' and 'int')
                            index = linebuf[x];
                                    ~~~~~~~^~
src/osgPlugins/tga/ReaderWriterTGA.cpp:667:54: error: use of overloaded operator '+' is ambiguous (with operand types 'SafeArray<unsigned char>' and 'int')
                            index = getInt16(linebuf + x * 2);
                                             ~~~~~~~ ^ ~~~~~
src/osgPlugins/tga/ReaderWriterTGA.cpp:670:54: error: use of overloaded operator '+' is ambiguous (with operand types 'SafeArray<unsigned char>' and 'int')
                            index = getInt24(linebuf + x * 3);
                                             ~~~~~~~ ^ ~~~~~
src/osgPlugins/tga/ReaderWriterTGA.cpp:673:54: error: use of overloaded operator '+' is ambiguous (with operand types 'SafeArray<unsigned char>' and 'int')
                            index = getInt32(linebuf + x * 4);
                                             ~~~~~~~ ^ ~~~~~
src/osgPlugins/tga/ReaderWriterTGA.cpp:688:76: error: use of overloaded operator '+' is ambiguous (with operand types 'SafeArray<unsigned char>' and 'int')
                            (dest + adjustedX * format)[i] = (formattedMap + index * format)[i];
                                                              ~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~
src/osgPlugins/tga/ReaderWriterTGA.cpp:708:21: error: use of overloaded operator '==' is ambiguous (with operand types 'SafeArray<unsigned char>' and 'long')
            if (buf == NULL)
                ~~~ ^  ~~~~
17 errors generated.
2019-12-12 11:29:41 +00:00
OpenSceneGraph git repository
ddea94b41c Fixed indentation, replacing tabs with spaces 2019-12-12 11:13:49 +00: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
flashk
46e17699b3 Support reading RGB float DDS images
The DDS plugin is not able to load floating point RGB images saved out by itself. There doesn't appear to be a fourcc code for RGB float/half-float data, so I added the appropriate entries to the RGBFormat table so the images can be loaded properly.
2019-12-12 10:38:40 +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
Johannes Pabst
6776cc2c63 Fix: LuaCallbackObject could form circular references to LuaScriptEngine that prevented its destruction. Destruction of LuaScriptEngine now disarms all callbacks into Lua. 2019-12-12 09:24:19 +00:00
Riccardo Corsi
3fe2e5a9e0 Fbx Plugin: added plugin option to set the target axis system. Default left to OpenGL. 2019-12-12 09:19:59 +00:00
grdowns
0d94d8e5a6 Add vcpkg installation instructions 2019-12-12 09:14:26 +00:00
OpenSceneGraph git repository
c8e283cfe9
Merge pull request #837 from LaurensVoerman/carbonFix
fix apple carbon reference
2019-12-11 17:51:02 +00:00
OpenSceneGraph git repository
b1314c0fb8
Merge pull request #833 from cj-mcdonald/osga-fix
Update ReaderWriterOSGA.cpp
2019-12-11 17:07:27 +00:00
Guilhem Saurel
a86b90ca4a fix dae readme 2019-12-11 17:01:02 +00:00
OpenSceneGraph git repository
bc3372fda0
Merge pull request #828 from eligovision/OpenSceneGraph-3.6_ios_build_fix
Fix build iOS: when using Toolchain or building with Makefiles (not X…
2019-12-11 16:58:50 +00:00
OpenSceneGraph git repository
6477397b95
Merge pull request #822 from mp3butcher/patch-32
optimize indexed color DDS conversion
2019-12-11 16:47:44 +00:00
Alberto Luaces
8f6eff9de5 Set ffmpeg as the default plugin for video files.
As xine is not used anymore, there is no plugin in charge of loading
video files, and osgmovie and other programs are not able to open
them.

If ffmpeg is present, it is registered for opening video files.
2019-12-04 22:16:25 +01: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