Commit Graph

1223 Commits

Author SHA1 Message Date
Robert Osfield
6c6c131452 From Paul Martz,
"Previously, the new OpenFlight plugin only allowed ext ref models to use
their own palettes. With this change, parent models can override child model
palettes with the parent palettes.

These changes are made against very current CVS (just updated about 1/2 hour
ago, eliminated conflicts, and retested before this posting).

To regurgitate what I did:

A new class, ParentPools (public osg::Referenced), is created when an ext
ref record is parsed, and it is populated with any parent model pools that
should override the child model pools (according to bits in the ext ref
record). The ParentPools object is then set as UserData on the ProxyNode
corresponding to the ext ref.

When the ReadExternalsVisitor hits the ProxyNode, it takes its UserData and
sets it as UserData in the Options parameter to the osgDB::ReadNode call,
which then read the ext ref model. In the course of parsing the Options
string, ReaderWriterFLT also looks at the Options UserData and sets the
parent pools in the Document class accordingly.

When palette records are encountered while loading a file, they are ignored
if the corresponding pool was set by the parent.

Thanks to Brede for consulting with me on the implementation.
"
2006-07-04 19:54:29 +00:00
Robert Osfield
c8aec2a07d Fixed warnings. 2006-07-04 11:24:36 +00:00
Robert Osfield
0170689c9d Warning fix. 2006-07-04 10:55:58 +00:00
Robert Osfield
eff37b0fdf Warning fix 2006-07-04 10:52:16 +00:00
Robert Osfield
62ecea541d From Ulrich Hertlein, updates to DirectX loader 2006-07-04 09:13:15 +00:00
Robert Osfield
5e9076ec10 From Brede Johansen, set the default value of texture wrap mode to REPEAT to fix problem
with database without .attr files.
2006-07-03 20:28:26 +00:00
Robert Osfield
e4dea2b8c4 Fixed a couple of warnings. 2006-07-03 16:31:30 +00:00
Robert Osfield
70391108fd Fixed orientation and lighting of model. 2006-07-03 16:21:57 +00:00
Robert Osfield
07ac167fa8 Added merge geodes and geometries optimizer call 2006-07-03 10:47:16 +00:00
Robert Osfield
c90e35038a From Eric Sokolowski, "Added the ability to read and write images directly in the ive plugin,
through the osgDB::readImageFile and osgDB::writeImageFile functions.
This is useful for storing compressed textures on disk for rapid playback
for animations."
2006-07-03 09:26:12 +00:00
Robert Osfield
e7d04408d3 From Michael Platings, added support for blend seperates to .ive and .osg 2006-07-03 09:22:11 +00:00
Robert Osfield
4ce0d8af64 From David Callu, compile fix for gcc 4.1 2006-06-29 19:38:07 +00:00
Robert Osfield
a6fbb7a044 Changed _WIN32 to _MSC_VER 2006-06-29 10:17:19 +00:00
Robert Osfield
459f147da7 From Eric Wing, updates to QuickTime plugin 2006-06-29 10:06:27 +00:00
Robert Osfield
e12c6b7902 Form Brede Johansen, move from istrstream to istringstream.
From Robert Osfield, remapped Paul Martz's changes to Pools.h and PaletteRecords.cpp w.r.t texturePatternIndex being a in16, and converted a char* string to a std::string.
2006-06-29 09:34:41 +00:00
Robert Osfield
e0258f23b3 Changed unsinged int to GLuint for OSX compile fix. 2006-06-29 08:08:39 +00:00
Robert Osfield
17e51e73c4 Changed unsigned int to GLuint for OSX build. 2006-06-28 20:38:32 +00:00
Robert Osfield
4dff461b1c Change internal variables across to being GLuint. 2006-06-28 14:36:28 +00:00
Robert Osfield
5acd4f3be1 From Martin Naylor, build fix for windows. 2006-06-28 07:17:56 +00:00
Robert Osfield
95d29db7c5 Removed old #include <vector.h> entries. 2006-06-28 07:14:39 +00:00
Robert Osfield
261f4a3b1c From Terrex and Andrew Sampsom and Don Tidrow and Robert Osfield,
email comments from Andew Sampson,

