Commit Graph

11176 Commits

Author SHA1 Message Date
Robert Osfield
946e9f01fc From Mattias Helsing, "Fixes two of the osgWidget examples that were broken due to changed
virtual function prototypes in osgWidget/EventInterface"
2011-04-26 12:07:37 +00:00
Robert Osfield
d416ebc78c From Craig Bosma,"Please find attached a fix for shared contexts on OS X, with the Cocoa backend. The NSOpenGLContext* _context member of GraphicsHandleCocoa was never set on successfully creation, so even if the dynamic_cast to GraphicsHandleCocoa succeeds, we get a bogus (NULL) pointer on retrieving the actual NSOpenGLContext* (line 1013).
This should fix the problem, as well as cause GraphicsWindowCocoa to report the correct name "GraphicsWindowCarbon" -> "GraphicsWindowCocoa".
"
2011-04-26 12:05:57 +00:00
Robert Osfield
0d97aab94f From Farshid Lashkari, "I believe their is small error in how OutputStream handles the WriteImageHint. In the "writeImage" method, it converts the WriteImageHint to an internal "decision" flag. During this conversion, it seems to be swapping the behavior for WRITE_EXTERNAL_FILE and WRITE_USE_EXTERNAL. I've attached what I believe to be the correct conversion." 2011-04-26 11:51:21 +00:00
Robert Osfield
8d323fcdea From Mattias Helsing, "Fixes installation of the osgViewer headers that got broken with rev
12208 and 12231.

The windowing system specific headers under
include/osgViewer/api/<system> are again installed under
include/osgViewer/api/<system>

Works in recent ubuntu with cmake-2.8.4 and msvc2010 with cmake-2.8.2"
2011-04-21 17:16:27 +00:00
Robert Osfield
a793958836 From Johannes Baeuerele, "I have extended the pvr reader plugin to support etc1 compression(GL_ETC1_RGB8_OES). The changes attached to this submission are based on today's trunk.
The pvr format which can be used as a wrapper for different compressed and uncompressed formats supports this compression algorithm. The original pvr compression uses the pvrtc format. The handling of pvrtc is already implemented in the pvr plugin. PVR provides wrapper functionality for some formats, e.g. etc or even dxt/dds.

Our target system (gles2) is able to use the etc compression format. With minor changes in the submitted files, there is no need to write a separate plugin. However the original pvr texture compression formats are not supported on our target, which is the reason for this extension.

The changes mainly consist in the definition on new enum values in the classes and headers of ReaderWriterPVR,Image and Texture. I also found some locations where the handling of the original pvr textures was not implemented. These are also part of this submission."
2011-04-21 17:04:50 +00:00
Robert Osfield
634344aef5 From Marius Heise, "here is a patch that implements Win32 HW-synced swapping using wglJoinSwapGroupNV, wglBindSwapBarrierNV and the existing traits. It was tested with multiple ATI FirePro S400 cards.
I also fixed the vsync implementation introduced with rev.11357 that was crashing with the Windows Error #170. So I removed your temporary /* */ around the vsync condition..."
2011-04-21 13:34:03 +00:00
Robert Osfield
02081af4f8 From Fred Smith, "GraphicsWindowWin32::setWindow currently creates a context with no regards to the Traits, like createWindow does.
That is, it calls ::wglCreateContext to create a context, not the member method createContextImplementation(), which takes into an account the Traits.

In my situation, this prevents a GL 3.x context from being created.
"
2011-04-21 13:01:11 +00:00
Robert Osfield
478e0f3ebf From Jorge Ciges, "1rst - Changes in Cmake: They make possible "make install" with the android building.
2nd - Script to use a 3rd party directory with basic libraries: libjpeg,libpng,libtiff,giflib,freetype,curl,gdal.

3rd - Change in the GLES library loading for Android. That should make GLES2 work properly.

4rth- Included two defines RGB8_OES and RGBA8_OES as a substitute in GLES for RGB8 and RGBA8

