Commit Graph

1449 Commits

Author SHA1 Message Date
Robert Osfield
e3d7e6e173 Added debug code path that prints out font details. 2007-06-08 20:11:50 +00:00
Robert Osfield
b4cd96ebdd From Jason Daly, "We have a few OpenFlight files that used to display properly with the
old loader, but appear very, very wrong with the new one.  I traced the
problem to the handling of the palette override flags in the external
reference records.  The current behavior for handling the palette
override flags for external references has different offsets for
different OpenFlight version (2 bytes for 14.2-15.1 and 4 bytes for 15.2
and later).  However, I believe this behavior is incorrect.

I know that the original 14.2 OpenFlight spec (dated April 1995)
specifies 2 bytes between the filename and the override flags, and the
15.4 and later specs specify 4 bytes.  However, I also found a 14.2.4
OpenFlight spec (dated January 1996) that changes the specification to 4
bytes.  Also, the databases in question were created using an old IRIX
version of MultiGen II, which wrote OpenFlight 14.2 files natively.
These files also have 4 bytes between the filename and flags.
Furthermore, these databases have always worked properly under earlier
versions of OSG, under Performer, and in every MultiGen product we've used.

This leads me to believe that the original 14.2 spec was incorrect (the
14.2.4 spec corrected this error), and there should be 4 bytes between
the filename and flags for all OpenFlight files version 14.2 and later.

The attached fix modifies the OpenFlight loader to behave in this way."
2007-06-08 10:58:22 +00:00
Robert Osfield
b1909ff55a From Jason Daly, "This changes the handling of textures in the OpenFlight loader.
Currently, if the texture attribute file doesn't explicitly specify an
internal format, the loader will force it to use GL_RGB, which keeps
translucent textures (eg. GL_RGBA textures) from showing up properly.

This patch changes the default behavior to simply use the image's format
instead of forcing a particular format."
2007-06-08 10:22:44 +00:00
Robert Osfield
32236ab2a4 From Per Fahlberg, "To get the pfb (Performer) plugin to compile I had to remove some of the
libraries listed under TARGET_EXTERNAL_LIBRARIES.
The removed libraries are not needed when linking the plugin, they are
loaded during runtime by Performer.
The modified file is attached."
2007-06-07 12:05:09 +00:00
Robert Osfield
87c9b39c98 From Roger James, "These fix a couple of problems in the ac3d writer.
1. Number of child node of the world object set incorrectly in when scene contains shape drawables.

2. Incorrect handling of line primitives."
2007-06-06 11:34:19 +00:00
Robert Osfield
2b9f209765 From Per Fahlberg, "added use of the internal format specified in the OpenFlight format attr files." 2007-06-05 11:18:28 +00:00
Robert Osfield
a1e436d9e7 From Jeremy Moles and Rbert Osfeild, added extra details about CMake build options. 2007-06-04 20:32:15 +00:00
Robert Osfield
3bc90a837e From Roger James, "Here are my fixes for transparency in the Collada DAE reader." 2007-06-04 11:47:05 +00:00
Robert Osfield
fcafd4db06 From Stephan Huber, "attached you'll find the modified ImageStream
and a small fix for QuicktimeImageStream to disable debug-logging :)"
2007-06-01 19:19:23 +00:00
Robert Osfield
6b75603ace From Charles Cole, "Attached are mods to the OpenFlight plug-in to help further implement
the specification.  With these mods, blink sequences are now created for
flashing light point nodes, either palletized (v.15.8 and later) or
non-palletized (15.7 and earlier).  Thanks to Brede for his
implementation of the palletized light point nodes.

There is still work to do on adding the capability to properly handle
light point system nodes, but this does add some capability that did not
previously exist.  So, I wanted to at least submit this and I will
hopefully provide the additional capability in the near future.

I've tested the code modifications with Visual Studio 2005.  I don't
have the means to test any other operating system, but I would suspect
that there shouldn't be any issue (famous last words).  I used the test
files that I uploaded to the users forum to test the changes.

In addition to the added capability, I changed the light point node
radius to the "actualPixelSize" value in the file.  Previously, the
radius was set to half the actual pixel size (see
LightPointRecords.cpp).  Not sure why this was the case.  But, it was
brought to my attention by a co-worker who created the OpenFlight files
and was testing them with different viewers.  If there's some history
for setting the radius to half the size, then this change can be
omitted."
2007-05-26 15:42:30 +00:00
Robert Osfield
6583b5b370 From Charles Cole, "he attached code
implements the LightPointSystem class to allow for the OpenFlight
plug-in to read and handle light point system nodes.  The behavior is
very similar to the old plug-in in that a MultiSwitch node is created to
handle the "enabled" flag bit set in the node record.  The code also
reverts the changes for the actualPixelSize as mentioned above.  And
lastly, the code requires the previously submitted changes for the
plug-in.

