Commit Graph

12012 Commits

Author SHA1 Message Date
Robert Osfield
59133b43d3 Moved the frame() event into the event traversal after then events and their state have been accumulated. 2012-06-15 09:04:32 +00:00
Robert Osfield
1dc215a1da Added FileNameComparator to sort the filenames in an ImageSequence into alphanumerical order so that it can handle the numerical ordering found in screenshot numbered sets of files 2012-06-12 20:15:58 +00:00
Robert Osfield
4ab8cdb746 Enabled 6 ImageThreads in the ImagePager 2012-06-12 18:29:03 +00:00
Robert Osfield
c1a3ab2a5b Commented out the disabling of use of PBO's in ImageStream, and disabled the use ClientStoreHint in Present3D. 2012-06-12 10:31:50 +00:00
Robert Osfield
2faeaf553b Added support for setting the <image> paging_mode property to PRE_LOAD_ALL_IMAGES, PAGE_AND_RETAIN_IMAGES or PAGE_AND_DICARD_IMAGE for osg::ImageStream,
with PAGE_AND_DICARD_IMAGE set as the default.
2012-06-11 19:54:07 +00:00
Robert Osfield
c39ee015d6 Added ImageStream support to <image> and <stereo_image> tags in .p3d 2012-06-08 10:26:23 +00:00
Robert Osfield
5d3cb4f754 Added osg::ImageSequence support into osgPresentation::SlideShowConstructor and the associated <image> tag in .p3d. 2012-06-08 04:18:28 +00:00
Robert Osfield
4d86f8dc79 Added --fps support 2012-06-07 10:08:42 +00:00
Robert Osfield
9282a367e9 Added typdef for Win32 2012-05-31 14:45:24 +00:00
Robert Osfield
2200ebfbe1 From Wang Rui, "A very small but maybe fatal problem was found when I saved models with shader and uniforms (with new double types support) to osgb format and tried to read it again. The application will crash here. And the serializer file should be slightly changed to fix it. Please replace the original file in osgWrappers/serializers/osg/Uniform.cpp." 2012-05-25 16:07:11 +00:00
Robert Osfield
1dbb0a7a82 Added Dragger::get/setActivationMouseButtonMask(uint). 2012-05-25 15:32:51 +00:00
Robert Osfield
c21f1f488f From Jaap Glas, "Added a default parameter to the following constructor in TabPlaneDragger
and TabPlaneDragger.cpp:

TabPlaneDragger(float handleScaleFactor=20.0f);

The reason for this is that the default OSG tab sizes are way bigger than
those we used in our application so far. And since handleScaleFactor_
is already a (constant) class member, I see no objection against making
it user defined."
2012-05-25 08:56:25 +00:00
Robert Osfield
a28907a67f From Jaap Gas, added missing break, and missing removeDraggerCallback. 2012-05-24 18:15:44 +00:00
Robert Osfield
759a889468 Removed -ftree-vectorize from OSX 10.7 build to avoid warning when building with clang. 2012-05-21 09:12:13 +00:00
Robert Osfield
aea3d6855b Removed trailing spaces 2012-05-02 14:13:29 +00:00
Robert Osfield
476dbf1c33 Fixed for including cmath before osg/Math. 2012-05-02 13:58:34 +00:00
Robert Osfield
d32160abde Added using base_class::set to the Matrix*Template class to enable the set() method from the base class to be used. 2012-04-27 09:43:25 +00:00
Robert Osfield
b86c87d1a8 From Christophe Herreman, Added viewer.setCameraManipulator( keyswitchManipulator.get() ) to fix problem with master Camera not being updated 2012-04-26 10:07:36 +00:00
Robert Osfield
45c6ba0b73 From Mathias Froehlich,"Attached is a change to the ac3d model loader as of rev 11498, that uses
indexed draws instead of plain array draws to save some amount of main memory.
Draw performance does not change with the nvidia binary blob as well as with
the open source drivers."
2012-04-20 10:01:50 +00:00
Robert Osfield
18b5e2a9b8 From John Kaniarz, "Here's a patch to add new extensions for tessellation shaders to the GLSL
plugin." "I went with .tctrl and .teval for the shader extensions."
2012-04-20 09:53:41 +00:00
Robert Osfield
d37eff5c2b Ran dos2unx on file 2012-04-20 09:40:29 +00:00
Robert Osfield
b0c510ab08 From John Kaniarz, "Here is an example of using tessellation shaders in osg. With permission from the author, I adapted it from this tutorial:
http://prideout.net/blog/?p=48"
2012-04-20 09:38:51 +00:00
Robert Osfield
de05dd22a8 Restructed how the GL_SAMPLER_* #define's are placed to avoid build problems under GLES. 2012-04-19 14:58:35 +00:00
Robert Osfield
a5cd9c0630 Changed #ifdef __IPHONE_4_0 to #if defined(__IPHONE_4_0) to fix error that Clang compile warning highlighted 2012-04-19 14:34:28 +00:00
Robert Osfield
c3bfa67576 Fixed build with OSG_USE_REF_PTR_IMPLICIT_OUTPUT set to OFF. 2012-04-19 13:18:58 +00:00
Robert Osfield
9f93b005cc From David Callu, "Here the fix for Matrix{2,3,4}x{2,3,4}{fd} defined in Uniform header.
My previous patch for Atomic Counter Uniform provide new template implementation
of Matrix{2,3,4}x{2,3,4}{fd}. This new implementation use Column-Major Matrix.
Original code define matrix as Row-Major matrix like other Matrix in OSG, and
my matrix implementation break compatibility with previous code.
For example osg_normalMatrix define in osg::State report by Roland Hill.
Thanks to Paul Martz to spot me when the bug appear."
2012-04-19 10:27:58 +00:00
Robert Osfield
9045813aab Added missing getUniformBlocks implmentation 2012-04-19 10:10:26 +00:00
Robert Osfield
c6a4fde917 From Jorge Izquierdo Ciges, "Mostly small changes to add more compile options, and shared linking (still testing that capability, but this enables on a compile basis if the user wants). Robert, when you give the Ok I'll update/rewrite the Android section in the old/new wiki you'll say where is better. Mostly to be clear for the future users what options can configure and what are their purpose." 2012-04-19 09:50:10 +00:00
Robert Osfield
97e4ad473b Refactored the handling of GLES adaptations of the 1,2,3,4 internal formats and added handling of GL_RGB8_OES and GL_RGBA8_OES. 2012-04-18 10:16:09 +00:00
Robert Osfield
01beb82041 From Mathias Froehlich, "Attached is a change to the slow path geometry dispatch tables that allows the
use of 3 component float color vectors."
2012-04-18 09:56:00 +00:00
Robert Osfield
25989e73f5 From Martin Naylor, "I have been experiencing a crash in the example osgtexture2D.
Not sure why my system seems to be so sensitive to these problems.

