Commit Graph

2384 Commits

Author SHA1 Message Date
Julien Valentin
3537460b0e Add arguments, command line usage and use DrawElementsUInt for classic case 2017-07-31 03:10:19 +02:00
Julien Valentin
aac146c7bc correct a bug and make it more conservative 2017-07-31 02:43:50 +02:00
Julien Valentin
d810d4a4c0 add a very simple example for mdi with basevertex 2017-07-30 10:28:56 +02:00
mp3butcher
a45c4c8f39 set DIBO of the drawcommandarray directly in their interface constructor
it makes osggpu use case lighter + drawcommandarray can't exist without a BO
2017-07-27 12:27:55 +02:00
mp3butcher
104b2dfc72 Promote PrimitiveSetIndirect's VBO to a target explicited DIBO (in order to benefit from BOSet queue management) 2017-07-27 12:13:05 +02:00
mp3butcher
f27c379b1e some renaming and harmonisations with osg metamodel convention 2017-07-26 23:36:55 +02:00
mp3butcher
5be14bc2ba first commit for Indirect Draw integration in osg
users will have to implement interfaces for their custom drawcommandarrays
add a lot of new primitive set + few defines
integration is made in osggpucull
2017-07-26 21:20:28 +02:00
Michael Kapelko
f992ec1440 Add osgemscripten example 2017-06-22 09:44:06 +07:00
blobfish
69e1df6b65 examples: osgkeyboardmouse: add primitive index to LineSegmentIntersector output 2017-06-04 17:29:57 -04:00
Robert Osfield
502acc19c9 Build fix 2017-05-25 09:54:11 +01:00
Robert Osfield
8c54a49319 Replaced deprecated API usage 2017-05-24 19:39:36 +01:00
Robert Osfield
6d46a35900 Aded --dim-mask mask and --dm mask command line option for setting the PolytopeIntersector::setDimensionsMask(). 2017-05-24 18:36:31 +01:00
Robert Osfield
9738d19343 Build fix. 2017-05-11 16:27:20 +01:00
Robert Osfield
a74b4b94a9 Fixes/clean up of KdTree/LineSegmentIntersector/PolytopeIntersector 2017-05-11 15:29:31 +01:00
Robert Osfield
6e1866ac18 Added --points and --lines command line options that do a very simplistic conversion of geometry primitives to points or lines respectively, used to aid testing of intersectors 2017-05-11 15:29:31 +01:00
Robert Osfield
03f73d3aad Added --double and --float command line options to enable toggling between double and float precision in intersectors 2017-05-11 15:29:31 +01:00
Robert Osfield
40ca018e66 Introduced use of TempaltePrimitiveFunctor and TempaltePrimitiveIndexFunctor as a test of these template classes 2017-05-11 15:29:31 +01:00
Robert Osfield
c9545970ac Removed redudent bool parameter from TriangleFunctor::operator(Vec3, Vec3, Vec3, bool) so it's now simply TriangleFunctor::operator(Vec3, Vec3, Vec3) as the bool was always false in recently OSG versions. 2017-05-11 15:25:10 +01:00
Robert Osfield
a7d98f80dc Added ability to pass in command line arguments to the osgkeyboardmouse viewer constructor 2017-05-11 15:25:10 +01:00
Robert Osfield
e09dfb93f1 Added group intersection test that covers the window with 10000 tests, activated by pressing 'a'. I have added this to provide a reproducable intersection test for benchmarking. 2017-05-11 15:25:10 +01:00
Robert Osfield
0a651fef7c Added support for outputting the model, filename defaults to model.osgt, to override this use -o filename on command line, and to write the file press 'o' key. 2017-05-11 15:25:10 +01:00
Robert Osfield
b77301350b Added --kdtree command line option and associated invocation of KdTreeBuilder to enable benchmarking.
Added timing stats code.
2017-05-11 15:25:10 +01:00
Robert Osfield
728a7f2225 Merge branch 'MultiViewAutoTransform' 2017-05-11 14:35:50 +01:00
OpenSceneGraph git repository
78d232edaf Merge pull request #254 from tomhog/topic-gles3-ios
Topic gles3 ios
2017-05-10 11:13:11 +01:00
Chris White
1f05290982 Added clarifying comments in examples/osggeometry
Per reviewer feedback
2017-05-09 15:51:24 -04:00
Chris White
6df273a865 Turned off lighting in examples/osggeometry
This way you can see the image and the points even if you view them
close to edge-on.
2017-05-09 15:51:24 -04:00
Robert Osfield
8b2f61ec2a Addeed support for GLES shaders 2017-05-08 12:27:07 +01:00
Thomas Hogarth
2ce5238cf7 Added more plugins to iOS example, Textures now working on GLES3 (missed so if defineds) 2017-05-04 18:17:30 +01:00
Thomas Hogarth
fe0b53d7f5 Added more plugins and texture shader to iOS example, fixed a couple of missed if defines for GLES3 2017-05-04 00:24:46 +01:00
Robert Osfield
c5b22f341a Added ability to create windows for each view using -w command line hint. 2017-04-26 09:48:08 +01:00
Robert Osfield
3869714005 Added multiple view support to osgautotransform for testing multi-views 2017-04-25 20:26:26 +01:00
jamie robertson
f16167c3e8 osgbindlesstext example fix : needed to add "viewer.realize()" before the line "viewer.getCamera()->getGraphicsContext()" in order to get a valid graphics context, before viewer.run() is called. 2017-04-07 07:15:30 +01:00
Robert Osfield
43891d6cc1 Removed unneccessary EXT usage 2017-04-07 07:11:57 +01:00
Jamie Robertson
0e69fe6bc6 VS build fix 2017-04-07 07:09:24 +01:00
Konstantin Matveyev
0f04d2f032 Added dynamic update of Text3D test 2017-04-06 10:51:47 +01:00
Robert Osfield
b76e031b30 Experiment with transmitting large UDP massages 2017-03-30 18:21:02 +01:00
Robert Osfield
ad0434c415 Added --ifr-name name command line option to enable the broacaster to customize the ifreq.ifr_name 2017-03-30 17:02:37 +01:00
Robert Osfield
a6baf00956 Reordered command line parsing and replace throw with cout. 2017-03-30 13:21:05 +01:00
Robert Osfield
e2d4ebbe55 Build fixes 2017-03-30 12:55:58 +01:00
Robert Osfield
a292d99308 Build fix 2017-03-30 12:45:25 +01:00
Robert Osfield
80a13f1ac7 Added --address and --port command line parameters to osgoscdevice example 2017-03-30 12:20:45 +01:00
Robert Osfield
eb59590d77 Added handling of large shapes 2017-03-28 18:29:26 +01:00
Robert Osfield
9a786fd8be build fix 2017-03-28 18:03:16 +01:00
Robert Osfield
1691639d17 Fixed build 2017-03-28 17:45:54 +01:00
Robert Osfield
0b844bc72b Added StateSetManipulator to assist with QA. 2017-03-28 16:15:57 +01:00
Robert Osfield
e8349b69ca Fixed warnings 2017-03-28 10:17:44 +01:00
Robert Osfield
1beddd3d29 Fixed file endings 2017-03-23 19:36:01 +00:00
Robert Osfield
d491cac58d Fixed build 2017-03-23 19:26:21 +00:00
Robert Osfield
81233ba974 Cleaned up osgshaderpipeline removing functionality now automatically provided in the core OSG 2017-03-23 17:59:39 +00:00
Robert Osfield
c0b04cc37b Introduced new osg::UniformBase class to enable an extensible uniform class hierachy
Added osg::UniformTemplate, osg::UniformArrayTemplate and a set of IntUniform, IntArrayUniform etc. to make it easier to interact with basic types more efficiently.
2017-03-23 17:58:34 +00:00
Robert Osfield
5bfefdae6a Added mapping of texture modes to #define's to inject into shaders where required 2017-03-23 17:42:33 +00:00
Robert Osfield
44c11a856b Added toggling of the osg::State ::setUseModelViewAndProjectionUniforms() and setUseVertexAttributeAliasing() via the --mv and --va command line options respectively 2017-03-23 17:42:33 +00:00
Robert Osfield
8ee319bbd5 Added set up of root StateSet in the osg::State to enable shaders to be applied for all rendering on a graphics context. 2017-03-23 17:42:33 +00:00
Robert Osfield
d1222fc2ef Added fallback textures to handle cases where no texture is provided 2017-03-23 17:42:33 +00:00
Robert Osfield
0bcfa8d980 Added shader defines for setting up vertex and fragment shaders with texture support 2017-03-23 17:42:33 +00:00
Robert Osfield
5f875682bf Added setup of uniform arrays for passing in texture modes 2017-03-23 17:42:33 +00:00
Thomas Hogarth
630af80635 Adusted Font shaders to use gl3 path on gles3, iphone example using inbuilt shaders 2017-03-20 19:35:01 +00:00
Thomas Hogarth
b493657c47 Shaders now using vertex colors 2017-03-20 18:39:56 +00:00
Thomas Hogarth
74abb99b0e small compile fix for ios viewer example gles1 2017-03-20 18:39:56 +00:00
Thomas Hogarth
7ba2e728cd GLES3 now working on iOS, tried to maintain support for have bother gles2 and gles3, allowed avfoundation to be added on iOS, improved iOS example cmake generation 2017-03-20 18:39:56 +00:00
Thomas Hogarth
3a6e28da9c More gles3 tweaks 2017-03-20 18:39:56 +00:00
Robert Osfield
266b57c821 Removed no longer required GL3 shaders as osgText itself now provides shaders 2017-03-18 18:09:12 +00:00
Robert Osfield
2ef8f00e91 Fixed GL3 core profile and shandard shaders to work with new osgText 2017-03-18 11:48:55 +00:00
Robert Osfield
943beb220d Improved handling of osgText::Text with and wihout shaders 2017-03-18 11:48:55 +00:00
Robert Osfield
5f407b3cc4 Added experimental --shaders path into osgtext example to test out using shaders for text rendering. 2017-03-14 10:43:52 +00:00
OpenSceneGraph git repository
75e4d85681 Merge pull request #211 from D-A-Heitbrink/master
Added support for unsigned 64 bit ints + some code for bindless textures
2017-03-11 11:58:20 +00:00
OpenSceneGraph git repository
50649fb2a2 Merge pull request #202 from nicokruithof/master
Fixed typo
2017-03-10 17:47:02 +00:00
Robert Osfield
9b32395772 Added --counter test 2017-03-07 13:35:03 +00:00
Robert Osfield
fee826412c Added --plain test to simply basic text testing 2017-03-07 09:13:29 +00:00
d-a-heitbrink
cfaf72bc56 removed some of the hard coded options in the main funct. 2017-03-01 18:12:46 -06:00
d-a-heitbrink
7b3fc0925c Merge branch 'master' of https://github.com/openscenegraph/OpenSceneGraph 2017-03-01 16:12:49 -06:00
D-A-Heitbrink
69b8d01de6 Add files via upload 2017-03-01 15:33:19 -06:00
Robert Osfield
1290f1584a Removed old Text::GlyphQuads array code paths 2017-02-28 17:02:02 +00:00
Robert Osfield
138af70bd8 Merged the Text::GlyphQuads cooordinate arrays 2017-02-28 16:34:33 +00:00
Robert Osfield
0ec204f6e4 Added StateSetManipulator to osglogo. 2017-02-27 10:47:14 +00:00
Robert Osfield
04d23659b3 Added the option for changing the type of the GlyphQuads::Coords 2017-02-22 12:07:43 +00:00
Nico Kruithof
ec2cb81c65 Fixed typo
osg_ModeViewMatrix -> osg_ModelViewMatrix
2017-02-21 21:55:05 +01:00
Robert Osfield
378809f3a8 Added osgvolume command line option "--bg r g b a" to enable customization of the window background colour 2017-02-13 16:53:37 +00:00
d-a-heitbrink
98e0b7e41c missing CMakeLists 2017-01-13 09:57:32 -06:00
d-a-heitbrink
3d2f4ea404 Added support for Bindless texture extension,
64 bit uniforms, 64 bit buffers
Added new bindless texture example
2017-01-13 09:56:42 -06:00
Robert Osfield
e6052ef4b4 Added Dragger::applyAppropriateFrontFace(StateSet*) to make it easy to handle inverted matrices by toggling the FrontFace to sure the correct face is visible. 2016-11-11 17:18:13 +00:00
Robert Osfield
b5c071eed9 Moved shader file loading to a help function 2016-10-20 09:59:26 +01:00
Robert Osfield
c32e6c01ed Fixed shader filename 2016-10-20 09:46:47 +01:00
Robert Osfield
fda7c838a1 Added osgshaderpipeline example that will server as a testbed for automatically mapping fixed function pipeline to shaders 2016-10-19 20:26:26 +01:00
Robert Osfield
987513d309 Added --simple command line option and accompanying code to create a very simple text object for basic testing of osgText 2016-10-11 11:29:29 +01:00
Robert Osfield
cfadbbda2b Removed no longer relevant comment 2016-10-11 11:29:29 +01:00
Robert Osfield
93b2a24b0e Added command line parser to osgparticle examples viewer setup to make it easier to position window 2016-10-11 11:29:29 +01:00
Robert Osfield
663024a215 Removed redundent use of Geode to decorate the ParticleSystem 2016-10-11 11:29:29 +01:00
Robert Osfield
9800e1c201 Fixed line endings 2016-10-11 11:29:29 +01:00
Robert Osfield
56ed225f17 Removed Particle::Shape support for QUAD_TRIANGLESTRIP, HEXAGON, USER as these are unlikely to be used as their implementation prevents refactoring to use vertex array code paths 2016-10-11 11:29:29 +01:00
Robert Osfield
35e19b4f30 Added back in the osgimpostor example, cleaning up so that it no longer has any deprecated paths and adds stats and file output for debug purposes 2016-10-11 11:29:29 +01:00
Robert Osfield
7c432fbe11 Refactored osgSim::SphereSegment so that it no longer uses GLBeginEndAdapter 2016-10-11 11:29:29 +01:00
Robert Osfield
a1ab1a0ecc Added AdjustSphereSegmentCallback to provide '<' and '>' key controls over the azim and elev range of the sphere segment 2016-10-11 11:29:29 +01:00
Robert Osfield
a87a6f0851 Added StatsHandler to check performance 2016-10-11 11:29:29 +01:00
Robert Osfield
3d0f6d5d78 Removed unused header 2016-10-11 11:29:29 +01:00
Robert Osfield
1df27e4edb Replaced old Shape to Geometry conversion code as new convinience methods in include/osg/Shape provide these features 2016-10-11 11:29:29 +01:00
Robert Osfield
14d1483b06 Experimental support for OpenGL Vertex Array Object 2016-10-11 11:29:29 +01:00
Robert Osfield
96b180ddad Added a osgCmakeExample to illustrate a minimal CMakeList.txt to show how to build an OSG application using Cmake 2016-10-06 15:07:42 +01:00
Robert Osfield
56a7208891 Removed Qt dependency examples, osgQt NodeKit and qfont plugin as these are now provided by the separate osgQt project 2016-09-26 09:31:22 +01:00
Ravi Mathur
e9d6737ec4 Updates to the CMake build system for Mac OSX 2016-08-10 14:30:28 +01:00
Mathieu MARACHE
c77a7ecae9 Added usage of osgUtil::Optimizer to tessellate input geometry 2016-08-05 07:51:33 +02:00
Robert Osfield
2550c95c32 Added GL_NORMALIZE usage to handle the case of the FlattenStaticTransform visitor not being applied to the scaled subgraphs causing lighting problems 2016-08-02 17:52:45 +01:00
Robert Osfield
f9172a000e Fixed bug in setting the ratio value 2016-07-18 20:06:26 +01:00
Laurens Voerman
af28adc01d Added osgshadermultiviewport example to test and demonstrate the new osg::ViewportIndexed class 2016-06-29 11:39:44 +01:00
Robert Osfield
e30b570b1f Revert "Fixed incorrect cast" as commit contained more changes than intended.
This reverts commit 2897ab13cb.
2016-06-29 11:34:20 +01:00
Robert Osfield
2897ab13cb Fixed incorrect cast 2016-06-29 11:25:08 +01:00
Julien Valentin
ce28b2e43e MorphGeometry fixes 2016-06-25 18:15:57 +01:00
Robert Osfield
40ccf503e4 Fixed warnings 2016-06-25 17:19:00 +01:00
Robert Osfield
072eace1bf Removed the osgviewerGLUT as GLUT is terrible example of how to build a modern 3D graphics application. 2016-06-21 09:21:45 +01:00
Ralf Habacker
67e6f675e6 example_osgobjectcache: Add a check that we really get the correct nodes. 2016-06-20 11:39:25 +01:00
Robert Osfield
5f38374b7a Build fixes for building with OSG_USE_REF_PTR_IMPLICIT_OUTPUT_CONVERSION set to OFF.
Added spacing to make code more readable.
2016-06-20 10:23:05 +01:00
Ralf Habacker
fff9cd7d38 Add osgobjectcache example. 2016-06-20 10:20:17 +01:00
Robert Osfield
5dcea9eb21 Replaced old slow path deprecated_osg::Geometry code 2016-06-17 15:39:19 +01:00
Robert Osfield
62fd0ef368 Removed old examples that relied upon deprecated functionality 2016-06-17 11:53:34 +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
8457990bb1 Removed deprecated register keyword usage 2016-06-14 16:40:15 +01:00
Robert Osfield
23513b5ab6 Fixed line endings 2016-06-14 16:39:29 +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
3d9aa3ef29 msys2: fixed ignoring #pragma warning 2016-06-11 17:45:37 +02:00
Robert Osfield
121cbf09c5 Fixed unused parameter warning. 2016-06-08 13:50:20 +01:00
Robert Osfield
656649084d Fixed unused parameter warning. 2016-06-08 13:40:02 +01:00
Robert Osfield
9290aaad0f Fixed unused parameter warning. 2016-06-08 13:38:40 +01:00
Robert Osfield
018022fd9b Fixed unused parameter warning. 2016-06-08 13:37:17 +01:00
Robert Osfield
d55b64061b Fixed unused parameter warning. 2016-06-08 13:36:18 +01:00
Robert Osfield
4e04265212 Fixed unused parameter warning. 2016-06-08 13:35:46 +01:00
Robert Osfield
dbb88b5456 Fixed unused parameter warning. 2016-06-08 13:34:55 +01:00
Robert Osfield
69a0a7331c Fixed unused parameter warning. 2016-06-08 13:34:33 +01:00
Robert Osfield
ec0e30017c Fixed unused parameter warning. 2016-06-08 13:32:14 +01:00
Robert Osfield
d2129d4b9a Fixed unused parameter warning. 2016-06-08 13:30:09 +01:00
Robert Osfield
67361b8947 Fixed unused parameter warning. 2016-06-08 13:28:18 +01:00
Robert Osfield
4e39f98854 Fixed unused parameter warning. 2016-06-08 13:26:00 +01:00
Robert Osfield
1eaaaac340 Fixed unused parameter warning. 2016-06-08 13:25:02 +01:00
Robert Osfield
d022da5906 Disabled -Wextra as the warning it generates is bengin and fixing it would introduce warnings on other platforms 2016-06-08 13:22:54 +01:00
Robert Osfield
b72929d84b Fixed unused parameter warning. 2016-06-08 13:20:07 +01:00
Robert Osfield
0cb00424ee Fixed -Wextra warnings 2016-06-08 12:26:40 +01:00
Robert Osfield
59a1d79713 Fixed -Wextra warnings 2016-06-08 12:24:46 +01:00
Robert Osfield
94881d45a6 Fixed unused parameter warning. 2016-06-08 12:22:27 +01:00
Robert Osfield
8653c83342 Fixed unused parameter warning. 2016-06-08 12:22:12 +01:00
Robert Osfield
c7c1f6a27e Fixed unused parameter warning. 2016-06-08 12:21:51 +01:00
Robert Osfield
b67a331627 Fixed unused parameter warning. 2016-06-08 12:21:29 +01:00
Robert Osfield
6c8bcc5009 Fixed unused parameter warning. 2016-06-08 12:19:53 +01:00
Robert Osfield
d9ddf7c5be Fixed unused parameter warning. 2016-06-08 12:16:58 +01:00
Robert Osfield
6fab8cadd3 Fixed unused parameter warning. 2016-06-08 12:15:51 +01:00
Robert Osfield
0acb419cf5 Fixed unused parameter warning. 2016-06-08 12:14:35 +01:00
Robert Osfield
e6252256e0 Fixed unused parameter warning. 2016-06-08 12:10:00 +01:00
Robert Osfield
0223fff99c Fixed unused parameter warning. 2016-06-08 12:09:00 +01:00
Robert Osfield
832fc29fc1 Fixed -Wextra warnings 2016-06-08 12:07:14 +01:00
Robert Osfield
744421631e Fixed unused parameter warning. 2016-06-08 11:50:18 +01:00
Robert Osfield
c8d14a1745 Fixed unused parameter warning. 2016-06-08 11:48:02 +01:00
Robert Osfield
8a3b56cc59 Fixed unused parameter warning. 2016-06-08 11:41:54 +01:00
Robert Osfield
82cd2d4515 Fixed unused parameter warning. 2016-06-08 11:40:51 +01:00
Robert Osfield
34ef8e5f46 Fixed unused parameter warning. 2016-06-08 11:39:47 +01:00
Robert Osfield
5f34cddc31 Fixed unused parameter warning. 2016-06-08 11:38:40 +01:00
Robert Osfield
34dc153ff2 Fixed unused parameter warning. 2016-06-08 11:35:21 +01:00
Robert Osfield
77289a1396 Fixed -Wextra warnings 2016-06-08 11:34:06 +01:00
Robert Osfield
fe2b4f92a1 Fixed unused parameter warning. 2016-06-08 11:31:11 +01:00
Robert Osfield
93a8b916cc Fixed -Wextra warnings 2016-06-08 11:30:35 +01:00
Robert Osfield
772368ed1f Fixed unused parameter warning. 2016-06-08 11:18:20 +01:00
Robert Osfield
54aa65f496 Fixed ignored qualifiers warning 2016-06-08 11:07:56 +01:00
Robert Osfield
43f8a13d03 Fixed ignored qualifiers warning 2016-06-08 11:06:52 +01:00
Robert Osfield
20148c5b8d Fixed unused parameter warning. 2016-06-08 11:05:29 +01:00
Robert Osfield
2052b2741e Fixed unused parameter warning. 2016-06-08 11:04:24 +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
Alberto Luaces
68baf15806 defines for building on Hurd and BSD kernels 2016-05-31 12:58:57 +01:00
Alberto Luaces
260cbab518 Typo fixes 2016-05-30 12:30:05 +01:00
Robert Osfield
7d816362e6 Fixed shadows warning 2016-05-26 15:07:02 +01:00
Robert Osfield
dbce12842e Fixed shadows warnings 2016-05-26 11:13:56 +01:00
Robert Osfield
80e318ce15 Fixed shadows warnigns 2016-05-26 10:35:33 +01:00
Robert Osfield
304c048d84 Fixed shadows warnings 2016-05-26 10:24:44 +01:00
Robert Osfield
40f4cdb1ce Fixed shadows warnings 2016-05-26 10:24:31 +01:00
Robert Osfield
3db6aa255f Removed redundent #if OSG_USE_BOUND block 2016-05-19 17:38:50 +01:00
Christian Buchner
2ef6909d9b I am hereby submitting a deferred rendering code sample, originally written by Michael Kapelko in 2013. I am submitting this code with his approval.
Deferred rendering is now the de-facto standard rendering technique in many modern game engines, hence I think it is important to have this technique demonstrated in an osg code example.

