Commit Graph

10114 Commits

Author SHA1 Message Date
Robert Osfield
3999a16a1a Added handling of return value 2016-06-27 15:22:10 +01:00
Robert Osfield
5c25a3a0ea Added initializers 2016-06-27 15:06:54 +01:00
Robert Osfield
27595e9f02 Added initializers 2016-06-27 14:53:32 +01:00
Julien Valentin
c8a7ce4e52 Rolbacked RigGeometry with the hackyfix (I just add the compute boundcallback in the copy consturctor)
Modified headers of RigTransforms to comply with osg metamodel
2016-06-27 11:51:32 +01:00
Robert Osfield
4c149bd2e7 Added initializers and fixed float setting 2016-06-27 11:38:30 +01:00
Robert Osfield
73e4d6c176 Added intializer 2016-06-27 11:35:46 +01:00
Robert Osfield
62d1e7ac64 Restructed the cast 2016-06-27 11:33:55 +01:00
Robert Osfield
f749de1236 Removed redundent checks 2016-06-27 11:14:53 +01:00
Robert Osfield
27aeded9d9 Added initializers 2016-06-27 11:08:49 +01:00
Robert Osfield
eff60decc0 Cleaned up clone 2016-06-27 10:51:56 +01:00
Robert Osfield
4b3a719517 Added initializers 2016-06-27 10:39:58 +01:00
Robert Osfield
760794eff3 Added check against null 2016-06-27 10:30:15 +01:00
Robert Osfield
f65048410c Added initializer 2016-06-27 10:10:20 +01:00
Robert Osfield
29269ff15e Added initializers 2016-06-27 09:49:45 +01:00
Robert Osfield
f4149bd61e Added initializers 2016-06-27 09:49:04 +01:00
Robert Osfield
8fbf23f8c5 Added missing initializers 2016-06-27 09:40:48 +01:00
Julien Valentin
ce28b2e43e MorphGeometry fixes 2016-06-25 18:15:57 +01:00
Robert Osfield
45555c895d Fixed unsafe string handling 2016-06-25 16:33:09 +01:00
Robert Osfield
1204c32430 Changed back to requiring osgDB namespace so it's clearer where function comes from. 2016-06-25 16:13:56 +01:00
Robert Osfield
94266eee50 Replaced strcpy with more robust osgDB::stringcopyfixedsize() usage. 2016-06-25 16:12:32 +01:00
Robert Osfield
6d7d58fa12 Added osgDB::stringcopy and stringcopyfixedsize 2016-06-25 16:08:15 +01:00
Robert Osfield
bc6a8948cc Added null pointer check 2016-06-25 15:42:34 +01:00
Robert Osfield
3376bfbfc8 Added handling of when mesh->texcos is NULL 2016-06-25 15:40:30 +01:00
Robert Osfield
3609d84cef FIxed copy and paste error 2016-06-25 15:28:50 +01:00
Robert Osfield
3b54568e4b Added strncopy usage to avoid buffer overflow 2016-06-25 14:26:05 +01:00
Robert Osfield
025d58f32d Removed no longer used code 2016-06-25 14:19:52 +01:00
Robert Osfield
5f920b21ca Added initializers 2016-06-25 13:42:49 +01:00
Robert Osfield
aee1423e55 Added initializers 2016-06-25 13:36:18 +01:00
Robert Osfield
269eaff44e Added initializer 2016-06-25 13:33:27 +01:00
Robert Osfield
c882985fc5 Removed redundent pointer check 2016-06-25 12:39:50 +01:00
Robert Osfield
949aca196d Refactored handling of StateAttiribute's that override the StateAttiribute::getMember() so that when they change their Member value they update the StateSet parents that own them to keep the StateSet's maps coherent. 2016-06-25 12:24:19 +01:00
Robert Osfield
f74eaae665 Changed key handling to use Qt enums rather than osgGA ones 2016-06-25 11:05:04 +01:00
Robert Osfield
26d2ed94f9 Fixed warning 2016-06-25 08:00:18 +01:00
Robert Osfield
5a8100a7f9 Fixed warning 2016-06-25 07:58:58 +01:00
Robert Osfield
ed0c9e2436 Fixed warning 2016-06-25 07:57:56 +01:00
Cedric Pinson
0ecb52ff82 Submitted with fixes by Julian Valentin 2016-06-25 07:49:56 +01:00
Robert Osfield
295da33cdf Fixed compute of numProcessors 2016-06-24 16:05:07 +01:00
Robert Osfield
9dffcaf36a Added default assingment of FrameStamp 2016-06-24 15:40:39 +01:00
Robert Osfield
23846f6478 Removed unneccessary pointer check 2016-06-24 15:36:00 +01:00
Robert Osfield
013857368e Added initializer 2016-06-24 15:34:52 +01:00
Robert Osfield
803fd8ac5d Restructed handling of LAST_POSITION 2016-06-24 15:33:24 +01:00
Robert Osfield
a1ac4dc906 Added initializer 2016-06-24 15:23:57 +01:00
Robert Osfield
70ff5f9ae4 Added initializers 2016-06-24 12:38:31 +01:00
Robert Osfield
8b527ac378 Added initializers 2016-06-24 12:34:20 +01:00
Robert Osfield
c05b7cffbb Added initializer 2016-06-24 12:28:36 +01:00
Robert Osfield
cda61d92b7 Added initializer 2016-06-24 12:26:16 +01:00
Robert Osfield
90f8c7c51b Added initializer 2016-06-24 12:24:28 +01:00
Robert Osfield
6db7d9e5d7 Added initializers 2016-06-24 12:14:37 +01:00
Robert Osfield
b9c3377d88 Added initializers 2016-06-24 12:11:09 +01:00
Robert Osfield
fe28b26171 Added initializers 2016-06-24 12:10:53 +01:00
Robert Osfield
0b55a21b97 Added initializers 2016-06-24 12:10:31 +01:00
Robert Osfield
688390113d Added initializers 2016-06-24 12:00:54 +01:00
Robert Osfield
601884131e Added initializers 2016-06-24 11:58:38 +01:00
Robert Osfield
0d427ed157 Added handling of null dynamic_cast 2016-06-24 11:52:54 +01:00
Robert Osfield
cdd1e3bf4c Added handling of null dynamic_cast<> 2016-06-24 11:50:54 +01:00
Robert Osfield
f8dd3bc4c5 Added handling null dynamic_cast 2016-06-24 11:50:07 +01:00
Robert Osfield
f42f6e4fb9 Added handling or null dynamic_cast 2016-06-24 11:49:14 +01:00
Robert Osfield
59bbb6ac77 Fixed copy and paste error 2016-06-24 11:39:22 +01:00
Robert Osfield
8d4ab16f2b Fixed copy and paste error. 2016-06-24 11:38:28 +01:00
Robert Osfield
ef93e42136 Added handling of dynamic_cast<> returning NULL 2016-06-24 11:31:15 +01:00
Robert Osfield
18fc7c28b0 Added handling of empty slides and layers 2016-06-24 11:29:25 +01:00
Robert Osfield
c2c532d2bb Added better handling of negative slideNum and layerNum values 2016-06-24 11:26:07 +01:00
Robert Osfield
5fae9a8b06 Added initializers 2016-06-24 11:20:55 +01:00
Robert Osfield
09f46f33da Added initializer 2016-06-24 10:51:34 +01:00
Robert Osfield
3d478670db Fixed float handling 2016-06-24 10:49:51 +01:00
Robert Osfield
91ea043209 Added handling of zero divisor 2016-06-24 10:46:51 +01:00
Robert Osfield
9639b10829 Fixed indentation and added check against NULL 2016-06-24 10:45:24 +01:00
Robert Osfield
09ddc022d6 Added restoring of std::cout format state 2016-06-24 10:32:11 +01:00
Robert Osfield
f55c7343e2 Added initializer 2016-06-24 10:25:17 +01:00
Robert Osfield
2ef68be262 Added initializers 2016-06-24 10:24:27 +01:00
Robert Osfield
29372d17cb Removed unused member variable 2016-06-24 10:22:45 +01:00
Robert Osfield
3bf7893665 Added intializer 2016-06-24 10:21:05 +01:00
Robert Osfield
6e7e286fa0 Fixed handling of when dynamic_cast<> returns NULL 2016-06-24 10:13:26 +01:00
Robert Osfield
9cdb65d5c7 Restructed to handle dyanmic_cast<> being NULL 2016-06-24 10:09:59 +01:00
Robert Osfield
bde5776a47 Added initializer 2016-06-24 10:06:31 +01:00
Robert Osfield
92baebe6c7 Added missing initializer 2016-06-24 10:05:30 +01:00
Robert Osfield
e696d1a0a3 Added initializer 2016-06-24 10:04:31 +01:00
Robert Osfield
fb9591d6bc Added handling of zero points 2016-06-24 10:02:39 +01:00
Robert Osfield
f47be656b4 Cleaned up pointer usage 2016-06-24 10:02:18 +01:00
Robert Osfield
0e21058d10 Added check against null 2016-06-23 17:58:35 +01:00
Robert Osfield
f3fbabd8b3 Fixed erronous type changes and inappropriate vector copy vs vector reference usage 2016-06-23 17:28:40 +01:00
Robert Osfield
1c787588ed Removed redundent check 2016-06-23 17:19:20 +01:00
Robert Osfield
07927084f2 Adde initializer 2016-06-23 17:17:05 +01:00
Robert Osfield
4c49d78166 Added initializer 2016-06-23 17:14:03 +01:00
Robert Osfield
91b029e81f Added initializer 2016-06-23 17:13:06 +01:00
Robert Osfield
96ded6e6bb Added initializers 2016-06-23 17:10:18 +01:00
Robert Osfield
e06253cf21 Added initializer 2016-06-23 17:08:04 +01:00
Robert Osfield
e9faa8890d Removed dead code 2016-06-23 17:04:30 +01:00
Robert Osfield
39860cfb71 Added minimum of 1 to make sure numProcessors is always valid 2016-06-23 16:53:12 +01:00
Robert Osfield
b8d1e4d2f6 Added minimum of 1 to make sure numProcessors is always valid 2016-06-23 16:52:16 +01:00
Robert Osfield
148d5e799e Added minimum usage to make sure that numProcessers is always 1 or greater 2016-06-23 16:50:35 +01:00
Robert Osfield
97c95ab491 Added check for null 2016-06-23 16:48:00 +01:00
Robert Osfield
130c02eb2e Restructed use of frameNumber to avoid multiple queries 2016-06-23 16:45:22 +01:00
Robert Osfield
72a4bc6394 Restructed check against null 2016-06-23 16:42:54 +01:00
Robert Osfield
79554fedf8 Added check for valid pointer 2016-06-23 16:40:58 +01:00
Robert Osfield
4c38068eb8 Added check before using pointer 2016-06-23 16:39:36 +01:00
Robert Osfield
07137f4111 Fixed unitialized variables 2016-06-23 16:32:02 +01:00
Robert Osfield
5c9b66a48d Added initializer 2016-06-23 12:35:07 +01:00
Robert Osfield
1298ede4d5 Added initializer 2016-06-23 12:34:08 +01:00
Robert Osfield
ff38f84d04 Added initializer 2016-06-23 12:32:15 +01:00
Robert Osfield
8f7f6141e7 Added initializer 2016-06-23 12:30:36 +01:00
Robert Osfield
9c80078c07 Added initializer 2016-06-23 12:25:27 +01:00
Robert Osfield
e0d26ba1f5 Added copying of _syncSwapBuffers 2016-06-23 12:23:31 +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
Robert Osfield
bc8452512f Added initializers and handling of null case 2016-06-23 11:03:38 +01:00
Robert Osfield
79f174aee4 Fixed return value 2016-06-23 10:52:16 +01:00
Robert Osfield
55b3becb7c Restructured to avoid NULL reference 2016-06-23 10:50:25 +01:00
Robert Osfield
5e73f0bb35 Removed dead code 2016-06-23 10:45:48 +01:00
Robert Osfield
46750d6b17 Removed dead code 2016-06-23 10:41:58 +01:00
Robert Osfield
818843a6b6 Restructed the handling of a null compressor 2016-06-23 09:05:51 +01:00
Robert Osfield
1e4ea646ce Removed dead code 2016-06-23 08:55:52 +01:00
Robert Osfield
552c9b037f Moved initializer to constructors 2016-06-23 08:53:46 +01:00
Robert Osfield
ff3570bfa5 Added handling of return value 2016-06-23 08:53:14 +01:00
Robert Osfield
55d0e6918d Moved intializers into constructor. 2016-06-23 08:41:47 +01:00
Robert Osfield
954f782807 Added missing handling of return value 2016-06-23 08:28:25 +01:00
Robert Osfield
f197dd22cd Fixed possible divide by zero 2016-06-23 08:23:32 +01:00
Robert Osfield
12a81b656b Removed dead code 2016-06-23 08:20:27 +01:00
Robert Osfield
5fdf9829bb Removed dead code 2016-06-23 07:52:14 +01:00
Robert Osfield
14805dc8b9 Restructed setting of vertex array to avoid possible reference of null 2016-06-23 07:47:40 +01:00
Robert Osfield
20d1e4c9c5 Added initializer 2016-06-23 06:56:22 +01:00
Robert Osfield
1b6cc8e6b6 Added checks against null pointers and removed #if 0 block. 2016-06-23 06:51:34 +01:00
Robert Osfield
25e04b8463 Fixed typo 2016-06-22 15:53:37 +01:00
Robert Osfield
2e65d37ddb Added missing initializer 2016-06-22 12:24:23 +01:00
Robert Osfield
c6378de489 Fixed loop for the wrong counter increment 2016-06-22 12:22:19 +01:00
Robert Osfield
1d7f75c490 Added initializer 2016-06-22 12:03:10 +01:00
Robert Osfield
acaf9fd720 Added initializer 2016-06-22 11:48:30 +01:00
Robert Osfield
8a83bd73bb Added missing initializers 2016-06-22 11:39:11 +01:00
Robert Osfield
9bebe4c607 Added initializers 2016-06-22 09:49:27 +01:00
Robert Osfield
0f8e09bde2 Removed info comment 2016-06-22 09:37:51 +01:00
Robert Osfield
9f4d123fff Fixed null termination 2016-06-22 09:33:18 +01:00
Robert Osfield
03b6cb024e Added initializers in case ply_get_element() doesn't overwrite the values. 2016-06-22 09:24:44 +01:00
Robert Osfield
011d60ec03 Fixed memory leak. 2016-06-21 17:04:22 +01:00
Robert Osfield
17bd80329a Fixed line endings 2016-06-21 17:03:33 +01:00
Robert Osfield
e64e70870d Changed the pointer arithmetic to be more explict and readable. 2016-06-21 11:45:19 +01:00
Robert Osfield
7fedcad075 Reverted to C style for loop initialization 2016-06-21 08:14:00 +01:00
Robert Osfield
51b246d63a Fixed COVERITY reported overflow defect. 2016-06-20 19:06:01 +01:00
Robert Osfield
a185c2778f Restructed copy to avoid pointer artithmetic when only single float is being used to avoid Coverity reported defect. 2016-06-20 17:59:52 +01:00
Robert Osfield
04d387eecf Fixed line endings 2016-06-20 17:57:41 +01:00
Robert Osfield
26aa519803 Added string termination 2016-06-20 17:39:57 +01:00
Robert Osfield
5e3c5a18c6 Fixed string null termination defects 2016-06-20 17:35:25 +01:00
Robert Osfield
3d43b775d2 Addd explict setting of 0 string termination. 2016-06-20 17:05:10 +01:00
Robert Osfield
438332d39b Introduced local cursormap variable to make it clearer which containers are being worked upon. 2016-06-20 16:50:21 +01:00
Robert Osfield
87b963fb50 Removed no longer used Designer Workbench plugin.
It's code quality is poor and as there has been no sign that it's used in the community decided to remove it
rather than spend time trying to fix the mess it's in.
2016-06-20 14:06:21 +01:00
Robert Osfield
74cb7df3c0 Fixed potential memory leak 2016-06-20 14:04:38 +01:00
Robert Osfield
1573140165 Fixed potential memory leaks 2016-06-20 14:00:47 +01:00
Robert Osfield
ce7c37851b Fixed potential memory leak 2016-06-20 13:37:59 +01:00
Robert Osfield
7f99182c04 Moved the setUserData(new TileIdentifier(..)) so that all branches can utilize it. 2016-06-20 12:52:49 +01:00
Robert Osfield
949d71f2b6 Added missing initializers 2016-06-20 12:46:00 +01:00
Robert Osfield
f2297fd100 Added missing initializers 2016-06-20 12:40:46 +01:00
Robert Osfield
8f43268432 Added check to make sure undefined condition happens due to unitialized variables. 2016-06-20 12:27:47 +01:00
Robert Osfield
e09403a80c Added intializer for char[] to squash Coverity "defect". 2016-06-20 12:20:44 +01:00
Ralf Habacker
7876c7915b clang 6.0 compile fixes. 2016-06-20 10:32:42 +01:00
Ralf Habacker
69929f596f Fix finding object cache entries. 2016-06-20 10:26:12 +01:00
Thao Le
7a1324800f corrected syntax error in src/osgPlugins/fbx/ReaderWriterFBX.cpp 2016-06-19 21:07:37 +07:00
Robert Osfield
a8e4df5611 Replaced deprecated_osg::Geometry usage 2016-06-17 14:13:35 +01:00
Robert Osfield
b65be226b0 Converted code across to using non deprecated version of osg::Geometry 2016-06-17 13:04:41 +01:00
Robert Osfield
f22a39fbf0 Removed pfb plugin as the Perform dependency it relies upon has long since disappeared 2016-06-17 12:52:04 +01:00
Robert Osfield
7d34e8f441 Build fixes to reflect removal of deprecated_osg::Geometry 2016-06-17 12:49:44 +01:00
Robert Osfield
8e26ebd23e Fixed coverity detected defect:
Incorrect values read from a different memory region will cause incorrect computations. In osgDB::​base64_decode_value(char): Out-of-bounds read from a buffer
2016-06-17 10:57:17 +01:00
Robert Osfield
5c89ae5a15 Fixed coverity defects, two missing checks for error condition and resource leak. 2016-06-17 10:51:53 +01:00
Robert Osfield
9f656212d5 Fixed memory leak 2016-06-17 10:42:02 +01:00
Julien Valentin
e236acfed5 Added OpenGL extensions related to shader subroutine 2016-06-17 10:35:25 +01:00
Robert Osfield
aea83494c1 Removed deprecated_osg::Geometry and cleaned up the deprecated Geometry::set*Binding() calls 2016-06-17 10:12:11 +01:00
Robert Osfield
951c41cf9e Fixed indentation, replaced dynamic_cast<> with static_cast<> as we know the type and add check against null pointers 2016-06-17 09:48:21 +01:00
Robert Osfield
09df93813d Added missing check against null 2016-06-17 09:40:35 +01:00
Robert Osfield
83330fe9fb Added missing checks against viewer being valid and added missing break. 2016-06-17 09:33:56 +01:00
Robert Osfield
234d6cf431 Added if (texture) to fix bug when the dynamic_cast<> returns NULL. 2016-06-17 09:24:13 +01:00
Robert Osfield
0696e49f2d Changed dyanmic_cast<> to static_cast<> as code is written in a way that the type is always known. 2016-06-17 08:53:38 +01:00
Robert Osfield
79c6ac38df Fixed logically dead code detected by Coverity 2016-06-17 07:52:41 +01:00
Robert Osfield
c85c006557 Removed logically dead code detected by Coverity 2016-06-17 07:46:39 +01:00
Julien Valentin
78b99c7143 Refactored osg::TextureBuffer to support assigning any type of osg::BufferData rather than just osg::Image as was previously required.
Refactored osgforest and osggpucull examples to take account of changes to TextureBuffer.

