Commit Graph

52 Commits

Author SHA1 Message Date
Robert Osfield
ee4e2afa76 From Philip Lowman, clean up of CMake files 2009-04-09 09:23:45 +00:00
Robert Osfield
ca3e855b9c Fixed warnings 2008-12-17 10:33:39 +00:00
Robert Osfield
d946a6536e From Ulrich Hertlein, "I noticed some regression in the BMP loader - some 8-bit (paletted) files wouldn't load anymore but simply crash.
After taking a look at the current state of the BMP loader I decided it might be worth a shot at reimplementing that part.  For example: the current loader doesn't properly handle 1- and 4-bit files, incorrectly loads 16-bit files as intensity-alpha (they are RGB555), is full of dead code, and generally not in very good shape.

Attached is my re-implementation for review.

I've checked it against the test images from http://wvnvaxa.wvnet.edu/vmswww/bmp.html and models that use BMP files.
"
2008-11-23 10:20:50 +00:00
Robert Osfield
720551d549 From Michael Platings, Converted std::fstream/ifstream/ofstream to osgDB::fstream/ifstream/ofstream and
fopen to osgDB::fopen to facilitate support for wide character filenames using UT8 encoding.
2008-11-07 15:08:08 +00:00
Robert Osfield
02b456bcfa Converted plugins to use the new supportsExtension()/supportsOptions/supportsProtocl() methods
to help enable better querying of supported features
2008-07-13 22:18:59 +00:00
Robert Osfield
aa593fcd2d From Colin McDonald, "There is a problem reading bmp files containing a colour palette,
due to an incorrect scan line length calculation.  Attached is a fix,
and a little bmp file which demonstrates the problem."
2008-07-01 19:04:29 +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
5906e0861c From Farshid Lashkari, "The bmp writer crashes in certain cases. It happens when the computed
size of the image data is greater than the actual image size. This
causes the memcpy call to go out of the array bounds. I modified the
code so that it copies the data during the iteration, instead of
memcpy'ing. This fixes the problems i was having.

If you are curious, the writer was crashing when trying to write an
RGB image that was 2050 x 1280. You might be able to reproduce it by
allocating an empty image of that size and writing it to a file."
2007-12-06 17:44:56 +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
2e6ee4bb39 Removed old gmake and VisualStudio build files 2007-04-10 13:10:25 +00:00
Robert Osfield
282f4ce0b9 Moved the TARGET_NAME setting into the OsgMacroUtils.cmake. 2007-03-19 17:24:19 +00:00
Robert Osfield
da64127539 Ran dos2unix on CMakeLists.txt files. 2007-03-19 13:26:34 +00:00
Robert Osfield
be3f61c49f From Luigi Calori, move to using local CMakeLists.txt files and explicit file lists.
From Robert Osfield, small ammendments of the above to seperate example and application installs, and fix the osgPlugins install directory.
2007-03-19 12:30:26 +00:00
Robert Osfield
07c7e37426 From Colin McDonald, fix for big endian systems 2005-08-30 19:19:49 +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
384e647f56 Fixes for Win32 build 2005-01-27 15:54:10 +00:00
Robert Osfield
67a5a020bf From Donn Mielcarek, change of long and unsigned long to int32 and uint32 to
avoid 32bit vs 64bit issues.
2005-01-25 22:15:40 +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
195a1be76e Fix for VS6.0 build 2004-08-13 12:05:08 +00:00
Robert Osfield
db43e34bce From Michael Gronager, added support for alpha channel in writing of BMP images 2004-06-28 13:18:10 +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
787b64999c From Eric Hammil, support for compute the dimensions when the file specified
size is zero.
2003-11-25 10:53:57 +00:00
Robert Osfield
8b0a5035b2 From Eric Hammil, fix for bmp image size. 2003-10-17 10:24:22 +00:00
Don BURNS
fa33244f92 1) Replaced all Makefile* with GNUmakefile*.
2) Changed Makedepend system to make individual dependency files, which
   should save time rebuilding dependencies by limiting the regeneration
   of dependency file for only modified source files.
