Commit Graph

6066 Commits

Author SHA1 Message Date
Robert Osfield
ae93f08492 From Roger James,"I have had another go at the windows specific file name handling in daeWMaterials.cpp. I think I have arrived at a temporary compromise.
I have decided to just normalise the drive letter part of file names for the time being and also ensure that names of the format x:/xxxxx are treated as absolute paths. This will cover a lot of cases.

I have raised a bug against collada which hopefully should resolve some others. However there are some pathological cases which I have commented on in the code, these will probably never work properly unless there is a significant rewrite of the daeURI functionality. Hopefully they are rare."
2006-12-05 17:10:39 +00:00
Robert Osfield
693302574d From Rein Kadijk, "While displaying a certain scene, OsgEdit crashed in ProxyNode::traverse() in file OSG_OP_OT-1.2\OpenSceneGraph\src\osg\proxynode.cpp.
It turned out that nv.getDatabaseRequestHandler() returned NULL; using this pointer to call one of DatabaseRequestHandler's methods is of course illegal.
I patched it by adding: if (nv.getDatabaseRequestHandler())"

From Robert Osfield, reordered the addition of the nv.getDatabaseRequestHandler() check to allow the
default traverse() to be called when no database handling is attached to the visitor.
2006-12-05 16:45:27 +00:00
Robert Osfield
875668b84d From Stephan Huber and Riccardo Corsi, port of QuickTime plugin to Windows 2006-12-05 16:29:11 +00:00
Robert Osfield
905857acd7 Added use of typedef to help clean up the readability a little and replaced a copy list with a reference. 2006-12-05 15:41:03 +00:00
Robert Osfield
d70cf68ae6 From Sylvain Marie, "changed raw pointers to smart pointers in the dxfBlock, dxfTables and
dxfSection classes, so their members data are correctly deleted.
- changed some methods signatures to pass arguments by reference instead of
by value. The performance and memory usage are enhanced (the reader was
clogging the heap when reading some large DXF files)

The updated files have been compiled and tested with a variety of DXF files
on XP with VS2003, but the changes should not disturb any other compiler."
2006-12-05 15:31:07 +00:00
Robert Osfield
8e0bb5f6ef From Chris McGlone, "PlygonZ copy constructor: added allocation and copying of zarray" 2006-12-05 14:58:38 +00:00
Robert Osfield
3177494aa4 From Bryan Thrall, "Currently, the DatabasePager always loads requested Nodes using the
default Registry Options object, but it would be useful to be able to
request loading with a different Options object. The attached files
allow you to do that (based off the OSG 1.2 source).