5th - OpenGL and GLSL version identification changed to recognize GLES  versions properly
"
2011-04-21 12:53:22 +00:00
Robert Osfield
cd44e63b90 From Cedric Pinson, "I have tried some model that produces crashes in the dae plugin because
of empty node:

if (GetFloat4Param(cot->getParam()->getRef(), f4)) {...}

in the model I have tested cot->getParam()->getRef() return 0x0 and make
it crahes inside GetFloat4Param.

I have added a test before calling GetFloat4Param
if (cot->getParam()->getRef() != 0 &&
GetFloat4Param(cot->getParam()->getRef(), f4)) {...}
"
2011-04-21 12:12:40 +00:00
Robert Osfield
9bfb043a16 From Tomas Hogarth, "Attached are the complete changed files GraphicsWindowIOS and GraphicsWindowIOS.mm. The change is in regard to the ability to adapt to device orientation. We did just have a bool indicating the window would adapt to all orientations. I have changed this to a bit mask allowing the user to specify individual orientations or combinations.
enum DeviceOrientation{

                    PORTRAIT_ORIENTATION = 1<<0,

                    PORTRAIT_UPSIDEDOWN_ORIENTATION  = 1<<1,

                    LANDSCAPE_LEFT_ORIENTATION  = 1<<2,

                    LANDSCAPE_RIGHT_ORIENTATION  = 1<<3,

                    ALL_ORIENTATIONS = PORTRAIT_ORIENTATION  | PORTRAIT_UPSIDEDOWN_ORIENTATION  | LANDSCAPE_LEFT_ORIENTATION  | LANDSCAPE_RIGHT_ORIENTATION

                };

                typedef unsigned int DeviceOrientationFlags;

The main motivation for this is to easily allow the user to specifiy that the device is in a horizontal orientation rather then having to rotate the view matrix. All flags have been tested individually as well as in combinations. The default is ALL_ORIENTATIONS to keep the exiting functionality for anyone who hasn't specified WindowData for their context traits.
"
2011-04-21 12:06:06 +00:00
Robert Osfield
4d0b96c074 From Sukender, Here is a tiny update to FileNameUtils. It brings getPathRoot() and isAbsolutePath() to the public side of the lib. 2011-04-20 19:20:28 +00:00
Robert Osfield
63cfbadc95 From Guillaume Taze, "This is a fix for the error popups which appeared when reading a corrupted file on windows. Errors are redirected to std::err instead."
Note from Robert Osfield, changed jpeg error report output from stderr to standard OSG notification system using OSG_WARN.
2011-04-20 17:15:58 +00:00
Robert Osfield
70aa087f6e Added releaseGLObjects(State*) support into osg::FrameBufferObject, osg::RenderBin and osg::RenderStage
to ensure proper clean up of FBO's on closing a graphics context.
2011-04-20 11:45:01 +00:00
Robert Osfield
f564926570 From Magnus Kessler, "A few minor fixes in the documentation strings of ReaderWriterFLT.cpp" 2011-04-19 14:19:06 +00:00
Robert Osfield
cfb19182e6 From Bradley Anderegg, "The first change just exposes the archive extension list so that
external applications can determine if an archive extension is valid.

The second change is a bug fix in Registry::read(const ReadFunctor&)
where if you pass in valid options they get wiped out after the archive
is loaded but before being passed along to the plugin."
2011-04-19 14:11:13 +00:00
Robert Osfield
3c4180d982 From Paul Martz, "To summarize the fix: OpenGL eye coords are negative outside Cartesian quadrant 1. As a result, the center of projection is eye coord (0,0), which (when used as st tex coords) looks up the lower left corner of the texture. However, in projective texturing, you usually want eye coord (0,0) to look up the center of the texture. Accomplishing this mapping requires not just a lookat and perspective transform, but also a translate and scale." 2011-04-19 13:32:25 +00:00
Robert Osfield
c13b7d26b7 From Jan Peciva, "please find attached proposed fix for ON_DEMAND rendering. The biggest issue was
that the windows did not act on repaint request (WM_PAINT, EXPOSE,...)

