Robert Osfield
1c88753551
Introduced the ability to switch between different visual properties in osgVolume
2009-01-21 11:46:03 +00:00
Robert Osfield
a40aa3a734
Moved PropertyAdjustmentCallback from osgvolume.cpp into osgVolume.
...
Updated lighting shaders.
2009-01-20 17:41:45 +00:00
Robert Osfield
d46e0fcc79
Added support for SampleDensityProperty and TransparencyProperty
2009-01-20 13:50:57 +00:00
Robert Osfield
87cd4530f5
Added AlphaFunc support into osgVolume::AlphaFuncProperty.
2009-01-20 12:39:26 +00:00
Robert Osfield
b176c3a223
Removed old volume rendering scene graph code from osgvolume example.
...
Moved createNormalMapTexture and applyTransferFunction functions from osgvolume example into include/osgVolume/Layer.
2009-01-16 17:59:38 +00:00
Robert Osfield
9d4b44f956
Completed firt pass implementation FixedFunction and ShaderTechnique.
2009-01-16 16:21:54 +00:00
Robert Osfield
29ac92df0e
Moved basics of fixed function pipeline implementation from osgvolume example into osgVolume
2009-01-16 11:27:20 +00:00
Robert Osfield
78c2f98b7a
Introduced ImageLayer computeMinMax + rescaling methods, and use of rescaleToZeroToOneRange by default.
2009-01-16 10:23:17 +00:00
Robert Osfield
ba94ea8c7d
Introduce osgVolume::PropertVisitor, and IsoSurface, MaximumImageProjection, Ligting and AlphaFunc Properties
2009-01-15 15:57:04 +00:00
Robert Osfield
3be239bdb2
Removal of rendundant characters from Camera and Camera.cpp.
...
Updated wrappers
2009-01-15 10:44:52 +00:00
Robert Osfield
2f7fb53ff7
From Rudolf Wiedemann, "attached is the osg::Camera class (based on revision 9493), where
...
methods
getProjectionMatrixAsOrtho()
getProjectionMatrixAsFrustum()
getProjectionMatrixAsPerspective()
getViewMatrixAsLookAt() (2x)
are now const, as they only call const methods of osg::Matrixf/d.
"
2009-01-15 10:36:04 +00:00
Robert Osfield
c28221b06f
Changed setVolumeTechnique to setVolumeTechniquePrototype()
2009-01-14 20:43:21 +00:00
Robert Osfield
778f4e321d
Added VolumeTechnique to Volume
2009-01-14 20:38:12 +00:00
Robert Osfield
d87ec7cb18
Introduced osgVolume::Property, CompositePropery and TransferFunctionPropety classes
2009-01-14 15:16:29 +00:00
Robert Osfield
f260737cd8
Introduced class interfaces for FixedFunctionTechnique and ShaderTechnique volume rendering techniques.
2009-01-13 17:20:32 +00:00
Robert Osfield
2287f1190b
Updated version number for next dev release
2009-01-09 15:25:34 +00:00
Robert Osfield
458993fa88
Moved osgVolume::ImageUtils to osg::ImageUtils, updated wrappers, and started moving osgvolume example across to create osgVolume subgraphs
2009-01-09 15:19:25 +00:00
Robert Osfield
fa499dc55f
From Andy Skinner, fixes for Solaris build
2009-01-09 12:17:40 +00:00
Robert Osfield
3b192f5119
Added checked from the ARG version of glDraw*Instanced().
2009-01-08 11:19:21 +00:00
Robert Osfield
95ebf1fe71
From Andy Skinner, "I added a const_cast for a call to atomic_cas_ptr, which takes a void* and has been given a const void* const."
2009-01-08 11:16:56 +00:00
Robert Osfield
5275c11d06
From Blasius Czink, "It seems there is no atomic_xor_uint_nv(). I
...
attached a changed version of the Atomic header where a mutex fallback
is used for "xor" on solaris."
2009-01-08 11:15:14 +00:00
Robert Osfield
46eeac4514
Moved supression of VS warning C4706 from the include/osg/Export header into the CMake options list. Added suppression of C4127 as well.
2009-01-08 10:34:05 +00:00
Robert Osfield
fb75c50714
Fixed assingment operator
2009-01-07 15:35:28 +00:00
Robert Osfield
4add5f6fd1
Added supression VS warning "C4706: assignment within conditional expression" thanks gets spat out even for perfectly valid if ((variable=expression)) {} usage.
2009-01-07 15:33:24 +00:00
Robert Osfield
98bd058317
Fixed warnings
2009-01-07 10:32:59 +00:00
Robert Osfield
85c510ba27
Added a protected = operator
2009-01-07 09:49:49 +00:00
Robert Osfield
8745ec7d69
Removed the usage of assert to prevent associated compile warnings and to clean up code
2009-01-06 19:09:50 +00:00
Robert Osfield
4f3b1baee4
Added support for primitive instancing
2009-01-06 14:55:49 +00:00
Robert Osfield
85fffc2e76
From Roland Smeenk, "Attached you will find an improved Collada plugin to properly support camera's.
...
A Collada camera will be added to the scenegraph as osg::CameraView. This allows the user to create a set of predefined camera viewpoints. I also added a new MatrixManipulator to osgGA called CameraViewSwitchManipulator and added usage of this to the osgviewer example. This manipulator allows switching between the predefined camera viewpoints. The current design limition I ran into is that a MatrixManipulator only manipulates the ViewMatrix, but for this particular manipulator I also want to update the projectionMatrix of the camera when switching to a new viewpoint. This is not implemented because I don't know what would be the best way to design it. Any ideas?
Furthermore Collada also supports orthographic camera's, where an osg::CameraView only supports a perspective camera. Would it be useful to create a CameraView with customizable optics for this?"
2009-01-05 16:53:29 +00:00
Robert Osfield
375253ae8a
From Paul Martz, Correction to Timer method comment.
2009-01-05 11:58:08 +00:00
Robert Osfield
c8752d6c18
From Cedric Pinson, added non const getText() method
2009-01-05 11:31:38 +00:00
Robert Osfield
cedffd3adb
Introduced osgVolume::Layer and Locator classes mirrroring similar classes in osgTerrain.
2009-01-05 11:26:26 +00:00
Robert Osfield
f4c26f9cc8
Changed VolumeTile::setImage(Image*) to setImage(uint i, Image*) to allow multiple images to be attached to single tile
2008-12-21 20:42:29 +00:00
Robert Osfield
adb7a49c10
Renamed osgVolume::Brick to osgVolume::VolumeTile
2008-12-20 20:55:21 +00:00
Robert Osfield
2cc53e2256
Moved main setSceneData methods in osgViewer::View::setSceneData()
2008-12-19 17:50:58 +00:00
Robert Osfield
502eced994
From Jean-Sebastein Guay, I recently had to reimplement screen capture functionality into our framework (which was broken since the switch from OSG 1.2 to 2.2 over a year and a half ago). I used the ScreenCaptureHandler which I had contributed right before OSG 2.6 shipped, bit I had to trigger the screen capture programatically instead of by a key press in some cases, so I added a convenience method to do that.
...
It's a minimal change, it just calls an already existing protected method. It was trivial to subclass the handler to do it in our code, but pushing the change into OSG makes sense as it's generally useful to have it in the handler itself.
I also noticed that the handle() method was overridden from osgGA::GUIEventHandler but wasn't marked virtual. It wasn't intended that subclasses not be able to override it in turn, so I've added the keyword.""
2008-12-19 17:15:10 +00:00
Robert Osfield
0ea6cdeb96
Added ClipNode::set/getReferenceFrame();
2008-12-19 15:29:59 +00:00
Robert Osfield
8951acabb7
Fixed warning & error
2008-12-19 12:58:50 +00:00
Robert Osfield
c862344929
Fixed warning
2008-12-19 12:46:21 +00:00
Robert Osfield
4c6511fd50
Updated wrappers
2008-12-19 10:20:23 +00:00
Robert Osfield
4ad20a413a
Fixed warnings
2008-12-18 11:06:57 +00:00
Robert Osfield
2225339208
Fixed warnings
2008-12-17 16:13:23 +00:00
Robert Osfield
c85437e967
Fixed warnings
2008-12-17 15:32:35 +00:00
Robert Osfield
26c57f125d
Warning fixes
2008-12-17 13:14:17 +00:00
Robert Osfield
8a6e04b84d
Introduce NodeVisitor::className and libraryName()
2008-12-17 12:13:15 +00:00
Robert Osfield
a5c32da4ff
Warning fixes
2008-12-17 11:00:16 +00:00
Robert Osfield
d01fc6ab1b
From Jean-Sebastien Guay, added missing export
2008-12-17 10:01:52 +00:00
Robert Osfield
e7d8a2cfe6
Updated wrappers
2008-12-16 21:16:06 +00:00
Robert Osfield
60fc821764
From Cedric Pinson and Jeremey Moles, Changes to OpenSceneGraph-osgWidget-dev branch.
...
Notes from Robert Osfield, Merged changes to OpenSceneGraph-osgWidget-dev r9367 (prior to my botched attempt at merged svn/trunk into the branch).
2008-12-16 20:29:00 +00:00
Robert Osfield
bd4b6e9b8c
Updated version numbers for 2.8.8 dev release
2008-12-16 16:36:33 +00:00
Robert Osfield
4511281f04
From Sukender and Robert Osfield, introduced GraphicsContext::ScreenSettings & WindowingSystemInterface::enumerateScreenSettings.
2008-12-16 15:08:04 +00:00
Robert Osfield
3ce53b56c7
Added support for a Terrain::s/getTerrainTechniquePrototype()
2008-12-15 22:18:40 +00:00
Robert Osfield
528fdbb75c
Aded osg::isGLExtensionOrVersionSupported(uint contextID, char* extensionName, float minVersionRequired) method that
...
returns true if (the extension string is supported or GL version is greater than or equal to a specified version) and
non extension disable is used. This makes it possible to disable extensions that are now
available as parts of the core OpenGL spec.
Updated Texture.cpp is use this method.
2008-12-15 19:37:14 +00:00
Robert Osfield
993ec64657
Added deprecated messages to get/set methods of outgoing expiry schemes.
2008-12-15 16:10:26 +00:00
Robert Osfield
7d719d998e
Removed buildMipmaps method that had no implementation.
2008-12-15 12:16:31 +00:00
Robert Osfield
315aeeb557
Where possible moved redundent C header includes from headers to source files
2008-12-12 18:47:30 +00:00
Robert Osfield
946175385f
From Ulrich Hertlein, Typo fixes + "optional parameter to RecordCameraPathHandler to control the frame rate for record/playback. Default is 25.0, the environment variable takes preference if set."
2008-12-12 13:41:39 +00:00
Robert Osfield
b038baf676
Updated version number for 2.7.7 release
2008-12-12 10:19:19 +00:00
Robert Osfield
c3611c5875
Added mechanism for registering proxy objects in the .osg plugin in a way that is compatible with static linking.
2008-12-10 16:26:02 +00:00
Robert Osfield
5363736caa
Refactored computeIntersections() float x,float y, const osg::NodePath& nodePath.
2008-12-10 11:12:37 +00:00
Robert Osfield
905f3673d5
From Sukender, added missing inline keywords
2008-12-09 16:43:38 +00:00
Robert Osfield
c8190d9c54
Cleaned up osgWidget::VncClient and osgWidget::Browser so that their implementations are all more consitent with the osgWidget::PdfReader.
2008-12-09 11:05:04 +00:00
Robert Osfield
d8c17e4c4c
Added support for setting background colour of Pdf document.
2008-12-09 09:26:51 +00:00
Robert Osfield
c0ac01c576
Added setImageToColour function
2008-12-09 09:25:12 +00:00
Robert Osfield
6b3704ce09
Added asSwitch and asGeode convinience methods to Node
2008-12-09 09:24:47 +00:00
Robert Osfield
45160a2129
Added ability to customize keyboard events for controlling osgWidget::PdfImage/PdfReader
2008-12-07 17:37:26 +00:00
Robert Osfield
6f356aeb97
Intoduce new osgWidget::PdfReader and osgWidget::VncClient front ends to osgWidget,
...
with new pdf plugin and updated vnc plugin that now support these front ends.
Updated osgpdf and osgvnc examples to new these new interfaces.
2008-12-07 17:02:30 +00:00
Robert Osfield
bad3a92fc3
Added GL_ABGR_EXT to fix windows build
2008-12-05 16:41:12 +00:00
Robert Osfield
fe439b3707
From Sukender, (Benoit Neil) "adding a few convinience methods to osg::Node (ouch!). Just tell me if you find them useful:
...
/** Convinience method that sets the update callback of the node if it doesn't exist, or nest it into the existing one. */
void addUpdateCallback(NodeCallback* nc);
/** Convinience method that removes a given callback from a node, even if that callback is nested. There is no error return in case the given callback is not found. */
void removeUpdateCallback(NodeCallback* nc);
... and the same for Event and Cull callbacks methods."
2008-12-03 14:13:59 +00:00
Robert Osfield
1ff5d3c53d
Fixed wrappers
2008-12-01 15:46:50 +00:00
Robert Osfield
f2c1a3ea8a
From Art Tevs, "here is a submission of an additional class of PixelBufferObejct, which implements more general way of handling with PBOs. Current osg implementation of PBO does use an attached osg::Image to copy data from. This is somehow only one way of using it and doesn't provide full functionality of PBOs.
...
--------------------------------------------
Descripton:
The patch does provide a new class PixelDataBufferObject which is capable of allocating memory on the GPU side (PBO memory) of arbitrary size. The memory can then further be used to be enabled into read mode (GL_PIXEL_UNPACK_BUFFER_ARB) or in write mode (GL_PIXEL_PACK_BUFFER_ARB). Enabling the buffer into write mode will force the driver to write data from bounded textures into that buffer (i.e. glGetTexImage). Using buffer in read mode give you the possibility to read data from the buffer into a texture with e.g. glTexSubImage or other instuctions. Hence no data is copied over the CPU (host memory), all the operations are done in the GPU memory.
--------------------------------------------
Compatibility:
The new class require the unbindBuffer method from the base class BufferObject to be virtual, which shouldn't break any functionality of already existing classes. Except of this the new class is fully orthogonal to existing one, hence can be safely added into already existing osg system.
--------------------------------------------
Testing:
The new class was tested in the current svn version of osgPPU. I am using the new class to copy data from textures into the PBO and hence provide them to CUDA kernels. Also reading the results back from CUDA is implemented using the provided patch. The given patch gives a possibility of easy interoperability between CUDA and osg (osgPPU ;) )
--------------------------------------------
I think in general it is a better way to derive the PixelBufferObject class from PixelDataBufferObject, since the second one is a generalization of the first one. However this could break the current functionality, hence I haven't implemented it in such a way. However I would push that on a stack of wished osg 3.x features, since this will reflect the OpenGL PBO functionality through the classes better.
"
2008-12-01 13:28:13 +00:00
Robert Osfield
47f518d1c7
From Art Tevs, "here are a small extension to the osg::Image class, which do computes data type from the given format, i.e. (GL_RGB32F_ARB -> GL_FLOAT). The method is very usefull to find out which data type a texture or an image have based on the internal/pixel format."
2008-11-30 15:56:47 +00:00
Robert Osfield
a14b6b9e24
Fixed build for when ref_ptr<> impicit cast is not built
2008-11-29 11:10:56 +00:00
Robert Osfield
b021f0c518
Removed cmath include as it was causing build problems under Cgwin
2008-11-28 17:18:08 +00:00
Robert Osfield
9748fdd605
From Jeremy Moles, updates to osgWidget
...
Merged my Robert Osfield from OpenSceneGraph-osgWidget-dev.
2008-11-28 14:35:33 +00:00
Robert Osfield
d3b2d9b074
From Cedric Pinson, updates toosgAnimation.
...
Merged by Robert Osfield, from OpenSceneGraph-osgWidget-dev.
2008-11-28 14:34:38 +00:00
Robert Osfield
e9a18a7466
Updated SO version number for 2.5.6 release
2008-11-27 17:30:14 +00:00
Robert Osfield
d952172559
From Tim Moore, "Double precision versions of BoundingBox and BoundingSphere are useful for doing computations in world coordinates, especially when working with a geocentric scene. By default, these classes are built using floats, so templated versions fill a need. I've used the double precision templates to fix some problems with ViewDependentShadow, which will follow shortly.
...
"
2008-11-26 16:39:52 +00:00
Robert Osfield
b2762c4788
Added DatabasePager::getRequestsInProgress() that return true if there are still tiles to load.
...
Added DatabasePager::setTargetMaximumNumberOfPageLOD(..) that sets the target number of PagedLOD to try and maintain
2008-11-26 11:12:19 +00:00
Robert Osfield
e3d1c4ba04
From Piotr Rak, "added bool conversion for ref_ptr, when no implicit conversion to T* is used."
2008-11-25 16:24:50 +00:00
Robert Osfield
1228897b72
Fixed build for when OSG_USE_REF_PTR_IMPLICIT_OUTPUT_CONVERSION is off
2008-11-25 15:38:11 +00:00
Robert Osfield
017b4315bc
From Joakim Simmonsson, fix for handling of billboards in FLATTEN_STATIC_TRANSFORMS_DUPLICATING_SHARED_SUBGRAPHS
2008-11-25 14:31:19 +00:00
Robert Osfield
0d8ae3bd66
From Ferdi Smit, added support for unsigned int typed uniforms
2008-11-25 14:15:35 +00:00
Robert Osfield
d08d778608
From Jaromir Vitek, "In attachment are another fixes for using packed depth+stencil (PDS).
...
* When used PDS RenderStage::runCameraSetUp sets flag that FBO has already stencil,depth buffer attached. Prevents adding next depth buffer.
* Sets correct traits for p-buffer if used PDS and something goes wrong with FBO setup or p-buffer is used directly.
* Adds warning to camera if user add depth/stencil already attached through PDS.
* Sets blitMask when use blit to resolve buffer.
There is also new example with using multisampled FBO."
2008-11-25 10:57:14 +00:00
Robert Osfield
410b90334a
From Wojciech Lewandowski, "I have restored MSVC disabled warnings in osg/Export. Difference is they are now disabled only when OSG_DISABLE_MSVC_WARNINGS macro is defined. This macro is set through CMake options and autogenerated in osg/Config. Simon suggested that it would be cool if we had more control over selected warnings. I tried to learn how to make selection of individual warning numbers possible, but had to gave up as my cmake skills were not sufficient. The only way I saw this possible would be adding one define for each MSVC warning number. But many definitions seemed too be to much clutter for osg/Config file so I rejected thar idea. For this it would be cool if autogenerated Config entries could more powerful than simple #define/#undef flags. Maybe Cmake gurus know how to do it.
...
I have not reverted added Compiler options. I assume that one may want to have warnings enabled for the application but may not want to see them while OSG libraries and examples compile.
Modified files:
osg/Export - now explicitly includes osg/Config to make sure OSG_DISABLE_MSVC_WARNINGS is read
osg/Config.in - declares OSG_DISABLE_MSVC_WARNINGS flag to be added to autogenerated osg/Config
CMakeLists.txt - declares OSG_DISABLE_MSVC_WARNINGS as option with default ON setting
"
2008-11-24 16:32:52 +00:00
Robert Osfield
8527492638
From Alberto Luaces, removed #include <cmath> as it was cause a build problem under Cygwin.
2008-11-24 16:09:43 +00:00
Robert Osfield
5b15436935
Added mechanism for tracking when interactive images are being rendered to
...
enable their backends to only rendered them when they are actively being rendered
in the OpenGL window.
2008-11-23 15:51:43 +00:00
Robert Osfield
8264b31fa1
Introduce osg::asciiToDouble/asciiToFloat function.
2008-11-23 11:35:43 +00:00
Robert Osfield
d0994c4ad3
From Paul Martz, added missing export
2008-11-23 09:57:41 +00:00
Robert Osfield
56a2cc65d0
From Cedric Pinson, Pulled in osgAnimation from OpenSceneGraph-osgWidget-dev into svn/trunk.
2008-11-22 12:14:19 +00:00
Robert Osfield
59df690e3e
Added exports
2008-11-21 16:09:28 +00:00
Robert Osfield
344908faad
Made the ParticleSystemUpdate::addParticleSystem, removeParticleSystem, replaceParticleSystem and setParticleSystem methods all virtual to allow them to be overriden.
2008-11-21 12:30:12 +00:00
Robert Osfield
05cd6878a5
From Jason Beverage, "The _pluginData member variable is not properly copied when using the copy constructor for ReaderWriter::Options."
2008-11-21 12:10:27 +00:00
Robert Osfield
341abcb315
From Serge Lages, "Here you can find some modifications to osgManipulator to work with double values instead of floats. Indeed I faced problems with the osgManipulator library when working with Earth based scenes, it was impossible to drag objects in a precise way if they were too far from the center of the scene."
2008-11-21 11:23:21 +00:00
Robert Osfield
672a5d14fe
Replaced tabs
2008-11-21 11:09:11 +00:00
Robert Osfield
98df67c918
Added DisplaySettings::s/getApplication() to help with gecko plugin initialization when it requires the application name
2008-11-20 12:03:21 +00:00
Robert Osfield
beae8ab67f
Clean up osgbrowser after moving browser implementation into gecko plugin
2008-11-20 11:28:20 +00:00
Robert Osfield
eaba09027e
Reverted Kyle Centers mistaken patch that removed a _currentContext->valid() that was actually required.
2008-11-19 20:34:53 +00:00
Robert Osfield
5288263528
Moved Browser.h and Browser.cpp from osgbrowser into osgWidget.
2008-11-19 17:16:29 +00:00
Robert Osfield
cac16cb590
Added optional bool keep to BarrierOperation to make it more resuable
2008-11-18 15:18:34 +00:00