As for the other changes, I've tested the code with Visual Studio 2005
and the files that I posted in the users forum.

With all of the submitted changes, the OpenFlight plug-in should now be
capable of loading files with light point system nodes and the use of
palletized light points and non-palletized light points.
"
2007-05-25 19:35:19 +00:00
Robert Osfield
8a1ac890f3 Introduce C entry point support for plugin setup for better static build support 2007-05-25 15:27:06 +00:00
Robert Osfield
80d260c472 From Colin McDonald, "The writeImage method in ReaderWriterPNM.cpp had an error checking the
accepted file extensions, so that once the plugin was loaded in the
Registry it would grab any image file write request, regardless of the
file extension.  This was a particular problem if it was statically loaded."
2007-05-24 16:11:42 +00:00
Robert Osfield
6bf7fec64e From Olaf, "there are more dubious calls to istream::readsome instead of
istream::read. IMHO it does make no sense here and potentially breaks
this plugin."
2007-05-24 09:49:22 +00:00
Robert Osfield
908da298bb From Anders Backman, add -DJAS_WIN_MSVC_BUILD for Win32 build 2007-05-23 15:24:16 +00:00
Robert Osfield
e346396abd From Roger James, "Here is a small fix for the ac3d plugin geode.cpp. The fix is entirely localised to ac3d::Geode::OutputTriangleStripDARR.
It resolves an issue when processing a DrawArrayLengths with multiple lengths where the vertex indices were incorrect for all but the first chunk."
2007-05-22 14:00:51 +00:00
Robert Osfield
94b3a63e0c From Olaf Flebbe, "FlightGear/OSG on Windows did not load the Texture Fonts.
1) TXF Fonts are binary.
2) Do not rely on the result of istream::readsome if buffer _is_ empty
and no data have been read before."
2007-05-21 08:01:45 +00:00
Robert Osfield
d2ed03f931 Added istream:imbue(std::locale::classic()) setting to prevent non classic locals
from being used when the .osg plugin reads and writes.
2007-05-21 06:57:30 +00:00
Robert Osfield
9497d75cc9 Added support for version of the osgPlugins directory, which now gets versioned
according to the OpenSceneGraph/CMakeLists.txt and the include/osg/Version settings.
These changes mean that the 1.9.5 release will have a libs/osgPlugins-1.9.5 directory.
2007-05-20 12:29:11 +00:00
Robert Osfield
6a29688896 From Stephan Huber, "I cleaned the code a little bit and improved the handling of loops:
I added a new protected virtual method to ImageStream called
applyLoopingMode()  which is called from setLoopingMode. The
quicktime-plugin has an implementation of applyLoopingMode which sets
some flags for the quicktime, so that quicktime handles the loop
playback by itself.

This has some benefits:

+ no gaps when looping audio
+ simplified code

