Commit Graph

10319 Commits

Author SHA1 Message Date
Robert Osfield
04e4fa74cc Added new osgterrain example that is simplified to just basic setup and control osgTerrain nodes, leaving the osgthreadedterrain as the more complex example. 2010-03-19 16:31:48 +00:00
Robert Osfield
e9cd6b140f Renamed source file 2010-03-19 16:30:56 +00:00
Robert Osfield
515e421e1e Renamed osgterrain to osgthreadedterrain to better reflect it's functionality. 2010-03-19 14:55:35 +00:00
Michael PLATINGS
328c19dad9 Fixed an infinite loop when loading a malformed file. 2010-03-19 10:19:41 +00:00
Michael PLATINGS
660cb74877 Workaround for models with inverted transparency 2010-03-18 19:02:12 +00:00
Robert Osfield
c3b7a04cf1 Added StateSet event handler to osgfont and osgtext to aid with debugging 2010-03-18 17:10:48 +00:00
Robert Osfield
1590f6be3b Added in a test of using the utility classes in include/osgUtil/MeshOptimizers to see if they could improve peformance.
Tests shown poorer performance with the code enabled so for now the code is #if 0 #endif'd out, and just left in place for future testing.
2010-03-18 15:04:27 +00:00
Robert Osfield
0c1503275b Removed the sizeAdjustment code as it was leading to incorrect tex coord generation and clipping of the left handside
of the text glyphs.
2010-03-18 14:41:33 +00:00
Robert Osfield
031aaf23d0 From J.P. Delport, "attached an updated FindGDAL that finds 1.6.0 version in Debian unstable. Could also be added to VPB.
Also some misc spelling fixes in CMakeLists.txt"
2010-03-17 14:36:16 +00:00
Robert Osfield
28105bacc1 From Glenn Waldron, "The PLY plugin only works for a file that includes both vertices and faces. This patch adds support for PLY files that include only vertices (a point cloud)." 2010-03-17 14:32:32 +00:00
Robert Osfield
0661901016 disabled timing debug info 2010-03-17 11:35:52 +00:00
Stephan Maximilian HUBER
3dcb5d8de1 From Stephan Huber: updated XCode project 2010-03-17 10:33:48 +00:00
Robert Osfield
afd2c05f6d Updated wrappers 2010-03-16 18:53:42 +00:00
Robert Osfield
d5aea9c0f2 Updated various serialization support for .osg, .osgt/b/x and .ive. 2010-03-16 18:44:27 +00:00
Robert Osfield
c4e82f0221 Added BlendingPolicy support into osgTerrain::Terrain. 2010-03-16 18:43:59 +00:00
Robert Osfield
1537af6235 Added osgTerrain::TerrainTile::set/getBlendingPolicy(BlendingPolicy) to enable control over whether the tile should have blending enabled on it. 2010-03-16 12:05:41 +00:00
Robert Osfield
d10ce23e62 Fixed recursive call due to missing _ 2010-03-15 20:09:23 +00:00
Robert Osfield
ec56528d58 From Jean-Sebastien Guay, "This small one-line change allows us to load a geometry shader with the extension .geom with osgDB::readShaderFile() which will return an osg::Shader* with the type already set to GEOMETRY. Very convenient. :-)
This was already possible for .frag and .vert so there's no reason why it shouldn't be possible for .geom.

I also changed the alignment of some extension aliases so the file looks a bit better now, but it's up to you if you want to merge that or not.
"
2010-03-15 15:10:50 +00:00
Robert Osfield
2b7fb78c75 From Farshid Lashkari, "I noticed that CMake forces a high stack size by default for all MSVC projects. This can cause problems for applications that use a lot of threads. I've added a new option MSVC_USE_DEFAULT_STACK_SIZE that will remove the explicit stack size and use the default MSVC size. Apparently this was only necessary for very old versions of MSVC but it's still around. I would argue that this option should be on by default, but I've left it off for now.
"
2010-03-15 15:01:21 +00:00
Robert Osfield
1b6adccdc4 From Wang Rui,
"Here is a small fix in the eventTraversal() function of both viewer
and composite viewer class.

if (getCameraWithFocus())
{
   if (getCameraWithFocus()!=getCamera())  // Newly added
   {
       osg::Viewport* viewport = getCameraWithFocus()->getViewport();
       osg::Matrix localCameraVPW =
getCameraWithFocus()->getViewMatrix() *
getCameraWithFocus()->getProjectionMatrix();
       if (viewport) localCameraVPW *= viewport->computeWindowMatrix();

       osg::Matrix matrix( osg::Matrix::inverse(localCameraVPW) *
masterCameraVPW );

       osg::Vec3d new_coord = osg::Vec3d(x,y,0.0) * matrix;

       x = new_coord.x();
       y = new_coord.y();
   }
   ...
}

