Commit Graph

2610 Commits

Author SHA1 Message Date
Robert Osfield
ff68236bad From Stephan Huber, fixed build under OSX 10.5. 2010-09-30 09:40:48 +00:00
Robert Osfield
ab1920c427 From Wang Rui, "I've fixed the problem that osgx format doesn't read the Font property and wrapped string correctly. The first problem happened because the matchString() made a mistake in comparing two strings with the same start but different size. The second just needs complete rewriting of writeWrappedString() and readWrappedString() in src/osgPlugins/osg/XmlStreamOperator.h
I also fixed a possible bug in osgDB::XmlParser that doesn't handle control characters (like " to ") when reading node attributes, because the writeWrappedString() and readWrappedString() now depend heavily on control characters. An additional improvement is that osgx now supports comments."
2010-09-30 09:34:41 +00:00
Robert Osfield
e942cc770a Removed getScale() parameter from osgText::Font 2010-09-29 11:09:32 +00:00
Robert Osfield
f8b44c3b33 Added support for osgText::Style into osgText::Text3D.
Refactored Text3D implementation to use new GlyphGeometry class.
Implemented GlyphGeometry backend and cleaned up Glyph3D interface.
2010-09-27 16:18:20 +00:00
Robert Osfield
1224836664 From Eric Wing, QTKit plugin for reading movies under OSX using QTKit + CoreVideo 2010-09-24 12:59:37 +00:00
Robert Osfield
7e8ca5ccdf From Per Fahlberg, "imageio was not spelled correctly when registering the plugin, attached is a fixed version of ReaderWriterImageIO.cpp." 2010-09-20 16:04:22 +00:00
Robert Osfield
a8c8c70fb1 From Ulrich Hertlein, "attached is a fix that addresses these compiler warnings from the 64-bit OS X build:
/Users/uli/Projects/osg/OpenSceneGraph/src/osgPlugins/3ds/WriterNodeVisitor.cpp: In
function ?std::string getFileName(const std::string&)?:
/Users/uli/Projects/osg/OpenSceneGraph/src/osgPlugins/3ds/WriterNodeVisitor.cpp:88:
warning: comparison is always false due to limited range of data type

/Users/uli/Projects/osg/OpenSceneGraph/src/osgPlugins/3ds/WriterNodeVisitor.cpp: In
function ?bool is83(const std::string&)?:
/Users/uli/Projects/osg/OpenSceneGraph/src/osgPlugins/3ds/WriterNodeVisitor.cpp:102:
warning: comparison is always false due to limited range of data type

/Users/uli/Projects/osg/OpenSceneGraph/src/osgPlugins/3ds/WriterNodeVisitor.cpp: In
function ?bool is3DSpath(const std::string&, bool)?:
/Users/uli/Projects/osg/OpenSceneGraph/src/osgPlugins/3ds/WriterNodeVisitor.cpp:118:
warning: comparison is always false due to limited range of data type
/Users/uli/Projects/osg/OpenSceneGraph/src/osgPlugins/3ds/WriterNodeVisitor.cpp:121:
warning: comparison is always true due to limited range of data type

The code was using 'unsigned int' in places where it should've used 'size_t' for correct
comparison with 'std::string::npos' (which is size_t).
"
2010-09-20 11:02:40 +00:00
Robert Osfield
4daad70d17 Build fixes for when OSG_USE_REF_PTR_IMPLICIT_OUTPUT_CONVERSION is disabled 2010-09-17 13:33:09 +00:00
Robert Osfield
d74ffd57aa From Magnus Kessler, "Changes to the quicktime plugin to remove unused variables and an unused
static function."
2010-09-16 13:04:55 +00:00
Robert Osfield
94c86d495c From Paul de Repentigny, Commented out section of code that didn't work properly 2010-09-15 13:24:37 +00:00
Robert Osfield
65e49cf9db From Laura Cerritelli, "I modified TXPPagedLOD::traverse to prevent the terrain from inappropriately unloading the higher level of detail tiles. It wasn?t updating the frame number of the tile or the range it was traversing, causing PagedLOD::removeExpiredChildren to always consider the range expired." 2010-09-15 11:36:45 +00:00
Robert Osfield
d6fe337728 Renamed file3ds and options member variables to _file3ds and _options to avoid confusion and keep the code consistent with the rest of the class/OSG.
Added _option parameter to writeImageFile(..) call.
2010-09-15 11:10:10 +00:00
Robert Osfield
d96e57c0c3 Added https, ftp and ftps to list of supported server protocols, and add ability for curl plugin to ignore the need for a server address when .curl extension is used. 2010-09-15 10:24:59 +00:00
Robert Osfield
687fd9362f From Jean-Sebastien Guay, "osgWidget::WindowManager did nothing in its keyUp event, and in particular didn't call any callbacks. Since I wanted to have callbacks on keyUp, I copied what it does on keyDown, which works for me. I could have just used keyDown and saved myself the trouble, but you know me... :-)
osgWidget::Input:

[Functional changes]
- Previously, the field would be filled with spaces up to its max length, and typing would just replace the spaces. Also, there was a _textLength variable that kept track of the real length of text in the field, since the osgText::Text's length just reflected the length of spaces+text entered. This was not great, as you could still select the spaces with the mouse and it just feels hacky. So I changed it to only contain the text entered, no spaces, and _textLength was removed since it's now redundant (the osgText::Text's length is used instead).
- Fixed the selection size which (visually only) showed one more character selected than what was really selected.
- Fixed selection by dragging the mouse, it would sometimes not select the last character of the string.
- Cursor will now accurately reflect whether insert mode is activated (block cursor) or we're in normal mode (line cursor) like in most editors.
- Implemented Ctrl-X (cut)
- Added a new clear() method that allows the field to be emptied correctly. Useful for a command line interface, for example (hint, hint).
- Mouse and keyboard event handler methods would always return false, which meant selecting with the mouse would also rotate the trackball, and typing an 's' would turn on stats.

[Code cleanup]
- Renamed the (local) _selectionMin and _selectionMax variables which are used in a lot of places, as the underscores would lead to think they were members. Either I called them selection{Min|Max} or delete{Min|Max} where it made more sense.
- Fixed some indenting which was at 3 spaces (inconsistently), I'm sure I didn't catch all the lines where this was the case though.
- Put spaces between variable, operator and value where missing, especially in for()s. Again I only did this where I made changes, there are probably others left.

The result is that delete, backspace, Ctrl-X, Ctrl-C, Ctrl-V, and typing behaviour should now be consistent with text editor conventions, whether insert mode is enabled or not. I hope. :-)