Added osg::DrawIndirectBufferBinding.
2016-06-15 19:05:35 +01:00
Robert Osfield
819ce6c0d1 Removed redundent _boundingBoxComputed 2016-06-14 18:27:27 +01:00
Robert Osfield
9139e8acb8 Added {} brackets around OSG_DEBUG usage to avoid issues with marco's expanding if else. 2016-06-14 16:42:06 +01:00
Robert Osfield
4115cfc8f9 Removed use of deprecated register keyword 2016-06-14 16:37:31 +01:00
Ralf Habacker
dfb8b71526 Fix 'Non-static class member "yy_lp" is not initialized in this constructor nor in any functions that it calls".
Coverity CID 126893:  Uninitialized members  (UNINIT_CTOR)
2016-06-14 12:43:44 +01:00
Ralf Habacker
85cd1c456f Identify files in object cache by filename and optional provided options.
Objects with the same filename may be different from others based on the provided
plugin options. Using filename *and* the provided options as object cache key
helps to avoid fetching the wrong object.
2016-06-14 12:27:33 +01:00
Julien Valentin
2ac8379cfc osgDB Wrapper Associates Revision Tagging 2016-06-14 11:43:45 +01:00
OpenSceneGraph git repository
a236f18b17 Merge pull request #83 from filnet/warnings
Fixed various compilation warnings on msys2
2016-06-14 08:52:54 +01:00
Philippe Renon
3bf6fb1778 msys2: fixed redefined include warnings 2016-06-11 17:45:36 +02:00
Philippe Renon
bc1185c41a msys2: fixed converting to non-pointer type 'long long int' from NULL 2016-06-11 17:45:35 +02:00
Philippe Renon
9f456a2722 msys2: fixed uninitialized variable 2016-06-11 17:45:19 +02:00
Philippe Renon
37ef07ce7e refactor common code from CompositeViewer::checkNeedToDoFrame() and Viewer::checkNeedToDoFrame() into View 2016-06-11 16:58:51 +02:00
Robert Osfield
157ee3dd7d Fixed unitialized member variable 2016-06-10 19:40:15 +01:00
Robert Osfield
732e770f87 Fixed unitialized member variable 2016-06-10 19:35:44 +01:00
Robert Osfield
34e65f15d0 FIxed unitialized member variables 2016-06-10 19:33:47 +01:00
Robert Osfield
12d4580ee5 Fixed memory leak 2016-06-10 19:27:46 +01:00
Robert Osfield
8fe37bdf63 Fixed memory leak 2016-06-10 19:25:07 +01:00
Robert Osfield
07afdcd46c Fixed memory leak 2016-06-10 17:24:03 +01:00
Robert Osfield
e2fcc32d7c Fixed memory leak 2016-06-10 17:19:41 +01:00
Robert Osfield
afb6f3b62a Fixed memory leak 2016-06-10 17:09:34 +01:00
Robert Osfield
d221066d9a Fixed memory leak 2016-06-10 17:06:04 +01:00
Robert Osfield
d833a5be92 Fixed memory leak 2016-06-10 17:01:42 +01:00
Robert Osfield
df90ed5ed0 Added use of ref_ptr<> to fix memory leak 2016-06-10 16:59:19 +01:00
Robert Osfield
dc7cefb6f2 Fixed memory leak 2016-06-10 16:54:46 +01:00
Robert Osfield
917d065292 Added use of ref_ptr<> to fix memory leak 2016-06-10 16:44:50 +01:00
Robert Osfield
813c103232 Restructed to fix memory leak 2016-06-10 16:41:13 +01:00
Robert Osfield
5a6d4f69e1 Added use of ref_ptr<> to fix memory leak 2016-06-10 16:36:13 +01:00
Robert Osfield
4b3c7e47a5 Added ref_ptr<> usage to address memory leaks 2016-06-10 16:34:36 +01:00
Robert Osfield
79dd8111a5 Added missing intializers to address Coverity issue 2016-06-10 16:30:21 +01:00
Robert Osfield
615114c900 Added assert() to make it clear to Coverity that both prev and next won't be null 2016-06-10 16:16:29 +01:00
Robert Osfield
40725ad707 Fixed memory leak detected by Coverity 2016-06-10 15:53:58 +01:00
Robert Osfield
6d18b3d74e Fixed memory leak detected by Coverity 2016-06-10 15:49:24 +01:00
Robert Osfield
05a505fb1f Fixed "User after free" bugs reported by Coverity. 2016-06-10 15:24:19 +01:00
Robert Osfield
73f321c472 Fixed potential memory leak by introducing ref counting. 2016-06-10 14:58:42 +01:00
Robert Osfield
38d91ca3fe Introduced use of local std::string to work around issue of the read header.text not being null terminated and causing a problem with the strstr call. 2016-06-10 14:36:50 +01:00
Robert Osfield
6a65b935fa Fixed uninitialized member variable. 2016-06-10 14:16:49 +01:00
Robert Osfield
9206d2a962 Restructed variable ordering and added missing va_end(). 2016-06-10 14:09:43 +01:00
Robert Osfield
9e5817c387 Fixed line endings 2016-06-10 14:09:03 +01:00
Robert Osfield
bdf3600011 Restructed fgetc usage. 2016-06-10 14:02:55 +01:00
Robert Osfield
fc1b963107 Fixing some of the more glaring coding errors in DW plugin. 2016-06-10 13:42:13 +01:00
Robert Osfield
12635b6571 Reordered paramter usage to fix coverity warning about parameter names not matching 2016-06-10 13:31:51 +01:00
Robert Osfield
af11e35fcb Fixed invalidated iterator bug pick up by Coverity. 2016-06-10 12:44:26 +01:00
Robert Osfield
69046511de Fixed iterator invalidation bug picked by Covertiy scan. 2016-06-10 12:03:48 +01:00
Robert Osfield
721e079211 Rewrote Window::setNextFocusable() to address a bug in the management of the search iterator. Covertiy reported bug "Undefined behavior may result; the program may crash or subtly misbehave.
In osgWidget::​Window::​setNextFocusable(): An invalid or past-the-end iterator is being used."
2016-06-09 12:08:47 +01:00
Robert Osfield
9ec4da47f5 Fixed "Using invalid iterator" bug in getTile() methods, detected by Covertity. 2016-06-09 11:41:14 +01:00
Julien Valentin
ac26ba7e5b Shader subroutine related funcs added 2016-06-09 10:48:05 +01:00
Sebastian Messerschmidt
7ccf16b83d OpenFlight-plugin with extended attributes.
Added the addtional properties (terrain, roofline and footprint) alongside with the SMC/FID attributes. Also I added the newly added IRMaterial to the per-geode properties.
Added the Texture-EffectId and the mapping index as a user-value to the texture object.
Naming scheme is the same as for the per-vertex/geode attributes.
2016-06-09 10:15:38 +01:00
Laurens Voerman
09badeb19c Merge remote-tracking branch 'upstream/master' 2016-06-08 16:16:48 +02:00
Laurens Voerman
075de21af1 visual studio 2015 warning fixes:
OpenSceneGraph\src\osgPlugins\dae\daeRAnimations.cpp(470): warning C4456: declaration of 'kfCntr' hides previous local declaration
  OpenSceneGraph\src\osgPlugins\dae\daeRAnimations.cpp(452): note: see declaration of 'kfCntr'