I put an additional conditional statement here to ensure that
_cameraWithCamera and _camera are different, otherwise it's no need to
calculate the transition matrix from main camera to focus camera. The
excess calculations of 'matrix' and 'new_coord' may cause
floating-point error and return a slightly wrong result other than an
identity matrix. It seems OK in most cases but will be still pain when
there is little difference between two mouse moving events. "
2010-03-15 14:47:22 +00:00
Robert Osfield
b40c1b355c Updated wrappers 2010-03-15 10:32:29 +00:00
Robert Osfield
9015ff7084 Refactored Texture::Extensions to simplify it and make it more efficient. 2010-03-15 10:32:03 +00:00
Robert Osfield
bc9b28a0c9 Added return into ReaderWriterOSG2::prepareReading(..) to prevent bug associated with result being discarded. 2010-03-14 08:56:21 +00:00
Robert Osfield
f27c103ec7 Refactored the initialization of OSX windowing settings so that it's done on demand rather than on startup. 2010-03-13 11:28:00 +00:00
Robert Osfield
b8b536257c Added initializer 2010-03-12 09:32:23 +00:00
Robert Osfield
04c2bbf594 Changed ssize_t to int to fix windows build error 2010-03-12 09:10:12 +00:00
Robert Osfield
7a44b43474 From Time Moore, "This submission implements 3 optimizations for meshes. INDEX_MESH turns DrawArrays style geometry into DrawElements, uniquifying the vertices in the process. This is useful for certain loaders, like ac3d, which just spit out DrawArrays. VERTEX_POSTTRANSFORM and VERTEX_PRETRANSFORM optimize mesh triangle and vertex order for the caches on a modern GPU, using Tom Forsyth's algorithm. I describe this and the big difference it makes (38% improvement on a very large mesh) in my blog,
http://shiny-dynamics.blogspot.com/2010/03/vertex-cache-optimization-for-osg.html."
2010-03-11 18:15:20 +00:00
Robert Osfield
4dcf21d707 From Sukender, "I had some conflicts when updating but they seem resolved now. Attached files (four files) are against rev. 11200. Changelog:
- Replaced exceptions with assert() or OSG_NOTIFY
- Replaced osg::notify() with OSG_NOTIFY
- Changed braces and tabs to fit OSG coding convention
- Cleaned a few things in code (names, added deallocations upon error)"
2010-03-11 16:53:35 +00:00
Robert Osfield
6c07be375c Clean up of initialization of statics/use of getenv 2010-03-11 16:46:01 +00:00
Robert Osfield
9ab856323d Added export for PerContextShader. 2010-03-11 14:48:54 +00:00
Robert Osfield
dce80220e8 Cleaned up the registration of wrappers so that they are done on demand. 2010-03-11 10:24:20 +00:00
Robert Osfield
90bc608020 Fixed warning 2010-03-11 10:17:50 +00:00
Robert Osfield
08bd7dedc1 From David Fries,"This improves the out of box detection of the 3rd party libraries for
Windows.  If the 3rdparty directory isn't available it will use the
directory names subversion uses such as 3rdParty_win32binaries_vs71
3rdParty_win32binaries_vs80sp1 3rdParty_win32binaries_vs90sp1.  That
helps when as we are building both vs71 and vs80, and probably vs90 in
the future at the same time in addition to not having to rename the
directory once it is downloaded.  It also adds the _i suffix to match
some of the libraries.
"
2010-03-10 17:23:58 +00:00
Robert Osfield
23c7fd2f61 From David Fries,"We are needing to compile Debug, Release, and MinSizeWithDebInfo, but
currently only Debug appends "d" so the Release and MinSizeWithDebInfo
(and MinSizeRel) all produce the same filenames.  This set of changes
lets each build type have a cmake defined string appended, defaulting
to Release none, Debug d, RelWithDebInfo rd, MinSizeRel s.  But a user
still can have Release, RelWithDebInfo, and MinSizeRel to produce the
same filenames.  It does so by setting the preprocessor define
OSG_LIBRARY_POSTFIX in src/osgDB/CMakeLists.txt to one of the
previously defined cmake variables CMAKE_DEBUG_POSTFIX
CMAKE_RELEASE_POSTFIX CMAKE_RELWITHDEBINFO_POSTFIX
CMAKE_MINSIZEREL_POSTFIX.  This method cuts down on the #ifdef _DEBUG
#else preprocessor directives in Registry.cpp as the extension is
always passed in OSG_LIBRARY_POSTFIX.  That and __MINGW32__ didn't
have the _DEBUG check which looks like a bug."
2010-03-10 17:19:35 +00:00
Robert Osfield
08612666fa From Roger James, "Here is a small stability fix to the dae reader which seems to have dropped out of the latest version." 2010-03-10 16:31:30 +00:00
Robert Osfield
1e1c79f257 Updated version 2010-03-10 16:31:15 +00:00
Robert Osfield
e70c304533 From Sukender, "I've fixed positions for 3DS writer. Points in 3DS must be in world coordinates and I added what was missing.
And by refactoring a bit of code, I may have fixed some StateSets related bugs (was ignoring StateSets for osg::Groups).
I also added support for Billboard's points, so now "osgconv lz.osg lz.3ds" has an acceptable output. However, there is no rotation depending on billboards' axis, hence the notice "Warning: 3DS writer is incomplete for Billboards (rotation not implemented).". You may want to remove this notice (or lower the notify severity) if you feel 3DS doesn't have to handle such rotations.
The attached archive contains 3 files from 3DS plugin, against rev. 11162.