Note, there's a nasty const_cast in there. Why isn't osgText::Font::getGlyph() declared const?

Also, as a note, the current implementation of cut, copy and paste (in addition to being Windows only, yuck) gets and puts the data into an std::string, thus if the osgText::String in the field contains unicode characters I think it won't work correctly. Perhaps someone could implement a proper clipboard class that would be cross-platform and support osgText::String (more precisely other languages like Chinese) correctly? Cut, copy and paste are not critical to what I'm doing so I won't invest the time to do that, but I just thought I'd mention it.
"
2010-09-09 16:49:10 +00:00
Robert Osfield
2f14255dd7 From Joachim Pouderoux, "Please find attached a very small fix for the DXF reader. The bug made OSG
crash with some files.
Actually, itr was incremented into the loop and after the test with
nlist.end().
Then, the unreferencing of itr when nlist is equals to nlist.end() caused
the crash."
2010-09-09 10:17:55 +00:00
Robert Osfield
a5a7bcf165 From Joachim Pouderoux, "I have added the support for wkbMultiPolygon & wkbMultiPolygon25D in the OGR
plugin (it was mysteriously missing and no prevent warning messages was
print)."
2010-09-09 10:14:54 +00:00
Robert Osfield
fa94700e5c From Tassilo Glander, "I want to submit a fix for the plugin to load .x model files (Direct X).
The current version crashes when encountering global materials, as also reported in the forum by the author of the plugin.

The problem in mesh.cpp (app. ln 247) is, that references to global materials that are given in curly brackets {} are not supported by the reader. However, curly brackets seem to be common, according to Bourke. Unfortunately, I found no specification. However, also the DirectX model viewer that comes with the DirectX-SDK (August 2009) expects curly brackets and refuses models without them.

My fix checks 2 more cases ("{ aMaterial }" -> 3 tokens and "{aMaterial}" -> 1 token), and extracts the material name for the lookup. I don't know if this is the most elegant solution, but the tokenizer seems to split based on white spaces.

You can reproduce the bug with the attached model (box.x), which loads fine in other tools, such as 3DSmax, DeepExploration or the DirectX model viewer. When I remove the curly brackets at the reference of "myGlobalMaterial", it loads in osgviewer, but is not standard conform.
"
2010-09-09 10:09:31 +00:00
Robert Osfield
60942d8e72 Added version check for av_lockmgr_register support. 2010-09-09 09:05:33 +00:00
Robert Osfield
6f49d85f88 Cleaned up debug info, and changed Text3D across to using GL_NORMALIZE instead of GL_RESCALE_NORMAL. 2010-09-08 11:02:39 +00:00
Robert Osfield
50be800787 Moved TextNode into osgText.
Cleaned up freetype plugin so it no longer does tesselation - instead Glyph and TextNode do this.
2010-09-07 18:18:35 +00:00
Robert Osfield
a6abbb545e Further work on new 3D text support 2010-09-06 15:43:59 +00:00
Robert Osfield
b4f3818949 Removed now redundent Font3D files 2010-09-03 09:10:27 +00:00
Robert Osfield
ba10f56f86 Refactored to use a typedef of Font to Font3D rather than have a separate Font3D class 2010-09-03 09:08:19 +00:00
Robert Osfield
8c3e3055e7 Refactored osgText::Font so that it now supports both 2D and 3D glyphs.
Added TextNode.h and TextNode.cpp to examples/osgtext3D in prep for introducing the new node to osgText library
2010-09-03 08:26:46 +00:00
Robert Osfield
fd1493e14b Added support for controlling the number of curves samples to generate on Glyph3D's. Set via Font3D::setNumberCurveSamples(num). 2010-08-25 11:06:10 +00:00
Michael PLATINGS
5b603191b3 From Donn Mielcarek:
The fbx plugin won't compile using gcc 4.3.2.  I made the following
minor changes:

1. WriterNodeVisitor.cpp needed limits.h added to the headers.

2. gcc does not allow structures to be defined inside of functions, so
  I moved the definition of PolygonRef out of the function to a global
  scope (right above the function readMesh).

  I also removed a bunch of embedded carriage returns
2010-08-17 13:25:46 +00:00
Robert Osfield
4d1df397e2 From Guillaume Taze, "Here are some bugs fix :
- missing copy attribute _referenceFrame in ClipNode in copy constructor
- checked iterators against the end in osgText
- close codec context in ffmpeg plugin to avoid memory leak

"
2010-08-16 15:02:04 +00:00
Robert Osfield
4e967ef3c3 From Maria Ten, "Importing 3ds files with a texture for the diffuse component and other one for opacity does not work with the osg 3ds plugin. In the attached file, there is a fix to solve this issue but it does not support textures without alpha channel in the opacity component (like black and white textures used in 3ds max to achieve the transparency). There is attached a test 3ds file too.
"
2010-08-16 14:54:16 +00:00
Robert Osfield
6849bb8e3b From Wang Rui, "Attachment is the implementation of the writing operation of the TGA
format. I wrote it just for one of my client. At present it only
outputs uncompressed RGBA images, but the OSG community can go deeper
at any time."
2010-08-16 14:39:53 +00:00
Robert Osfield
a1ad09bba9 Added material setName. 2010-08-16 14:24:12 +00:00
Robert Osfield
a171c88cf1 From Lukasz Izdebski, "Texture: added support for GL_EXT_texture_compression_rgtc, I added support (read and write ) for BC4 BC5 Block Compression to dds file format." 2010-08-16 14:11:49 +00:00
Robert Osfield
74a9ccb49d From David Fries, merge from a series of related submission emails:
"enable thread locking in libavcodec

This is required for a multithreaded application using ffmpeg from
another thread."

"Prevent the audio from videos from hanging on exit if they are paused.
The video decoder already has similar logic."

"Add a way to retrieve the creation time for MPEG-4 files."

"fmpeg, improve wait for close logic

Both audio and video destructors have been succesfully using the logic,
if(isRunning())
{
  m_exit = true;
  join();
}
since it was introduced,