2003-03-12 10:39:43 +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
00fd58283c Added extension checking to the rgb and bmp write of images. 2002-10-18 12:23:42 +00:00
Robert Osfield
46585242a1 Fixed and unmatched malloc/free pair, which was previously doing a mallco/delete. 2002-09-03 09:50:51 +00:00
Robert Osfield
7fe394ac42 Removed repeat line from Makefile. 2002-07-16 18:56:12 +00:00
Robert Osfield
bbc129e5c6 Compile Fixes for Win32. 2002-06-22 15:46:43 +00:00
Robert Osfield
53b6d0c92e Bug fix to the size calculation of bmp images, changed both the reading and
writing of images.
2002-06-21 15:14:29 +00:00
Robert Osfield
09d41789da Fixes to osg::Image::createImage(..), and addition of code to Viewer.cpp to support
output of screen snapshot via 'O'.
2002-04-14 13:41:13 +00:00
Robert Osfield
03e9f63d54 Addition of write .bmp to the BMP plugin. 2002-04-14 12:54:26 +00:00
Don BURNS
1a51045ea4 Added a stop gap fix for cygwin build. Previous experiements were creating
library and  plugin files that looked like system library and system files
which would have deleted original files on a 'make install'.  Cygwin is not
tested yet, but this needed to get fixed before a cygwin user wiped out his
system library files.
2002-04-07 17:47:03 +00:00
Don BURNS
e0adca775b Reinstated Norman Vine's TARGET_BASENAME variable in the makefiles and
added prefixes and suffixes to libs and plugins.  ALl this to accomodate
cygwin...

Also added INST_SYS_PREFIX and INST_SHARE_PREFIX for installation, as well
as "standardizing" the install locations for the various platforms.
2002-04-03 17:42:12 +00:00
Don BURNS
3e6638320a The new order for building OSG. All Makefiles are replaced and
the Make directory is left with four files only :
    makedefs
    makerules
    makedirrules
    instrules

These work for all platforms supported so far, which include :
    Linux
    Irix
    Solaris
    MacOSX
    Cygwin
    FreeBSD
2002-04-02 06:44:57 +00:00
Robert Osfield
e87f7cf853 Updated the makefiles to all have the #!gmake reference to force IRIX
compilation using gmake rather than pmake or smake.  This gets round
issues with exporting OSGHOME.
2002-02-13 22:56:47 +00:00
Robert Osfield
6ccb4b20c5 Updates to BMP loader from Geoff Michel. 2002-02-09 21:29:33 +00:00
Robert Osfield
16ada0fa3b Fix to BMP loader. 2002-02-09 10:50:09 +00:00
Robert Osfield
92785c864e Integrated the changes to osgPlugin/Makefile's for MacOSX port. 2002-01-16 12:05:22 +00:00
Robert Osfield
42fd25c613 Renamed the TOP variable in the Makefiles to OSGHOME. 2002-01-04 20:44:41 +00:00
Robert Osfield
75fe0a6a7f Makefile changes to support Cywin port - submission from Norman Vine, updates
to fix case problems under unix by Robert.
2002-01-03 23:19:18 +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
de924ca759 Fixes for compilation under IRIX, submitted by Randal Hopper, with mods
from Robert.
2001-10-15 15:50:55 +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
Robert Osfield
a7f0cacc41 Fixed a crash when opening an erroneous test file (reopen.bmp). 2001-10-09 21:55:47 +00:00
Robert Osfield
68e63ef750 Merged updates to BMP plugin from Geoff Michel. Also modified a little of the
code to fix a crash under Linux, Robert Osfield
2001-10-09 11:58:13 +00:00
Robert Osfield
2b85ce5c1c Merged Geoff Michel's udpdates to bmp plugin, and fixed a double fclose bug
which was causing a seg fault under Linux.
2001-10-07 20:10:58 +00:00