For example, I'm implementing a loader that requires context information
when it pages in subgraphs, which becomes significantly complicated when
multiple scenegraphs are requesting subgraph loads with different
contexts (the loader needs to know which context to use, and the
Registry Options needs to be carefully managed so the context settings
don't clobber each other, especially in multithreaded situations). Being
able to pass an Options instance along with the Node request resolves
this problem."
2006-12-05 14:50:46 +00:00
Robert Osfield
289331569d From Brede Johansen, "added a new reader option to replace the texture
wrap mode CLAMP with CLAMP_TO_EDGE."
2006-12-05 14:28:07 +00:00
Robert Osfield
cf41b3128c Updated wrappers 2006-12-05 13:06:02 +00:00
Robert Osfield
afa96fff0e Added more accurate computation of local height above sea level in the plane intersections routines 2006-12-05 12:58:29 +00:00
Robert Osfield
ba3fe2844f Improved the calculation of distance around the globe within the ElevationSlice routine. 2006-12-04 17:31:20 +00:00
Robert Osfield
0f5aeb5fa3 Added preliminary support for generating distance, height lists for ElevationSlice. 2006-12-04 12:36:13 +00:00
Robert Osfield
fd8d6b7f3b Cleaned up debugging info. 2006-12-03 12:52:38 +00:00
Robert Osfield
56b7268c72 Added copying of plane to surface intersections in the osgUtil::PlaneIntersector class, and update wrappers. 2006-12-03 11:44:12 +00:00
Robert Osfield
8d85636b50 Fixed typo and updated wrappers 2006-11-30 18:42:38 +00:00
Robert Osfield
54610429e9 Improved the edge normal computation 2006-11-30 18:33:36 +00:00
Robert Osfield
a9d18d01db Basic shadow volume alogirthm implemented in example. 2006-11-30 16:30:24 +00:00
Robert Osfield
f022f79436 Fixed shadow volume geometry handling of direcitonal lights 2006-11-30 12:04:36 +00:00
Robert Osfield
1cd4089d8e Added handling of loops 2006-11-29 22:00:39 +00:00
Robert Osfield
49d283d592 Added plane to triangle intersections and segment combining, work still not complete though. 2006-11-29 21:43:05 +00:00
Robert Osfield
f2b2f00ea1 From Per Fahlberg, added support for writing 16-bit rgb images 2006-11-29 20:10:08 +00:00
Robert Osfield
b7b4fd5928 Updated wrappers 2006-11-29 14:33:17 +00:00
Robert Osfield
ab7d1ecc42 Further work on PlaneIntersector 2006-11-29 14:21:59 +00:00
Robert Osfield
35cb04437d Added dummy virtual method implementations 2006-11-29 11:00:02 +00:00
Robert Osfield
55d1f65102 Still required for backwards compatibility 2006-11-28 20:45:24 +00:00
Robert Osfield
1c6565b4f5 Updated wrappers 2006-11-28 20:37:27 +00:00
Robert Osfield
b6e1924192 Fixed build errors in osgViewer 2006-11-28 20:35:31 +00:00
Robert Osfield
9eedf4df1e Removed redundent wrapper 2006-11-28 16:50:51 +00:00
Robert Osfield
73fc7a0c1f Updated wrappers 2006-11-28 16:49:31 +00:00
Robert Osfield
a2e79f6a38 Moved osgUtil::PolytopeIntersector, osgUtil::PlaneIntersector and osgUtil::LineSegmentIntersector out from include/osgUtil/IntersecionVisitor into their own seperate files. 2006-11-28 16:30:38 +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
5e1c5cd556 Fixed fade text memory consumption bug which was due to new RenderInfo being
created local to RenderStage and passed on to rendering code which populated
the RenderInfo UserData, but without the restoring the new UserData to the
main RenderInfo.  The local RenderInfo UserData is now passed back to the main
RenderInfo.
2006-11-28 11:10:15 +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
05bffbe9c4 Added beginnings of osgUtil::PlaneIntersector and osgSim::ElevationSlice 2006-11-27 20:25:36 +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
b82e521444 From Mauricio Hofmam, added support for reading images from all osg::CameraNode attachments in RenderStage. 2006-11-27 11:25:40 +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
3613e66e82 Added extra checks to RemoveRedendentVisitor to catch Groups that may
only have one child, but also have StateSet's etc and thefore not suitable
for removal.
2006-11-24 21:19:11 +00:00
Robert Osfield
5044a85c9e Improved handling of bounding polytope 2006-11-24 17:20:01 +00:00
Robert Osfield
006435e679 Added support for positional lights into computeShadowVolumeGeometry code and cleaned up OccluderGeometry interface. 2006-11-24 11:37:57 +00:00
Robert Osfield
51744272d5 Improved the ShadowVolumeGeometry orientations. 2006-11-23 21:32:49 +00:00
Robert Osfield
e7ef0ca846 First cut at generating the ShadowVolumeGeometry 2006-11-23 16:55:46 +00:00
Robert Osfield
156cf1e97f Added basic silhoette detection 2006-11-23 11:22:49 +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
0a696dbdc7 Added removeNullTriangles() method to help removed triangles with coincedent corners. 2006-11-22 15:38:59 +00:00
Robert Osfield
a22bede80f Added new HeightAboveTerrain.cpp LineOfSight.cpp wrapper files 2006-11-22 09:10:14 +00:00
Robert Osfield
8483624646 Added compute and visualization of triangle and vertex normals 2006-11-21 16:59:34 +00:00
Robert Osfield
d0df2df7ad Replaced the setTextureUnit(0) call in State::reset() with code that just
sets the member variables without requiring a graphics context.
2006-11-21 16:59:04 +00:00