Commit Graph

1316 Commits

Author SHA1 Message Date
Robert Osfield
f2b2f00ea1 From Per Fahlberg, added support for writing 16-bit rgb images 2006-11-29 20:10:08 +00:00
Robert Osfield
345810ef22 Added support for float or double osg::Plane, and the default osg::Plane to double.
Performance tests on big models did not indicate any performance penalty in using doubles over floats,
so the move to doubles should mainly impact precision improvements for whole earth databases.

Also made improvements to osgUtil::PlaneIntersector and osgSim::ElevationSlice classes
2006-11-28 16:00:52 +00:00
Robert Osfield
ed4188cb96 Removed the now redundent dateUtils.h file. 2006-11-28 10:31:37 +00:00
Robert Osfield
68e9672765 Added missing Camera.h and removed redundent CameraNode.h 2006-11-28 09:14:46 +00:00
Robert Osfield
fd2ffeb310 Renamed osg::CameraNode to osg::Camera, cleaned up osg::View.
Added beginnings of new osgViewer::Scene,View,Viewer,CompositeViewer and GraphicsWindowProxy files.
2006-11-27 14:52:07 +00:00
Robert Osfield
60a975d05d From André Garneau, "The file submitted includes a fix to properly support DDS textures compressed under the DXT-1 format when they contain alpha information.
Under this mode, each 4x4 texel block can selectively use an alpha component or none. When alpha-enabled blocks are present, this is not reported in the DDPF_ALPHAPIXELS bit in the pixel format flags causing the reader-writer to report the file as a 3-components file (GL_COMPRESSED_RGB_S3TC_DXT1_EXT). The fix requires looking at each 4x4 texel block to detect the presence of 1-bit alpha encoding. When such a block is found, the internal & pixel formats are reported as GL_COMPRESSED_RGBA_S3TC_DXT1_EXT instead.



See http://msdn.microsoft.com/library/default.asp?url=/library/en-us/directx9_c/Opaque_and_1_Bit_Alpha_Textures.asp for more information."
2006-11-27 09:23:57 +00:00
Robert Osfield
675e4a2cde From Roger James, "fixes mostly related to texture handling." 2006-11-22 21:11:46 +00:00
Robert Osfield
9c66cb4127 From Sylvan Marie, "I attached my revised dxfEntity.cpp file from the DXF plugin with the 2
following improvements:

- When all unsupported entities (SOLIDS, TEXT, ...) have been filtered out
from a block, dxfInsert::drawScene() was crashing because it assumed that
the block was not empty. It now returns silently so the other blocks can
still be imported.

- The DXF reader assumed all vertices were read first, then the face
indices. But, from the DXF "documentation" (www.autodesk.com/dxf) :
"Polyface meshes created with the PFACE command are always generated with
all the vertex coordinate entities first, followed by the face definition
entities. The code within AutoCAD that processes polyface meshes requires
this ordering. Programs that generate polyface meshes in DXF should generate
all the vertices then all the faces. However, programs that read polyface
meshes from DXF should be tolerant of odd vertex and face ordering."
So now the importer ignores the posted number of vertices and face indices,
and uses the size of the lists instead."
2006-11-22 20:47:53 +00:00
Robert Osfield
6b6bc4de10 Added missing PointSprite files 2006-11-17 14:51:48 +00:00
Robert Osfield
e45245b7d6 From Farshid Lashkari, "Attached is a patch that adds the new coordOriginMode to the .osg
reader/writer for PointSprites."
2006-11-16 17:35:12 +00:00
Robert Osfield
052d44a440 From Frashid Lashkari, added support for PointSprites to .ive 2006-11-16 16:42:11 +00:00
Robert Osfield
ee35f18acb From Mathias Froehlich, replaced assert with notify() error message. 2006-11-15 10:08:09 +00:00
Robert Osfield
43af60e19e Added note about license or file, and link to specs. 2006-11-14 19:29:49 +00:00
Robert Osfield
5d91960cb7 Removed redundent osgac3.h file. 2006-11-14 19:19:54 +00:00
Robert Osfield
2b28b472b4 From Mathias Fröhlich, fixed order of setting of texture image. 2006-11-14 19:19:15 +00:00
Robert Osfield
0c6a05392b From Mathias Froehlich, "Improovments:
- does proper edge detection with the crease angle given in the ac file
- the reader is much more verbose in case of broken files
- no more static variables
- std::stream based
- much faster, up to a factor of 50 for a polygonal test model
- if the file contains polygonal surfaces the loaded geometry is still
polygonal as long as the polygons are convex. Concave polygons are still
tesselated. Rationale: If the user needs triangular models he can throw away
that extra information with the osgUtil::Optimizer himself. But the read step
preserves as much extra information that is contained in the file as
possible. Also the polygonal models look a bit smoother than the triangular
ones.
- a huge cleanup
- the basic parsing logic from the original ac3d developer is untouched
- the writer part is untouched