This particular sample adds soft shadows as well as bump mapping into the rendering pipeline. The image files whitemetal_diffuse.jpg and whitemetal_normal.jpg from OpenSceneGraph-Data images folder are required (The OSG_FILE_PATH environment variable must be set correctly)

Two additional osgt models are included with the demo (best to also put them into OpenSceneGraph-Data, I think.

The shaders are currently defined in separate .frag and .vert files.
2016-05-19 17:20:29 +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
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
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
2e7cfe7efa From Ravi Mathur, OSX/Clang 7.0.0 build fix 2016-01-19 15:39:46 +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
e8fd414661 Fixed line endings 2016-01-19 11:35:13 +00:00
Robert Osfield
30dc6a9428 Fixed line endings 2016-01-19 11:25:30 +00:00
Robert Osfield
e9179aaa4b Added window size, state and stats event handlers to viewer to help with QA'ing simplification results. 2016-01-18 11:49:18 +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
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
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
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
37d051af5e Added output of HUD scene graph to hud.osgt and hud.osgb for testing purposes.
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14901 16af8721-9629-0410-8352-f15c8da7e697
2015-06-09 09:44:37 +00:00
Robert Osfield
fd806293be From KOS, build fix for osg::Uniform::Callback to osg::UniformCallback change
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14889 16af8721-9629-0410-8352-f15c8da7e697
2015-06-03 09:07:41 +00:00
Robert Osfield
80791c6972 Changed name of UniformCallback to UniformBufferCallback to avoid conflict with changes to come to the osg::Uniform::Callback -> osg::UniformCallback.
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14884 16af8721-9629-0410-8352-f15c8da7e697
2015-06-02 09:18:19 +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
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
f66b430476 Comment out debug notification
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14857 16af8721-9629-0410-8352-f15c8da7e697
2015-04-23 12:58:27 +00:00
Robert Osfield
e08fd168f6 Build fix
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14850 16af8721-9629-0410-8352-f15c8da7e697
2015-04-20 10:36:42 +00:00
Robert Osfield
a583b306c5 Added --test-NodeMask option to test crash when a parent of osgmanipulator::AntiSquish node has a NodeMask set to 0x0.
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14842 16af8721-9629-0410-8352-f15c8da7e697
2015-04-17 13:22:07 +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
0335ea3760 Added passing of command line arguments to viewer construction to allow one to specify extra controls for the viewer such as window size etc.
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14829 16af8721-9629-0410-8352-f15c8da7e697
2015-04-13 08:55:08 +00:00
Robert Osfield
595a048319 Added WindowSizeHandler to osgmanipulator example
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14827 16af8721-9629-0410-8352-f15c8da7e697
2015-04-09 18:38:53 +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
abdb23e367 From Janik Heller, clean up of drawable/node usage
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14824 16af8721-9629-0410-8352-f15c8da7e697
2015-04-07 15:53:17 +00:00
Robert Osfield
31488eeba1 Removed unused ShapesToGeometriesVisitor.
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14823 16af8721-9629-0410-8352-f15c8da7e697
2015-04-07 15:52:02 +00:00
Robert Osfield
5229280901 Added --subload command line option and test subload callback for testing purposes
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14812 16af8721-9629-0410-8352-f15c8da7e697
2015-03-31 19:29:02 +00:00