Please note there is still the textures issue for cow.osg. I guess it's because it's not a "flat, dummy and standard" texture in slot 0... That is to say the only thing the writer can handle at the moment. I guess I won't address this soon.
"
and

"I've detected and fixed another bug in 3DS writer: support for automatic splitting of meshes having >65k faces/points was buggy (was deleting faces).
Here is my four 3DS modified files (in a ZIP), against rev. 11193, including previous fixes AND Stephan's fix about relative filenames."
2010-03-10 16:05:52 +00:00
Robert Osfield
3a9ac70f94 Updated wrappers 2010-03-10 14:44:12 +00:00
Robert Osfield
53ae54aac8 Update SO version number to 66 to skip over 65 value planned to 2.8.3 2010-03-10 14:29:05 +00:00
Robert Osfield
950d282f55 From Vincent Bourdier, addition of out of memory read result. 2010-03-10 14:28:18 +00:00
Robert Osfield
e082b01f26 From Wang Rui, "I've initially added the XML support of the new native osg format,
using osgDB::XmlParser. The extension for XML-formatted scenes is
.osgx, corresponding to .osgb for binary and .osgt for ascii. It could
either be rendered in osgviewer or edited by common web browsers and
xml editors because of a range of changes to fit the XML syntax. For
example, the recorded class names are slight modified, from
'osg::Geode' to 'osg--Geode'.

To quickly get an XML file:
# ./osgconv cow.osg cow.osgx

The StreamOperator header, InputStreram and OutputStream classes are
modified to be more portable for triple ascii/binary/XML formats. I
also fixed a bug in readImage()/writeImage() to share image objects if
needed.

The ReaderWriterOSG2 class now supports all three formats and
reading/writing scene objects (not nodes or images), thanks to
Torben's advice before.
"
2010-03-10 13:48:41 +00:00
Robert Osfield
ce19b37981 From John Ivar Haugland, "This is a fix to InputStream.cpp. (revision 11114) . I have attached the modified file.
The options where not passed on to the image reader plugins when reading the new osg2 format files, so I added the options to the osgDB.:readImageFile function call.

"
2010-03-10 13:37:19 +00:00
Robert Osfield
6da42d9cd6 From Wang Rui, QWidgetImage class that enables QWidgets to be used as an interactive osg::Image that can be assigned to textures. 2010-03-10 13:24:53 +00:00
Robert Osfield
a5c33886da From Laurens Voerman, "as I work in Visual Studio, the introduction of the new osg2 reader/writer gave me a confusing project list, especially the three projects named "Plugins osg". The attached patch changes the project names to "Plugins osg depricated xxx" and "Plugins osg serializer xxx" therefore keeping them close together in the Solution Explorer.
"
2010-03-10 12:56:33 +00:00
Robert Osfield
1f01d30f72 Added tests of various FileNameUtils functions, tests invoked by osgunittests filenames 2010-03-10 12:13:31 +00:00
Robert Osfield
f8665ebfdb Refactored the find_last_of to simplify it. 2010-03-10 12:04:14 +00:00
Robert Osfield
6ae2f4c6c6 From Sukender, "Here is my proposal. I fixed what Paul said, added some doxygen comments, added the function I told about, and removed the two "find('/')"-like calls to use only one." 2010-03-10 11:40:17 +00:00
Robert Osfield
ea5af1d010 From Nico Krulthof and Jori Torres, additions for detecting OSX 10.6 SDK and setting variable defaults accordingly. 2010-03-10 11:09:55 +00:00
Robert Osfield
4c1af137e0 Based on a suggestion from Chuck Seberino, have added a section for testing of 64bit build under OSX and disable the use of quicktime when the build includes 64bit. 2010-03-10 11:01:17 +00:00
Robert Osfield
1d036c0e8c From Laurens Voerman, "my compiler (VC Express 9) gives some warnings (see below) about not being able to generate an assignment operator. As those assignment operators are not used and problably should never be used, I solved this by creating an private (empty) assingment operator.
"

From Robert Osfield, added "return *this;" to Laurens's addition to prevent them generating a warning under gcc...
2010-03-10 10:32:58 +00:00