completed the new registration of the plugin-readerwriters
("REGISTER_OSGPLUGIN") according to your osgstaticviewer-example (see
attachment, based on today's svn)."
It should not be introusive to any other palatform apart MSVC, but in order to link to debug-specific libs
I had to change plugins CMakeLists to differentiate debug/release linkage, I have used the same macro used in core libs
Now the macro used for plugin and examples linking test for existance of TARGET_LIBRARIES_VARS
that holds the names of the variables that have to be used for linking"
contained an 8-bit color map. The crash occured at line 545:
remap_row(currPtr, inbuf, w, red, green, blue);
Cause: The code was trying to write past the end of the buffer while
doing this remapping. The size of the buffer is determined based on the
value of 'format', which was 1 in this case since bitspersample is
8(indicating a 8-bit color map). The buffer should have been created 3
times as large since that 8-bit value is indexing a 24-bit color.
Fix: I've put in an if statement to set format to 3 if 'photometric'
indicates the tif contains a palette as the output data will always be
24-bit color data in this case."
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.
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.
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.
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.
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.
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
plugin names hanging around despite being deprecated. These definiations
confused the make install/make instclean so it tried to link a non existant
library. Have removed old definitions and everything intalls properly once
more:-)
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.