Commit Graph

3750 Commits

Author SHA1 Message Date
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
Robert Osfield
91a9a87dd4 Added removeDuplicates function 2006-11-21 16:16:56 +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
2151573ccd From Michael Platings, Fixed Geometry cloning of the texture
coordinates and vertex attributes.
2006-11-16 16:25:29 +00:00
Robert Osfield
2aec799d98 Updated wrappers 2006-11-15 20:23:15 +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
2fbda800b7 Updated wrappers 2006-11-14 17:24:37 +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
bae46a0fbd From Jason Beverage, "I ran though the sample data that Gert provided earlier today and tracked down the problem. The xoffset in readHeightField and readImage were being applied even in projected coordinate systems. This patch should fix the issue." 2006-11-14 12:55:00 +00:00
Robert Osfield
d0cc014f1b Further migration to using RenderInfo 2006-11-14 12:51:31 +00:00
Robert Osfield
b5bb541cca From Stephan Huber, Follows is required to prevent unidented cloning of shared arrays :
"I added some calls to isOperationPermissibleForObject() so I can permit the flattten-pass with my specialized objects in my own code."
2006-11-14 12:49:53 +00:00
Robert Osfield
7cb1bcbd7d From Farshid Lashkari, "This patch adds a CoordOriginMode to the osg::PointSprite attribute.
The mode needs to be changed to LOWER_LEFT when rendering point
sprites to pbuffers or FBOs, otherwise the points will be transformed
on the CPU."
2006-11-14 12:29:54 +00:00