but the close routines are using,
m_exit = true;
if(isRunning() && waitForThreadToExit)
{
  while(isRunning()) { OpenThreads::Thread::YieldCurrentThread(); }
}
which not only is it doing an unnecessary busy wait, but it doesn't
guaranteed that the other thread has terminated, just that it has
progressed far enough that OpenThreads has set the thread status as
not running.  Like the destructor set the m_exit after checking
isRunning() to avoid the race condition of not getting to join()
because the thread was running, but isRunning() returns false.

Now that FFmpeg*close is fixed, call it from the destructor as well
to have that code in only one location."
2010-08-09 17:02:31 +00:00
Robert Osfield
83d56b52b5 From Jan Peciva, "I am sending pov plugin for exporting scene to POV-Ray format.
POV-Ray is photorealistic ray tracer."
2010-07-31 10:33:20 +00:00
Robert Osfield
c06f34fe32 From Warren Macchi, "While tracing texture artifacts with the 2.9.8 dev release we
uncovered what looks like a type in the "src\osgPlugins\dae\
daeRMaterials.cpp" file. Line 1094 reads:

                   ^^^
 parameters.filter_min = getFilterMode(sampler->getMagfilter()->
    getValue(), false);

whereas it should read

                   ^^^
 parameters.filter_mag = getFilterMode(sampler->getMagfilter()->
    getValue(), false);
"
2010-07-31 10:18:41 +00:00
Robert Osfield
1379a91fc9 Fixed build 2010-07-31 09:21:50 +00:00
Robert Osfield
34e611a64c From Ryan Kawicki, "I found a memory leak within the Terrex plugin.
Out application has the ability to switch to different types of terrains on the fly.  This problem only exists in this type of situation.

The TXPArchive is held by the ReadWriterTXP class.  When the TXPNode, which is the top level node, is released from memory, the archive associated to that TXPNode is also released.  The issue is that the reference count on the TXPArchive never gets to zero.

The reason why the reference count never gets to zero is because the TXPParse, which is owned by the TXPArchive, stores a ref_ptr to the TXPArchive.  You can then see why this becomes a problem.  The TXPParser's ref_ptr cannot be unreferenced since the TXPArchive has not released the TXPParser.

Since the TXPParser is fully contained within the TXPArchive, I don't see the reason to have the TXPParser have a ref_ptr to the TXPArchive.  I've made this change locally and have had no problems and our memory leak has been fixed.
"
2010-07-31 09:04:18 +00:00
Robert Osfield
4e7d6cab81 From Ryan Kawicki, fixed indentation 2010-07-31 09:03:04 +00:00
Robert Osfield
de955d2ed8 From Wang Rui, fixes to handling of indentation. 2010-07-29 16:09:49 +00:00
Michael PLATINGS
90ec036c0e From Sukender: polygon tessellation 2010-07-21 17:34:28 +00:00
Robert Osfield
18ad93b7cd Fixed duplicate vertices in Font3D outline generation 2010-07-15 11:31:07 +00:00
Robert Osfield
777763bc55 Added raw primitive and vertex data into the osgText::Font3D and FreeTypePlugin to aid development of new 3D text functionality.
Added new test for original 3D text support and new experimental code for exploring approaches to new 3D text support.
2010-07-14 18:50:41 +00:00
Robert Osfield
42a2f2dcf9 Added skipping of newlines in AsciiStreamOperator.h 2010-06-28 09:52:18 +00:00
Robert Osfield
0816d4f9cd From Magnus Kessler, "FFmpeg headers need __STDC_CONSTANT_MACROS defined before stdint.h is loaded.
The file FFmpegHeaders.hpp sets this definition. However, if stdint.h is
already included through other files, it won't take any effect.

Include FFmpeg headers as early as possible in order to avoid stdint.h being
included on other paths.
"
2010-06-23 14:38:49 +00:00
Robert Osfield
98203252dc Build fixes for when OSG_USE_REF_PTR_IMPLICIT_OUTPUT is set to OFF 2010-06-18 09:07:17 +00:00
Robert Osfield
5c2abfe062 From Jim Vaughan, "The attached file fixes a bug in the Inventor loader that causes texture images to have r with a value of zero.
The bug caused the image data to not get copied, size the size was calculated to be zero.  This caused crashes during rendering."
2010-06-17 11:01:40 +00:00
Robert Osfield
d9bd6c977e From Michael Platings, "Hi Bob, thanks for the CMake fixes. I'm not sure what the purpose of the capitalisation changes was so I've reverted that (a) to make diff-ing easier and (b) because all-caps is consistent with all the other OSG CMake files. Aside from that the changes seem fine.
I don't understand the changes to ReaderWriterFBX.cpp - (i) strings.h isn't a standard header, (ii) the ISO-conformant form is _strnicmp (with the underscore). Does the existing code not compile for you? If not we'll have to do some #ifdef nastiness."
2010-06-15 09:14:20 +00:00
Michael PLATINGS
0c7a4fdedc Changed _strnicmp to strncasecmp for non-Windows builds 2010-06-15 09:09:38 +00:00
Robert Osfield
d58d417159 From Tan Dunning and Jan Peciva, Jan's email : "I created a new submission, based on Tan's two changes, including further naming functionality that includes:
- geode and geometry naming
- shaders and osg::Program name

as these nodes did not receive names before. Some code cleaning included as well."
2010-06-14 16:41:32 +00:00
Robert Osfield
8828d31c2e Removed debug messages 2010-06-09 15:05:34 +00:00
Robert Osfield
ae88d9467c Fixed reading of wrapped strings that contain multiple " within the string 2010-06-09 13:54:08 +00:00
Robert Osfield
9262015d11 Added missing loadWrappers 2010-06-09 11:24:22 +00:00
Michael PLATINGS
5ea4a8c0f3 From Alessandro Terenzi: previously the plugin ignored UV scaling values eventually stored in the FBX file, now they are read and set for each supported texture map (not considering reflection maps).
From Michael Platings: fixed UVs for files that don't explicitly reference the name of a UV channel.
2010-06-09 09:12:20 +00:00
Michael PLATINGS
82ea9597e5 Added support for Euler angles and step/linear/cubic-bezier interpolation. 2010-06-08 17:32:36 +00:00
Robert Osfield
b81b167131 Added ref_ptr<> to avoid memory leak 2010-06-08 11:53:28 +00:00
Michael PLATINGS
4e42d9e89a Added more NURBS types to triangulate. 2010-06-07 15:25:18 +00:00
Michael PLATINGS
359b6b480d From Alessandro Terenzi: modifications for supporting opacity, reflective and emissive maps beyond the already supported diffuse map in the FBX plugin.
A problem with transparency has also been fixed: objects were transparent wrt themselves but were opaque wrt to other objects.
Finally I added the support for "mixing factors" of diffuse, reflective and opacity textures/values.

