Commit Graph

6110 Commits

Author SHA1 Message Date
Robert Osfield
fa27223fcd From Mike Connell, "Here are some small fixes that allow you to specify the allowable deviation when creating polylines from arcs and circles in DXF files. Changes are against 2.8.0
It adds two options:

Accuracy(x) - ensures the polyline will be within x units from the ideal arc/curve
ImproveAccuracyOnly - do not use the given accuracy 'x', if it would result in a worse curve than with the previous (2.8.0) implementation for a particular arc/curve.

As an added bonus there was a small bug in the existing implementation whereby the primitives were line strips but the vertices generated were actually suitable for GL_LINES, so the improved accuracy doesn't even have to come at a performance cost :-)"
2009-04-08 13:21:59 +00:00
Robert Osfield
69181e1697 From Eric Sokolowky, ""Running" was spelled "Ruinning", which is hardly the same." 2009-04-08 13:16:44 +00:00
Robert Osfield
8597636c93 From Marc Sciabica, made searching of the install path for plugins option, and added the dll path to the search path under Windows 2009-04-08 13:11:27 +00:00
Robert Osfield
beb711a2ec Reduced the default live video feed size to accomodate reading from the Minoru stereo wecam. 2009-04-08 13:03:34 +00:00
Robert Osfield
6e780bfa62 From Simon Carmody, "Patches for compare and copy of Programs and related state
-Added copying of shaders and attributes in osg::Program copy constructor.
-Changed StateSet::compare function to compare Uniforms and their
override values.  Previously it compared a RefUniformPair."
2009-04-08 12:32:52 +00:00
Robert Osfield
009ddf1b1e From Glenn Waldron, "Attached is a patch for osgUtil::Optimizer. If you run the SpatializeGroupsVisitor on a scene graph containing Geodes, StateSets attached to Geodes can be lost.
The problem is in SpatializeGroupsVisitor::divide(osg::Geode*, unsigned int) where the code creates a new Group and divides up the input Geode into one Geode per Drawable.

I fixed the problem by assigning the Geode's stateset to the new parent group.

To replicate the bug, see attached osg/dds files:

osgviewer b.osg -- model renders correctly
set OSG_OPTIMIZER="SPATIALIZE_GROUPS"
osgviewer b.osg -- textures are missing."
2009-04-08 10:48:22 +00:00
Robert Osfield
d2a0e7884d From Aric Aumann, added options for controlling the swap of the left/right handed coordinate system 2009-04-08 10:44:37 +00:00
Robert Osfield
6238a31d5c Added better handling of use of VBO's in compileGLObjects() 2009-04-07 10:13:54 +00:00
Robert Osfield
62886a7b94 Updated wrappers 2009-04-07 10:12:59 +00:00
Robert Osfield
cff4e3437a Added disabling of mipmapping for non power of two textures 2009-04-06 12:28:02 +00:00
Robert Osfield
9852c299d5 Added check against null colour layer to prevent a crash when a null colour layer is assigned 2009-04-06 11:22:31 +00:00
Robert Osfield
c27729a3bd Displayed display lists to prevent frame drops when compiling large geometry tiles 2009-04-03 10:47:59 +00:00
Robert Osfield
9f8ab41556 Added OSG_MULTI_SAMPLES env var for setting the default DisplaySettings NumMultiSamples value 2009-04-02 08:44:08 +00:00
Robert Osfield
20ad246896 Added new virtual reseveElements, setElement, getElment and addElement methods to DrawElements
to make is easier to write code that can work on DrawElementUByte, UShort or UInt.

Changed the osgTerrain::GeometryTechnique so that it automatically chooses 
the use of DrawElementUShort or DrawElementsUInt accordining to the size of the tile.
2009-03-25 11:17:21 +00:00
Robert Osfield
36b3907d79 Added support for adding .ffmpeg to filenames to force selection of ffmpeg plugin 2009-03-24 23:25:30 +00:00
Robert Osfield
3c4fc747ff From Ulrich Hertlein, "I got the following type error from gcc 4.0.1 on OS X 10.5.6:
/Users/uli/Projects/osg/OpenSceneGraph/src/osgPlugins/ffmpeg/FFmpegDecoderVideo.cpp: In member function \u2018int osgFFmpeg::FFmpegDecoderVideo::convert(AVPicture*, int, AVPicture*, int, int, int)\u2019:
/Users/uli/Projects/osg/OpenSceneGraph/src/osgPlugins/ffmpeg/FFmpegDecoderVideo.cpp:245: error: invalid conversion from \u2018int\u2019 to \u2018PixelFormat\u2019
/Users/uli/Projects/osg/OpenSceneGraph/src/osgPlugins/ffmpeg/FFmpegDecoderVideo.cpp:245: error:   initializing argument 3 of \u2018SwsContext* sws_getContext(int, int, PixelFormat, int, int, PixelFormat, int, SwsFilter*, SwsFilter*, double*)\u2019