Attached you'll find the modified files, hope you'll find them useful."
2007-05-19 14:00:39 +00:00
Robert Osfield
c7fc2e018e From Andre Garneau, warnings fixes fo VC++ 2007-05-17 10:59:05 +00:00
Robert Osfield
752942addb From Mathias Froehlich, "This is an other small update for the ac3d loader:
- It avoids attaching texture coordinates if there is not texture attached.
- It uses DrawArrayLengths instead of multiple DrawElements."
2007-05-15 19:45:46 +00:00
Robert Osfield
6468905e42 From John Kelso, Added support for new Sequence options.
From Robert Osfield, updated the above changes to the .ive loader so that the new addition were tested against the IVE version number
2007-05-15 14:55:02 +00:00
Robert Osfield
2ca67c0916 From Doug McCorkle, removed pfdb from link line 2007-05-11 12:12:55 +00:00
Robert Osfield
0fd46ae957 From Brad Colbert, removed inappropriate rewind on non looping code path. 2007-05-11 08:30:20 +00:00
Robert Osfield
fd07f5cab5 From Daniel Sjolie, build fix for Windows 2007-05-10 11:36:53 +00:00
Robert Osfield
c7b9a07758 Added checks against Options to osga plugin to ensure archives are only cached
when requested, cleaned up the Registry::openArchiveImplementation function.
2007-05-10 08:20:33 +00:00
Robert Osfield
d59c884a79 Added extra external libs 2007-05-05 17:05:07 +00:00
Robert Osfield
f9b348620e Added extra libs to COLLADA plugin, but still need to set LD_LIBRARY to libs even though they are static!?#!? 2007-05-05 17:02:21 +00:00
Robert Osfield
b8841f211d Added preliminary Performer plugin support, note, still missing are a range of Performer database libs that will be required. 2007-05-05 16:24:07 +00:00
Robert Osfield
52b5b468d5 Added OpenVRML support 2007-05-05 16:11:30 +00:00
Robert Osfield
02e6deba15 Added CMake support for pnm plugin 2007-05-05 15:36:03 +00:00
Robert Osfield
2c2fefce5a Added support for normals plugin 2007-05-05 08:22:06 +00:00
Robert Osfield
a9f6263601 Added ToPortToCmake.txt to record what modules need port to CMake. 2007-05-05 08:18:04 +00:00
Robert Osfield
0603483c1a Added first cut a Xine support 2007-05-04 19:17:49 +00:00
Robert Osfield
0dfd619138 Added first cut of Cmake COLLADA support 2007-05-04 14:25:02 +00:00
Robert Osfield
3501f0ac0c Added COLLADA CMAkeLists.txt, doesn't work yet as we done yet have a FindCOLLADA.cmake but it is a start 2007-05-04 13:41:27 +00:00
Robert Osfield
07322ce9a1 Added support for jp2 plugin 2007-05-04 13:20:48 +00:00
Robert Osfield
dadb92ea64 Reorganised the managment of margins around glyphs so that is done entirely
with src/osgText/Font.cpp rather than the font plugins or Text.cpp
2007-05-04 12:05:29 +00:00
Robert Osfield
eccc1f45e0 From Mathias Froehlich, "Attached is a change that does no longer set the render bin details in nodes
other than drawables. I guess that this way I am sure to not introduce
hierarchical render bins in loaded models."
2007-05-04 08:45:21 +00:00
Robert Osfield
8c9ec06447 Added OpenThreads to TARGET_COMMON_LIBRARIES 2007-05-03 10:10:23 +00:00
Robert Osfield
4968eb7136 Further work on the new VBO support 2007-04-27 14:52:30 +00:00
Robert Osfield
a1639c3d2d From Brad Colbert, "Added a new method to ImageStream called getLength that is used to
return the length of the stream.

Implemented the virtual methods in QuicktimeImageStream, (getLength,
getReferenceTime, setTimeMultiplier), to return valid value for each.
"
2007-04-26 08:11:09 +00:00
Robert Osfield
8ef833c585 From Eric Wing, Added quicktime CMakeLists.txt 2007-04-26 08:07:25 +00:00
Robert Osfield
6405b7724d From Eric Wing, "lwo must link to osgFX or undefined symbols ensue." 2007-04-25 09:16:31 +00:00
Robert Osfield
00a44eb636 From Martin Aumueller, "the new Inventor plugin needs some changes in order to compile against OpenInventor.
Just as in the pre-r6419 I used the COIN_BASIC_H define in order to discriminate
between the two versions of Inventor.

Additionally, I had to change the CMakeLists.txt to use the proper include path.
"
2007-04-24 19:03:51 +00:00
Robert Osfield
d35d8d0fa8 From Jan Peciva,
"I was working on a new version of Inventor plugin.
It was inspired by the need to get correct and high quality conversion,
so I verified the plugin on complex models and made number of serious fixes:

- the geometry is not two times on the output file (!)
- SoVRMLImageTexture: VRML texture support was rewritten according to
  Inventor programming practices, since it does not worked correctly on
  many models (Anyway, thanks for Gerrick Bivins to introduce it.)
- osg::ref wrong usage related crash fixed
- code cleaning and texture code overhaul
- LOD fixes
- appended README.txt with all the contributors I was able to get from
  SVN logs"
2007-04-24 13:12:40 +00:00
Robert Osfield
56188dde68 Added CMake support for lwo plugin. 2007-04-24 13:11:22 +00:00
Robert Osfield
2bf836ea93 From Michael Platings, "In the "new method" 3DS loader, inverse matrices were applied to
vertices, but not normals, which caused some models to appear with
normals doubly rotated. I've now added some code to transform the
normals."
2007-04-22 21:18:20 +00:00
Robert Osfield
4248c0f8c8 Added osgSim dependency to txp plugin 2007-04-21 12:29:39 +00:00