From Michael Platings: added "LightmapTextures" plugin option that changes the way textures are interpreted so Alessandro's models appear correctly. Also refactored to put many functions in one class to avoid passing around too many arguments to functions.
2010-06-04 19:50:32 +00:00
Robert Osfield
634e55eee3 Fixed permissions 2010-06-03 16:02:01 +00:00
Robert Osfield
c05330089d From Mathias Froehlich, "While tracking some valgrind problems in flightgear, I found a remaining off by
one error in the rgb loader.

Previously we limited the current line to the image with + 1. With that change
it is correctly limited to the width of the image.
Also flightgear seems to run nice with that change.
"
2010-06-01 11:51:37 +00:00
Robert Osfield
6369210dc0 Converted osg::notify to OSG_INFO etc. 2010-05-28 17:17:09 +00:00
Robert Osfield
f0e499adfe Converted osg::notify to OSG_INFO etc. 2010-05-28 17:16:49 +00:00
Robert Osfield
3593bad3f3 Converted osg::notify to OSG_INFO etc. 2010-05-28 17:15:47 +00:00
Robert Osfield
02266d0af3 Converted osg::notify to OSG_INFO etc. 2010-05-28 17:14:58 +00:00
Robert Osfield
5d5b6c0e8e Converted osg::notify to OSG_INFO etc. 2010-05-28 17:14:29 +00:00
Robert Osfield
afa735d83a Converted osg::notify to OSG_INFO etc. 2010-05-28 17:14:11 +00:00
Robert Osfield
005b2cdb86 Converted osg::notify to OSG_INFO etc. 2010-05-28 17:13:41 +00:00
Robert Osfield
666f8edce0 Converted osg::notify to OSG_INFO etc. 2010-05-28 17:13:20 +00:00
Robert Osfield
d413714dd0 Converted osg::notify to OSG_INFO etc. 2010-05-28 17:12:55 +00:00
Robert Osfield
1f17cae284 Converted osg::notify to OSG_INFO etc. 2010-05-28 17:12:14 +00:00
Robert Osfield
959dfbf874 Converted osg::notify to OSG_INFO etc. 2010-05-28 17:11:35 +00:00
Robert Osfield
56ec2bbabf Converted osg::notify to OSG_INFO etc. 2010-05-28 17:11:14 +00:00
Robert Osfield
cb80a312e1 Converted osg::notify to OSG_INFO etc. 2010-05-28 17:10:57 +00:00
Robert Osfield
08e6d2e3c1 Converted osg::notify to OSG_INFO etc. 2010-05-28 17:10:27 +00:00
Robert Osfield
9a9b4d1d2c Converted osg::notify to OSG_INFO etc. 2010-05-28 17:10:06 +00:00
Robert Osfield
9cb35ad08a Converted osg::notify to OSG_INFO etc. 2010-05-28 17:09:36 +00:00
Robert Osfield
0ce9d11fba Converted osg::notify to OSG_INFO etc. 2010-05-28 17:09:15 +00:00
Robert Osfield
93a174bb26 Converted osg::notify to OSG_INFO etc. 2010-05-28 17:08:30 +00:00
Robert Osfield
72c9b2543e Converted osg::notify to OSG_INFO etc. 2010-05-28 17:08:10 +00:00
Robert Osfield
f90ca548ee Converted osg::notify to OSG_INFO etc. 2010-05-28 17:07:44 +00:00
Robert Osfield
c3d3a36af4 Converted osg::notify to OSG_INFO etc. 2010-05-28 17:07:24 +00:00
Robert Osfield
e16268ca76 Converted osg::notify to OSG_INFO etc. 2010-05-28 17:07:01 +00:00
Robert Osfield
480399fc28 Converted osg::notify to OSG_INFO etc. 2010-05-28 17:06:35 +00:00
Robert Osfield
f9dc2b9bdc Converted osg::notify to OSG_INFO etc. 2010-05-28 17:06:10 +00:00
Robert Osfield
e66ba6c64d Converted osg::notify to OSG_INFO etc. 2010-05-28 17:05:46 +00:00
Robert Osfield
1eab86a853 Converted osg::notify to OSG_INFO etc. 2010-05-28 16:54:45 +00:00
Robert Osfield
8c65ac1f18 Converted osg::notify to OSG_INFO etc. 2010-05-28 16:54:08 +00:00
Robert Osfield
c453d3ad93 Converted osg::notify to OSG_INFO etc. 2010-05-28 16:53:46 +00:00
Robert Osfield
e934dc80d0 Converted osg::notify to OSG_INFO etc. 2010-05-28 16:52:45 +00:00
Robert Osfield
8d1d543263 Converted osg::notify to OSG_INFO etc. 2010-05-28 16:51:18 +00:00
Robert Osfield
d4a00377b7 Converted osg::notify to OSG_INFO etc. 2010-05-28 16:50:45 +00:00
Robert Osfield
1853db4807 Converted osg::notify to OSG_INFO etc. 2010-05-28 16:50:29 +00:00
Robert Osfield
e2dfecfffc Converted osg::notify to OSG_INFO etc. 2010-05-28 16:49:45 +00:00
Robert Osfield
b9361a503f Converted osg::notify to OSG_INFO etc. 2010-05-28 16:49:23 +00:00
Robert Osfield
528e5eed45 Converted osg::notify to OSG_INFO etc. 2010-05-28 16:48:31 +00:00
Robert Osfield
5bf2b5cc90 Converted osg::notify to OSG_INFO etc. 2010-05-28 16:48:05 +00:00
Robert Osfield
c56b29b7fe Converted osg::notify to OSG_INFO etc. 2010-05-28 16:47:42 +00:00
Robert Osfield
37470070f2 Converted osg::notify to OSG_INFO etc. 2010-05-28 16:45:32 +00:00
Robert Osfield
f8a6978b1b Converted osg::notify to OSG_INFO etc. 2010-05-28 16:44:28 +00:00
Robert Osfield
006f639a52 Converted osg::notify to OSG_INFO etc. 2010-05-28 16:44:08 +00:00
Robert Osfield
1f249ddc13 Converted osg::notify to OSG_INFO etc. 2010-05-28 16:42:57 +00:00
Robert Osfield
18e4eb566a Converted osg::notify to OSG_INFO etc. 2010-05-28 16:42:24 +00:00
Robert Osfield
722bf6a18d Converted osg::notify to OSG_INFO etc. 2010-05-28 16:41:53 +00:00
Robert Osfield
abea896b20 Converted osg::notify to OSG_INFO etc. 2010-05-28 16:41:37 +00:00
Robert Osfield
9b9bde0d2a Converted osg::notify to OSG_INFO etc. 2010-05-28 16:39:42 +00:00
Robert Osfield
ecaa239288 Converted osg::notify to OSG_INFO etc. 2010-05-28 16:39:08 +00:00
Robert Osfield
bba4a1900d Converted osg::notify to OSG_INFO etc. 2010-05-28 16:38:19 +00:00
Robert Osfield
254556f7f1 Converted osg::notify to OSG_INFO etc. 2010-05-28 16:38:00 +00:00
Robert Osfield
04d7abed11 Converted osg::notify to OSG_INFO etc. 2010-05-28 16:37:40 +00:00
Robert Osfield
50465da06a Converted osg::notify to OSG_INFO etc. 2010-05-28 16:37:10 +00:00
Robert Osfield
58eef23ab5 Converted osg::notify to OSG_INFO etc. 2010-05-28 16:32:51 +00:00
Robert Osfield
6c8b561226 Converted osg::notify to OSG_INFO etc. 2010-05-28 16:32:06 +00:00
Robert Osfield
00b856501f Converted osg::notify to OSG_INFO etc. 2010-05-28 16:31:38 +00:00
Robert Osfield
35f0824f1e Converted osg::notify to OSG_INFO etc. 2010-05-28 16:31:17 +00:00
Robert Osfield
438c8e7dc4 Converted osg::notify to OSG_INFO etc. 2010-05-28 16:30:58 +00:00
Robert Osfield
50c577f602 Converted osg::notify to OSG_INFO etc. 2010-05-28 16:30:36 +00:00
Robert Osfield
0c212fefec Converted osg::notify to OSG_INFO etc. 2010-05-28 16:29:53 +00:00
Robert Osfield
fab6a14cb5 Converted osg::notify to OSG_INFO etc. 2010-05-28 16:28:58 +00:00
Robert Osfield
71c434371a Converted osg::notify to use info 2010-05-28 16:28:18 +00:00
Robert Osfield
805a78c3b5 Converted osg::notify to OSG_INFO 2010-05-28 16:27:37 +00:00
Robert Osfield
a7da775353 Converted osg::notify to OSG_INFO etc. 2010-05-28 16:27:02 +00:00
Robert Osfield
0fefe9a789 Converted osg::notify to OSG_INFO etc. 2010-05-28 16:26:24 +00:00
Robert Osfield
3db10859cd Converted osg::notify to OSG_INFO etc. 2010-05-28 16:25:41 +00:00
Robert Osfield
37dd1298f2 Converted osg::notify to OSG_INFO 2010-05-28 16:24:04 +00:00
Robert Osfield
eff8dc5d63 Converted osg::notify to OSG_INFO etc. 2010-05-28 16:22:02 +00:00
Robert Osfield
0165862701 From Wojciech Lewandowski, "Reading and Writing of Texture2DArrays for IVE format." 2010-05-21 09:56:59 +00:00
Robert Osfield
f5587bad3d Fixed typos in method names 2010-05-18 10:12:30 +00:00
Robert Osfield
4e8f0561ad From Farshid Lashkari, "I modified some plugins to use the osgDB file stream functions in order to support UTF-8 encoded filenames." 2010-05-13 11:01:06 +00:00
Robert Osfield
42527fe859 From Wang Rui, "I'd like to submit my inbuilt schema data support of
the OutputStream/InputStream implementations, which was just finished
last weekend with a few tests on Windows and Ubuntu. Hope it could
work and get more feedbacks soon.