OpenSceneGraph\src\osgPlugins\dae\daeReader.cpp(202): warning C4456: declaration of 'i' hides previous local declaration
  OpenSceneGraph\src\osgPlugins\dae\daeReader.cpp(188): note: see declaration of 'i'
OpenSceneGraph\src\osgPlugins\dae\daeReader.cpp(226): warning C4456: declaration of 'i' hides previous local declaration
  OpenSceneGraph\src\osgPlugins\dae\daeReader.cpp(188): note: see declaration of 'i'
OpenSceneGraph\src\osgPlugins\dae\daeReader.cpp(243): warning C4456: declaration of 'i' hides previous local declaration
  OpenSceneGraph\src\osgPlugins\dae\daeReader.cpp(188): note: see declaration of 'i'
OpenSceneGraph\src\osgPlugins\dae\daeReader.cpp(253): warning C4456: declaration of 'i' hides previous local declaration
  OpenSceneGraph\src\osgPlugins\dae\daeReader.cpp(188): note: see declaration of 'i'
2016-06-08 14:22:14 +02:00
Robert Osfield
ae98593403 Fixed unused parameter warning. 2016-06-08 10:59:55 +01:00
Robert Osfield
7b7899154c Fixed unused parameter warning. 2016-06-08 10:58:14 +01:00
Robert Osfield
801d41c47a Fixed unused parameter warning. 2016-06-08 10:55:22 +01:00
Robert Osfield
f774a38cf2 Fixed unused parameter warning. 2016-06-08 10:52:40 +01:00
Robert Osfield
19ec9bbef6 Fixed unused parameter warning. 2016-06-08 10:51:45 +01:00
Robert Osfield
4e442f483f Fixed unused parameter warning. 2016-06-08 10:46:45 +01:00
Robert Osfield
bc866c51de Fixed unused parameter warning. 2016-06-08 10:45:32 +01:00
Robert Osfield
e23798d630 Fixed unused parameter warning. 2016-06-08 10:43:57 +01:00
Robert Osfield
1d37501262 Fixed unused parameter warning. 2016-06-08 10:42:00 +01:00
Robert Osfield
782e867a7c Fixed unused parameter warning. 2016-06-08 10:34:40 +01:00
Robert Osfield
62f97923e0 Fixed unused parameter warning. 2016-06-08 10:19:57 +01:00
Robert Osfield
de80cac99f Fixed -Wextra warnings 2016-06-08 10:18:23 +01:00
Robert Osfield
5bdd65c300 Fixed unused parameter warning. 2016-06-08 10:17:47 +01:00
Robert Osfield
883e195bba Fixed unused parameter warning. 2016-06-08 10:16:20 +01:00
Robert Osfield
eae28e4d91 Fixed unused parameter warning. 2016-06-08 10:15:51 +01:00
Robert Osfield
4dfd655b0c Fixed unused parameter warning. 2016-06-08 10:14:56 +01:00
Robert Osfield
b4900811a7 Fixed -Wextra warning 2016-06-08 10:00:18 +01:00
Robert Osfield
37e83f7c62 Disabled -Wextra for dae build as warnings in COLLADA_DOM headers can't be fixed 2016-06-08 09:59:33 +01:00
Robert Osfield
39a2d755db Fixed -Wextra warning 2016-06-08 09:57:57 +01:00
Robert Osfield
8d4a976477 Fixed unused parameter warning. 2016-06-08 09:57:30 +01:00
Robert Osfield
3783061c2a Fixed -Wextra warnings 2016-06-08 09:57:02 +01:00
Robert Osfield
f4078251be Fixed -Wextra warning 2016-06-08 09:56:35 +01:00
Robert Osfield
4d3a549727 Fixed unused parameter warning. 2016-06-08 09:55:33 +01:00
Robert Osfield
1778b15a4d Fixed unused parameter warning. 2016-06-08 09:55:15 +01:00
Robert Osfield
322cf0c39e Fixed unused parameter warning. 2016-06-08 09:54:10 +01:00
Robert Osfield
e9b8069204 Fixed unused parameter warning. 2016-06-08 09:52:09 +01:00
Robert Osfield
bc7156cd26 Fixed unused parameter warning. 2016-06-08 09:51:50 +01:00
Robert Osfield
85a77f42a4 Fixed -Wextra warnings 2016-06-08 09:50:38 +01:00
Robert Osfield
bfd1d7c55b Fixed unused parameter warning. 2016-06-08 09:49:58 +01:00
Robert Osfield
118411ba23 Fixed unused parameter warning. 2016-06-08 09:49:29 +01:00
Robert Osfield
1a093ca98d Fixed unused parameter warning. 2016-06-08 09:49:10 +01:00
Robert Osfield
2acca80be8 Fixed unused parameter warning. 2016-06-08 09:48:39 +01:00
Robert Osfield
c7b64cb9a7 Fixed -Wextra warnings 2016-06-08 09:48:14 +01:00
Robert Osfield
0be6502711 Fixed unused parameter warning. 2016-06-08 09:47:30 +01:00
Robert Osfield
aef2574b8d Fixed -Wextra warnings 2016-06-08 09:46:09 +01:00
Robert Osfield
7bb0f437c1 Fixed unused parameter warning. 2016-06-08 09:44:39 +01:00
Robert Osfield
b51c8bed46 Fixed unused parameter warnings 2016-06-08 09:43:40 +01:00
Robert Osfield
f213868673 Fixed unused parameter warning. 2016-06-08 09:43:05 +01:00
Robert Osfield
6f68915425 Fixed unused parameter warning. 2016-06-08 09:38:22 +01:00
Robert Osfield
2955fc8bb2 Disabled the -Wextra warnin the warnings that can't be fixed due to optional code paths. 2016-06-08 09:37:43 +01:00
Robert Osfield
1a3a851f6e Fixed unused parameter warning. 2016-06-08 09:34:34 +01:00
Robert Osfield
d712784177 Disabled the -Wextra warning as resolve the warnings will create other warnings under other compilers 2016-06-08 09:33:56 +01:00
Robert Osfield
ef73d2449e Fixed -Wextra warnings 2016-06-08 09:20:16 +01:00
Robert Osfield
8ba7998623 Fixed -Wextra warnings 2016-06-08 09:07:32 +01:00
Robert Osfield
a16c34208f Fixed unused parameter warning. 2016-06-08 09:06:42 +01:00
Robert Osfield
ee30c7d0a5 Fixed -Wextra warningsw 2016-06-08 09:05:34 +01:00
Robert Osfield
b19c879485 Fixed unused parameter warning. 2016-06-08 09:04:01 +01:00
Robert Osfield
bfff44ac9d Fixed unused parameter warning. 2016-06-08 09:01:47 +01:00
Robert Osfield
4201191e44 Fixed -Wextra warnings 2016-06-08 08:54:43 +01:00
Robert Osfield
ef4de11cdb Fixed unused parameter warning. 2016-06-08 08:52:30 +01:00
Robert Osfield
fa45b3774b Fixed shadows warnings 2016-06-07 09:43:36 +01:00
Laurens Voerman
15e9484ff2 Build and warning fixes 2016-06-06 17:54:29 +01:00
Robert Osfield
357f76ba5a Removed shadowing declaration 2016-06-06 14:38:15 +01:00
Robert Osfield
ca633e8a5e Fixed line endings 2016-06-06 14:37:33 +01:00
Robert Osfield
b85358b38a Added disabling of the C4702 as changing the code would introduce it's own warning. 2016-06-06 14:28:41 +01:00
Robert Osfield
c0efaae364 Fixed shadowing warning 2016-06-06 14:28:12 +01:00
Robert Osfield
431749bd78 Fixed VS2015 warning 2016-06-06 14:18:43 +01:00
Björn Blissing
ff0ae07bb7 Quitened down VS warnings 2016-06-06 13:12:43 +01:00
Robert Osfield
0a95fd875d Removed the use of register hint and cleaned up indentation 2016-06-04 18:40:37 +01:00
Robert Osfield
c3f55ad1d8 Added "" around the CMAKE_CXX_FLAGS setting to fix build error 2016-06-04 18:36:36 +01:00
Julien Valentin
71339906c0 Fixed little bug in DrawArraysLength (instancing not supported).
Corrected PrimitiveSet.cpp in order DrawArraysLength can be instanced.
It's the only pr missing code
if (_numInstances>=1)      glDrawXXXInstanced(...,_numInstances);
else glDrawXXX();
2016-06-03 17:57:04 +01:00
Robert Osfield
017ec902e2 Added -Wno-deprecated-register for Clang build to quieten warnings related to lex/yacc generated files 2016-06-03 17:38:32 +01:00
Björn Blissing
6c842a534e Last two files with fixes to the virtual inheritance warnings...
I have also attached the fix to the type shadowing problem in ConvexPolyhedron.cpp
2016-06-03 17:33:45 +01:00
Björn Blissing
abf34d2838 fix for the rest of the VS2015 virtual inheritance warnings. Same as for issues as for the Operation class. 2016-06-03 17:30:12 +01:00
Björn Blissing
66a1e564d7 Fixed VS2015 compiler warnings 2016-06-03 11:30:48 +01:00
Robert Osfield
afe89e8d94 Added float variants of osg::PI etc. in the form osg::PIf
Converted osg::PI usage to osg::PIf in ShapeDrawable.cpp to address Windows build errors
2016-06-03 11:28:10 +01:00
Robert Osfield
728c439e35 Fixed Clang warnings related to external dependencies 2016-06-03 10:18:41 +01:00
Robert Osfield
41ce857c93 Fixed clang warnings 2016-06-03 09:33:47 +01:00
Robert Osfield
b1655dd17b Moved the REGISTER_WINDOWINGSYSTEMINTERFACE macro into the osgViewer namespace 2016-06-02 17:54:24 +01:00
Robert Osfield
9aef7d2954 Removed osgViewer:: prefix to addres build error 2016-06-02 17:50:53 +01:00
Juan Hernando Vieites
42af2d3597 The current implementation of readImageFromCurrentTexture doesn't consider the texture rectangle mode.
Find attached a version of the file that corrects this issue
2016-06-02 16:04:06 +01:00
Robert Osfield
4d2221bdb3 Fixed potential memory leak 2016-06-02 15:43:31 +01:00
Robert Osfield
f10e931f82 Fixed uninitialized variable. 2016-06-02 15:41:15 +01:00
Robert Osfield
700e38ba9d Added handling of failure to create ElementBufferObject. 2016-06-02 15:35:47 +01:00
Robert Osfield
9eb9186200 Removed debugging code 2016-06-02 15:23:38 +01:00
Robert Osfield
f16b805e0d Moved status check to quieten coverity warning 2016-06-02 14:56:43 +01:00
Robert Osfield
66ee7daac3 Added missing break 2016-06-02 14:53:11 +01:00
Robert Osfield
d858195d66 Removed debug message 2016-06-02 14:38:23 +01:00
Robert Osfield
9dee2ecf33 Fixed redundent checks and clean up clone usage 2016-06-02 14:36:38 +01:00
Robert Osfield
d6b6d10611 Added missing break 2016-06-02 14:33:32 +01:00
Robert Osfield
d038866649 Fixed method to match parent class. 2016-06-02 14:31:44 +01:00
Robert Osfield
09bad85522 Fixed method to match parent class. 2016-06-02 14:30:58 +01:00
Robert Osfield
203e5f7ef8 Removed redudent codepaths, standardizing on the most portable Texture2D path. 2016-06-02 14:22:25 +01:00
Robert Osfield
5c7e155a69 Removed redudent code paths 2016-06-02 14:18:12 +01:00
Robert Osfield
26e489f17d Cleaned up the cloning usage 2016-06-02 13:51:46 +01:00
Robert Osfield
2b3ecb4af8 Fixed unitialized variables 2016-06-02 13:23:34 +01:00
Robert Osfield
b1b7d17633 Fixed build issues when OSG_USE_REF_PTR_IMPLICIT_OUTPUT_CONVERSION is set to OFF 2016-06-02 12:22:51 +01:00
Davide Raccagni
6428c33d30 Fixed version of CMakeLists.txt when you check BUILD_OPENTHREAD_WITH_QT and compile with Visual Studio 2015 2016-06-02 10:06:58 +01:00
Robert Osfield
a58f50e6fd Fixed line endings 2016-06-02 10:04:36 +01:00
Robert Osfield
853fad71ae Changed freetype plugin to utilize CMake's FindFreetype.cmake rather than use a local one. 2016-06-01 15:51:49 +01:00
Robert Osfield
1c78996a09 Added in extra search paths for FBX 2016-06-01 11:26:18 +01:00
OpenSceneGraph git repository
51e3b61555 Merge pull request #74 from susnux/fix-61
Added missing stdexcept header, fixes #61
2016-06-01 10:55:19 +01:00
Andreas Cadhalpun
e85d574334 Replace deprecated FFmpeg API to fix build with ffmpeg-3.0.x 2016-06-01 10:32:35 +01:00
Julien Valentin
5a4a5c3507 Added glDrawArraysIndirect, glMultiDrawArraysIndirect, glDrawElementsIndirect and glMultiDrawElementsIndirect extensions. 2016-06-01 10:01:44 +01:00
Ralf Habacker
fc3e30ef25 Install msvc debug files along with the binaries 2016-05-31 17:02:33 +01:00
Ralf Habacker
c31baa96de Fixed bug not detecting unc pathes in osgDB::isAbsolutePath() 2016-05-31 16:14:51 +01:00
Alberto Luaces
68baf15806 defines for building on Hurd and BSD kernels 2016-05-31 12:58:57 +01:00
Marcin Hajder
37258df59c Fix for nvtt plugin to support RGTC1/RGTC2 pixel format.
Thanks to this simple fix it's possible to compress red/red-green channel of RGB/RGBA image to GL_COMPRESSED_RED_RGTC1_EXT/GL_COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT pixel format.
2016-05-31 12:45:28 +01:00
Nguyen Van Truong
60c3998143 I Use two touch screen in my App. I had a bug touch point in secondary screen ( the touch point not same mouse push point). 2016-05-31 11:05:02 +01:00
Robert Osfield
8336ce121e Fixed indentation 2016-05-31 10:54:38 +01:00
Robert Osfield
3bb8b73b8c Fixed warning message 2016-05-31 10:32:43 +01:00
Robert Osfield
01f1277203 Removed the redudent ive::ReadWrite base class 2016-05-31 10:28:08 +01:00
Robert Osfield
1b4aa2ce51 Removed virtual methods from base class as this was breaking the casting. Ironically this fix was required as the original "fix" for issue raised by Coverity introduced
a crash!
2016-05-31 09:46:03 +01:00
Tony Vasile
759b537250 OpenFlight-plugin with Surface Material Codes. There is one additional field that may be required by an existing application in addition to the IR Code is the IR Material. I have a small fix to include the IR Material as the User Value <UA:IRM> 2016-05-30 12:41:25 +01:00
Alberto Luaces
260cbab518 Typo fixes 2016-05-30 12:30:05 +01:00
Ralf Habacker
307001391f Fix 'unterminated_case: The case for value 7U is not terminated by a 'break' statement' in jpeg plugin.
Reported by Coverity: CID 86499: Missing break in switch (MISSING_BREAK)
2016-05-27 10:34:15 +01:00
Ralf Habacker
8851d548f9 Fix 'bad_override: Method ive::DirectionalSector::read hides
but does not override ive::ReadWrite::read because some type qualifiers do
 not match'.