"I've contacted Terrex, and obtained the 2.2 version
of their trpage library.  The library included a
fork of OSG 0.9.8's txp plugin, modified to load 2.1+
txp DBs.

I've done the work of incorporating the changes made
to OSG's txp plugin since 0.9.8 into Terrex's fork.
The forked version is now up-to-date with the changes
made to OSG 0.9.9 and 1.0.

Terrex made a lot of changes (especially differences
in whitespace), so the diff between the forked version

and OSG 1.0's txp plugin is yucky.  I did my best, but

keep in mind that this is the result of a 4-way merge
(kinda... terrex-0.9.8, stock-0.9.8, stock-0.9.9,
stock-1.0).

I really want to see this forked version merged back
into the main OSG branch.  The new features offered by

this version of the plugin (2.1+ support, variable
LOD support, bug fixes) are worth the trouble."

--

Don Tidrow then took this code and added his work.

--

Robert Osfield then fixed all the warnings that abound in the trpage code base.
2006-06-27 10:07:42 +00:00
Robert Osfield
240fc9ebee Replaced ref_ptr<>:take with ref_ptr<>:release, and added handling of removeal
of ref_ptr<> operator >.
2006-06-26 20:45:51 +00:00
Robert Osfield
a39516c297 Changed GLunit usage to unsigned int. 2006-06-26 10:57:17 +00:00
Robert Osfield
c46560e478 From Andreas Ekstrand, fix for Windows 2006-06-26 10:39:38 +00:00
Robert Osfield
3b499341ed From Philipp Siemoleit,
There are some group codes (i.e. "62") which are interpreted as
    dxfDataType::SHORT. That's right because the dxf-specification defines
    "16 bit integer" as the type for the corresponding value.
    But readerBase::readGroup() calls readValue(std::ifstream&, unsigned
    short). I changed readValue(std::ifstream&, unsigned short) to
    readValue(std::ifstream&, short). I found no group code at the dxf-specs
    which needs a "16 bit unsigned integer" value. So the
    readValue(std::ifstream&, unsigned short) function is obsolete - right?
2006-06-26 09:30:16 +00:00
Robert Osfield
2e2684c05a From Paul Martz, added support to textured light points into osgSim and OpenFlight loader, as part of the OpenFlight v16.0 spec. 2006-06-08 14:32:02 +00:00
Robert Osfield
e1c77dfe2a Minor tweaks of ints to unsigned ints 2006-05-16 21:20:36 +00:00
Robert Osfield
90fc234cf1 From Mike Weiblen, support for new Uniform arrays.
From Robert Osfield, refactor of above with original code to ensure backwards compatibility.
2006-05-16 21:00:15 +00:00
Robert Osfield
bf065ed3a4 From Mike Weiblen, support GLSL uniform arrays. A couple of tweaks and fixes from Robert Osfield. 2006-05-15 15:46:08 +00:00
Robert Osfield
d42a8fd269 From Paul Martz, "This change is based on current CVS. (Note both Brede and I have submitted
changes to this plugin that aren't in current CVS yet -- this change is
based on current CVS, not our changed files.)

This changes how shader palette records are parsed to support GLSL per the
OpenFlight 16.1 spec. Existing functionality for 16.0 files is preserved.

The change to Document.h simply adds an enum for VERSION_16_1."
2006-05-15 13:22:59 +00:00
Robert Osfield
56d4c7a269 From Paul Martz, "add support for the v16.0 "Add" texture environment and "mirrored repeat" wrap mode." 2006-05-15 11:27:07 +00:00
Robert Osfield
fdda54e77e Changed instances of setCoord(const Vec3) to setCoord(const Vec3&) style. 2006-05-15 11:22:08 +00:00
Robert Osfield
132b355d4f From Brede Johansen,
"- Replaced some member attributes with local variables in Face record.
 - Multitexture support in Vertex class.
 - Renamed VertexList to VertexListRecord (VertexList is now a Vertex array)
 - new Mesh (with reserved field at offset 12, thanks to Paul Martz)
 - new LocalVertexPool
 - new MeshPrimitive
 - Use ProxyNode for externals.
 - Local cache for externals"
