Commit Graph

2200 Commits

Author SHA1 Message Date
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