It expects 'src_pix_fmt' and 'dst_pix_fmt' to be of type 'PixelFormat' rather than int. The attached cast fixes this (for me).

I've also added Matroska video to the list of supported extensions"
2009-03-24 11:08:40 +00:00
Robert Osfield
fb83a47d78 From Aric Aumann, fixed handling of null texture coordinates 2009-03-23 20:25:51 +00:00
Robert Osfield
73bf2a7de9 From Luc Frauciel, You'll find attached a modification in ive plugin for POLYGONSTIPPLE read/write. 2009-03-23 17:08:58 +00:00
Robert Osfield
9727321afe From Wang Rui, "Attached is a very small fix for the ffmpeg plugin, to build it without compiling errors on MSVC. The ffmpeg win32 pre-built tarball is downloaded at http://ffmpeg.arrozcru.org/builds/. Tested on Windows XP SP3 and Visual Studio 9, but don't know if it still workable for Unix and Mac users. :)
Please look at the .diff files for details. I have already enjoyed the latest Chinese *big* movie "Red Cliff" with the fixed ffmpeg plugin and osgmovie. :D"
2009-03-23 16:45:10 +00:00
Robert Osfield
1f251b4df5 From Csaba Halasz, "I have modified FltExportVisitor to use _MSC_VER instead of _WIN32 in
the condition around a #pragma warning that is specific to visual
studio as _WIN32 is also defined for mingw compile but the #pragma is
not applicable there."
2009-03-23 16:31:50 +00:00
Robert Osfield
e89deb0f79 From Csaba Halasz, "IIRC the C++ standard says members will be initialized in declaration
order, and not in the order they are listed in the constructor. To
avoid possible trouble, gcc warns about this. Attached modification
fixes the initializer order to silence this warning."
2009-03-23 16:28:48 +00:00
Robert Osfield
33cdeec757 From Michael Platings, "Changed some pointers to ref_ptr which fixed the leak
"
2009-03-23 16:25:37 +00:00
Robert Osfield
3dbda7e9bc From Csaba Halasz, "I have removed some unnecessary semicolons that mingw build warns about." 2009-03-23 16:21:51 +00:00
Robert Osfield
765b45224d From Eric Sokolowsky, "The attached Registry.cpp fixes OSG under OSX when a library suffix string is used, as is selected by default with cmake.
"
2009-03-23 16:15:55 +00:00
Robert Osfield
f34116fa36 From Michale Platings, "Minor change to include ReaderWriterDAE.h" 2009-03-23 16:13:42 +00:00
Robert Osfield
39cecd2a72 From Philip Lowman, "Here's the promised cleanup of the OSG's CMakeLists.txt files for the src/ folder. I'll submit the others separately.
Also, there was also a small bug in osgDB's CMakeLists.txt that was causing an error when I tested with CMake 2.4.4.

IF(${OSG_DEFAULT_IMAGE_PLUGIN_FOR_OSX} STREQUAL "quicktime")
was changed to
IF(OSG_DEFAULT_IMAGE_PLUGIN_FOR_OSX STREQUAL "quicktime")
"
2009-03-23 16:01:02 +00:00
Robert Osfield
51964a2b79 From David Callu, clean up of FindFFmpeg include paths 2009-03-23 15:48:19 +00:00
Robert Osfield
037f0ea5b3 Updated wrapper conf to avoid generating wrappers for PrintVisitor 2009-03-23 15:38:03 +00:00
Robert Osfield
77370910e2 Added ShaderGen wrapper 2009-03-23 15:10:36 +00:00
Robert Osfield
6b9cd89912 Removed PrintVisitor as it was causing problems with wrapper building. 2009-03-23 15:04:33 +00:00
Robert Osfield
3965bf8dd6 From Eric Sokolowsky, "osgviewer (and all other OSG-based utilities) fails to provide help for the OSG_NOTIFY_LEVEL environment variable. This submission fixes that problem." 2009-03-23 13:51:46 +00:00
Robert Osfield
1fd5eefbcf From Maciej Krol, "As promised to Roland I assembled simple shader generator. ShaderGenVisitor converts accumulated fixed function pipeline state sets to ones with shader programs. Generated state sets are attached to geometries and stored in ShaderGenCache for reuse.
Very simple cases of state configuration are supported (all the ones I really need):
- single per pixel not attenuated non spot light source ON/OFF
- exp2 fog ON/OFF
- diffuse texture in rgb + optional specular gloss in alpha (Texture unit 0) ON/OFF
- normal map texture (Texture unit 1 and Tangent in VertexAttribArray 6) ON/OFF
- blending and alpha testing (not in shader pipeline)

