Commit Graph

24 Commits

Author SHA1 Message Date
Robert Osfield
8e91926ca5 From Thibault Genessay, "The PNG plugin crashes when you try to read a malformed file (attached
is an example). This can happen in circumstances that are not
manageable by the OSG itself (e.g. 3rd party buggy program) but one
would expect the plugin to be able to recover by returning
ReadResult::ERROR_IN_READING_FILE.

libpng provides two callbacks for warnings and errors - those are
currently unused. By default, they point to function that call exit()
or something similar (the default error callback never returns). This
patch registers the callbacks using libpng's mechanisms, makes the
warning callback emit an osg::notify(osg::WARN) message and the error
callback throw an error. The reading process is enclosed in a
try...catch block. Upon error, the memory is freed and
ReadResult::ERROR_IN_READING_FILE is returned.
"
2008-05-28 13:51:56 +00:00
Robert Osfield
adbc15b5a1 From Glenn Waldron, "As you may recall, we discussed adding ReaderWriter::readObject() overrides to all the image plugins in order to facilitate future archive support. Attached are the necessary modifications. I tested JPEG, but not all the others... the code is identical though. Note that the DDS plugin already contained the readObject() implementations." 2008-02-25 13:25:42 +00:00
Robert Osfield
9e2fe92ef1 From Rudolf Wiedemann, "I need to link OpenSceneGraph statically to my application, so I
completed the new registration of the plugin-readerwriters
("REGISTER_OSGPLUGIN") according to your osgstaticviewer-example (see
attachment, based on today's svn)."
2007-07-06 13:54:26 +00:00
Robert Osfield
cdc8b13f14 From Farshid Lashkari, support for writing to istream for the the TIFF plugin and support for
controlling PNG compression level via the the ReaderWriter::Option string "PNG_COMPRESSION <level>"
2006-03-02 20:39:20 +00:00
Robert Osfield
507fb0074f From Farshid Lashakari, support for png write. 2006-03-02 14:58:13 +00:00
Robert Osfield
b0358c698a From Eric Sokolowsky, "There was a problem with the PNG plugin when it encounters an image that is
less than 8 bits per pixel (this can happen with greyscale or paletted images).
It was a pretty simple problem to fix."
2006-02-20 20:06:26 +00:00
Robert Osfield
e7c6a03bb2 From Farshid Lashari, added support for reading from std::istream's to the BMP, GIF, PNG and TGA image plugins 2005-08-24 10:48:24 +00:00
Robert Osfield
d9b9a6f1f8 Made read/write methods in ReaderWriter all const to facilate multi-threading 2004-11-23 15:29:52 +00:00
Robert Osfield
ce07879e2e Moved plugins across to using ReaderWriter::Options* for search paths in addition
to standard osgDB::DataFilePaths
2004-11-22 23:54:45 +00:00
Robert Osfield
1f5b044c71 Made ReaderWriter::className const 2004-10-26 10:26:43 +00:00
Robert Osfield
82562e5bdd From Eric Sokolowsky, fixed problems in PNG plugin for handling
paletted images which contain alpha values.
2004-05-12 10:45:36 +00:00
Robert Osfield
1025643170 From Eric Sokolosky, fixed broken handling of palatted textures. 2003-12-13 15:33:48 +00:00
Robert Osfield
83bf813e58 Moved the responsibility for finding file to load on to the ReaderWriter plugins,
instead of osgDB::Registry where it original lay.  This has been done to allow
fileName strings to be encode data rather than just file names, such as one
requires when using PagedLOD along with plugins for doing dynamic tesselation.
2003-12-08 11:24:43 +00:00
Robert Osfield
b9775a1a3e Fixed PNG plugin so it handles endianess correctly, and alpha/grey scale textures. 2003-10-29 10:41:36 +00:00
Robert Osfield
c8e7f04200 Fix for compile oddities on an Octane with old zlib headers hanging around,
change is non intrusive.
2003-07-15 16:20:50 +00:00
Robert Osfield
b32c8c65f3 Added osg::Image::AllocationMode enum and associated set/get methods.
osg::Image::setImage has also been modified to require the AllocationMode
mode to be passed to it so that it knows how to delete the data once the
image goes out of scope.

Port the image plugins across to specify the new AllocationMode, and converted
them across to using new/delete in place of malloc/free.
2003-02-25 11:56:18 +00:00
Robert Osfield
0980eeda1e Updated the plugins so they do the extension checking with a non
case sensitive comparison.
2002-11-14 09:03:31 +00:00
Robert Osfield
6bb8002116 Added in guard to png loader so that it only accepts png files. This has been
added since the png loader itself doesn't not seem robust enough at detecting
non png files.

Added a tab in to the flt code to make it more obvious what is happening in
the flow of the code.
2002-11-04 08:40:51 +00:00
Robert Osfield
88ecacfd7a Changed the default value of StandardOrientation to true, to fix orientation
problems which commonly occur with png files.   Leaves the quesition of how to set
this value automatically.
2002-10-09 15:41:22 +00:00
Robert Osfield
2b4008bbbc Purge on warnings under Linux. 2002-04-16 14:09:46 +00:00
Robert Osfield
f0372817b5 Added support for ReadResult and WriteResult to the osgDB::ReaderWriter
to allo plugins to pass back more information about the success or failure
of a file load.  All plugins have been updated to the new convention.
2001-10-30 14:20:37 +00:00
Robert Osfield
06dafa487e Added osgDB::ReaderWriter::Options class to the ReaderWriter base class, support
for settings options in osgDB::Registry, and added the paramter to all of the
reaader/writer plugins.  The Options structure by default has an string attached
for packing basic options, however, it also can be subclassed to encapsulate
any users defined option data. In the later case both the client code *and*
the plugin need to be aware of subclass, the plugin will need to use
dynamic_cast<> to assertain its type.
2001-10-14 17:54:25 +00:00
Don BURNS
e8f256a59d Added a bunch of files synched with 0.8.42 2001-09-19 21:08:56 +00:00
Don BURNS
70208ebc06 Initial revision 2001-01-10 16:32:10 +00:00