Detailed explanation:
- I implemented requestRedraw using the push approach (not using
GraphicsWindow::_requestRedraw flag that I was considering) as there may be
multiple viewers reading the flag and fighting to reset it after the paint
request, while some viewers may not spot the request to redraw
- I made windows call GraphicsWindow::requestRedraw when they receive
appropriate message (WM_PAINT, EXPOSE, RESIZE,...)
- There were issues on Linux that windows did not want to close using x
button. Resolved by moving the test for DeleteWindow event from
swapBuffersImplementation() to GraphicsWindowX11::checkEvents(). The difficulty
was that DeleteWindow event is not coming using _eventDisplay, but through
_display.
- The last difficulty was that it is necessary to call
ViewerBase::checkWindowStatus() to set _done to true when all windows are
closed. This did not happened recently in ON_DEMAND run scheme. I put the call
to checkWindowStatus() to eventTraversal.
"
2011-04-19 12:01:38 +00:00
Robert Osfield
efec8a13a1 Removed spaces from end of lines 2011-04-19 11:46:05 +00:00
Robert Osfield
581e6fb630 Ran svn propset -R svn:eol-style native . on the OpenSceneGraph 2011-04-19 11:40:22 +00:00
Robert Osfield
c70e7bda86 Improved the handling of unitialized bounding box 2011-04-19 09:54:14 +00:00
Robert Osfield
36f755670b Cleaned up example 2011-04-19 09:53:34 +00:00
Robert Osfield
c1cd0c4f3b Updated SO version number 2011-04-18 12:58:28 +00:00
Robert Osfield
8ffa50a88e Added IncrementalCompileOperation::compileAllForNextFrame(uint) method and supporting
functionality that  tell the IncrementalCompileOperation to compile all pending objects during next draw traversal,
for specified number of frames.
2011-04-18 12:35:19 +00:00
Robert Osfield
a74289614d From Stephan Huber, "attached you'll find some enhancements for the iphone-part of the readme." 2011-04-14 15:47:29 +00:00
Robert Osfield
c8350e0428 From Magnus Kessler, "The standard width for the windows cmd and terminals on many Unix systems is
80 columns. I reorganized some of the help strings to make the output of

 osgconv --help --all

fit to 80 columns. This avoids difficult to read line breaks added by the
terminal program itself."
2011-04-14 15:45:14 +00:00
Robert Osfield
2648723c83 Cleaned up DXT1 support 2011-04-14 15:22:43 +00:00
Robert Osfield
5fb7f69108 Added IF (WIN32) around OSG_USE_UTF8_FILENAME 2011-04-14 15:21:53 +00:00
Robert Osfield
7c004aeebc Added osgDB::Option string entries:
supportsOption("dds_dxt1_rgb","set the pixel format of DXT1 encoded images to be RGB");
        supportsOption("dds_dxt1_rgba","set the pixel format of DXT1 encoded images to be RGBA");
        supportsOption("dds_dxt1_detect_rgba","For DXT1 encode images set the pixel format according to presence of transparent pixels.");

And set the default not to modify and detect the RGB or RGBA pixel format for DXT images.
2011-04-14 10:44:37 +00:00
Robert Osfield
fc38d5b6e7 Added setting of the internal texture format 2011-04-14 09:16:09 +00:00
Robert Osfield
76445d07b0 quitened down debug output 2011-04-13 19:28:30 +00:00
Robert Osfield
b1692f1f31 Introduced new code for detecting DXT1 images catogoriesed as RGB that actually have a 1 bit alpha,
therefore re-interpreting these as RGBA.
2011-04-13 19:26:35 +00:00
Robert Osfield
b62f927eff Added handling of DXT1 in osg::Image::isImageTranslucent() 2011-04-13 10:44:36 +00:00
Robert Osfield
e7e860b742 Added support for explitly requesting DXT1a and DXT1c compression 2011-04-11 19:11:25 +00:00
Robert Osfield
f0f31e4a8c From Stephan Huber, "Attached you'll find a fixed
GraphicsWindowCocoa-implementation which should fix the reported bugs.