To view fixed function pipeline files and paged databases simply run >osgshadergen myfile.osg"
2009-03-23 11:53:06 +00:00
Robert Osfield
ffbed2b222 UPdated wrappers 2009-03-19 11:36:54 +00:00
Robert Osfield
e60db47c1b Inroduced simple PrintVisitor class for helping debug scene graph structures 2009-03-19 11:11:51 +00:00
Robert Osfield
26b55acf68 Fixed spacing 2009-03-19 10:56:38 +00:00
Robert Osfield
3626979bfa Added compressed to list of supported options 2009-03-19 10:55:51 +00:00
Robert Osfield
32ace364a0 Added debug message (commented out for now.) 2009-03-19 10:55:29 +00:00
Robert Osfield
1b3b69721f Added osgTerrain::Terrain support to the .osg format 2009-03-19 10:27:24 +00:00
Robert Osfield
e9d4f99409 From Adrian Egli, build fix for Win32 FFmpeg 2009-03-14 15:40:41 +00:00
Robert Osfield
628990e0a4 From Stephan Huber, clean up of Quicktime plugin 2009-03-13 15:56:19 +00:00
Robert Osfield
a8aad71d03 Fixed for division by zero issue. 2009-03-13 11:01:11 +00:00
Robert Osfield
9a4e17b766 From Bryan Thrall, "The attached ReaderWriterGLSL.cpp conveniently sets the shader type when
the filename extension is "vert" or "frag" but still lets this be
overridden by the Options (for those crazy people who store their
fragment shaders in .vert files :) )."
2009-03-13 10:40:00 +00:00
Robert Osfield
f2fb93aeec From Frank Midgley, "I tried running osgconv --formats yesterday on OS X and got no results. Turns out the changes discussed in the "osgDB::listAllAvailablePlugins win32 fix" thread back in Sep '08 broke this. The OSG_PLUGIN_EXTENSION macro is being defined in src/osgDB/CMakeLists.txt from CMAKE_SHARED_LIBRARY_SUFFIX which is "dylib" on OS X. The problem is that all of the plug-ins are setup in OsgMacroUtils.cmake with:
ADD_LIBRARY(${TARGET_TARGETNAME} MODULE ${TARGET_SRC} ${TARGET_H})

which gives them .so extensions.  Since ".so" != ".dylib" osgDB::listAllAvailablePlugins finds no plug-ins.  I believe the correct solution is to use CMAKE_SHARED_MODULE_SUFFIX instead.  This builds and runs correctly on OS X but I have not tested on other platforms.

Attached is an updated src/osgDB/CMakeLists.txt based on rev 9915.  The change is at line 108.  To validate: build and then run bin/osgconv --formats.  You should get many screenfuls of plug-in features, extensions and options."
2009-03-12 17:54:58 +00:00
Robert Osfield
8194246ba3 From Konstantin Sinitsyn, "At this moment, I just introducing to OSG. When I reviewing optimizer code, I find a mistake in Optimizer::RemoveLoadedProxyNodesVisitor, as it seems. This optimizer removes proxy nodes that fully loaded and in some cases attach their childs to parrents directly (without creating of group). I dont understand how this works, because if proxy node doesn't have any attributes such as name, description, node mask and any callbacks, then new group does not created to hold proxy node childs. And code below trying to attach their children to all parents but seems like only first child beeing attached to all parents correctly.
"
2009-03-12 17:47:50 +00:00
Robert Osfield
f3ba8c8707 Introduced a releaseAllOperation after completeion of OperationThread::run() to enable CUDA integration (in osgCuda) to be able to free up its resources. Code drawn from a submission from Mick. 2009-03-12 17:26:21 +00:00
Robert Osfield
f6eae8dc3e Updated wrappers 2009-03-12 17:12:48 +00:00
Robert Osfield
7b5f3ec92a Moved IncrementalCompileOperation out of include-src/osgUtil/GLObjectVisitor into their own files.
Added support to IncrementCompileOperation for controlling how much time is alloted to compilation and flush
2009-03-12 15:21:04 +00:00
Robert Osfield
c3fc21fa82 Added support for tracking the time since the last clear() call to enable other
classes to be able to find out how long the current graphics frame has been running.
2009-03-12 15:18:51 +00:00
Robert Osfield
7994ed1eb7 changed debug info to output to INFO instaed of NOTICE. 2009-03-11 17:39:08 +00:00
Robert Osfield
b6bffdd02f From Tanguy Fautre,
Clean up of the FFmpeg plugin's class API/AudioStream API. 
Implementation of isImageTransparent().
Implementation of Image:g/setPixelAspectRatio()
2009-03-11 15:12:46 +00:00