The tarball contains a replacement for the src/osgPlugins/ac3d directory that
is based on the current CVS (2006-11-13).
I have tested that loader with a osgconv foo.ac /tmp/xx.ive on everyfoo. ac
file I could find (~200 from flightgear and the object database). I also run
my flightgear development with that loader -> here I see the models.
I run valgrind testcases on some selected models."
2006-11-14 16:37:07 +00:00
Robert Osfield
ac9a28051f Fixed the writeNode function so it was properly return FILE_NOT_HANDLED, fixing
a big with it writing out an empty .flt file.
2006-11-07 17:00:29 +00:00
Robert Osfield
d199fd0072 Changed debug output from NOTICE to INFO 2006-11-07 13:26:31 +00:00
Robert Osfield
d061c087fa Removed debug comment. 2006-11-07 12:08:03 +00:00
Robert Osfield
86c6a88c98 From Mathias Froehlich, workaround fix for problematic run length encoded RGB files. Robert Osfield ammend workaround to support multi-byte colour channels. 2006-11-07 12:02:37 +00:00
Robert Osfield
0f65ed9189 From Per Fahlberg, "Attached is a fix to get the proper normals on an md2 model, actually
the way it was before would sometimes lead to a crash since it was
attaching the wrong array to the geometry..."
2006-10-30 12:28:37 +00:00
Robert Osfield
f9b9efec16 From Vladimir Shabanov, "The DDS plugin didn't correctly read mipmapped A8L8 textures.
I've attached a small fix for this.

Cause: uncompressed mipmap handling was done only for RGB pixel format.

Fix: added condition for handling alpha and luminance formats too."
2006-10-30 12:23:37 +00:00
Robert Osfield
a48a4aa7d3 From Michael Henheffer, "Bug: The reader would crash when trying to load a .tif image that
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."
2006-10-30 12:05:56 +00:00
Robert Osfield
0fe424996d From Andrew Lorino and Robert Osfield, Improvements to the handling of texture paths 2006-10-26 16:52:10 +00:00
Robert Osfield
648455da34 Changed the dependency list to use -losg -losgDB instead of OSG_LIBS 2006-10-23 15:29:59 +00:00
Robert Osfield
8544337aca Fixed OSX x86 endian issue in Quicktime movie plugin. 2006-10-21 21:06:27 +00:00
Robert Osfield
d445995432 From Brede Johansen, "Here's a patch discussed in the thread "OpenFlight Loader Discarding
Material" on the osg-user mailing list."
2006-10-06 13:04:48 +00:00
Robert Osfield
fecb63785f From John Aughey, "The id name of nodes are not being set in the daeReader::processNode method. The names are retained in most of the other osg::Nodes that are created. In this case, I have an external modeler creating models, and the name of component nodes are used to give that subtree different characteristics." 2006-10-03 19:55:24 +00:00
Robert Osfield
392232ec06 From Brede Johansen, "This submission adds multitexture support for detecting translucent
images used to enable alpha blending.