the osgkeyboard-example works now, but not the numbers of the keypad, as
they hilight only for KEY_KP_Left, KEY_KP_Right, KEY_KP_Up, KEY_KP_DOWN
etc and not for KEY_KP_0 - KEY_KP_9."
2011-04-04 10:16:46 +00:00
Robert Osfield
7d6bde2d01 Added OPENTHREADS_ATOMIC_USE_MUTEX Cmake options that allows you to override the default detection
of atomic implementatition, making it possible to force the use of Mutex for OpenThreads::Atomic,
and as a consequence for use of Mutex for Referenced::ref/unref() counting.
2011-03-31 14:57:18 +00:00
Robert Osfield
70dfd11531 From Tim Moore,
Fixes to race in DatabasePager where a parent PagedLOD
of newly loaded subgraph has been expired.

Clean up of visitor naming to make it clearer what role it has.
2011-03-30 15:15:07 +00:00
Robert Osfield
5625c0cd8b Added m4v as a handled movie file extension 2011-03-23 14:01:58 +00:00
Robert Osfield
e9b211ad4e Added dciimage library to DCMTK libs 2011-03-21 21:28:35 +00:00
Robert Osfield
f4110a7d84 Improved handling of RGB data. 2011-03-21 21:28:02 +00:00
Robert Osfield
11007a03ee Added .get() to fix build 2011-03-19 16:25:01 +00:00
Robert Osfield
923b658e65 Adde an isFileADicom(..) method to enable the loader to automatically identifier dicom files without making any assumptions about the file extension 2011-03-18 12:21:58 +00:00
Robert Osfield
aeb0d60b72 Added extra DCMTK libraries to search and link line to enable build against new DCMTK-3.6.0 release 2011-03-18 11:23:39 +00:00
Robert Osfield
6b67320190 Added support for new SampleDensityWhenMovingProperty into .p3d format, with it default to 0.02.
One can override this value via the sampleDensityWhenMoving="value" property in the volume tag, i.e.

         <volume sampleDensityWhenMoving="0.01">CardiacCT</volume>

To switch the feature off set the value to 0, i.e.

         <volume sampleDensityWhenMoving="0">CardiacCT</volume>
2011-03-17 17:33:02 +00:00
Robert Osfield
89eadcfe82 Added SampleDensityWhenMovingProperty to control LOD property of osgVolume. 2011-03-17 15:37:39 +00:00
Robert Osfield
79cb22eb06 Changed the view movement detection code so that it uses the
new CullVisitor::Identifier to indentifier cull traversals,
this enables the code to properly detect movement when
osgViewer::Renderer uses double buffering of SceneView.
2011-03-17 13:56:27 +00:00
Robert Osfield
6e182e7c17 Added set up of CulLVisitor::Identifier so that the double buffered SceneView/CullVisitor
share the same Identifier.
2011-03-17 13:54:54 +00:00
Robert Osfield
e28f9a7d32 Added CullVisitor::Identifier to help with cull operations that require a consistent identifier for
cull traveresals when osgViewer::Renderer uses double buffering.
2011-03-17 13:54:14 +00:00
Robert Osfield
307bf7002f First cut at LOD support in RayTracedTechnique, which lowers the number of samples taken when the view of the volume is changing. 2011-03-17 11:49:22 +00:00
Robert Osfield
127b103edd From Torben Dannhauer, "adds an additional library name of libpng ( libpng15 ) to search fo" 2011-03-16 13:48:09 +00:00
Robert Osfield
db4b31f804 From Alan Dickinson,"I tested out my changes against the trunk and everything worked fine... except I noticed that the CMAKE_BUILD_POSTFIX is set incorrectly for a undefined or blank BUILD_TYPE.
So here is the one line change to the CMakeLists.txt to rectify this omission."
2011-03-16 13:41:39 +00:00