But attached is a fix which seems to stabilise the example.
Note: it only seems to crash intermittently when spinning the object with
your mouse.

So I assume this is a threading issue because of the data variance missing
in some of the text node setups in the example.
"
2012-04-18 09:51:39 +00:00
Robert Osfield
b882467217 Updated version number 2012-04-18 09:50:23 +00:00
Robert Osfield
96effb3690 From Martin Naylor, "Please find attached a fix for the STD library(tested under Windowsx64
VS2008) when atomiccounter is found but not used."
2012-04-06 11:29:29 +00:00
Robert Osfield
95cac0b549 From Ulrich Hertlein, Fix for MatrixTemplate compile errors 2012-04-06 10:42:17 +00:00
Robert Osfield
5e315d5fab From Wang Rui, "I'd like to submit the changes that will put ObjectProperty and ObjectMark variables into the InputStream/OutputStream class instead of static ones. This should avoid the threading problem and won't repeatedly reallocate memory for the properties. Some of the wrappers will be slightly modified to use the property variable stored in the InputStream/OutputStream as well." 2012-04-05 13:53:47 +00:00
Robert Osfield
28a9a235b6 Update AUTHORS for release 2012-03-30 17:08:21 +00:00
Robert Osfield
bac5e760da Updated ChangeLog for dev release 2012-03-30 16:58:24 +00:00
Robert Osfield
6a40df7b7d Added check to avoid accessing pointer past the end of the string. 2012-03-30 10:10:27 +00:00
Robert Osfield
c0bd5cda99 From Magnus Kessler, typo and documentation fixes 2012-03-29 15:08:15 +00:00
Robert Osfield
ba2432ca45 From Cedric Pinson, "I Updated the ply plugin to support alpha color in files. Plus I updated it to use by default an alpha of 1.0 instead of 0 when no alpha is specified.
Last changes is to divide byte color by 255.0 instead of 256.0."
2012-03-29 14:58:00 +00:00
Robert Osfield
68412a1784 From Magnus Kessler, "remove unecessary conversion from float in double precision method" 2012-03-29 09:57:47 +00:00
Robert Osfield
aab27e106c From David Callu, "Here an update of osg::Uniform :
- add non square matrix
- add double
- add all uniform type available in OpenGL 4.2
- backward compatibility for Matrixd to set/get an float uniform matrix
- update of IVE / Wrapper ReadWriter

implementation of AtomicCounterBuffer based on BufferIndexBinding