2006-05-15 11:18:50 +00:00
Robert Osfield
f104656d9f From Carlos García and Paul Baker, Port of Paul Baker's Quake3 BSP loader to OSG by Carlos García.
Added Quake3 BSP plugin.
2006-05-15 09:46:54 +00:00
Robert Osfield
43f0efd6d2 Reorganised the Group::removeChild and Geode::removeDrawable methods so
that removeChild(Node*), removeChild(uint) and equivilant Geode methods are
now inline methods, not designed to be overriden, and seperated out the
multiple remove method to be called removeChildren(uint, uint) which is
now the only virtual method.  There removeChildren is now the method to
override in subclasses.

This reorganisation requires some call code to be rename removeChild usage
to removeChildren.
2006-05-02 09:45:31 +00:00
Robert Osfield
ffb4c79132 Ran dos2unix. 2006-05-01 16:13:37 +00:00
Don BURNS
f76a324c95 Don Tidrow's ifdef for MingW 2006-03-31 01:37:38 +00:00
Robert Osfield
7f101c37ad From Glenn Waldrom, addition of .ive support for PriorityOffset and PriorityScale. 2006-03-28 14:45:48 +00:00
Robert Osfield
7f731f330a From Farshid Lasharki, added IO suppoty fo osgParticle::ConstantRateContour 2006-03-18 07:07:19 +00:00
Robert Osfield
14dab7f818 From Farshid Lashkari, Added ability to read/write the texture tile
settings of osgParticle::Particle to .osg files.
2006-03-17 14:05:40 +00:00
Robert Osfield
3425ba9706 From Martin Naylor, build fix for Win32. 2006-03-15 11:21:44 +00:00
Robert Osfield
d43dbaeadd Build fixes 2006-03-14 13:18:21 +00:00
Robert Osfield
f3715665c0 Added 21 as the version number of xine video plugin to allow it work with latest versions of xine. 2006-03-14 09:33:14 +00:00
Robert Osfield
d50f2e3add From Andrew Sampson, "The terravista terrain generation tool can insert references to external model files into a terrapage tile. It unfortunately does not update the bounding sphere of that tile to include the extents of the external model. This means that if a large model (such as an airfield model) is attached to a tile, the model will disappear when the tile is off-screen (outside the view volume), even though the model is on-screen." 2006-03-13 21:20:07 +00:00
Robert Osfield
3246dde716 From Brede Johansen, new OpenFlight plugin!!!!!
By default the original flt plugin is still used, to select at runtime
the new plugin set the env OSG_OPEN_FLIGHT_PLUGIN=new
2006-03-08 21:38:37 +00:00
Robert Osfield
02f5681180 From Roger James, "1. Fixed a problem with the caching of textures when the associated image file was not in the current working directory. In this case the texture object was being placed in the cache with the short filename, but was looked up with the full path.
2. Fixed a problem with the caching of textures when CACHE_IMAGES was enabled. This caused a conflict is the names used to cache the image and texture objects.

3. Fixed a problem where AC3D generates surfaces with duplicate vertex indices.

4. Removed what I believe are redundant calls to the tesselator.

5. Added a couple of asserts which should fire in debug mode if my assumptions about 4. are incorrect.

6. Removed obviously unused code. (Stuff that was commented or ifdeffed out.)"

Note, from Robert Osfield, changed the asserts to if () report error using notify so we can catch errors in both optimized and debug builds, but without crashing.
2006-03-08 15:16:59 +00:00
Don BURNS
582967286a Improved the GET protocol for the http socket. By adding Connection: close
the server sends a EOF immediately after the data, improving performance
because readers are not left waiting for EOF.
2006-03-07 18:26:32 +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
8796f37acb Added automatic toggling between png and jpeg when compressImageData option is used. Jpeg
is used to compress RGB data only, the just of the formats are passed on to the png plugin.
2006-03-02 20:31:40 +00:00
Robert Osfield
507fb0074f From Farshid Lashakari, support for png write. 2006-03-02 14:58:13 +00:00