Reported by Coverity: CID 86119 and 269 others
2016-05-27 10:28:26 +01:00
Robert Osfield
31592d206b Changed the RenderStageCache::RenderStageMap to use map<Referenced*, ref_ptr<RenderStage>> in place of map<CullVisitor*, ref_ptr<RenderStage>> to
avoid problems of dynamic_cast<> on an object that is being deleted.
2016-05-27 09:47:07 +01:00
Robert Osfield
110cf56a17 From Wee See, "attached a small submission, which makes the option "readObjectRecordData" of OpenFlight-plugin working like documented in the Knowledge Base of OSG (52-using-the-openflight-plugin).
Actually, if the option "readObjectRecordData" is set, ObjectRecordData will not be read and set.
With this submission, if the option "readObjectRecordData" is set, ObjectRecordData will be read and set."
2016-05-26 18:08:44 +01:00
Robert Osfield
8c7806eab3 From Philippe Renon and Robert Osfield, osgViewer::Viewer::checkNeedToDoFrame should return true when only the root node has an update callback.
Note, from Robert, I took Philippe modifications to Viewer.cpp and reformated them slightly to avoid a double check against getSceneData()!=0 and then rolled
the changes out to CompositeViewer::checkNeedToDoFrame() to ensure that both implementations work the same.
2016-05-26 17:49:06 +01:00
Robert Osfield
a41282b7be Fixed shadows warnings 2016-05-26 10:01:20 +01:00
Robert Osfield
bf8e22ae63 Fixed shadows warnings 2016-05-26 09:48:16 +01:00
Robert Osfield
bdad1f60c9 Fixed shadows warnings 2016-05-26 08:25:12 +01:00
Robert Osfield
95d8d7d993 Fixed shadows warnings in lwo plugin 2016-05-25 18:12:43 +01:00
Robert Osfield
f268afd044 Disable -Wshadow on GNU compile as OGR headers have shadowing parameters we can't fix. 2016-05-25 17:39:25 +01:00
Robert Osfield
29d4a02ee7 Fixed shadows warnigns 2016-05-25 17:34:59 +01:00
Robert Osfield
259b70156f Fixed shadows warnings 2016-05-25 17:10:54 +01:00
Robert Osfield
3a77520d22 Fixed shadows warnings - txp plugin was a mess w.r.t shadowing member variables. 2016-05-25 17:08:51 +01:00
Robert Osfield
e8aa106184 Fixed shadows warnings 2016-05-25 13:58:06 +01:00
Robert Osfield
426fd3acb1 Fixed shadows warnings 2016-05-25 13:27:35 +01:00
Robert Osfield
89b061e318 Fixed shadows warning 2016-05-25 13:22:51 +01:00
Robert Osfield
1cc0f31e30 Fixed shadows warnings 2016-05-25 11:30:49 +01:00
Robert Osfield
9cb714cd39 Fixed shadows warning and an associated by in osgAnimation::Statshandler::changeYposition(..) 2016-05-25 11:20:13 +01:00
Robert Osfield
13dfd34ab6 Fixed shadows warnings 2016-05-25 11:11:11 +01:00
Robert Osfield
9ba599fe4c Fixed shadows warnings 2016-05-25 11:00:35 +01:00
Robert Osfield
831f406d17 Fixed shadows warnings 2016-05-25 10:26:35 +01:00
Robert Osfield
8f20bc9147 Fixed shadows warnings 2016-05-25 10:10:43 +01:00
Robert Osfield
92ffa85917 Fixed line endings 2016-05-25 10:09:18 +01:00
Robert Osfield
559f138152 Fixed shadows warnings 2016-05-25 09:56:40 +01:00
Robert Osfield
ff9617d210 Fixed RenderStageCache's handling of Observer functionality that was causing a crashing on exit in osgoit and osgprerender examples. 2016-05-24 20:46:44 +01:00
Robert Osfield
c36c0033fd Fixed shadows warnings 2016-05-23 20:02:36 +01:00
Robert Osfield
2056800017 Fixed shadows warning 2016-05-23 16:22:49 +01:00
Robert Osfield
4b61f4c95d Fixed shadows warnings 2016-05-23 16:20:59 +01:00
OpenSceneGraph git repository
c3f2711b09 Merge pull request #73 from susnux/safeptr
add safety checking when dereferencing ref_ptr
2016-05-23 11:29:07 +01:00
Robert Osfield
ff01d9c663 Fixed shadows warnings 2016-05-23 10:52:55 +01:00
Robert Osfield
04214a4288 Fixed shadows warning 2016-05-23 10:36:00 +01:00
Robert Osfield
c15dfa7ddd Fixed shadows warning 2016-05-23 10:31:56 +01:00
Robert Osfield
d4815932dc Removed redundent local variable 2016-05-23 10:30:22 +01:00
Robert Osfield
33ec90376c Fixed shadows warning 2016-05-23 10:28:45 +01:00
Robert Osfield
776fa48cd4 Fixed shadows warnings 2016-05-23 10:22:16 +01:00
Rohan Budhiraja
475948f8a2 Added missing stdexcept header, fixes #61 2016-05-21 21:40:07 +02:00
rdiankov
da34da18ca add safety checking when dereferencing ref_ptr 2016-05-21 21:29:14 +02:00
Robert Osfield
ae3ba28fee Fixes shadows warnings 2016-05-20 13:38:34 +01:00
Robert Osfield
037de9bd20 Fixed build error associated with change of type of getInterface() 2016-05-19 14:26:48 +01:00
Robert Osfield
10a89ae0c5 Win32 Build fixes
Removed the duplicate constructor and destructor
2016-05-18 19:31:03 +01:00
Robert Osfield
a0684bd058 Changed osg::NodeVisitor::traverse(node) to traverse(node) to take advantage of the local travese() implementation pushing/popping any StateSet that is on the node. 2016-05-18 18:30:51 +01:00
Robert Osfield
8863e03685 Replaced static ref_ptr<> with observer_ptr<> to avoid local static references hanging around. 2016-05-16 18:52:39 +01:00
Robert Osfield
fe6238d126 Added osg::GraphicsContext::WindowingSystemInterfaces singleton for managing multiple WIndowinSystemInterface
implementations being registered at the same time.

One usage case for this functionality to support usage of Wayland and X11 in the same version of the osgViewer.

As part of the new functionality there is now a osg::GraphicsContext::Traits::windowingSystemPreferrence string
that default to empty, but if defined will ensure that a specific WindowingSystemInterface is utilized when
you do a generic call like osg::createGraphicsContext().

Also implemented is standard proxy object for registering the new contexts and removing them automatically, and
declaration of standard graphicswindow_name() C entry point to help with static build linking.
2016-05-16 13:45:31 +01:00
Robert Osfield
dd10619192 Added GLES3 path for setting up with EGL 2016-05-06 20:15:18 +01:00
Robert Osfield
6cfbaa61c0 Moved the IdentifierMap from global to into osg namespace and changed to static 2016-04-27 14:21:11 +01:00
Robert Osfield
cba48de3d3 Fixed copy _readBuffer bug. 2016-04-21 14:07:22 +01:00
Robert Osfield
eb50a15b52 Fixed ShaderComposer::releaseGLObjects(State*) const method as it's const was missing.
Rewrote the ShaderComposer::releaseGLObjects() const method to pass on the releaseGLObjects() calls to any associated Program or Shader objects.
2016-04-18 20:46:45 +01:00
Robert Osfield
8c10323154 From Vladimir Chebaev, fixed handling of outline orientiation 2016-04-14 17:46:27 +01:00
Robert Osfield
d41d92e65d added assignment of mipmap levels from source image. 2016-03-31 19:21:25 +01:00
Robert Osfield
e6a99b5ae5 Reversed the order of some sizedInternalFormats enum entries to sync with the change in serach direction that was checked in as an earlier revision. 2016-03-31 17:12:28 +01:00
Robert Osfield
cd3831b045 Added &nl; xml control character to allow one to put newlines into a single text string in Present3D presentations 2016-03-13 09:03:44 -02:30
Robert Osfield
9d68e13567 Added support for invoked an editor defined by P3D_EDITOR or EDITOR env vars when user press 'U' in Present3D.
This feature makes it easier to editor an presentation that is already running in Present3D, once the edits are done
pressing 'u' in Present3D then loads the file again.
2016-03-11 19:41:22 +00:00
Robert Osfield
cb2af961db From Jannik Heller, Wrong function call in setTextureAttributeAndModes
"From I think that this piece of code in StateSet::setTextureAttributeAndModes is a copy&paste mistake:

            OSG_NOTICE<<"Warning: non texture attribute '"<<attribute->className()<<"' passed to setTextureAttributeAndModes(unit,attr,value), "<<std::endl;
            OSG_NOTICE<<"         assuming setAttributeAndModes(attr,value) instead."<<std::endl;
            OSG_NOTICE<<"         please change calling code to use appropriate call."<<std::endl;
            setAttribute(attribute,value);

As per the warning message it should be calling setAttributeAndModes(attribute,value); ."
2016-03-11 15:35:07 +00:00
Robert Osfield
faea95b5fb Added handling of auto stepping to ON_DEMAND handling. 2016-03-10 19:58:35 +00:00
Robert Osfield
68430ee8e5 Added a local implementation of SlideEventHandler::checkNeedToDoFrame() so that Present3D can toggle on/off the need for continuous rendering to only slides that require it,
enabling slides with no animation to sit iddle rather keeping rendering, reducing CPU/GPU overhead and saving power.
2016-03-10 16:35:08 +00:00
Robert Osfield
bb79e523d4 From Konstantin Matveyev, "Two classes (with wrappers) added to osgAnimation: UpdateVec2fUniform and UpdateVec4fUniform" 2016-03-01 15:09:12 +00:00
Robert Osfield
33b838e437 From Jannik Heller, "This submission makes the osgFX::Technique traverse as a normal Group if the visitor is not a cull visitor.
As for motivation behind the change, I think it makes more sense that way because only the CullVisitor cares about rendering. Say an intersection visitor or update visitor only needs to traverse the subgraph once, not once for each pass. For these visitors there is no point in traversing the subgraph more than once, since it's exactly the same graph. Another motivation is the performance improvement had when an intersection visitor tests against a multipass Technique."

 Note about mods by Robert Osfield, "Changed dyanmic_cast<> and check against getTraversalType() to utilize the new asCullVisitor() instead to improve efficiency."
