Commit Graph

1316 Commits

Author SHA1 Message Date
Robert Osfield
118161416f From Sebastien Grignard, fix to writing of dds files, write the source data
directly rather using a series of memcpy.
2006-08-23 15:25:43 +00:00
Robert Osfield
7b01f5a033 From Jeremy Moles, fixed typos 2006-08-23 15:11:18 +00:00
Robert Osfield
d25735b6b9 From Andrew Lorino and Mike Weiblen, COLLADA 1.4.1 ReaderWriter, kindly developed and donated by Sony Computer Entertainment Inc. US R&D. 2006-08-23 13:32:03 +00:00
Don BURNS
1fa331034c Added osgUtil::Tesselator for SHapeType Polygon to handle concave polygons. 2006-08-22 19:10:48 +00:00
Robert Osfield
8aceb4eec6 From Vaclav Bilek, "The purpose of this change is to suppress "re-reading" of osg::ProxyNodes
( in OF external references) after the OF file is loaded. The change do
conditional
execution of already existing code.

I use this for optimized preprocessing of large databases what can not
be loaded
in one pass because of memory limits."
2006-08-22 13:07:20 +00:00
Robert Osfield
a50d812d9a Fixed 64 bit support 2006-08-21 15:07:31 +00:00
Robert Osfield
7b53511251 From Paul Martz, "The gist of this change is, if the OpenFlight version of the
parent file is so old that it doesn't support Light Point palettes or Shader
palettes, then the parent file is not allowed to override those palettes in
the child."
2006-08-14 07:59:28 +00:00
Robert Osfield
c3313b99b2 Changed the texture wrap mode to repeat 2006-08-13 08:24:19 +00:00
Robert Osfield
25a91d97f0 From Chuck Sembroski, fixes for IRIX 2006-08-13 07:37:55 +00:00
Don BURNS
2bed6e60a1 Added comments to support use of Proxy in the .net plugin. 2006-08-11 17:39:10 +00:00
Don BURNS
a456538e3c Submission by Carlo Camporesi - Added Proxy support to .net loader 2006-08-11 17:34:04 +00:00
Robert Osfield
6b3fbb53f8 Added file search path to ESRI reader. 2006-08-11 13:06:36 +00:00
Robert Osfield
0c91825ee6 From Laurens Voerman, "
osgPlugins\pfb\ConvertFromPerformer.cpp

Added support for
       PFSTATE_ALPHAFUNC
       PFSTATE_ALPHAREF
Improved handling of
       PFTR_NO_OCCLUDE

I have tested this with WIN32 performer 3.1 and 3.2.2
and linux OpenGL Performer 3.1.1"

------------------------------------------------
2006-08-10 13:12:47 +00:00
Robert Osfield
7f6b5008e2 Added write ppn support, use -O ascii to select ascii ppn output, otherwise binary
is chosen.

Fixed crash when erroneous pnm files were read.

Added -O flip option.
2006-08-10 11:08:20 +00:00
Robert Osfield
5e33e13b34 Added nan dectecion and error reporting 2006-08-09 10:09:11 +00:00
Robert Osfield
bcd4aae4d5 Added TESSELATE_GEOMETRY to Optimizer pass to fix z fighting issues. 2006-08-08 16:08:06 +00:00
Robert Osfield
081b15c84d Fixed backColor implementation for LightPointAppearancePalette. 2006-08-08 11:59:53 +00:00
Robert Osfield
444f561c14 From Paul Martz, "This change causes the new OpenFlight plugin to behave as the
old plugin by returning the database origin latitude/longitude (extracted
from the header record) as userData of the top-level scene graph node."
2006-08-08 11:23:57 +00:00
Robert Osfield
553d017fd9 From Daniel Trstenjak, build fixes for Hpux 11.11, Irix 6.5, Solaris 8 and Aix 2006-08-02 10:43:26 +00:00
Robert Osfield
a0cdf7461c Added #define snprintf _snprintf for Win32 build 2006-07-27 11:22:01 +00:00
Robert Osfield
e1f4026cf5 Warning fixes 2006-07-19 15:10:50 +00:00
Robert Osfield
782d72484a Warning fix 2006-07-19 15:07:00 +00:00
Robert Osfield
377c5710fe Added extra initializes 2006-07-19 14:46:40 +00:00
Robert Osfield
a95b7fbfae Added dummy initializers to avoid warning 2006-07-19 14:30:30 +00:00
Robert Osfield
61b971ddea Fixed handling of back colour. 2006-07-19 11:25:26 +00:00
Robert Osfield
5fb3469f77 Changed code creating LightPoint on heap to use the stack. 2006-07-19 08:39:44 +00:00
Robert Osfield
f1c2694c17 Updated copyright years. 2006-07-18 15:21:48 +00:00
Robert Osfield
e016cdafb2 From Terrex, improvements to handling of layers w.r.t PolygonOffset 2006-07-17 16:36:42 +00:00
Robert Osfield
db395b18af Added getNumLayers method 2006-07-17 11:36:50 +00:00
Robert Osfield
541433c7be Added share duplicates traversal to optimizer call 2006-07-13 14:58:37 +00:00
Robert Osfield
5e9b7bef88 From Brede Johansen,
"I found some artifacts on some models and traced it back to the
external palette override feature.  There are some changes in the
layout of the external record the loader have to take into
consideration.