I've added a new option "SchemaData" to the osg2 plugin. Developers
may test the new feature with the command line:

# osgconv cow.osg cow.osgb -O SchemaData

It will record all serializer properties used in the scene graph, at
the beginning of the generated file. And when osgviewer and user
applications is going to read the osgb file, the inbuilt data will be
automatically read and applied first, to keep backwards compatibility
partly. This will not affect osgb files generated with older versions.
"
2010-05-12 20:02:31 +00:00
Robert Osfield
cfd4c514cb Improved the indentation/replaced tabs 2010-05-12 11:58:01 +00:00
Robert Osfield
688323fbed From Sukender, "Here is a tiny fix about texture wrap mode not being written correctly in 3DS files." 2010-05-12 11:44:30 +00:00
Robert Osfield
68a1ed2dcf Fixes for building OSG with OSG_USE_REF_PTR_IMPLICIT_OUTPUT_CONVERSION set to OFF.
Fixed copy and paste error in Camera::getImplicitBufferAttachmentResolveMask().
2010-05-12 11:37:27 +00:00
Michael PLATINGS
e91557fe1d From Martins Innus: The current fbx writer doesn't seem to support BIND_PER_VERTEX for normals. If you have this type of geometry it, exports the the first normal in the array over the whole primitive set. I don't know that the attached change should be applied as is, since I don't know enough about DrawArrays and Draw Elements to know if the indices for the vertices and normals are guaranteed to be the same. I tried it on a couple models and that seemed to be the case. The alternative is to have the logic down in setControlPointAndNormalsAndUV and set the normals there with the "vertexIndex" if the binding type is per vertex. Not sure what is cleaner. 2010-05-12 08:54:22 +00:00
Michael PLATINGS
047b70c265 From Martins Innus: allow the fbx exporter to reference textures correctly if the stateset is applied to the Geode instead of Geometry 2010-05-11 17:02:18 +00:00
Michael PLATINGS
c51e94725b Fix from Martins Innus for error: extra qualification 'FbxMaterialToOsgStateSet::' on member 'FbxMaterialToOsgStateSet' 2010-05-11 09:08:55 +00:00
Robert Osfield
22dfe6f8d1 From John Ivar Haugland and Michael Platings,
JIV:"I deleted a line from the ReaderWriterDAE.cpp file that was introduced in rev 11341. I got a crash on this line when the options pointer was NULL."
MP:"Good spot John. The next line is also unnecessary and can be removed as well (attached, plus some minor code beautifying)"
2010-04-28 20:10:53 +00:00
Robert Osfield
b459fb4a25 Added support for passing in an options string to control the orientation of the generated graph 2010-04-28 18:52:58 +00:00
Robert Osfield
dbbe73304a Added support for using graphviz dot for graphics visualization via <graph>filename</graph> token. 2010-04-28 14:56:38 +00:00
Robert Osfield
4143f2f839 Fixed typo 2010-04-28 14:55:42 +00:00
Robert Osfield
b86431fdf7 Added colours and different style to drawable and statesets 2010-04-28 14:55:07 +00:00
Michael PLATINGS
324ddd0ca3 No longer removes redundant nodes because node structure may be important. 2010-04-28 14:05:47 +00:00
Robert Osfield
dfda4ce35f Replaced afprintf usage with std::string to fix memory leak and improve portability of code. 2010-04-28 10:15:16 +00:00
Robert Osfield
3bef6f9eae Implemented Colin MacDonald's recommended change of "unsigned short" to "unsigned" to solve big endian problem under Solaris.
Also added comment to highlight the oddity of the mixing of types in the associated lib3ds code.
2010-04-20 13:34:57 +00:00
Robert Osfield
2c64536a09 Replaced tabs with four spaces 2010-04-20 11:38:38 +00:00
Robert Osfield
31e8e37dbd From Jason Beverage, "Here is a fix to the curl plugin CMake to allow it to link against the
CURL_LIBRARY_DEBUG and ZLIB_LIBRARY_DEBUG.  Previously it linked the
debug version against the release libs, which was causing a hang when
running in debug mode on Windows."
2010-04-20 11:23:08 +00:00
Robert Osfield
a8c4fd8761 From Wang Rui, "The new osgShadow and osgFX serializers are attached, and some
modifications of the osgShadow header naming styles as well. The
osgDB::Serializer header is also changed to add new Vec2 serializer
macros because of the needs of osgShadow classes. It should compile
fine on both Windows and Linux. But I have only done a few tests to
generate .osgb, .osgt and .osgx formats with these new wrappers."
2010-04-20 10:29:04 +00:00
Robert Osfield
a0781cba6c From Mourad Boufarguine, "This submission fixes osgDAE::toString(*) unresolved external symbols compile errors (on VS)." 2010-04-20 09:48:45 +00:00
Robert Osfield
c091b5c2d1 From Stephan Huber and Mathieu Marache, "attached you'll find framework support for os x via cmake. Please credit
Mathieu Marache, he added the last missing piece to this puzzle.