2016-03-01 11:57:02 +00: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
d055216740 From Wee See and Robert Osfield, Introduced StatsHandler::collectWhichCamerasToRenderStatsFor(osgViewer::ViewerBase* viewer, osgViewer::ViewerBase::Cameras& cameras) method to make it
possible to customize which Cameras the handler renders stats for.
2016-03-01 11:06:39 +00:00
Robert Osfield
5d03bb9a2b From Jannik Heller, "This submission fixes a stuttering issue that may occur when occlusion query nodes are in view. The problem is that OSG retrieves the occlusion query result without first checking if it's available (GL_QUERY_RESULT_AVAILABLE). Thus, the driver has to sync with the GPU i.e. wait for all queued draw calls to complete. This is particularly bad in V-Synced situations where the driver may be using multi frame queueing techniques - coupled with the fact that OSG only runs an occlusion query every 5th frame, results in very unpleasant stuttering in some situations.
The change I made is to check GL_QUERY_RESULT_AVAILABLE before retrieving the query, to ensure that there won't be a stall. If the query result is not available yet, we'll leave it alone and try again in the next frame.

Had to make a few more changes than I'd liked, mostly because the TestResult mechanism wasn't designed for holding on to query objects for more than one frame. As well, I'm thinking that RetrieveQueriesCallback and ClearQueriesCallback could be merged together, if we wanted to go for more refactoring. For though now my strategy is to make as little changes as possible. Let me know what you think of the patch."
2016-03-01 10:37:41 +00:00
Robert Osfield
be98c884bd From Ognjen Kostic, "Some android phones have no support for OES_element_index_uint extension that is required if glDrawElements is to be called with GL_UNSIGNED_INT for element type.
In OSG 3.4, osgText::Text( ::_quadIndices) uses DrawElementsUInt that will fail on these devices and no text will appear - tested on Samsung Galaxy Trend 2 SM-G313HN.

When DrawElementsUInt is replaced with DrawElementsUShort it works, although I'm not sure if this can cause other problems with some fonts.

Fix:
- In include\osgText\Text, line 316:
        replace: "osg::ref_ptr< osg::DrawElementsUInt > _quadIndices;"
        with:    "osg::ref_ptr< osg::DrawElementsUShort > _quadIndices;"

- In src\osgText\Text.cpp, line 2094:
        replace: "_quadIndices = new DrawElementsUInt(PrimitiveSet::TRIANGLES);"
        with:    "_quadIndices = new DrawElementsUShort(PrimitiveSet::TRIANGLES);"
"
2016-03-01 10:21:14 +00:00
Robert Osfield
f73d1fb7ea Refactored the parsing of #pragma to address problems handling #pragma without () usage. 2016-02-29 15:06:36 +00:00
Robert Osfield
370cb7bc6e Fixed debug build 2016-02-24 16:01:00 +00:00
Robert Osfield
31fad1476f From Jannik Heller, osgParticle freeze on cull fix, ammended by Robert Osfield to make if statements a little more readable. 2016-02-23 10:12:31 +00:00
Robert Osfield
e8ac5af41b From Anish Thomas, "Underflow bug in BufferObject pool usage" 2016-02-22 09:19:51 +00:00
Robert Osfield
78aaf7955e From Bjorn Blissing, "I stumbled upon a strange ifdef-case inside Geometry.cpp
Currently the code looks like this:

Code:
    DrawElementsUByte* elems = new DrawElementsUByte(PrimitiveSet::TRIANGLES);
    elems->push_back(0);
    elems->push_back(1);
    elems->push_back(2);

    elems->push_back(2);
    elems->push_back(3);
    elems->push_back(0);
    geom->addPrimitiveSet(elems);
    geom->addPrimitiveSet(new DrawArrays(PrimitiveSet::QUADS,0,4));

The second condition looked really strange (note the ! sign), and results in pretty much all code paths uses the first code. The correct version should probably be that only people with GLES1 or GLES2 should use GL_TRIANGLES to simulate quads. And all others should use the native support for GL_QUADS.
"
2016-02-19 15:01:27 +00:00
Robert Osfield
9bdb3f55dd Replaced (long int) with more portable (GLint64) 2016-02-18 10:57:19 +00:00
Robert Osfield
08a1c45605 From Tony Vasile, "This is a fix for the handling of OpenFlight files with switches whose children have a transformation matrix on them. It may break other things and I have only tested this with one of my models." 2016-02-18 10:04:04 +00:00
Robert Osfield
93b10f35c1 From Mourad Boufarguine, "This submission fixes typos in Uniform::getTypename() method in Uniform.cpp (missing "r" in usampler names)." 2016-02-18 09:25:48 +00:00
Robert Osfield
51136204d2 Renamed zero and one to transparentCount and opaqueCount to avoid confusion in their meaning and usage. 2016-02-18 08:50:06 +00:00
Robert Osfield
c297fd18b2 Fixed warning 2016-02-17 17:47:38 +00:00
Robert Osfield
4f36b553b3 Commented out unused functions and variable. 2016-02-17 17:44:05 +00:00
Robert Osfield
f6372f2fab Introduced a separate GLuint64 one variable to get around a 32bit build timer issue under Windows. 2016-02-17 15:59:13 +00:00
Robert Osfield
67202b2662 From Romain Ouabdelkader, "This is a fix for osgText to calculate kerning and to load glyph3D with the text's font resolution.
Font::getKerning(...), Font::getGlyph3D(...) doesn't ask for a font resolution so it uses the last font resolution requested by Font:: getGlyph(...).
This can leads to different results depending of the precedent call to Font::getGlyph(...).
See http://lists.openscenegraph.org/pipermail/osg-users-openscenegraph.org/2016-January/271952.html for more infos.

This fix adds a font resolution parameter to Font::getKerning(...), Font::getGlyph3D(...) and to the font implementations.
This was made under the base revision r15182."
2016-02-15 13:30:39 +00:00
Robert Osfield
9bde2ef631 Added support for NodeMask to osg::Drawable serializers 2016-02-11 16:25:47 +00:00
Robert Osfield
3e0435febd From Jannik Heller , GL object deletion fix.
"This submission changes deleteGLObject calls to scheduleGLObjectForDeletion, to ensure that the actual deletion happens from the correct thread (the graphics thread). This fixes the leak I reported in http://forum.openscenegraph.org/viewtopic.php?t=15567 , and possibly also http://forum.openscenegraph.org/viewtopic.php?t=15564."
2016-02-05 20:29:22 +00:00
Robert Osfield
e1eaeced8c From Laurens Voerman, "While compiling with Visual Studio 12 (aka 2013 update 3) I get a these errors:
E:\osg\osgSvnGit\OpenSceneGraph\src\osg\PrimitiveSet.cpp(364): error C2039: 'min' : is not a member of 'std'
E:\osg\osgSvnGit\OpenSceneGraph\src\osg\PrimitiveSet.cpp(364): error C3861: 'min': identifier not found
E:\osg\osgSvnGit\OpenSceneGraph\src\osg\PrimitiveSet.cpp(372): error C2039: 'min' : is not a member of 'std'
E:\osg\osgSvnGit\OpenSceneGraph\src\osg\PrimitiveSet.cpp(372): error C3861: 'min': identifier not found
E:\osg\osgSvnGit\OpenSceneGraph\src\osg\PrimitiveSet.cpp(381): error C2039: 'min' : is not a member of 'std'
E:\osg\osgSvnGit\OpenSceneGraph\src\osg\PrimitiveSet.cpp(381): error C3861: 'min': identifier not found
E:\osg\osgSvnGit\OpenSceneGraph\src\osg\PrimitiveSet.cpp(436): error C2039: 'min' : is not a member of 'std'
E:\osg\osgSvnGit\OpenSceneGraph\src\osg\PrimitiveSet.cpp(436): error C3861: 'min': identifier not found

I suggest to replace std::min by osg::minimum, attached is a (zipped) modified version of src/osg/PrimitiveSet.cpp
applies to the git reposetory only (updated 1 Feb 2016 ae6bade641ee4d8436ef69e7a7a347be81195a47 )

"
2016-02-04 19:38:23 +00:00
Robert Osfield
dcadd69c5a Added releaseGLObjects(..) and resizeGLObjectBuffers(..) to osgShadow::ShadowTechnique's 2016-02-04 17:52:44 +00:00
Robert Osfield
5ff6fe7c68 Commented out debug message 2016-02-04 17:35:32 +00:00
Robert Osfield
d8d37e3da7 Added new Identifer, ValueMap and ValueStack class to build 2016-02-04 13:07:55 +00:00
Robert Osfield
041ab29d1f Added osg::Identifer, osg::ValueMap and osg::ValueStack classes to provide a general purpose means for storing and retrieving values from map or stack containers.
Typical use will be for storing and passing values between nodes during traversals.
2016-02-04 13:04:40 +00:00
Robert Osfield
90a0170d47 Fixed build with OSG_USE_REF_PTR_IMPLICIT_OUTPUT_CONVERSION set to OFF. 2016-01-29 11:54:17 +00:00
Robert Osfield
39b1f379dc Fixed check against Drawable::isCullingActive().
Removed old code intended to check the Geode parent of a Drawable to see if it's CullingActive is true as this was broken by the change osg::Drawable being derived from osg::Node rather than osg::Object.
2016-01-27 10:06:33 +00:00
Robert Osfield
4deca2d38b From Jannik Heller and Robert Osfield, introduced ReadResult/WriteResult::statusMessage() method that creates a std::string from the stutus value and message string. 2016-01-25 12:23:04 +00:00
OpenSceneGraph git mirror maintainer
72cc10e309 Merge pull request #51 from scrawl/occlusionqueryfix_osg
From Jannik Heller, "Check for presence of occlusion query extension"
2016-01-25 11:05:40 +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
a83b390d55 From Patrick Neary, "In ShaderComposer::getOrCreateProgram(), tesselation control and evaluation shaders are processed but not added to the shader program." 2016-01-25 10:25:15 +00:00
Robert Osfield
b141c0f63e Changed the prototype from NULL to osg::DummyObject to address a bug in reading .osgt + .osgx where an image is written out but fails to read the file causes subsequent parts of the file to be mis-read 2016-01-22 10:09:00 +00:00
Robert Osfield
5cb486f7c5 Added osg::MultiDrawArrays which wraps up glMultiDrawArrays extension. 2016-01-22 09:47:49 +00:00
Robert Osfield
2791d280ae From Sukender, "Collada writer fix : Fixed wrong handling of duplicate names in Collada writer.
The uniquify() method was not checking if the new name was actually in use or not.

Collada with rename option : Added an option to Collada writer, to rename uncommon IDs (geometries, materials...) to something more compatible (especially Google Earth).
Characters which may be interpreted as an URI are replaced with '_'. Useful if you want to ensure names having spaces or slashes to behave correctly. This may be undesired if original naming must be somewhat kept (hence making it an option)."
2016-01-21 12:40:11 +00:00
Robert Osfield
4de2fc120d Merge branch 'master' of https://github.com/openscenegraph/osg 2016-01-20 17:51:03 +00:00
Robert Osfield
8fc287c1b7 Added asUpdate/Cull/EventVisitor and asCamera/asDrawable to osg::Object and usage of these within the code base to avoid dynamic_cast<> usage. 2016-01-20 17:49:10 +00:00
Robert Osfield
1219a6d3bf Added more osg::Object::as*() methods and usage of these through the code base to avoid use of dynamic_cast<> when using UpdateVisitor/CullVisitor/EventVIisitor etc. 2016-01-20 15:13:19 +00:00
Robert Osfield
e5a7c353ae From Jannik Heller, "This submission fixes a typo in the new GLObjectManager
sheduleGLObjectForDeletion(GLuint globj);

should be

scheduleGLObjectForDeletion(GLuint globj)"
2016-01-19 14:49:56 +00:00
Robert Osfield
84c202f2ab From Jannik Heller, "removed a const_cast that wasn't necessary" 2016-01-19 14:16:58 +00:00
Robert Osfield
55a8f4abbc Renamed DrawableUpdate/Event/Cull callbacks to use new include/osg/Callback versions 2016-01-19 11:39:28 +00:00
Robert Osfield
3e92c1fc43 Added osg::Object::asStateSet() implementation and usage to avoid use of dynamic_cast<> 2016-01-18 20:05:20 +00:00
Robert Osfield
340615de55 Replaced dynamic_cast<*Callback> with as*Callback() implementation/usage. 2016-01-18 19:04:28 +00:00
Robert Osfield
7409820a8f Added Simplifier::requiresDownSampling()/requiresDownSamplingImplementation() to make it possible for the
Simplfifer::ContinueSimplificationCallback to be able to decide whether up or downsampling is required,
removing the previous hardwards reliance on getSampleRatio<1.0.
2016-01-18 11:50:07 +00:00
Robert Osfield
8882fb697e From Wojciech Lewandowski, Visual Studio 2008 compatibility fix
Two fixed files:

osgPlugins/osgjs/JSON_Objects
osgPlugins/stl/ReaderWriterSTL.cpp.