add example that use AtomicCounterBuffer and show rendering order of fragments,
original idea from geeks3d.com."
2012-03-29 09:43:12 +00:00
Robert Osfield
59d6931b59 Added int packing parameter to Image::readPixels(..) 2012-03-29 08:27:21 +00:00
Robert Osfield
055e1258ea Removed trailing spaces 2012-03-23 16:09:30 +00:00
Robert Osfield
695e08ec8c Updated ChangeLog and AUTHORS for 3.1.2 dev release 2012-03-23 11:32:10 +00:00
Robert Osfield
eb9f545d67 Fixed potential memory leak 2012-03-23 11:20:17 +00:00
Robert Osfield
1feea279a5 From Luc Frauciel, "I've encoutered a nasty group of dae which are incompatible with dae plugins (and probably collada schema ) in 4 different ways :
1)  they use direct link to texture

-> this is already handle by current plugin : OK

2)  they defined colors with only 3 color components

->  it leads to a crash when trying to acces to the fourth component
 I fixed that

3)  they contain empty primitive lists

-> reading is ok, but osgviewer crashes when trying to display the geometries
The reason is that osg assume that  DrawElementsare never empty (blunt acces to DrawElements.front() in PrimitiveSet.cpp)
I corrected this (on the plugin side), but I wonder :
Is it the responsability of plugins to create non empty DrawElements, or of osg core not to crash when they occur ?
If the responsability is on the osg core side, I can submit a patch to PrimitiveSet.cpp regarding that aspect.

4)  they use a material binding scheme not supported by the plugin

->I've implemented a mechanism to handle this binding scheme

You will also find in the patch an example of these evil dae and comments on the offending elements.
They seems to be produced by ComputaMaps (www.computamaps.com)
They load well in Google Earth
"
2012-03-23 11:16:01 +00:00
Robert Osfield
1227f3f620 From Ulrich Hertlein, "as discussed on osg-users there is an issue with clang++ on OS X and iOS that results in
the following error:

Users/stephan/Documents/Projekte/cefix/cefix/ios/../../libs/ios/include/OpenThreads/Atomic:244:48:
error: cannot initialize a parameter of type 'void *' with an lvalue of
type 'const void *const'
   return __sync_bool_compare_and_swap(&_ptr, ptrOld, ptrNew);

This can be solved by a cast to '(void*)ptrOld'.  This should be benign since both
'ptrOld' and 'ptrNew' are only read and the cast is in fact in place for all other
implementations as well.

On OS X the cast compiles cleanly on both g++ (i686-apple-darwin11-llvm-g++-4.2 (GCC)
4.2.1) and clang++ (Apple clang version 3.1 (tags/Apple/clang-318.0.54)).
"
2012-03-23 10:24:50 +00:00
Robert Osfield
5fc6f0a796 As per Ulrich Hertlrein's suggestion, changed APPLE_PLATFORM_SDK_CANONICAL_NAME to OSG_OSX_SDK_NAME. 2012-03-23 10:21:51 +00:00
Robert Osfield
c2ae14f94d From Erik den Dekker, "
IF(${CMAKE_OSX_SYSROOT} STREQUAL "/Developer/SDKs/MacOSX10.7.sdk")
...

            ELSEIF(${CMAKE_OSX_SYSROOT} STREQUAL "/Developer/SDKs/MacOSX10.5.sdk" OR ${CMAKE_OSX_SYSROOT} STREQUAL "/Developer/SDKs/MacOSX10.6.sdk")

...

ELSEIF(EXISTS /Developer/SDKs/MacOSX10.4u.sdk)
...

            ELSE()

...

            ENDIF()


Which is fragile because XCode could be installed into another directory than /Developer. (In case XCode is not installed into the /Developer directory CMake can automatically resolve the path via command line utility ${CMAKE_XCODE_SELECT} --print-path)

This issue bites me currently because the latest XCode (Version 4.3.1 - 4E1019) installed through the Mac App Store is per default installed in "/Applications/Xcode.app/Contents/Developer" and hence the 10.7 SDK in "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk"

Searching the web to find the proper way to determine the version of the Platform SDK programmatically, I found no standard way. I came up with 2 options myself:

1) Parse the path string to extract the version number

2) Read a value from the SDKSettings.plist found in the root of each SDK  (e.g., "defaults read ${CMAKE_OSX_ROOT}/SDKSettings.plist CanonicalName" gives "macosx10.7")

I implemented the last option and verified that at least the following Mac OS SDKs (10.3.9, 10.4, 10.5, 10.6, 10.7) support this method. It also looks reasonably future proof. An additional benefit of this method is that it also seems to be compatible with iOS and iOS Simulator SDKs (at least for version 5.1, but I assume this also applies to older versions). This is interesting because the CMake infrastructure to build OSG for iOS currently still contains similar hard-coded paths and even requires you to manually change the cmake file to build for another iOS SDK version. In the near future I hope to address these issues, but I haven't been able to try this yet."
2012-03-23 10:18:27 +00:00