Mesh was syncronized with featureset from Face record."
2006-10-03 09:55:28 +00:00
Robert Osfield
e686a9a4a5 From Brede Johansen, "I think some nitpicking is required. The loop duration was added in
OpenFlight version 15.8.  With the attached changes the flasher unit
on the spinnercar and the character_anim model from the Creator
gallery behaves."
2006-10-03 09:39:03 +00:00
Robert Osfield
02783e1dfd From Paul Martz, Bug fix for sequence node direction, It examines the number of children in the Group record destructor, so that the total duration of the sequence matches the specified loopDuration field. 2006-10-02 15:09:49 +00:00
Robert Osfield
e3478069b4 From Per Fahlberg, "Attached is a fix for loading the same file multiple times with the
COLLADA plugin. dae->load will not return DAE_OK the second time a model is loaded, so a
second check for DAE_ERR_COLLECTION_ALREADY_EXISTS has been added."
2006-10-02 13:24:39 +00:00
Robert Osfield
c991e33796 From Andreas Ekstrand, "Attached is a small bug fix in the DW plugin. The texture application
matrix is read into a double matrix called mx, it was declared as 3x2,
it's now fixed to 3x3."
2006-10-02 13:07:50 +00:00
Robert Osfield
3edda73797 Added SERIALIZER to ReaderWriterDAE to make sure initialization is thread safe. 2006-10-02 11:47:55 +00:00
Robert Osfield
9dd487e6c8 From Andreas Ekstrand, "Attached is a modified ReaderWriterDAE.cpp which creates the one and
only DAE instance when it's first needed instead of in the constructor.
This fixes the problem with osgdb_dae.dll not being loaded due to
unwanted ordering of global initialization.

This fix and the previous fix of the COLLADA plugin might be unnecessary
with the latest COLLADA DOM, but since many of us will probably still
use the older version of the DOM, I guess it's better this way.
"
2006-10-02 11:38:25 +00:00
Robert Osfield
61ce7dd5ac From Brede Johansen, "I have added "billboardCenter" as a reader option to use the center of
a billboard as the pivot point."
2006-10-01 19:09:00 +00:00
Robert Osfield
f03218215d From Colin McDonald, "I have corrected a byte swapping problem in the new OpenFlight
plugin.  It was only reading floats & doubles correctly on little
endian systems, which require byte swapping, and not on big
endian systems which don't require any swapping."
2006-10-01 19:00:39 +00:00
Robert Osfield
d91e1ff4bb From Loic Dachary, renamed _mips to of_mips to prevent compile problem under MIIPS 2006-09-21 09:50:10 +00:00
Robert Osfield
f6fe0de6e5 Rationalized on the number of libs required. 2006-09-21 09:24:10 +00:00
Robert Osfield
dc57810d99 Removed use osg OSG_LIBS, changing to just -losg and -losgDB. 2006-09-21 08:56:19 +00:00
Robert Osfield
45dc4572a9 Fixed reading/writing of non C string osg::Text::String's. 2006-09-19 13:54:04 +00:00
Robert Osfield
fa791e99b8 From Per Fahlberg, "I've fixed the dae plugin so it is only using one instance of the DAE.
The crashes seen earlier are gone, it is now possible to read multiple
.dae files and converting both to and from .dae files."
2006-09-15 13:11:00 +00:00
Robert Osfield
c1a0df32b6 Made get methods const 2006-09-06 13:53:48 +00:00
Robert Osfield
5a08afeb07 From Brede Johansen, "The previous submission didn't handle Objects with transforms. The
attached file corrects this.

I also removed the multitexture macro for the Object record.  Only
Face and Mesh records are valid targets."
2006-09-06 09:46:32 +00:00
Robert Osfield
9d02b2314f From Mike Weiblen, build fixes for Windows. 2006-09-05 09:51:33 +00:00
Robert Osfield
aab03c3c6d From Brede Johansen, "I have added an optimization to the OpenFlight plugin. By default it
ignores the Object records if it's safe to do so.  The reader option
preserveObject prevents this optimization.

I have also removed the flat shading attribute set by the Object
record.  This flag is only intended for the "Calculate Shading"
operation in Creator."
2006-09-05 08:44:51 +00:00
Robert Osfield
f0277df858 Added osg::TexMat::s/getScaleByTextureRectangleSize feature that allows
one to use the osg::TexMat to automatically scale non dimensional tex coordinats to
the size of the last texture rectangle applied.
2006-09-04 12:46:49 +00:00
Robert Osfield
a93ca5a089 From Farshid Lashkari, removed debug message being written to the console. 2006-09-04 06:51:07 +00:00
Robert Osfield
8aa58c986c Changed the external file writing to use the DatabasePathList for its path rather
than the original files path.
2006-08-31 13:53:38 +00:00
Robert Osfield
c8e7a9ea40 From Roger James, improved mapping of AC3D lighting model to OSG 2006-08-28 19:07:30 +00:00