I think it is safe to commit these changes to trunk, as the traditional
way via dylibs should work as before.

Here's some more info how to get frameworks:

With these modifications it is possible to compile frameworks on OS X,
when you set the Cmake-option OSG_COMPILE_FRAMEWORKS to true. If you
want to embed the frameworks in your app-bundle make sure to set
OSG_COMPILE_FRAMEWORKS_INSTALL_NAME_DIR accordingly.

You'll have to build the install-target of the generated xcode-projects
as this sets the install_name_dirs of the frameworks and plugins."
2010-04-19 13:44:42 +00:00
Robert Osfield
488eac94f7 From Wang Rui, "Attached is the osgAnimation wrappers for serialize IO operations. A
few headers and the osgAnimation sources are also modified to make
everything goes well, including:

A new REGISTER_OBJECT_WRAPPER2 macro to wrap classes like
Skeleton::UpdateSkeleton.
A bug fix in the Seralizer header which avoids setting default values
to objects.
Naming style fixes in osgAnimation headers and sources, also in the
deprecated dotosg wrappers.
A bug fix for the XML support, to write char values correctly.
A small change in the osg::Geometry wrapper to ignore the
InternalGeometry property, which is used by the MorphGeometry and
should not be set by user applications.

The avatar.osg, nathan.osg and robot.osg data files all work fine with
serializers, with some 'unsupported wrapper' warnings when converting.
I'm thinking of removing these warnings by disabling related property
serializers (ComputeBoundingBoxCallback and Drawable::UpdateCallback),
which are seldom recorded by users.

By the way, I still wonder how would we handle the C4121 problem,
discussed some days before. The /Zp compile option is set to 16 in the
attached cmake script file. And is there a better solution now?"
2010-04-19 10:35:18 +00:00
Robert Osfield
6ec106b31a From Paul Martz, fixes for static build 2010-04-19 09:39:39 +00:00
Robert Osfield
70d78c0713 From Colin McDonald, "The new 3ds plugin isn't working at all on big-endian machines, due to
a byte order issue.

The problem is that osg::SwapBytes code has been copied from the old
plugin to the new one, but the latest lib3ds also incorporates code to
handle byte ordering in read & writing.  So the net result is that the
swap is done twice.