They did not compile with VS 2008 (recent master from Github). It looks like they defined stdint types  (missing in VS 2008) but code using them also included <osg/Types> header. Errors were caused by minor differences in signed int definitions. I just removed own definitions and added include<osg/Types> instead. It solves the problem and makes the code clearer now.
2015-12-14 17:59:45 +00:00
scrawl
9aba89c88d Check for presence of occlusion query extension 2015-12-06 18:20:41 +01:00
Robert Osfield
c7f32e11f2 From Jordi Torres, Fix for missing header file in distribution
osg/TriangleLinePointIndexFunctor was not being installed because it was not added to the CMakeLists.txt
2015-11-23 13:15:05 +00:00
Robert Osfield
a1cfb037f4 Added support for copying include/osgViewer/config headers on make install. 2015-11-23 11:45:01 +00:00
Robert Osfield
0401ab4ce7 Fixed warning message.
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@15178 16af8721-9629-0410-8352-f15c8da7e697
2015-11-09 15:13:51 +00:00
Robert Osfield
15f866a322 Addded setting of the Locator CoordinateSystemType
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@15177 16af8721-9629-0410-8352-f15c8da7e697
2015-11-09 15:10:50 +00:00
Robert Osfield
a4600e46f9 From Jannik Heller, fix typo of OSG_COMPILE_CONTEXTS.
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@15176 16af8721-9629-0410-8352-f15c8da7e697
2015-11-09 10:43:15 +00:00
Robert Osfield
1ad8ba358e From Mathias Froehlich, "Avoid per frame X11 roundtrips"
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@15173 16af8721-9629-0410-8352-f15c8da7e697
2015-11-05 14:38:04 +00:00
Robert Osfield
2e9c4b1aed Restructed the setting of the RenderStage ClearColor/ClearMask to make the code more readable and to avoid double setting of the ClearMask.
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@15171 16af8721-9629-0410-8352-f15c8da7e697
2015-10-26 11:41:48 +00:00
Robert Osfield
f893dc5ad1 From Alberto Luaces, "here are two minimal capitalization fixes for mingw cross-compilation, where case sensitivity matters."
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@15169 16af8721-9629-0410-8352-f15c8da7e697
2015-10-23 15:04:13 +00:00
Robert Osfield
85cdfff7a7 From Sebastian Messershmidt, "The uncommented pointer type QTimerEvent */*event*/ leads to a compiler error under visual studio 2010"
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@15167 16af8721-9629-0410-8352-f15c8da7e697
2015-10-23 11:07:21 +00:00
Robert Osfield
dd996a3289 Introduced CMake option OSG_PROVIDE_READFILE option that defaults to ON, but when switched to OFF disables the building of the osgDB::read*File() methods,
forcing users to use osgDB::readRef*File() methods.  The later is preferable as it closes a potential threading bug when using paging databases in conjunction
with the osgDB::Registry Object Cache.  This threading bug occurs when one thread gets an object from the Cache via an osgDB::read*File() call where only
a pointer to the object is passed back, so taking a reference to the object is delayed till it gets reassigned to a ref_ptr<>, but at the same time another
thread calls a flush of the Object Cache deleting this object as it's referenceCount is now zero.  Using osgDB::readREf*File() makes sure the a ref_ptr<> is
passed back and the referenceCount never goes to zero.

To ensure the OSG builds when OSG_PROVIDE_READFILE is to OFF the many cases of osgDB::read*File() usage had to be replaced with a ref_ptr<> osgDB::readRef*File()
usage.  The avoid this change causing lots of other client code to be rewritten to handle the use of ref_ptr<> in place of C pointer I introduced a serious of
templte methods in various class to adapt ref_ptr<> to the underly C pointer to be passed to old OSG API's, example of this is found in include/osg/Group:

    bool addChild(Node* child); // old method which can only be used with a Node*

    tempalte<class T> bool addChild(const osg::ref_ptr<T>& child) { return addChild(child.get()); } // adapter template method

These changes together cover 149 modified files, so it's a large submission. This extent of changes are warrent to make use of the Object Cache
and multi-threaded loaded more robust.



git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@15164 16af8721-9629-0410-8352-f15c8da7e697
2015-10-22 13:42:19 +00:00
Robert Osfield
572bb61a2d Added osg::flushAllDeletedGLObjects to clean up of graphics context after the existing osg::deleteAllGLObjects() to catch any cases where delete doesn't flush GL objects.
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@15150 16af8721-9629-0410-8352-f15c8da7e697
2015-10-08 15:58:24 +00:00
Robert Osfield
27962a73ee Introduced usage of OSG_INIT_SINGLETON_PROXY into DatabasePager::prototype() and Registry::instance(), removing the InitRegistry proxy object in src/osgViewer/ViewerBase.cpp.
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@15147 16af8721-9629-0410-8352-f15c8da7e697
2015-10-05 10:58:32 +00:00
Robert Osfield
ef6f2dbcfd Added fix for case when Renderer is assigned to a Camera that has now View
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@15141 16af8721-9629-0410-8352-f15c8da7e697
2015-09-25 11:15:04 +00:00
Robert Osfield
e878e53cab From Curtis Rubel, "I would like to submit the attached file for inclusion in future releases of
OpenSceneGraph and the OpenThreads library.

The changes in the file simply remove a few ifndef's that currently
do not allow Linux systems to fully utilize the PThread real-time
scheduling API.

Since Linux now fully supports the PThread scheduling API it would
be beneficial to have it available to use as necessary.  I have
been testing this change since OSG release 3.3.7 and have not seen
any ill affects.

The Priority scheduling api is further protected by another ifdef:

#ifdef ALLOW_PRIORITY_SCHEDULING

that only appears to be defined in the pthreads implementation as
well.  This would make it unlikely that anyone would be affected
by this unless they are intentionally wanting to run with priority
scheduling.  In which case on Linux they would need to make
these same modifications themselves to utilize it to its full extent.

Attached file is for the current trunk as of this date.
"


git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@15140 16af8721-9629-0410-8352-f15c8da7e697
2015-09-25 10:11:52 +00:00
Robert Osfield
7aae720636 Refactored the way that FrameStamp is managed in osgViewer::Renderer to avoid thread conflicts
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@15138 16af8721-9629-0410-8352-f15c8da7e697
2015-09-25 10:09:27 +00:00
Robert Osfield
f626d85c2b From John Hedström,"Texture2DArray support for the .osg serializer"
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@15136 16af8721-9629-0410-8352-f15c8da7e697
2015-09-24 14:14:37 +00:00
Robert Osfield
62764a56c5 Added support for serializing Camera::ImplicitBufferAttachmentRenderMask and ImplicitBufferAttachmentResolveMask properties.
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@15135 16af8721-9629-0410-8352-f15c8da7e697
2015-09-24 10:52:35 +00:00
Robert Osfield
57d0538f1e Quietened down debug messages
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@15134 16af8721-9629-0410-8352-f15c8da7e697
2015-09-24 10:48:57 +00:00
Robert Osfield
80e5338194 Fixed line endings.
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@15132 16af8721-9629-0410-8352-f15c8da7e697
2015-09-24 09:29:03 +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
cb3396b0e5 From Jannik Heller, "I've hit what I believe to be a bug (or at the very least, an unintuitive behaviour) in the osg::Geometry copy constructor. I noticed it when using osg::clone on a Geometry with vertex buffer objects, and the copy flags DEEP_COPY_ARRAYS. To be precise, I add a Geometry to an osgUtil::IncrementalCompileOperation, then osg::clone the Geometry. I was getting reports from users of random crashes happening.
I believe the offending lines are in the osg::Geometry copy constructor:

    if ((copyop.getCopyFlags() & osg::CopyOp::DEEP_COPY_ARRAYS))
    {
        if (_useVertexBufferObjects)
        {
            // copying of arrays doesn't set up buffer objects so we'll need to force
            // Geometry to assign these, we'll do this by switching off VBO's then renabling them.
            setUseVertexBufferObjects(false);
            setUseVertexBufferObjects(true);
        }
    }

Toggling the vertex buffer objects off then on again actually touches not only the arrays controlled by DEEP_COPY_ARRAYS, but also the PrimitiveSets which are controlled by DEEP_COPY_PRIMITIVES. This means if the user has copyflags of only DEEP_COPY_ARRAYS, we are modifying arrays that belong to the original const Geometry& we are copying from. I believe this shouldn't be allowed to happen because we are using a const& specifier for the original Geometry.

In my case the osgUtil::IncrementalCompileOperation was trying to compile the geometry, while in the main thread a clone operation toggled the VBO's off and on, a crash ensues.

In the attached patch, you will find a more efficient handling of VBO's in the osg::Geometry copy constructor, so that only the Arrays that were actually deep copied have their VBO assigned, and no changes are made to Arrays that already had a valid VBO assigned. In addition, the DEEP_COPY_PRIMITIVES flag is now honored so that VBO's are set up correctly should a user copy a Geometry with only that flag.
"



git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@15129 16af8721-9629-0410-8352-f15c8da7e697
2015-09-04 15:35:24 +00:00
Robert Osfield
aa96046632 From Julien Valentin, "Serializing custom geometry i ran into a crash due to a
setVertexAttribArrayList(array) with array containing NULL vertexAttrib.
I added a test in order to avoid it


Code:
void Geometry::setVertexAttribArrayList(const ArrayList& arrayList)
{
    _vertexAttribList = arrayList;

    dirtyDisplayList();

    if (_useVertexBufferObjects)
    {
        for(ArrayList::iterator itr = _vertexAttribList.begin();
            itr != _vertexAttribList.end();
            ++itr)
        {
if(itr->get())//ADDED
            addVertexBufferObjectIfRequired(itr->get());
        }
    }
}
"

and

"The bug i ran into is a crash reading osgt Geometry with null vertexattribs.
The only thing i added is a not nul check on array passed to setVertexAttribArrayList."

--------------------This line, and those below, will be ignored--

M    src/osg/Geometry.cpp


git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@15121 16af8721-9629-0410-8352-f15c8da7e697
2015-09-04 14:34:45 +00:00
Robert Osfield
0532c93c8c Corrected the Subload::generateTextureObject() return type to make it consistent with Texture::generateTextureObject(..)
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@15117 16af8721-9629-0410-8352-f15c8da7e697
2015-08-14 15:25:08 +00:00
Robert Osfield
051ee49098 Updated shaders from OpenSceneGraph-Data with refactor of workaround to NVidia driver bug
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@15110 16af8721-9629-0410-8352-f15c8da7e697
2015-08-12 10:18:09 +00:00
Robert Osfield
eba1cc6e4f Refactored workaround of NVidia nan lenght() bug.
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@15096 16af8721-9629-0410-8352-f15c8da7e697
2015-08-11 20:06:38 +00:00
Robert Osfield
41f284b678 Moved FIND_PACKAGE(Boost) to within the individual Find scripts that actually need it rather in the root CMakeLists.txt.
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@15093 16af8721-9629-0410-8352-f15c8da7e697
2015-08-11 08:43:40 +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
8ebe075722 Updated built-in shaders from OpenSceneGraph-Data vesion that introduce #pragma(tic) shaders that resolve the NVidia loop iteration bug.
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@15083 16af8721-9629-0410-8352-f15c8da7e697
2015-08-10 19:39:23 +00:00
Robert Osfield
a2013caa47 Quietened down #pragma(tic) shader composition messages
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@15079 16af8721-9629-0410-8352-f15c8da7e697
2015-08-10 19:18:54 +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
8ab27a20d2 Build fix for VS and installing Types
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@15077 16af8721-9629-0410-8352-f15c8da7e697
2015-08-10 05:04:56 +00:00
Robert Osfield
7aa2c7c10f Changed GLint64 and GLuint64 setup to use int64_t and uint64_t resptectivly respectively to avoid issues with compiling against Qt5
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@15071 16af8721-9629-0410-8352-f15c8da7e697
2015-08-09 09:42:31 +00:00
Robert Osfield
583801179e Added #ifdef guards around SGIX specific parts to avoid build problems with GLES
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@15069 16af8721-9629-0410-8352-f15c8da7e697
2015-08-09 09:07:05 +00:00
Robert Osfield
fde838b029 From Glenn Waldron, fix error in ZIP plugin handling of memory buffer
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@15067 16af8721-9629-0410-8352-f15c8da7e697
2015-08-08 08:49:42 +00:00
Robert Osfield
cd09242520 Added checks for the validity of chached coordinate arrays.
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@15060 16af8721-9629-0410-8352-f15c8da7e697
2015-08-06 15:03:05 +00:00
Robert Osfield
d205919881 Updated shaders from OpenSceneGraph-Data.
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@15059 16af8721-9629-0410-8352-f15c8da7e697
2015-08-06 10:09:29 +00:00
Robert Osfield
687e77ddc9 From Andy Skinner, "Someone was using our code on a system that does not seem to have the SGIX symbols used in osgViewer.cpp.
I used osgSetGLExtensionsFuncPtr to remove the symbols.  I don't know how to test this path, but it did remove the symbols from libosgViewer.so.  I have also not been able yet to see if that was sufficient for our customer.

 

I did this by looking at other cases, and I tried to follow some of the same practices in PixelBufferX11, like using _useSGIX in a similar way to the previous _useGLX1_3."


git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@15041 16af8721-9629-0410-8352-f15c8da7e697
2015-08-03 19:14:09 +00:00
Robert Osfield
42884e7600 From Jannik Heller, "Here is a patch for the S3TC capability check.
On a Intel HD graphics Linux system with Mesa 10.1.3, I found that osg's Extensions::isTextureCompressionS3TCSupported() returned false, even though S3TC compressed textures *are* in fact working. I tested this by loading and rendering various DXT1, DXT3 and DXT5 compressed textures in the OSG.