The other fix is to remove the OF pools from the user data of the
external ProxyNode when it is no longer needed."
2006-07-12 09:40:03 +00:00
Robert Osfield
dd6a33da49 Removed StateSet::ENCLOSE_RENDERBIN_DETAILS since it is rendendent, and
implemented the OVERRIDE_RENDERBIN_DETAILS.
2006-07-11 21:53:57 +00:00
Robert Osfield
49dea3b589 Tweak for VS6.0 build 2006-07-06 20:43:23 +00:00
Robert Osfield
1c1fce8266 Fixed scoping for for loop varaible for VS6.0 build. 2006-07-06 15:47:59 +00:00
Robert Osfield
ee1b6a5dd6 Tweaks to try and fix VS6.0 problems. 2006-07-06 15:00:51 +00:00
Robert Osfield
6665e2a38a Tweaked for loop variaible definition. 2006-07-06 14:43:30 +00:00
Robert Osfield
c72530d2fd Added setting of name from the .obj goup name and object names. 2006-07-06 11:40:41 +00:00
Robert Osfield
f693fa6d2d Removed redundent debug message. 2006-07-06 11:33:07 +00:00
Robert Osfield
fd7ee0cf21 Add "hack" fix for black materials being exported from Maya. 2006-07-06 11:30:20 +00:00
Robert Osfield
5622e0d202 From Brede Johansen, "Changed ">" to ">=" when testing for version 16.1 or later." 2006-07-05 20:56:37 +00:00
Robert Osfield
9ae10af995 Fixed warnings 2006-07-05 09:52:03 +00:00
Robert Osfield
a0050bc8db From Markus Trenkwalder, "Mingws gcc includes a file called types.h which in turn defines
_TYPES_H_.  types.h in the directx plugin defines the same include
guard.  I've renamed the guard name in this file to _DX_TYPES_H_.  Now
the plugin compile in mingw too."
2006-07-05 08:59:23 +00:00
Robert Osfield
7c1926118a From Brede Johansen, renaned FLT_preserveFace to preserveFace 2006-07-05 08:55:23 +00:00
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
Robert Osfield
74f073c2a8 From Farshid Lashkari, "I've attached another modified version of the IVE loader which
supports compressing the image data. The option to compress the data
is "compressImageData". Currently it uses the jpeg plugin to write the
image. Maybe we could add an option that allows the user to specify
which image format to use. The jpeg writer supports specifying the
quality of the jpeg, so you could use the following command line to
convert the skydome.osg model to IVE using 50% jpeg quality:

osgconv -O "compressImageData JPEG_QUALITY 50" skydome.osg skydome.ive"
2006-03-01 10:17:53 +00:00
Robert Osfield
58bdc6f92f Added TextureRectangle.cpp 2006-02-28 21:18:45 +00:00
Robert Osfield
10d139fc1f From Farshid Lashkari, "I've made some changes to the IVE loader which will add the capability
of saving image files inside the IVE file. Currently, only the raw
image data is saved into the file. If your model uses jpg images as
textures then this will cause your file size to increase.

I've added an option that will embed the original image file into the
IVE file. The IVE file will then attempt to read the image from
memory. Since most image loaders support reading from memory, this
shouldn't be a problem. To use this new feature the user must specify
the option "includeImageFileInIVEFile" when converting to IVE.

I tested this out on the "skydome.osg" model that comes with OSG.
Using the old method, the IVE file size would be 785 KB, with the new
method it is only 42 KB.

Also, I've added the support for TextureRectangle's to the IVE reader/writer."
2006-02-26 17:45:52 +00:00
Robert Osfield
964110f315 Completed .osg support for ClusterCullingCallback. 2006-02-23 20:37:19 +00:00
Robert Osfield
ae9e0e6838 Added initial cut of ClusterCullingCallback .osg support. 2006-02-21 21:28:57 +00:00
Robert Osfield
4a0a0a30ea From Trajce Nikolov, "small fix for the flt loader - the back color of the bidirectional light points" 2006-02-21 12:39:47 +00:00
Robert Osfield
7d5c81bf5e From Ulrich Hertlein, spelling corrections and a few Doxgen comments. 2006-02-20 21:05:23 +00:00