The solution is simply to remove the custom osg code, and use the
stock lib3ds code.  The attached files are against today's revision
11331.  I've tested on Sparc & Intel.
"
2010-04-15 18:40:40 +00:00
Robert Osfield
51d377c9f6 Ran dos2unix on header files 2010-04-15 18:38:32 +00:00
Robert Osfield
6b73cef997 Ran dos2unix on lib3ds files 2010-04-15 18:38:03 +00:00
Robert Osfield
3700263e08 From Sukender, "After discussion with Paul Martz, here is a fix for 3DS reader/writer (on rev. 11315) + some changes. Changelog:
- Fixed handling of MatrixTransforms (still doesn't support other Transforms types). Fixes things for OSG, DeepExploration, 3DSMax...
- Added support for writing double precision vertices by converting them.
- Added base code for future compatibility option (3rd-party apps that don't read animation data). See "DISABLE_3DS_ANIMATION" compile flag."
2010-04-15 11:49:33 +00:00
Robert Osfield
72e6867679 Changed std::pair declaration to ListTriangle::value_type to avoid Solaris compile errors 2010-04-15 11:40:49 +00:00
Michael PLATINGS
d5fafcecbd Updated the plugin to be compatible with version 2011.2 of the FBX SDK 2010-04-14 16:43:50 +00:00
Michael PLATINGS
8e53cfe6fc Added support for double precision geometry 2010-04-13 14:50:31 +00:00
Michael PLATINGS
25cd2970c5 osgAnimation now stores times as doubles 2010-04-12 16:35:15 +00:00
Michael PLATINGS
5d64318597 From Sukender: Fixed FBX writer: now handles double precision arrays (vertices, normals, texcoords) 2010-04-12 15:04:25 +00:00
Robert Osfield
c6c26d5d44 Change Terrain so that it subclassed from CoordinateSystemNode.
Implemented new update scheme of GeometryTechnique to avoid potential threading issues.

Added Terrain support to .ive.
2010-04-03 16:21:34 +00:00
Robert Osfield
fe5527f332 From Mathias Froehlich, "I added some features to the vrml plugin.
The plugin can now handle embeded PixelTexture fields in addition to the
already implemented ImageTexture fields.

Fixed a bug with texture repeat being applied to the wrong texture dimension.

Added handling for IndexedLineSet geometries."
2010-03-25 14:19:01 +00:00
Robert Osfield
99b6b268bc From Michael Platings, "the attached files fix the DAE importer for animations that don't contain channels for all X, Y and Z components, as exported by SoftImage." 2010-03-22 17:55:14 +00:00
Robert Osfield
8a39ece376 From Chuck Seberino, "have a fix for the reading code in trunk/src/osgPlugins/gz/ReaderWriterGZ.cpp. It seems that the std::istream::readsome method on windows is a no-op (for files. After much head scratching and research I was able to figure out what was going on. I am submitting a fix to replace readsome with read() and gcount(). This change is for all platforms. The previous implementation works fine under linux and OSX, so if you would rather keep things the way they are you can just #ifdef for non-WIN32.
I also added openmode flags to the ifstream constructor, since they were needed to get proper reading as well as a typo fix."
2010-03-22 13:13:22 +00:00
Michael PLATINGS
03d5b81a6f Workaround for files exported from SoftImage that don't tag skeleton nodes correctly. 2010-03-19 20:12:19 +00:00
Michael PLATINGS
f053c6c567 From Paul Martz: This is a fix to get the FBX plugin to compile on OS X 2010-03-19 18:28:20 +00:00
Michael PLATINGS
328c19dad9 Fixed an infinite loop when loading a malformed file. 2010-03-19 10:19:41 +00:00
Michael PLATINGS
660cb74877 Workaround for models with inverted transparency 2010-03-18 19:02:12 +00:00
Robert Osfield
28105bacc1 From Glenn Waldron, "The PLY plugin only works for a file that includes both vertices and faces. This patch adds support for PLY files that include only vertices (a point cloud)." 2010-03-17 14:32:32 +00:00
Robert Osfield
d5aea9c0f2 Updated various serialization support for .osg, .osgt/b/x and .ive. 2010-03-16 18:44:27 +00:00
Robert Osfield
bc9b28a0c9 Added return into ReaderWriterOSG2::prepareReading(..) to prevent bug associated with result being discarded. 2010-03-14 08:56:21 +00:00
Robert Osfield
4dcf21d707 From Sukender, "I had some conflicts when updating but they seem resolved now. Attached files (four files) are against rev. 11200. Changelog:
- Replaced exceptions with assert() or OSG_NOTIFY
- Replaced osg::notify() with OSG_NOTIFY
- Changed braces and tabs to fit OSG coding convention
- Cleaned a few things in code (names, added deallocations upon error)"
2010-03-11 16:53:35 +00:00
Robert Osfield
dce80220e8 Cleaned up the registration of wrappers so that they are done on demand. 2010-03-11 10:24:20 +00:00
Robert Osfield
08612666fa From Roger James, "Here is a small stability fix to the dae reader which seems to have dropped out of the latest version." 2010-03-10 16:31:30 +00:00
Robert Osfield
e70c304533 From Sukender, "I've fixed positions for 3DS writer. Points in 3DS must be in world coordinates and I added what was missing.
And by refactoring a bit of code, I may have fixed some StateSets related bugs (was ignoring StateSets for osg::Groups).
I also added support for Billboard's points, so now "osgconv lz.osg lz.3ds" has an acceptable output. However, there is no rotation depending on billboards' axis, hence the notice "Warning: 3DS writer is incomplete for Billboards (rotation not implemented).". You may want to remove this notice (or lower the notify severity) if you feel 3DS doesn't have to handle such rotations.
The attached archive contains 3 files from 3DS plugin, against rev. 11162.

Please note there is still the textures issue for cow.osg. I guess it's because it's not a "flat, dummy and standard" texture in slot 0... That is to say the only thing the writer can handle at the moment. I guess I won't address this soon.
"
and

"I've detected and fixed another bug in 3DS writer: support for automatic splitting of meshes having >65k faces/points was buggy (was deleting faces).
Here is my four 3DS modified files (in a ZIP), against rev. 11193, including previous fixes AND Stephan's fix about relative filenames."
2010-03-10 16:05:52 +00:00
Robert Osfield
e082b01f26 From Wang Rui, "I've initially added the XML support of the new native osg format,
using osgDB::XmlParser. The extension for XML-formatted scenes is
.osgx, corresponding to .osgb for binary and .osgt for ascii. It could
either be rendered in osgviewer or edited by common web browsers and
xml editors because of a range of changes to fit the XML syntax. For
example, the recorded class names are slight modified, from
'osg::Geode' to 'osg--Geode'.

To quickly get an XML file:
# ./osgconv cow.osg cow.osgx

The StreamOperator header, InputStreram and OutputStream classes are
modified to be more portable for triple ascii/binary/XML formats. I
also fixed a bug in readImage()/writeImage() to share image objects if
needed.

The ReaderWriterOSG2 class now supports all three formats and
reading/writing scene objects (not nodes or images), thanks to
Torben's advice before.
"
2010-03-10 13:48:41 +00:00
Robert Osfield
6dc1ec6c4e From Stephan Huber, "attached you'll find a small bugfix for the 3ds-reader. It allows
reading files with relative paths again. (Hard to explain, easy to see
in the diff)"
2010-03-10 10:10:57 +00:00
Robert Osfield
4bc287cedb Added extra ffmpeg version check 2010-03-08 10:20:14 +00:00
Robert Osfield
8743e5d925 From Mathias Froehlich, "Not so long time ago, there was a complaint about the ac3d plugin not honoring
absolute filenames for the texture images.

The attached change should fix this by at first looking at the absolute file
name to load a texture and then, if that fails, strip away any paths to try
that again with the bare file name.
The change also fixes a possible exception that could be triggered by an out
of bounds std::string access which is now avoided by using functions from
osgDB/FileUtils.

The change is based on rev 11161."
2010-03-05 16:08:34 +00:00
Robert Osfield
84c0ecadd8 Fixed usage of osg::swapBytes to properly pass in pointer to data that needs swapping. 2010-03-05 16:04:30 +00:00
Robert Osfield
10a2f389d7 From Mathias Froehlich, "If you want to have that qfont plugin loader, this is the updated
implementation which uses osgQt and includes the changes to make fonts load
without a file on disk."
2010-03-05 15:46:17 +00:00
Robert Osfield
f497cd3c24 Fixed warnings 2010-03-05 15:04:36 +00:00
Robert Osfield
c40a4ff9cb Changed Options::setDatabasePath(..) usage to getDatabasePathList().push_front() to paths set by Options to be picked up. 2010-03-05 11:19:34 +00:00
Robert Osfield
e01832763d Fixed warning 2010-03-05 10:58:47 +00:00
Robert Osfield
d52910ff67 Fixed warning 2010-03-05 10:50:50 +00:00
Robert Osfield
7e56f2d258 Fixed warning 2010-03-05 10:48:34 +00:00
Michael PLATINGS
0f58cc2628 Added BlendFunc for transparent materials 2010-03-04 17:01:33 +00:00
Michael PLATINGS
65489693d9 Fix for some FBX files with multiple meshes bound to a bone. 2010-03-04 16:27:19 +00:00
Robert Osfield
ace8dad2c3 Fixed warnings 2010-03-04 13:03:18 +00:00
Robert Osfield
f1dd820a4e From Michael Platings, "Here are a couple more fixes on top of what you've already done." (in reply to fixes submission from Roland Smeenk). 2010-03-04 12:59:53 +00:00
Robert Osfield
225d99c5f1 From Roland Smeenk, "I took a quick look at the warnings and they contain nothing serious.
Attached you will find updates of the files to hopefully solve the warnings (in VS2005 only one warning occured). In addition I fixed a tiny bug that caused a crash with one of my test files."
2010-03-04 12:57:24 +00:00
Robert Osfield
5a47744e0d Removed old net plugin that is nolonger used. This plugin can be found in the deprecated/src/osgPlugins/net respository 2010-03-04 11:45:44 +00:00
Robert Osfield
7e5dd8ce17 Ran dos2unix of files to fix issues with file endings 2010-03-03 17:24:04 +00:00
Michael PLATINGS
fd6f3edf15 2010-03-03 16:14:04 +00:00
Michael PLATINGS
2609c4aa02 2010-03-02 18:18:06 +00:00
Robert Osfield
dbe854e9b0 From Raymon de Vries, "I've made a small change to DirectShowTexture.cpp: in the options for the directshow plugin it is possible to specify the capture device by number. For instance:
options->setPluginStringData("captureVideoDevice", "0");

Lines added in getDevice() are:
      int deviceId = atoi(name.c_str());
      if(deviceId >= 0 && deviceId < (int)_listDevice.size())
        return _listDevice[deviceId];

This makes it easy to use a capture device without knowing it's name. Attached is the whole file against rev 11044"
2010-02-26 15:01:00 +00:00
Robert Osfield
bbca791251 From Michael Platings, "Here's the all-new, all-dancing DAE plugin, with support for reading
osgAnimation. It's been tested with the majority of the samples in the
COLLADA test repository and works with all of them either as well as, or
better than, the version of the plugin currently in SVN.

Known issue: vertex animation (AKA morphing) doesn't work at present,
but that's a relatively unpopular method of animating so it's not high
on my priority list."

Follow up email:
"I've been informed that the previous DAE submission didn't build on
unix, so here's the submission again with the fixes.  Thanks to Gregory Potdevin and Benjamin Bozou.
Also, my apologies to Roland for not crediting his part in making DAE
animation happen, my work was indeed built on top of his work. Thanks
also to Marius Heise and of course Cedric Pinson."

Changes by Robert Osfield, fixed compile issues when compile without C* automatic conversion enabled in ref_ptr<>
and constructor initialization fixes to address some warnings under gcc.
2010-02-26 14:41:50 +00:00
Robert Osfield
eb23514478 From Sukender, "I tried a tiny change in is83() function and had no crash (under Windows). "osgconv cow.osg cow.3ds" exports a black cow and "osgconv lz.osg lz.3ds" exports tree(s) at (0,0,0)... I guess there are still things to do about non-zero-index textures and multiple instanciation of a node, but at least it doesn't crash." 2010-02-26 09:33:48 +00:00
Robert Osfield
2e154d5976 From Ryan Kawicki, "I guess I missed these during my testing, but if the database pager has outstanding requests while the application is shutting down, the archive can become invalidated through unsafe calls to ReaderWriterTXP::getArchive. I've made this function return a ref_ptr and change other locations to as needed to conform to the change. I've tested this and no more crashes.
Following files from revision 11057 have been attached."
2010-02-26 09:23:28 +00:00
Robert Osfield
8c4da68338 From Philip Lownman, "The libpng project decided to rename png_set_gray_1_2_4_to_8() to
png_set_expand_gray_1_2_4_to_8() with the 1.2.9 release.  This
submission fixes builds of the OSG against versions of libpng < 1.2.9
that don't have the new symbol available.  This affects platforms like
Red Hat Enterprise Linux 4 which come with libpng 1.2.7."
2010-02-26 08:55:50 +00:00
Robert Osfield
444361272f From Trajce Nikolov, "attached is some fix for the directshow plugin. Cleans up the build warnings as well makes the code a bit safer" 2010-02-25 18:01:25 +00:00
Robert Osfield
e3ad12c4f2 From Simon Buckley, "Attached is a small change to the file src\osgPlugins\dxf\dxfFile.cpp that allows the dxf reader to skip comments in a dxf file. I found with the existing version and a test file I had that the loader failed when comments were present. I made a very minor change to allow "999" comment codes to be skipped rather than causing load failure." 2010-02-25 17:13:15 +00:00
Michael PLATINGS
440bd7c3e3 2010-02-24 10:52:51 +00:00