"glxinfo | grep s3tc" gives:
    GL_S3_s3tc

Note, if I install the package "libtxc-dxtn-s2tc0", I get in addition:

glxinfo | grep s3tc
    GL_EXT_texture_compression_s3tc
    GL_S3_s3tc

However, S3TC compressed textures worked correctly within the OSG even without libtxc-dxtn-s2tc0 installed.

I'm not sure what the differences between these extensions are, but based on the description at https://www.opengl.org/registry/specs/S3/s3tc.txt I would assume that both will work for OSG's purposes. The attached patch changes isTextureCompressionS3TCSupported() to accept either extension."


git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@15035 16af8721-9629-0410-8352-f15c8da7e697
2015-07-31 13:44:39 +00:00
Robert Osfield
1fe7aa056b From Kristofer Tingdahl, warning fixes.
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@15030 16af8721-9629-0410-8352-f15c8da7e697
2015-07-31 10:54:13 +00:00
Robert Osfield
d6828651d0 Compile fix for Mingw.
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@15029 16af8721-9629-0410-8352-f15c8da7e697
2015-07-31 10:27:11 +00:00
Robert Osfield
0dd625f17e Added explicit initialization of osg::Referenced(true) to osg::Operation subclasses as it uses virtual inhertiance from osg::Referenced.
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@15025 16af8721-9629-0410-8352-f15c8da7e697
2015-07-23 15:46:47 +00:00
Robert Osfield
f5ef9486bb Merged VS2013 warning fixes from OSG-3.4 branch
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@15020 16af8721-9629-0410-8352-f15c8da7e697
2015-07-23 14:31:05 +00:00
Robert Osfield
2208303496 Warning fixes for Clang-3.6
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@15016 16af8721-9629-0410-8352-f15c8da7e697
2015-07-23 11:11:58 +00:00
Robert Osfield
71c6d27b57 Added missing handling of lightnumber and associate lights
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@15015 16af8721-9629-0410-8352-f15c8da7e697
2015-07-23 09:23:42 +00:00
Robert Osfield
b90bbdaebf Changed the GL_HEADER_HAS_GLINT64 and GL_HEADER_HAS_GLUINT64 to use cmakedefine to improve handling of when cmake doesn't find GLint64 and GLuint64.
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@15013 16af8721-9629-0410-8352-f15c8da7e697
2015-07-23 07:39:12 +00:00
Robert Osfield
000c9af7c2 Added CMake test for presence of GLuint64 and GLint64 in OpenGL/GLES headers to better handle when/where GL defines the 64 bit typedefs
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@15001 16af8721-9629-0410-8352-f15c8da7e697
2015-07-22 13:49:14 +00:00
Robert Osfield
7c4b5febcb Added check for validity of OpenFlight shininess value.
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14998 16af8721-9629-0410-8352-f15c8da7e697
2015-07-21 14:21:49 +00:00
Robert Osfield
492ac89613 Reduced debug message verbosity.
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14993 16af8721-9629-0410-8352-f15c8da7e697
2015-07-20 13:23:07 +00:00
Robert Osfield
13a5608975 Changed the _MSC_VER check to <= 1700 to support VS2012.
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14989 16af8721-9629-0410-8352-f15c8da7e697
2015-07-20 07:42:05 +00:00
Robert Osfield
0d120d208b Reinstated the TIFFSetField(image, TIFFTAG_ROWSPERSTRIP, rowsperstrip);
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14985 16af8721-9629-0410-8352-f15c8da7e697
2015-07-19 09:51:01 +00:00
Robert Osfield
67fb0b3530 From Patrick Neary, "To the tiff plugin, add the capability to write tiff images with unsigned short data"
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14969 16af8721-9629-0410-8352-f15c8da7e697
2015-07-17 08:12:38 +00:00
Robert Osfield
7a94ce8585 From Patrick Neary, "Added some lesser used tokens that we use from GL_ARB_texture_rg to computeFormatDataType(), and computeNumComponents() in src/osg/Image.cpp"
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14967 16af8721-9629-0410-8352-f15c8da7e697
2015-07-16 19:17:01 +00:00
Robert Osfield
0f918ee5c9 From Cory Slep and Robert Osfield, "When using Open Scene Graph and Qt on Android, the resulting thread that an application developer’s Q*Application is run on is different than what Qt considers the “main” thread, which can cause subtle problems. This is because Qt loads native libraries in one thread, and later runs the application in a different thread. They delay running in the second thread as long as possible as they have a nontrivial bootstrapping process. The motivation for Qt having this second thread is to allow them to remain responsive to both Java and native events, and capture events that would otherwise be “missed”.
This gives arise to the requirement that a static initialization of a QObject cannot occur for the Android platform, as Qt incorrectly considers that first thread the “main” one before a client application has even begun executing in its second thread.

 

The HeartBeat in GraphicsWindowQt.cpp is a QObject static global initialized at load time, causing the above issue. This changeset changes it to be a singleton that is constructed upon first access to its “instance” method.

 

I have:

- added the static method “instance”,

- moved its constructor to be private, and

- changed the one place it is accessed to access it through the “instance” method.

"

Changes by Robert are to adopt QPointer<HeartBeat> rather than use a C pointer to ensure that the HeartBeat object will be cleaned up automatically rather than leaked.



git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14963 16af8721-9629-0410-8352-f15c8da7e697
2015-07-16 15:49:32 +00:00
Robert Osfield
b908ced20c Added check to catch cases where the backdrop coordinate cache is too small for the number of contexts being computed.
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14961 16af8721-9629-0410-8352-f15c8da7e697
2015-07-16 11:01:35 +00:00
Robert Osfield
229477c35c Added initializers and reverted OSX workaround from 2013.
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14959 16af8721-9629-0410-8352-f15c8da7e697
2015-07-15 10:00:55 +00:00
Robert Osfield
423105c299 Added _defineList into the osg::StateSet::compare() implementation to address issues with osgUtil::Optimizer ignoring defines.
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14948 16af8721-9629-0410-8352-f15c8da7e697
2015-07-14 08:25:17 +00:00
Robert Osfield
c4fdc93053 Added Text::GlyphQuads::release/resizeGLObjects() and handling of inconsistent contextID sizes to avoid crashes when viewers and scene graphs aren't initialized correctly to the right number of contexts.
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14947 16af8721-9629-0410-8352-f15c8da7e697
2015-07-13 16:09:45 +00:00
Robert Osfield
e94c3334f9 Standardize the call to setUpThreading() in CompositeViewer/Viewer::realize().
Standardize the call to scene->resizeGLObjects().


git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14944 16af8721-9629-0410-8352-f15c8da7e697
2015-07-13 16:03:51 +00:00
Robert Osfield
98ebacdcbb Fixed repeated name in SETUP_PLUGIN.
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14936 16af8721-9629-0410-8352-f15c8da7e697
2015-07-02 11:58:49 +00:00
Robert Osfield
f0ac1a16f9 Build fix
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14934 16af8721-9629-0410-8352-f15c8da7e697
2015-07-02 08:57:08 +00:00
Robert Osfield
74ddaeaf50 From Mathias Froehlich, added seriliazers for new osg::ClipControl
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14930 16af8721-9629-0410-8352-f15c8da7e697
2015-07-01 05:10:20 +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
5cd478e4bb Quitened down debug for ViewConfig argument parsing
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14927 16af8721-9629-0410-8352-f15c8da7e697
2015-06-30 08:39:33 +00:00
Robert Osfield
d3baf9d311 Build fix for GLDAL>=2
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14925 16af8721-9629-0410-8352-f15c8da7e697
2015-06-30 08:38:01 +00:00
Robert Osfield
b5a3a58076 From Jannik Heller, fixed clearReferencesToDependentCameras() calls
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14922 16af8721-9629-0410-8352-f15c8da7e697
2015-06-19 09:51:30 +00:00
Robert Osfield
3bcfad833c Fixed handling of use GLObjectsVisitor for modifying scene graph state without compiling to OpenGL so that the visitor can be run safely without a graphics context being current.
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14921 16af8721-9629-0410-8352-f15c8da7e697
2015-06-17 16:25:47 +00:00
Robert Osfield
6f00eb2548 Small tidy up to make script more readable.
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14920 16af8721-9629-0410-8352-f15c8da7e697
2015-06-16 17:18:11 +00:00
Robert Osfield
4ec0e76c0b Added QT_QTCORE_INCLUDE_DIR entry to qfont plugin build to fix Qt4 build under Linux
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14919 16af8721-9629-0410-8352-f15c8da7e697
2015-06-16 17:17:50 +00:00
Robert Osfield
1e0d682979 From Jannik Heller, "I've added the check for Qt version mismatches into osgQt as suggested in http://forum.openscenegraph.org/viewtopic.php?t=14999.
When an application is built with Qt4, but osgQt was built with Qt5 (or vice versa), upon #includeing osgQt users will receive an #error aborting the build.

This at least provides a proper error message rather than a crash, while we are working on better fixes for the problem."


git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14918 16af8721-9629-0410-8352-f15c8da7e697
2015-06-15 19:59:01 +00:00
Robert Osfield
1e78098967 From Farshid Lashkari, "I've modified some setter methods of TextBase to avoid unnecessary calls to computeGlyphRepresentation() if the value has not changed."
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14912 16af8721-9629-0410-8352-f15c8da7e697
2015-06-12 08:04:42 +00:00
Robert Osfield
e76c91ed78 From Colin McDonald, "An earlier fix in OSG 3.2 has been inadvertently lost in 3.3.x. The glGenerateMipMap function is part of the GL_EXT_framebuffer_object extension. Just checking if the function is present before using it for texture mipmaps is not sufficient, as on remote X-windows displays the client side capability may be different from the display server. This can lead to mipmapped textures failing to render. I've restored a fbo extension check. I've also tided up the GL version checking a little."
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14907 16af8721-9629-0410-8352-f15c8da7e697
2015-06-10 16:47:15 +00:00
Robert Osfield
d2e0081690 From Philippe Renon, "Fixed potential divide by zero in NodeTrackerManipulator : The divide by zero happens when throwing a NodeTrackerManipulator.
The infinite result trickles down and later causes NaN in culling.

The fix was to use getThrowScale() as done everywhere else."


git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14905 16af8721-9629-0410-8352-f15c8da7e697
2015-06-10 10:00:27 +00:00
Robert Osfield
11a55ea6de Added supoort for osg::CullSettings/Camera::InheritanceMaskActionOnAttributeSetting and InheritanceMask properties.
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14904 16af8721-9629-0410-8352-f15c8da7e697
2015-06-09 16:49:20 +00:00
Robert Osfield
7e05d2fd54 Introduce osg::Object::asNode(), asNodeVisitor(), asStateAttribute() and asUniform() to replace dynamic_cast<> usage in Callback.cpp.
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14902 16af8721-9629-0410-8352-f15c8da7e697
2015-06-09 10:49:34 +00:00
Robert Osfield
4073910ce8 From Mike Connell, "Give ReadFileCallback access to parent location : These small changes to the database pager allow user code in the ReadFileCallback to safely determine where the file being loaded is destined to be inserted into the scenegraph.
"


git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14899 16af8721-9629-0410-8352-f15c8da7e697
2015-06-08 11:18:24 +00:00
Robert Osfield
ceabbdb8d9 Addressed race condition where SceneView::setLightingMode() was setting a shread Master Camera's StateSet.
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14898 16af8721-9629-0410-8352-f15c8da7e697
2015-06-08 10:20:53 +00:00
Robert Osfield
f7f1487fca Fixed setReferenceTime() bug where a * eather than the correct / was being used. Bug and fix suggested Benjamin Richter.
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14896 16af8721-9629-0410-8352-f15c8da7e697
2015-06-07 11:13:02 +00:00
Robert Osfield
32b60cd2d7 From Jannik Heller, Transform::computeBound() optimization.
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14894 16af8721-9629-0410-8352-f15c8da7e697
2015-06-04 09:13:05 +00:00
Robert Osfield
fd46645ade From KOS, "New classes for osgAnimation presented: UpdateFloatUniform, UpdateVec3fUniform and UpdateMatrixfUniform (based on UpdateUniform template)
Classes operate like osgAnimation::UpdateMaterial for Material's diffuse component, but change Uniform."


git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14890 16af8721-9629-0410-8352-f15c8da7e697
2015-06-03 09:14:35 +00:00
Robert Osfield
e7244e654a Build fix for when Uniform::Callback isn't defined
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14887 16af8721-9629-0410-8352-f15c8da7e697
2015-06-03 08:38:18 +00:00
Robert Osfield
da73723949 From Konstantin Matveyev, serializer support for UniformCallback
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14886 16af8721-9629-0410-8352-f15c8da7e697
2015-06-02 10:25:13 +00:00
Robert Osfield
e3f0876e87 From Konstantin Matveyev, "I've changed osg::Uniform::Callback to osg::UniformCallback.
osg::UniformCallback inherits osg::Callback now.

I don't really now if this class should be inside osgWrappers/serializers
because StateAttributeCallback is not presented there, but i've included it in the patch.


Please see archive in the attachment.


PS
DEEP_COPY_UNIFORMS works for me.
"
Note from Robert Osfield, added typedef UniformCallback Callback for backwards compatibility.



