Commit Graph

10383 Commits

Author SHA1 Message Date
Robert Osfield
75d1de3d15 Fixed warning 2010-03-25 14:12:28 +00:00
Robert Osfield
304214e0df Introduced the use of linear interpolation of evelvations when sampling 2010-03-25 11:11:35 +00:00
Robert Osfield
9d35ec1631 Added a compile test for pthread_setaffinity_np to workaround problem with the FreeBSD pthread lib containing the function but the pthread.h header not containing it. 2010-03-24 17:12:05 +00:00
Robert Osfield
1319e270f6 Refactored the way that the RequestQueue's are pruned and highest prioty items taken from them so the operation is
now O(n) rather than O(nlogn) where n is the number of requests.  The refactoring also cleans up the access of the
request lists so that the code is more readable/maintainable.
2010-03-24 14:27:00 +00:00
Robert Osfield
627a4b78c9 Updated wrappers 2010-03-23 12:41:02 +00:00
Robert Osfield
99b6b268bc From Michael Platings, "the attached files fix the DAE importer for animations that don't contain channels for all X, Y and Z components, as exported by SoftImage." 2010-03-22 17:55:14 +00:00
Robert Osfield
d969034f44 Changed private: to protected: to fix build issue under OSX 2010-03-22 14:32:19 +00:00
Robert Osfield
8a39ece376 From Chuck Seberino, "have a fix for the reading code in trunk/src/osgPlugins/gz/ReaderWriterGZ.cpp. It seems that the std::istream::readsome method on windows is a no-op (for files. After much head scratching and research I was able to figure out what was going on. I am submitting a fix to replace readsome with read() and gcount(). This change is for all platforms. The previous implementation works fine under linux and OSX, so if you would rather keep things the way they are you can just #ifdef for non-WIN32.
I also added openmode flags to the ifstream constructor, since they were needed to get proper reading as well as a typo fix."
2010-03-22 13:13:22 +00:00
Robert Osfield
8b66d5348e From Farshid Lashkari, "I noticed that osg::notify does not output to stderr when using either FATAL or WARN severity levels. There is code in osg::StandardNotifyHandler::notify that will use stderr based on the severity level, but it is disabled by an #if 0. I'm assuming this was a mistake and have re-enabled the code.
Many IDEs will capture the output of processes and highlight stderr messages in red. After upgrading from OSG 1.2, I was noticing that none of the error messages were being highlighted, which I find quite useful."
2010-03-22 12:50:27 +00:00
Stephan Maximilian HUBER
7e6ddb8588 From Stephan Huber: updated xcode-project 2010-03-22 10:43:45 +00:00
Robert Osfield
994e7ece43 From Ulrich Hertlein, changed init() call to _init(). 2010-03-20 09:45:59 +00:00
Michael PLATINGS
03d5b81a6f Workaround for files exported from SoftImage that don't tag skeleton nodes correctly. 2010-03-19 20:12:19 +00:00
Michael PLATINGS
f053c6c567 From Paul Martz: This is a fix to get the FBX plugin to compile on OS X 2010-03-19 18:28:20 +00:00
Robert Osfield
5612a4640f Added a minimum tiles size of 16 to prevent down sampling from being overly aggressive. 2010-03-19 17:09:30 +00:00
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