git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14885 16af8721-9629-0410-8352-f15c8da7e697
2015-06-02 09:33:22 +00:00
Robert Osfield
ba9dfb2ff6 From Albert Luaces, typo fixes.
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14883 16af8721-9629-0410-8352-f15c8da7e697
2015-06-01 13:40:20 +00:00
Robert Osfield
d14a602a59 From Jannik Heller, typo fixes
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14882 16af8721-9629-0410-8352-f15c8da7e697
2015-06-01 13:11:49 +00:00
Robert Osfield
e0028bef6e From Jannik Heller, "This patch adds a missing initialization of osgParticle::ParticleProcessor::_frameNumber in the copy constructor.
I noticed this because valgrind was complaining about use of uninitialized memory."


git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14881 16af8721-9629-0410-8352-f15c8da7e697
2015-06-01 12:14:53 +00:00
Robert Osfield
120bf699b2 From Frashud Lashkari, "I was getting "Unsupported wrapper class..." error messages when attempting to load osgb models simultaneously from multiple threads. I believe the problem is caused by un-synchronized access to the global osgDB::ObjectWrapperManager class. I've attached a change that adds a mutex to the class and uses it when accessing the internal wrapper/compress maps. This appears to fix the issues I was having."
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14880 16af8721-9629-0410-8352-f15c8da7e697
2015-06-01 12:07:04 +00:00
Robert Osfield
78a01ce2a5 From Jannik Heller, "I have added new functions Texture::generateAndAssignTextureObject mirroring the Texture::generateTextureObject functions.
I have left the Texture::generateTextureObject functions intact as I'm not sure if/how it's used outside the core OSG. If you feel that compatibility isn't important in that area feel free to drop it.

While testing the build with OSG_USE_REF_PTR_IMPLICIT_OUTPUT_CONVERSION=OFF I found a compile error in GlyphGeometry.cpp that was entirely unrelated to the changes I've made. The fix is included in the patch.

There is one thing left to fix and that is Texture2D::SubloadCallback:

        class OSG_EXPORT SubloadCallback : public Referenced
        {
            public:
                ....
                virtual TextureObject* generateTextureObject(const Texture2D& texture, State& state) const
                {
                    return osg::Texture::generateTextureObject(&texture, state.getContextID(), GL_TEXTURE_2D);
                }
                ...
         }"
         


git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14879 16af8721-9629-0410-8352-f15c8da7e697
2015-06-01 10:50:44 +00:00
Robert Osfield
44c406e167 From Jannik Heller, build fix
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14878 16af8721-9629-0410-8352-f15c8da7e697
2015-06-01 10:41:43 +00:00
Robert Osfield
f72b62a065 From Jannik Heller, fix for race condition in orphanded BufferObject handling.
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14877 16af8721-9629-0410-8352-f15c8da7e697
2015-05-29 07:52:27 +00:00
Robert Osfield
4f423ff66b From Colin McDonald, "rc/osgUtl/MeshOptimizers.cpp won't compile on some systems due to a missing std:: namespace prefix."
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14876 16af8721-9629-0410-8352-f15c8da7e697
2015-05-26 17:24:48 +00:00
Robert Osfield
906bb27fa0 From Farshid Lashkari, "attached a small change to osgUtil::SceneView that prevents unnecessary calls to glClear when the split stereo separation is 0."
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14875 16af8721-9629-0410-8352-f15c8da7e697
2015-05-26 17:22:05 +00:00
Robert Osfield
0f35f31d72 From Thomas Hogarth, "Little fix for ClassInterface::getSupportedProperties, before if you set searchAssociates to false then it would return the same BaseSerialiser::Type for every entry in the PropertyMap as i was not being incremented on line 539. Fix attached."
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14874 16af8721-9629-0410-8352-f15c8da7e697
2015-05-26 17:17:26 +00:00
Robert Osfield
ddda9a6a0d From We See, "I found a small bug in osgUtil::RenderStage::draw() (osg 3.3.7), which crashes osg. The problem was caused by an access to the object _camera without checking whether the object is valid. So I changed the line:
Code:
if (_cameraRequiresSetUp || (_cameraAttachmentMapModifiedCount!=_camera->getAttachmentMapModifiedCount()))

to

Code:
if (_cameraRequiresSetUp || (_camera.valid() && _cameraAttachmentMapModifiedCount!=_camera->getAttachmentMapModifiedCount()))
"


git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14873 16af8721-9629-0410-8352-f15c8da7e697
2015-05-26 17:12:05 +00:00
Robert Osfield
01e87939a4 From Farshid Lashkari and Robert Osfield, "a small change to the CullVisitor class, which will use cloneType() on the root render stage when creating children render stages. This allows us to pass a custom RenderStage object to the SceneView and have it used for all sub-stages."
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14872 16af8721-9629-0410-8352-f15c8da7e697
2015-05-26 17:09:25 +00:00
Robert Osfield
820166b49d Rewrote the Text3D bevel implementation to automatically adjust bevel thickness to avoid overalapping and erronous tesselation.
Added osgText::Bevel::s/getRoundedConcaveJunctions(bool) to control how the bevel should be tessellated around concave junctions on the glyph boundary.


git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14871 16af8721-9629-0410-8352-f15c8da7e697
2015-05-26 10:05:47 +00:00
Robert Osfield
05841d7c00 Added use of ref_ptr<>
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14870 16af8721-9629-0410-8352-f15c8da7e697
2015-05-26 08:48:33 +00:00
Robert Osfield
95a507299b Changed the EventQueue::frame() event generation to use the generatePointerData/reprojectPointerData() methods in the same way that other events are handled.
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14869 16af8721-9629-0410-8352-f15c8da7e697
2015-05-25 12:39:18 +00:00
Robert Osfield
d5b615a4e1 Added osgGA::GUIEventAdapter* returns from various EventQueue event generation methods.
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14868 16af8721-9629-0410-8352-f15c8da7e697
2015-05-25 11:33:04 +00:00
Robert Osfield
2e11113072 Fixed memory error associated with reading over the end of container due to an unbounded while loop.
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14866 16af8721-9629-0410-8352-f15c8da7e697
2015-05-21 14:11:32 +00:00
Robert Osfield
eb5791e5e2 From Dmitriy Ogalcev, fix for crash when calling setCursor from a non GUI thread
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14861 16af8721-9629-0410-8352-f15c8da7e697
2015-04-30 13:59:24 +00:00
Robert Osfield
8962838e6a Replaced attempt at passing NULL Matrix with two specialized methods.
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14860 16af8721-9629-0410-8352-f15c8da7e697
2015-04-28 16:12:57 +00:00
Robert Osfield
e52b95e084 Renamed LineSegment::intersect(BoundingSphere/Box, double/float&, double/float&) methods to LineSegment::intersectAndComputeRations(..) to avoid confusion with the change in convention for
the old intersect(BoundingBox&, float/double&, float/double&) method as it was inconsitent with the rest of the OSG including the intersect(BoundingSphere) method in how the ratio for the
second intersection was measure from - original from the end point, but now made consistent with other places in the OSG so be based on ration from start to end of segment.


git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14859 16af8721-9629-0410-8352-f15c8da7e697
2015-04-27 19:31:13 +00:00
Robert Osfield
5be2e05b18 Refactoring GlyphGeometry Boundary class to facilate better bevel overlap detection
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14858 16af8721-9629-0410-8352-f15c8da7e697
2015-04-23 14:44:06 +00:00
Robert Osfield
7d66324e5d Removed unused method
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14856 16af8721-9629-0410-8352-f15c8da7e697
2015-04-23 09:49:16 +00:00
Robert Osfield
2b1abf1937 From Giampaolo Vigano, "please find attached a further fix for 3ds plugin: now reflection map works also with transparent objects (I also removed a redundant setting of BlendFunc)."
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14855 16af8721-9629-0410-8352-f15c8da7e697
2015-04-22 14:25:34 +00:00
Robert Osfield
5237185e8c From Chris Denham, "I found a couple of memory leaks in 3DS reader plugin and I have attached corrected files. I have attached an example 3DS file I used to test the leaks/fixes using osgviewer for trunk at rev [14853] and the tagged version 3.2.1.
The first leak is in the lib3ds module (yeah, I know that probably should be corrected at http://code.google.com/p/lib3ds/ but I'm assuming that as no commits have happened there since 2011 that it may be better to fix the copy we have in the OSG of that project) The leak is caused by lib3d's use of realloc(ptr, 0) to free up memory allocations, but realloc, when ptr==NULL returns malloc(0) rather than NULL and thus leaks a zero byte allocation. The solution here was to adjust the 'lib3ds_util_reserve_array' function so that it realloc is not used to release a NULL pointer.

The second leak is in ReaderWriter3DS.cpp and arises when any of the created StateSet objects added to the StateSetMap don't subsequently get applied to a Node. The solution here was just to simply use the osg::ref_ptr around the raw StateSet pointer that was used in the locally defined StateSetInfo struct."



git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14854 16af8721-9629-0410-8352-f15c8da7e697
2015-04-21 17:29:15 +00:00
Robert Osfield
54b389a18a Build fix
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14849 16af8721-9629-0410-8352-f15c8da7e697
2015-04-20 10:19:04 +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
3bc1102f11 Fixed CollectParentPaths visitor so that it sets the setNodeMaskOverride(0xffffffff) to make sure all parents are traversed to find parents, even ones that have their NodeMask set to 0x0.
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14843 16af8721-9629-0410-8352-f15c8da7e697
2015-04-17 13:24:44 +00:00
Robert Osfield
3a2380932f Changed MSVC version test to <= to enable fallback for VS2010.
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14841 16af8721-9629-0410-8352-f15c8da7e697
2015-04-16 11:19:50 +00:00
Robert Osfield
c61c3d5500 Fixed crash when AntiSquish node is the root of the scene graph.
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14840 16af8721-9629-0410-8352-f15c8da7e697
2015-04-16 10:07:23 +00:00
Robert Osfield
eb893eba75 Added missing const to find VS2005 build
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14836 16af8721-9629-0410-8352-f15c8da7e697
2015-04-15 17:12:52 +00:00
Robert Osfield
1909de938a Added check for changes to window size during GraphicsWindowWin32::init() to fix bug that occurs when the window manage resizes the window automatically on creation.
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14835 16af8721-9629-0410-8352-f15c8da7e697
2015-04-14 18:16:32 +00:00
Robert Osfield
3add98180c From Philippe Renon, MingW build fix
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14834 16af8721-9629-0410-8352-f15c8da7e697
2015-04-14 15:50:51 +00:00
Robert Osfield
87122ca369 Fixed typo of SEPARATE enums
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14833 16af8721-9629-0410-8352-f15c8da7e697
2015-04-13 11:48:28 +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
166c49eedd From Konstantin Matveyev, "I've added GLES3 profile, which also enables GLES2 features (OSG_GLES3_AVAILABLE=true => OSG_GLES2_AVAILABLE=true).
If OSG_OPENGL_PROFILE="GLES3" =>
GraphicsWindowIOS will create gles3 context.
If failed, GraphicsWindowIOS will create gles2 context.
Multisampling also working.

"


git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14831 16af8721-9629-0410-8352-f15c8da7e697
2015-04-13 10:11:32 +00:00
Robert Osfield
a711fdba36 From Laurens Voerman, I have modified the FindOpenEXR.cmake to find the debug libraries, and to define a variable
(OPENEXR_LIBRARIES_VARS) with the variable names that might have a _DEBUG version defined.


git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14830 16af8721-9629-0410-8352-f15c8da7e697
2015-04-13 09:50:27 +00:00
Robert Osfield
16b19a0c30 Refactored AntiSquish::computeUnSquishedMatrix() method to use the parent node path of the AntiSquish node
to compute the required matrix rather than using the NodePath provided by the NodeVistor. This is required
as in osg::computeLocalToWorld() usage case the NodeVisitor pointer is NULL, so the correct matrix isn't possible to compute.



git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14828 16af8721-9629-0410-8352-f15c8da7e697
2015-04-09 18:42:08 +00:00
Robert Osfield
70b5297575 From Jannik Heller, typo fixes
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14826 16af8721-9629-0410-8352-f15c8da7e697
2015-04-07 18:01:12 +00:00
Robert Osfield
ab2fc1be76 From Giampaolo Viganò, "you can find in the attached ZIP archive a fix for 3ds plugin transparent/diffuse textures and opacity maps and the support for reflection map"
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14825 16af8721-9629-0410-8352-f15c8da7e697
2015-04-07 16:58:31 +00:00
Robert Osfield
6cff8650f2 Cleaned up handling of Drawables so it utilizes the Node inheritance properly.
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14822 16af8721-9629-0410-8352-f15c8da7e697
2015-04-07 15:49:06 +00:00
Robert Osfield
814693ffc1 Build fix for VS2005.
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14821 16af8721-9629-0410-8352-f15c8da7e697
2015-04-03 15:43:34 +00:00
Robert Osfield
c753dbc3e6 Added automatic rotation of jpeg image based on EXIF rotation information provided in the header.
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14819 16af8721-9629-0410-8352-f15c8da7e697
2015-04-03 13:29:31 +00:00
Robert Osfield
40a7f903ec Implemented an osg::createImageWithOrientationConversion(...) method to aid for changing orientation of images.
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14818 16af8721-9629-0410-8352-f15c8da7e697
2015-04-03 13:19:32 +00:00