Commit Graph

1557 Commits

Author SHA1 Message Date
Robert Osfield
bff1b51361 Added preliminary work on osg::TransferFunction 2007-03-10 11:53:31 +00:00
Robert Osfield
6c1b2d29d9 Commenting out Matrix_implementation.cpp entry to avoid it being installed. 2007-03-09 14:54:01 +00:00
Robert Osfield
db6f07f1d6 Ran dos2unx of CMakeLists.txt files 2007-03-08 15:31:36 +00:00
Robert Osfield
5423add9e2 Added support for 4,7,12,16 bit luminance and intensity formats 2007-03-06 11:20:39 +00:00
Robert Osfield
ac1106372b Added missing files 2007-03-05 12:09:42 +00:00
Robert Osfield
f50ed9667a From Eric Wing and others, first cut of CMake build support 2007-03-04 13:05:33 +00:00
Robert Osfield
b55f5c2bd8 Fixed auto rotate to screen so that it handles scales in to the parental path 2007-02-26 14:36:43 +00:00
Robert Osfield
f43cd7332c Further work on add serialization support for osgViewer configurations 2007-02-25 20:05:23 +00:00
Robert Osfield
ad3cac84e9 Moved Block, ReentrantMutex and ReadWriteMutex into OpenThreads. 2007-02-23 16:31:34 +00:00
Robert Osfield
96f567eff3 Added bool View::Slave::_useMastersSceneData to help manage HUD's and RTT
cameras that are embedded in the Viewer's View
2007-02-23 11:53:45 +00:00
Robert Osfield
ee9440d155 Added Camera::s/getAllowsEventFocus() method to allow osgViewer to have non interfactive cameras such as RTT ones 2007-02-21 19:06:43 +00:00
Robert Osfield
37e3114534 Wojciech Lewandowski: "TexGenNode::TexGenNode( TexGen * texGen ) constructor does not initialize ReferenceFrame. I am not sure maybe this was the intent but first constructor does it so I don't see a reson why third one shouldn't." 2007-02-21 15:15:55 +00:00
Robert Osfield
228fd04a19 Removed the exclusion of CullSettings from the genwrapper.conf, and then changed the CullStack RefMatrix& methods to RefMatrix*
as the RefMatrix& versions caused the wrappers to fail.
2007-02-21 13:48:01 +00:00
Robert Osfield
ffda14c669 Fixed inheritance check for copying clear colour to slave cameras 2007-02-20 20:56:03 +00:00
Robert Osfield
d8e6436dc1 From Andre Garneau:
* Fix for the aspect ratio not being properly set when screens have
different aspect ratios.
* Minor fix for makeCurrentImplementation being called directly instead of
makeCurrent() causing the owning thread pointer not being tracked
* Fix for osglauncher so that it sets its update text regions to DYNAMIC to
prevent multi-threading issues.
2007-02-18 14:21:16 +00:00
Robert Osfield
a3594bc653 Added new osg::ComputeBoundsVisitor 2007-02-16 17:34:34 +00:00
Robert Osfield
810e7291fc Added use of Mutex into osg::Stats to better handle multi-threaded usage 2007-02-14 16:24:49 +00:00
Robert Osfield
07411f3246 Introduced new osg::Object::DataVariance type of UNSPECIFIED, and changed the deafult
values of DataVariance to UNSPECIFIED to all types.
2007-02-14 13:18:58 +00:00
Robert Osfield
89c99a88fa Added computeDataVariance method into osg::Object and implementations in Drawable and StateSet,
and calling of osgUtil::StaticObjectDetectionVisitor in osgViewer::Viewer
2007-02-14 11:24:42 +00:00
Robert Osfield
fe177e42d5 Added osgViewer::HelpHandler 2007-02-12 13:39:18 +00:00
Robert Osfield
f1a82f35b2 From Vivek Rajan, MatrixDecomposition implementaion, adapted by Robert Osfield
to be part of osg::Matrixf and osg::Matrixd classes.
2007-02-10 18:01:37 +00:00
Robert Osfield
c52207b637 Added new Transform::ReferenceType enum ABSOLUTE_RF_INHERIT_VIEWPOINT to support
internal RTT cameras that wish to use the main cameras view/eye point for LOD and other
distance based tests.
2007-02-07 16:32:14 +00:00
Robert Osfield
945faf0133 Fixed bug in AutoTransform::accept() that was related to the accept() method
checking the nodemask as it should.
2007-02-07 14:53:58 +00:00
Robert Osfield
cfe737c552 Tweak API and updated wrappers to get wrappers to build 2007-02-05 14:56:41 +00:00
Robert Osfield
ebd68ba063 Added Camera's s/getCameraThread() and updated wrappers 2007-02-05 13:44:16 +00:00
Robert Osfield
69da91620f Convert GraphicsThread/GraphicsOperation to more generic OperationsThread/Operation.
This paves the way to running cull traversals in seperate threads.

Updated wrappers
2007-02-02 22:30:36 +00:00
Robert Osfield
6d9641a78b Added a concrete osg::DeleteHandler implementation which provides support for
retain objects for several frames before deleting them.  Also added RenderStageCache
into CullVistor.cpp that is used for handling RTT osg::Camera's that are being
used in double buffered SceneView usage.
2007-02-02 12:41:13 +00:00
Robert Osfield
f8213d1c53 Updated wrappers 2007-01-30 14:47:13 +00:00
Robert Osfield
b8d98a2cfe Added support for compute average stats attributes in inverse space to improve
the quality of frame rate reporting.
2007-01-30 13:48:04 +00:00
Robert Osfield
ecedc8d86a Added Stats::collectStats(string,bool) controls, getAveragedAttribute methods into osg::Stats class, and
related support into osgViewer::Viewer and osgViewer::StatsHandler.

Added lazy updating of text in StatsHandler HUD to minimize the impact of
slow text updating on observed frame rates.
2007-01-30 11:40:23 +00:00
Robert Osfield
fd0ea388c2 Began work on providing support for threading camera cull traversals in parallel with
the previous frames draw traversal.  Changes range from osg::State, through osgUtil::RenderBin, through to osgViewer
2007-01-29 22:44:29 +00:00
Robert Osfield
7232a831da Added osg::FrameStamp::set/getSimulationTime().
Added setting of osg_SimulationTime and osg_DeltaSimulationTime to the uniforms set by SceneView

Added frame(double simulationTime) and advance(double simulationTime) parameters to
osgViewer::SimpleViewer, Vewer and CompositeViewer.

Updated various examples and Nodes to use SimulationTime where appropriate.
2007-01-25 12:02:51 +00:00
Robert Osfield
13dd5acb63 From Gordon Tomlinson, fixes to BoundingSphere::expandBy(BoundingSphere&) 2007-01-25 10:02:20 +00:00
Robert Osfield
d6ecce6f5f Improvements to stats 2007-01-22 11:22:37 +00:00
Robert Osfield
b47ef11d74 Initial on screen stats support 2007-01-21 18:24:54 +00:00
Robert Osfield
f0e2404541 Added new osg::Stats class for collecting frame stats of different sorts.
Added s/getStats() to osg::View and osg::Camera.
Added population of View::getStats() with frame stats in osgViewer/Viewer.
Added Basic StatsHandler to osgviewer example.
2007-01-19 19:53:23 +00:00
Robert Osfield
a90206bcbb Added EXT_timer_query support 2007-01-19 14:41:29 +00:00
Robert Osfield
ccc8a922a6 Added osg::StencilTwoSided state attribute to wrap up the stencil_two_sided extension.
Added path in osgShadow work for using StencilTwoSided to accelerate shadow volume rendering.
2007-01-18 22:32:18 +00:00
Robert Osfield
d63b351137 From André Garneau, threading bug fixes - moving scoped statics out of scope to be global statics 2007-01-17 14:40:03 +00:00
Robert Osfield
09cef410ec Added releaseContext to end of GraphicsThread::run() 2007-01-14 20:23:47 +00:00
Robert Osfield
5c78d06dad Added a default StateSet to osg::View's master Camera. Wired up osgViewer::Viewer so
that the master Camera's StateSet is passed to osgUtil::SceneView to use as its global StateSet.
2007-01-12 12:10:06 +00:00
Robert Osfield
5ee30edbea Added support for setThreadSafeRefUnref into TexGenNode 2007-01-11 10:35:03 +00:00
Robert Osfield
16d1c00a3d Changed the return types of makeCurrent to bool, and added a bool GraphicsContext::releaseContext method
along with implementations in osgViewer.
2007-01-08 19:29:59 +00:00
Robert Osfield
4a5eda6522 Added GraphicsContext::ResizedCallback and GraphicsContext::resizedImplementation.
Added message on non implementation of GraphicsContext::valid().
Added prelimary GraphicsContext clean up support.
2007-01-08 16:20:10 +00:00
Robert Osfield
773fbd1b16 Added setThreadSafeRefUnref to LightSource 2007-01-07 10:00:50 +00:00
Robert Osfield
9fcace0e73 Added GraphicsContext support for clearing the graphis context. The clearing
is off by default (ClearMask is 0), but can be switched on when ClearMask is
non zero.  GraphicsContext::clear() is called after each swap buffers
2007-01-05 15:24:06 +00:00
Robert Osfield
73fffe1800 Made Refernced::setThreadSafeReferenceCounting(bool) a virtual then overrode
this in various scene graph classes to ensure that the scene graph gets
updated as well as the objects that the initialial call is made from.
2007-01-04 16:49:58 +00:00
Robert Osfield
ff195bddf5 Added Object::resizeGLObjectBuffers(uint) method to help improve the ability
to change the number of active graphics contexts on the fly during an applications
life.
2007-01-04 14:11:51 +00:00
Robert Osfield
1de65ddedc Added setting of default backgroud colour of View's master colour to be
consistent with the previous default colour used by SceneView
2007-01-03 17:26:24 +00:00
Robert Osfield
3eaa9ff05b Changed the View's master camera projection matrix setting so that it is
consistent with osgProducer::Viewer default setting.
2007-01-03 16:32:44 +00:00
Robert Osfield
4f87afdbf5 Improved the robustness of thread start and cancellation 2007-01-03 16:06:12 +00:00
Robert Osfield
740363133f Fixed the COPY_OP( Array, DEEP_COPY_ARRAYS); entry. 2007-01-02 20:26:49 +00:00
Robert Osfield
7155f7d1b0 Various work on osgViewer library, including warp point and graphics window resize support 2007-01-01 18:20:10 +00:00
Robert Osfield
93dbfa04b7 Aded new convinience methods to osg::Timer - s/getStartTick and time_s(), time_m() etc
to help get time reletive the new start tick.
2006-12-26 17:37:06 +00:00
Robert Osfield
39c0c2df76 Unified the osg::GraphicsThread::Operation and osg::GraphicsContext::Operation classes
as osg::GraphicsOperation.  Unpdated parts of OSG depending upon these.

Added a virtaul bool valid() method to osg::GraphicsContext to allow apps to
test whether a valid graphis context has been created or not.
2006-12-24 16:40:19 +00:00
Robert Osfield
76461b3ab2 Added support for sample and sampleBuffers to osg::GraphicsContext::Traits and
cleaned up the Traits naming
2006-12-22 21:53:44 +00:00
Robert Osfield
bd6b7d581e Implemented perliminary multi-threading support in osgViewer::Viewer 2006-12-22 17:46:21 +00:00
Robert Osfield
4fc9af7ea0 Moved rendering support into GraphisContext, osgViewer::Viewer/View, and
added frame stamp updating and update traversal to osgViewer::Scene/Viewer.

Updated osgcamera example to use new Viewer API calls instead of using local
rendering calls.
2006-12-21 16:56:20 +00:00
Robert Osfield
c9c2950759 Moved UnitTestFramework from core osg lib into osgunittests example 2006-12-19 17:06:59 +00:00
Robert Osfield
dcebe4daa0 Added initial GraphicsWindowX11 implementation, and fleshed out more of the
osgViewer and osg::GraphicsContext/osg::View infrastructure.
2006-12-19 16:00:51 +00:00
Robert Osfield
afc77f9b39 Added support WindowingSystemInterface for querring the number of screens, the screen size and creating GraphicsContexts. 2006-12-17 20:49:01 +00:00
Robert Osfield
982a4db9e2 Added ViewPoint support into NodeVistor/CullStack/CullVisitor/LOD/PagedLOD etc to facilate
management of LOD settings for RTT cameras.
2006-12-15 17:27:18 +00:00
Robert Osfield
693302574d From Rein Kadijk, "While displaying a certain scene, OsgEdit crashed in ProxyNode::traverse() in file OSG_OP_OT-1.2\OpenSceneGraph\src\osg\proxynode.cpp.
It turned out that nv.getDatabaseRequestHandler() returned NULL; using this pointer to call one of DatabaseRequestHandler's methods is of course illegal.
I patched it by adding: if (nv.getDatabaseRequestHandler())"

From Robert Osfield, reordered the addition of the nv.getDatabaseRequestHandler() check to allow the
default traverse() to be called when no database handling is attached to the visitor.
2006-12-05 16:45:27 +00:00
Robert Osfield
a9d18d01db Basic shadow volume alogirthm implemented in example. 2006-11-30 16:30:24 +00:00
Robert Osfield
345810ef22 Added support for float or double osg::Plane, and the default osg::Plane to double.
Performance tests on big models did not indicate any performance penalty in using doubles over floats,
so the move to doubles should mainly impact precision improvements for whole earth databases.

Also made improvements to osgUtil::PlaneIntersector and osgSim::ElevationSlice classes
2006-11-28 16:00:52 +00:00
Robert Osfield
fd2ffeb310 Renamed osg::CameraNode to osg::Camera, cleaned up osg::View.
Added beginnings of new osgViewer::Scene,View,Viewer,CompositeViewer and GraphicsWindowProxy files.
2006-11-27 14:52:07 +00:00
Robert Osfield
d0df2df7ad Replaced the setTextureUnit(0) call in State::reset() with code that just
sets the member variables without requiring a graphics context.
2006-11-21 16:59:04 +00:00
Robert Osfield
2151573ccd From Michael Platings, Fixed Geometry cloning of the texture
coordinates and vertex attributes.
2006-11-16 16:25:29 +00:00
Robert Osfield
d0cc014f1b Further migration to using RenderInfo 2006-11-14 12:51:31 +00:00
Robert Osfield
7cb1bcbd7d From Farshid Lashkari, "This patch adds a CoordOriginMode to the osg::PointSprite attribute.
The mode needs to be changed to LOWER_LEFT when rendering point
sprites to pbuffers or FBOs, otherwise the points will be transformed
on the CPU."
2006-11-14 12:29:54 +00:00
Robert Osfield
c3f3093ecc From John Kelso, add support for default frame time for children of a Sequence node 2006-11-10 15:25:04 +00:00
Robert Osfield
c5c4c5da1d From Edgar Ellis, "
method may not take the node into consideration when computing its bound.

In this case of:
switch->insertChild(0, child, false);
switch->insertChild(1, child, true);

child will not be used in computeBound, but will be drawn.

Solution:
Changed compute bound to loop over children using an index instead of an
iterator. This behaviour matches that of the traverse method."

-----------------------------------------------
2006-10-30 12:14:00 +00:00
Robert Osfield
f257285efc From Chuck Seberion, added support reading ARB float format textures. 2006-10-14 21:50:29 +00:00
Robert Osfield
660cda57c8 From Terry Welsh, mplemented POINT_ROT_EYE. 2006-10-14 21:47:13 +00:00
Robert Osfield
97fc2dfa21 Fixed texture coordinates of cylinder ends. 2006-10-14 10:07:21 +00:00
Robert Osfield
842b96bbc9 From Colin McDonald, "I've included render bin checks in the StateSet::compare function, because
without them the Optimizer can incorrectly eliminate (otherwise identical)
StateSets from different render bins."
2006-10-02 15:59:43 +00:00
Robert Osfield
e0599f652e Added releaseGLObjects to NodeCallbacks, Drawable::DrawCallbacks and wired up
osgProducer to use it when doing cleanup_frame.
2006-10-02 15:38:31 +00:00
Robert Osfield
eb68735ff9 From Farshid Lashkari, "The ColorControl of osg::LightModel is never applied because it
incorrectly checks for a valid OpenGL version. Instead of checking if
the current version is exactly 1.2, it will check if the version is
greater than 1.2."
2006-10-02 13:40:58 +00:00
Robert Osfield
35d134f712 From Farshid Lashkari, added function for querring whether a mode is a texture related mode or not. 2006-09-21 10:01:27 +00:00
Robert Osfield
0dcf5271f1 Added missining initialization of _radius in constructors 2006-09-20 13:41:33 +00:00
Robert Osfield
cc202c1b6d Updates for fade text to work properly, but only in perspetive views at present. 2006-09-20 10:36:21 +00:00
Robert Osfield
def74d3471 Introduced new osg::View, and osg::RenderInfo classes into the core OSG to help
handle scenes with multiple views with elements that need coordinating on a per view basis.

Added beginings of new osgText::FadeText class (not functionality yet).
2006-09-18 20:54:48 +00:00
Robert Osfield
c7906d5412 Added a check for zero length line segment in bool LineSegment::intersect(const BoundingSphere& bs,float& r1,float& r2) const. 2006-09-12 12:35:20 +00:00
Robert Osfield
5915584b37 Revised the osg::ClampColor API to allow vertex, fragment and read color clamping to
be applied together.
2006-09-12 09:26:42 +00:00
Robert Osfield
daa54a3b09 From Farshid Lashkari,
"I've made some changes to osg which I think make it easier to control
the render order of CameraNode's. Instead of using the built-in orders
(PRE_RENDER, POST_RENDER, NESTED_RENDER), you can specify an integer
order. Values less than zero are pre rendered in order. Values greater
than zero are post rendered in order. And a value of 0 is equivalent
to NESTED_RENDER.

The changes should be fully backward compatible. Also, I changed the
RenderStageList type from a vector to a list because I needed to be
able to insert values anywhere in the list.

The reason I made these changes was because I wanted to be able to set
the render order of a CameraNode at runtime without having to reorder
it in the scenegraph."

and later in the final submission message (relating to what has been finally been merged)    :

"I've rethought my implementation and came up with something a little
better. The setRenderOrder will continue to take an enum, but will
have an optional orderNum parameter which can be both positive and
negative. I think this method is more intuitive and flexible."
2006-09-04 13:15:08 +00:00
Robert Osfield
f0277df858 Added osg::TexMat::s/getScaleByTextureRectangleSize feature that allows
one to use the osg::TexMat to automatically scale non dimensional tex coordinats to
the size of the last texture rectangle applied.
2006-09-04 12:46:49 +00:00
Robert Osfield
87a221445e Updated version numbers of the up comming 1.2 release 2006-08-31 20:54:28 +00:00
Robert Osfield
113c1dfc3e From Eric Wing, "Attached is a change for GLExtensions.cpp that allows OS X to use
dlopen/dlsym instead of NS*Symbol* functions for 10.3 or later. The
latter is now deprecated.

I'm not completely sure how to test the changes. But I compiled these
new changes in and ran the osgvertexprogram and osgshaders examples
and they seemed to display the same results as before.

With respect to the use of dlopen and dlsym, I was uncertain if the
usage should look like Sun or FreeBSD (or something else). Apple's man
pages discourage the use of RTLD_DEFAULT so I avoided the FreeBSD
implementation and copied the Sun implementation. I'm not sure if this
is correct/ideal or not."
2006-08-31 20:48:49 +00:00
Robert Osfield
179f6100a0 Added missing setDataType and setPacking functions 2006-08-25 15:49:29 +00:00
Robert Osfield
0900857333 From Farshid Lashkari,
"I was experiencing hard crashes of my application when using PBO's on
machines that don't support PBO's. I think osg incorrectly checks if
PBO's are supported.

I added a new method to the BufferObject::Extensions class which
returns if the "GL_ARB_pixel_buffer_object" string is supported. This
fixes the problem on my end. Machines without PBO support will
continue to work and machines with PBO support will still be able to
use it."
2006-08-25 08:48:16 +00:00
Robert Osfield
1413eea52c Add error message report to catch attempts to flip mipmap images. 2006-08-24 16:33:23 +00:00
Robert Osfield
be60b32add Fixed texture optimization problem associated with mixing already compiled scene graphs - resulting
in incorrect texture assignment.  Solution was to a compareTextureObjects() test to the Texture*::compare(..) method that
the osgUtil::Optimizer::StateSetVisitor uses to determine uniqueness.
2006-08-14 19:42:22 +00:00
Robert Osfield
a16568254c Moved reset to 0 of _createReuseMatrixIndex from CullVistor.cpp to CullStack.cpp so that
CullStack::reset works correctly for all subclasses - fixing a memory consumption issue with occluders
2006-08-12 18:19:43 +00:00
Robert Osfield
132f9ead45 Updated version number for 1.1.1 release 2006-08-12 08:29:16 +00:00
Robert Osfield
306743c903 Fixed bug in Group::setChild relating to the accounting for OccluderNode. 2006-08-11 12:53:57 +00:00
Robert Osfield
b832453c10 From Uwe Woessner, implementated by Robert Osfield, Fixed vertex attribute bug, changed _vertexAttribList[unit] -> _vertexAttribList[index] 2006-08-04 13:17:56 +00:00
Robert Osfield
7ef12b37b5 Changed:
static TextureGLModeSet s_textureGLModeSet;

To:

  static TextureGLModeSet& getTextureGLModeSet()
  {
      static TextureGLModeSet s_textureGLModeSet;
      return s_textureGLModeSet;
  }

to prevent static initialization problems under static builds.
2006-08-03 13:35:21 +00:00
Robert Osfield
0336231321 Moved extension function pointer initilization into a method, and the pointers from
being static to be local member variables.  This should avoid issues under Windows
with multiple graphics contexts have seperate entry points.
2006-08-02 16:14:17 +00:00
Robert Osfield
4d556c0ec4 Reworked the TextureObjectManager singleton so that it no longer reconstructed itself once deleted, and added checks to against a null manager to prevent calling code crashing. 2006-08-02 15:41:47 +00:00
Robert Osfield
564ee34f76 Added Matrix*::getRotate()/setRotate(Quat), deprecating Matrix*::get(Quat&), Matrix*::set(Quat&) 2006-07-31 17:31:21 +00:00
Robert Osfield
f977d7c606 Updated osgunittests with a matrix invert unit test, and added a conditional
calling of invert_4x4 or invert_4x3 depending on the the right hand column of the matrix.

Updated wrappers
2006-07-28 13:48:08 +00:00
Robert Osfield
a5ea4e0b33 From David Spilling, "Matrix_implementation.cpp modified as requested. I ran a version of it through a local version of osgunittests.cpp and it passes.
Note that firstly it always returns the positive real quaternion (positive w)

Note also that it will sometimes slightly differ from the results of the other methods because it assumes that the input matrix really is a rotation matrix - if it isn't, e.g. because of rounding error, then the output quaternion will be very slightly different. For example, the test matrix

0 1 0 0
1 0 0 0
0 0 0.999999 0
0 0 0 1

will return 0.707107 0.707107 0.0005033 0.0005033

whereas the previous methods return 0.707107 0.707107 0.0 0.0

However, since quaternions are rotations, the meaning of how to convert a matrix that isn't a rotation is a little unclear..."
2006-07-27 15:23:50 +00:00
Robert Osfield
3e8af92da1 From David Spilling, fix to Matrix::get(Quat&) 2006-07-27 11:14:28 +00:00
Robert Osfield
d9b6d87d5a Cleaned up per context buffers support 2006-07-26 15:29:26 +00:00
Robert Osfield
f1c2694c17 Updated copyright years. 2006-07-18 15:21:48 +00:00
Robert Osfield
419e185895 From Eric Wing, add alternate backdrop implementations.
From Robert Osfield, updated naming  and copy constructor methods.
2006-07-18 12:24:04 +00:00
Robert Osfield
a74801a0ee Added Optimizer::FlattenBillboardsVisitor. 2006-07-18 11:03:46 +00:00
Robert Osfield
2ef59b73e9 Change Unit to Units to keep consistent with OpenGL naming. 2006-07-17 11:43:26 +00:00
Robert Osfield
e8235f6967 Changed the Radeon defaults to 1, 128 for the factor and unit mulitpliers respectively. 2006-07-17 10:24:31 +00:00
Robert Osfield
9f81ef8561 Implemented Radeon workaround for polygonoffset 2006-07-14 14:38:55 +00:00
Robert Osfield
4bae225d39 Added s/getFactorMultiplier(), s/getUnitMultiplier(), areUnitAndMultipliersSet() and
setFactorAndUnitMultipliersUsingBestGuessForDriver() static methods to
osg::PolygonOffset to help implement workarounds for lack of portablity of
settings between different hardware.
2006-07-14 14:08:33 +00:00
Robert Osfield
0b32213394 From Eric Sokolowsky,
"If a texture is used that is not a multiple of four, and compression
was requested through the texture's internal format, the texture's
internal format reverts to a non-compressed type and a NOTICE is given.
At present, compressed textures must have a multiple of four in each
dimension."
2006-07-06 14:14:19 +00:00
Robert Osfield
865ee4429c From Eric Sokolowsky,
"Attached is some fixes for Image::readImageFromCurrentTexture. It was
failing when used with a new Image object (some of the fields were
not set before they were used, and some were set to the wrong values).
A new optional parameter was added to give the desired data type, which
defaults to GL_UNSIGNED_BYTE, so programs should only need a recompile
to work properly."
2006-07-06 14:02:14 +00:00
Robert Osfield
88609a5eee Updated version numbers for 1.1 release 2006-07-06 10:28:12 +00:00
Robert Osfield
d7f1c34df8 From Eric Sokolowsky, "The attached Texture.cpp fixes a problem when subloading compressed
textures.  Near the top of the function that implements texture
subloading, osg::Texture::applyTexImage2D_subload(), the local variable
compressed_image examines the _image's_ pixel format to see if it is
compressed. However, further on, in calls to getCompressedSize() the
_texture's_ pixel format is used. In my application's Texture2D class,
I use osg::Texture::USE_ARB_COMPRESSION to
osg::Texture2D::setInternalFormatMode(), which causes the internal format
to become one of the generic ARB_COMPRESSED types, which do not have a
specific size. Thus the recent warning message added to
osg::Texture::getCompressedSize() is triggered. The correct behavior is
to use the format mode from the Image class instead of the Texture class
within the subload implementation, and then the size is calculated
correctly."
2006-07-05 21:52:36 +00:00
Robert Osfield
0f209a5362 From Eric Sokolowsky, "There is code in Image.cpp that calculates the size of a compressed image
based on the internal format. There is similar code in the Texture class
but it does not account for the ARB types. I modified the Texture class
implementation to show a warning when an incomplete internal format is
used to calculate the image size."
2006-07-05 13:44:07 +00:00
Robert Osfield
ce4b3a7b9e Changed parameter name from osberver_ptr to observer. 2006-07-04 19:58:53 +00:00
Robert Osfield
f181228d4a From Michael Platings, added support for glBlendFuncSeperate. 2006-06-30 13:50:02 +00:00
Robert Osfield
6a2387373c From Eric Sokolowsky, made a couple of methods static. 2006-06-30 13:47:12 +00:00
Robert Osfield
30265ac0b3 Added support for RenderBin's have a local top level StateSet. This is now
used by default in the depth sorted bin.
2006-06-29 15:57:24 +00:00
Robert Osfield
d084c34e04 Added a functional DeleteHandler. 2006-06-26 20:35:10 +00:00
Robert Osfield
4ab7be2833 Martin Spindler, new osg::ClampColor state attribute. 2006-06-08 15:27:18 +00:00
Robert Osfield
e1c77dfe2a Minor tweaks of ints to unsigned ints 2006-05-16 21:20:36 +00:00
Robert Osfield
690aeea7e4 From Mike Weiblen, futher work on Uniform array support. 2006-05-16 21:00:45 +00:00
Robert Osfield
bf065ed3a4 From Mike Weiblen, support GLSL uniform arrays. A couple of tweaks and fixes from Robert Osfield. 2006-05-15 15:46:08 +00:00
Robert Osfield
1dcb923c15 From Daniel Trastenjak, added checking of binding modes to ensure that changes are only applied
when the binding mode changes, thereby avoiding uncessary calls to dirtyDisplayList.

Note, from Robert Osfield, moved bodies of set*Binding() into Geometry.cpp to avoid
clutter in the header.
2006-05-15 11:48:05 +00:00
Robert Osfield
ff518eb9c6 Removed redundent variable declaration. 2006-05-09 09:13:07 +00:00
Robert Osfield
3132f1f2f7 Fixed expire of children to work with the new Group::removeChildren method. 2006-05-04 19:15:52 +00:00
Robert Osfield
a8c52a90f0 Added selective support for thread safe ref/unref such that the rendering
backend now doesn't use thread safe ref counting where multi-buffering exists.
This reduces the overhead of multi-threading.
2006-05-02 15:52:46 +00:00
Robert Osfield
43f0efd6d2 Reorganised the Group::removeChild and Geode::removeDrawable methods so
that removeChild(Node*), removeChild(uint) and equivilant Geode methods are
now inline methods, not designed to be overriden, and seperated out the
multiple remove method to be called removeChildren(uint, uint) which is
now the only virtual method.  There removeChildren is now the method to
override in subclasses.

This reorganisation requires some call code to be rename removeChild usage
to removeChildren.
2006-05-02 09:45:31 +00:00
Robert Osfield
6558a5589f Reset the default number of graphics context to 1. 2006-04-25 09:00:07 +00:00
Robert Osfield
e7a4ad287b From Mike Weiblen, changes to internal help class in prep for array uniform support.
Small tweaks for build under Linux from Robert Osfield.
2006-03-28 16:08:32 +00:00
Robert Osfield
2b61cf0a1e From Farshid Lashkari, "The following patch adds a multisample option to the
osg::DisplaySettings class. OsgCameraGroup will now read the setting
from the DisplaySettings instead of hardcoding the value. I added the
following commandline option to be able to set the multisample value:

--samples <num>

One thing to note, OsgCameraGroup would previously check if the
computer is an SGI and set multisample to 4. I retained this check in
DisplaySettings to be backwards compatible."
2006-03-13 21:29:17 +00:00
Robert Osfield
4fc4e60cc3 From Bob Kuehne, added osg::getGlVersion() and fixed a minor typo in Texture3D. 2006-03-08 16:11:54 +00:00
Robert Osfield
c64f527925 From Brede Johansen, added missing array handling into Geometry::accept(AttributeFunctor&
af) and Geometry::accept(ConstAttributeFunctor& af).
2006-02-28 19:46:02 +00:00
Robert Osfield
deb6632b04 Fixes to removed dependency on RefNodePath. 2006-02-28 18:54:29 +00:00
Robert Osfield
abed6b7951 Ported NodeTrackCallback and NodeTrackManipulator across to use oberserver_ptr
instead of RefNodePath.

Removed now redundent RefNodePath.
2006-02-27 19:49:47 +00:00
Robert Osfield
1dcf4fe81f Added support in osg::computeWorldToLocal and compteLocalToWorld functions for automatically
stripping any absolute or root CameraNode's from the NodePaths.

Added osg::Node::getWorldMatrices() convinience method.
2006-02-27 19:48:34 +00:00
Robert Osfield
8f2ffb7c2d Added new observer_ptr templated smart pointer to allow one to retain pointers
to objects but have the pointer reset to null if that object is deleted.
2006-02-27 19:44:33 +00:00
Robert Osfield
def7a78842 Fixed typo of Validity. 2006-02-22 19:14:01 +00:00
Robert Osfield
32b929a493 Added support for OpenGL mode black listing to provide better support
for extension checking and invalidation of OpenGL modes associated with
extensions.
2006-02-22 14:31:13 +00:00
Robert Osfield
25abad8307 From Paul Martz, "I've attempted to make AutoTransform override computeBounds() to return
an invalid bounding sphere if it hasn't seen a cull traversal yet. It
depends on _firstTimeToSetEyePoint, which is initially true, then false
after a cull. There might be a better way? If so, let me know.

This change does resolve the issue I had encountered with auto scale to
screen and incorrect culling."
2006-02-21 13:51:10 +00:00
Robert Osfield
7d5c81bf5e From Ulrich Hertlein, spelling corrections and a few Doxgen comments. 2006-02-20 21:05:23 +00:00
Robert Osfield
9473d80345 Moved the intialization variable reset to end of the init funciton to
avoid multi-thread initialization from producing different results.
2006-02-20 16:50:47 +00:00
Robert Osfield
59ad441be1 Added BlenColour(Vec4) constructor and updated wrappers. 2006-02-09 12:20:42 +00:00
Robert Osfield
39381c6fe7 From Edmond Gheury, fixe and bug in the PrimitiveShapeVisitor. 2006-02-04 21:25:33 +00:00
Robert Osfield
e89852e25f From Marco Jez, " I've modified in order to make FBO mipmapping work. In
FrameBufferObject.cpp there is also another fix: when initializing a FBO
attachment from a CameraNode attachment, the renderbuffer's format must be
set to the attachment's internal format, not to the image's pixel format.

Another problem is that attaching a renderbuffer to the FBO through
CameraNode is not simple (if not impossible) if you don't intend to specify
an Image object. Probably CameraNode could be enriched with an
"attach(buffer, width, height, format)" method. For example if you attach a
color buffer as a texture whose size is different than that of the
CameraNode's viewport you also need to attach a depth buffer of the same
size, because the depth buffer that is automatically attached by RenderStage
has the viewport's size. FBOs require that all attachment have the same
dimensions, so said setup will fail if you can't specify a custom depth
renderbuffer"
2006-02-04 21:20:25 +00:00
Robert Osfield
a0f43443a4 From Marco Jez, addition of glw extension checking under Windows, and tweaks to
BlendEquation and RenderStage to correct the extensions being tested.
2006-01-18 11:45:58 +00:00
Robert Osfield
93a2c3d011 Improved handling of clean up of osg::Program/osg::Shader on closing of a graphis context. 2006-01-16 17:05:17 +00:00
Robert Osfield
ab71114219 Moved the body of the FBOExtensions::instance() to the .cpp and added bool to
control whether that an FBOExtensions structure can be created if missing.
2006-01-03 10:44:14 +00:00
Robert Osfield
bcd082db3d From Farshid Lashkari, compile fix 2005-12-20 09:13:59 +00:00
Robert Osfield
4535cc0c09 Added back in Switch::removeChild(Node*) 2005-12-16 11:04:33 +00:00
Robert Osfield
6ff781b5b0 Removed Switch::removedChild(Node*) as the Group::removeChild(Node*) implementation
should be sufficient, as it calls the virtual removeChild(uint,uint).
2005-12-15 15:50:17 +00:00
Robert Osfield
a8d7234a0b From Eric Wing, added missing removeChildren method. 2005-12-09 11:22:09 +00:00
Robert Osfield
a4ea759ce5 From Simon Julier, fixed typo of unknown. 2005-12-08 14:08:09 +00:00
Robert Osfield
53ee0ce3ec Added CameraNode::releaseGLObejcts() to help in clean up, and changed the
ordering in SceneView::flushDeleteGLObjects() so that fbo's are deleted
before any texture objects they use are deleted.
2005-12-08 10:06:57 +00:00
Robert Osfield
27ad107378 Added new Node::getParentalNodePaths() method.
Added better handling in computeIntersections(..) of nodes that are internal
to the scene graph, correctly accounting for the accumulated transforms.

Changed the EventVisitor so that it only traveses active children rather than
all children.

Updated wrappers.
2005-12-07 15:29:29 +00:00
Robert Osfield
3f3c7b1df8 Added Camera::isRenderToTextureCamera() method, and improved support in PickVisitor
and IntersectVisitor for CameraNode, including the ignoring of render to texture cameras,
such that HUD's etc are still intersected against.
2005-12-07 11:36:56 +00:00
Robert Osfield
e311cf83d8 Added checks in the drawImplementation to catch when attribute bindings are set on
but the relevant arrays remain unset, this prevents previous crash when this
occured.
2005-12-06 11:24:24 +00:00
Robert Osfield
6971588592 Changed debug message to INFO. 2005-12-05 20:11:50 +00:00
Robert Osfield
b16f40e5ab Moved the body of the getNumPrimitives() into the .cpp. 2005-12-03 00:03:31 +00:00
Robert Osfield
2ce7718a66 From Eric Wing, fixes for "warning: converting of negative value '-0x00000000000000001' to 'unsigned int'" 2005-11-29 11:39:07 +00:00
Robert Osfield
06cb8c030f Added temporary ref_ptr<osg::Image> to prevent the _image going out of scope
due to another thread complete the texture::apply() while the present texture::apply()
is still running.
2005-11-28 20:08:36 +00:00
Robert Osfield
0663c3b653 From John Donovan, typo fixes. 2005-11-25 19:18:12 +00:00
Robert Osfield
daefa1cae6 Added releaseGLObjects to PrimitiveSet. 2005-11-25 12:31:04 +00:00
Robert Osfield
736a8433ca Added FBO deletion support, and better FBO querry and fallback mechansim in RenderStage. 2005-11-24 15:18:12 +00:00
Robert Osfield
b5a5cd7901 Changed the default value of Texture::_resizeNonPowerOfTwoHint to true, to
improve the backwards compatibility of peformance on systems that have OpenGL2.0
drivers but without hardware that can't handle non power of two textures.
2005-11-24 10:28:09 +00:00
Robert Osfield
4ca3a4fd45 Changed the linux implement of getGLExtensionFuncPtr to querry for glXGetProcAddressARB
and then use this if its available, otherwise fallback to the original dlsym usage.
2005-11-23 15:25:56 +00:00
Robert Osfield
74830f9ce1 Added multi-buffering of the CameraNode::_renderingCache to help cope with multiple graphis context usages. 2005-11-23 13:44:27 +00:00
Robert Osfield
a91b8fa40a Moved getGLExtensionFuncPtr implementation into the .cpp to make it easier to
change it implementation without forcing a complete recompile.
2005-11-23 10:16:25 +00:00
Robert Osfield
33f4494830 Added missing dirtyDisplayList call into osg::Geometry::set calls. 2005-11-22 13:56:50 +00:00
Robert Osfield
85b3c4b179 Added check against LODScale being zero, and fixed the search for the maximum
LOD range in the pixel size range fallback.
2005-11-22 10:26:27 +00:00
Robert Osfield
611e49b736 From Chris Hanson, add LODScale support to pixel based LOD range selection. 2005-11-22 10:08:00 +00:00
Robert Osfield
26e77fc92f From Jason Daly, (with small tweak by Robert Osfield) fix for Prorgram::removeShader(Shader*)
so that it properly remove the shader and its entry in the _shaderList.
2005-11-22 09:57:32 +00:00
Robert Osfield
0e16b64665 Coverted tabs to space in core libraries. 2005-11-17 13:35:53 +00:00
Robert Osfield
b15b677cc3 From Mikkel Gjøl, addition of paramter set/get methods to osgGA::*Manipulators,
change of ' ' to GUIEventAdapter::KEY_Space, fix to url in Matrix_implementation.cpp.
Syntax fixes by Robert Osfield to above submission fix inconsistencies with normal
OSG coding style.
2005-11-17 11:03:20 +00:00
Robert Osfield
19c1863432 Added (_data || rhs._data) extra qualify to Image::compare is data equal test. 2005-11-17 09:20:58 +00:00
Robert Osfield
2d33e6f2ad From Mike Weiblen, support for ARB_texture_rectangle extension name. 2005-11-16 09:28:09 +00:00
Robert Osfield
c2f1527fe0 Added better control for cancel GraphicsThreads. 2005-11-10 15:25:06 +00:00
Robert Osfield
20d9c3c3c4 Compile fixes for VS7.1 2005-11-10 09:42:34 +00:00
Robert Osfield
73f7a68dbe Added writing of commandline options in getFormatedString when there is no description string. 2005-11-09 17:19:34 +00:00
Robert Osfield
83d492162e Added the support in AnimationPathCallback for taking a pivot, axis and rotation rate
paramters in its constructor to allow it to be used to create rotations around a point.
This provides the same interface and functionality as osgUtil::TransformCallback but
has the advantage and AnimationPathCallback is fully supported by the .osg and .ive file formats.
2005-11-09 15:11:22 +00:00
Robert Osfield
258425d649 Bumped the version numbers up to 1.0 in preparation for 1.0-rc1. 2005-11-09 10:49:56 +00:00
Robert Osfield
6c70812928 Fixed warnings. 2005-11-09 10:41:52 +00:00
Robert Osfield
53e075f78b From Brad Colbert/Robert Osfield: added s/getSourceFormat and s/getSourceType to osg::Texture
along with support for this Texture1D, 2D, 3D, TextureCubeMap and TextureRectangle.  The
new SourceFormat and SourceType parameters are only used when no osg::Image is assigned to
an osg::Texture, and main use is for render to texture effects.

Added support for --hdr option in osgprerender, which utilises the new Texture::setSourceFormat/Type() methods.
2005-11-08 15:52:21 +00:00
Robert Osfield
6ed9cb40cc From Colin McDonald, fixed image size calculation in getTotalSizeInBytesIncludingMipmaps(),
added checks on success of opening files for writing in the .ive plugin.
2005-11-08 13:51:28 +00:00
Robert Osfield
18c916de1a From Bob Kuehne, proper c++ cast instead of c-cast for ApplicationUsage 2005-11-07 15:46:05 +00:00
Robert Osfield
efd96108fb From Gideon May, compile fixes for OSX. 2005-11-07 11:14:23 +00:00
Robert Osfield
4915259878 Improved support for texture subload/render to texture in various Texture classes
and RenderStage.
2005-11-04 12:08:16 +00:00
Robert Osfield
7c612fb1d9 Added env var docs on OSG_MAX_TEXTURE_SIZE 2005-11-03 10:59:22 +00:00
Robert Osfield
eb28f9f587 From Eric Sokolowsky, added writeEnvironmentSettings to help report what OSG
centric environment variables are used.
2005-11-03 10:01:09 +00:00
Robert Osfield
f3cfe97da9 Added support in DisplaySettings and OscCameraGroup for requesting accumulator buffer. 2005-11-02 19:15:18 +00:00
Robert Osfield
781f6d3cec From Colin McDonald, "Fixes for some duplicate global symbol definitions in the plugins,
which cause errors when creating a statically linked executable."
2005-11-02 10:29:38 +00:00
Robert Osfield
44d0e90f92 Changed the error number reporting to be reported as hex. 2005-11-01 20:16:31 +00:00
Robert Osfield
4509232792 Improved handling of osg::Image copying. 2005-11-01 15:23:03 +00:00
Robert Osfield
a4275fb8d7 From Brad Colbert, Added checking for a NULL return string rom gluErrorString (with slight reformating of this by Robert Osfield.) 2005-11-01 11:18:40 +00:00
Robert Osfield
a742cb682e Added RenderTargetFallback option into osg::CameraNode. 2005-11-01 10:42:54 +00:00
Robert Osfield
79a7f8c729 Added catch for NULL return from glGetString( GL_VERSION ); 2005-10-29 10:04:35 +00:00
Robert Osfield
fa5ab64c94 From Ravi Mathur, "Here is an update to BlendEquation that adds checking for the
SGIX_blend_alpha_minmax and EXT_blend_logic_op extensions.  It is
tested with the osgblendequation example.  If the extensions are not
supported, a WARN level notification is generated."
2005-10-28 13:18:09 +00:00
Robert Osfield
1b26232f71 Added command line support for the interlaced stereo modes. 2005-10-25 15:49:48 +00:00
Robert Osfield
f46044084a From Farshid Lashkari & Robert Osfield: Added support for VERTICAL_INTERLACE and HORIZONTAL_INTERLACE
stereo modes use the stencil buffer.
2005-10-25 15:43:04 +00:00
Robert Osfield
2b2ca82b5a Added check against glGetString(GL_VERSION) returning NULL. 2005-10-25 13:24:39 +00:00
Robert Osfield
f2f6e6bb45 Added beginnings of Programming Guide, and NodeTrackerCallback. 2005-10-24 10:51:50 +00:00
Robert Osfield
1e508d432b Added SmokeTrailEffect which renders created particles as single quad or line
strip, in the case of the quad strip the strip is aligned to the be orthogonal with
the eye point.
2005-10-12 18:42:36 +00:00
Robert Osfield
4b43b22c5a Added support for CameraView into NodeVistor, and support for CameraNode and CameraView
into the AnimationPathCallback so you can now animate both via animation paths.
2005-10-05 09:48:53 +00:00
Robert Osfield
8e9ffd09af Added osg::CameraView to help application/modellers position their cameras in scenes. Note,
CameraView is *not* a camera, it isn't an active object, but a passive one that
camera must track each frame to following the path of the CameraView.
2005-10-04 13:41:20 +00:00
Robert Osfield
ff9ace16b4 From Keith Steffen, fixed bug in StateSet::clear() where parents of texture attributes
where not being reset correctly due to incorrect ordering of _textureAttributeList.clear().
2005-10-03 19:37:54 +00:00
Robert Osfield
e2f2960704 Added a dirtyDisplayList() to the setColor() and setTesselationHint() methods. 2005-10-01 19:27:52 +00:00
Robert Osfield
76058f747c From Marco Jez, added fallback to TextureCubeMap subloading that calls load
when mipmaps are required, but non are present.
2005-09-29 09:49:20 +00:00
Robert Osfield
05528abf25 From Chris Hanson:
Spelling fixes in include/osg/LOD

   Negated priority in PagedLOD when using _rangeMode==PIXEL_SIZE_ON_SCREEN

   Added clampedPixelSize() methods to CullStack and CullingSet to return fabs()ed values.

   Changed LOD and PagedLOD ::traverse to use clampedPixelSize() methods.
2005-09-28 13:33:58 +00:00
Robert Osfield
871cc70c32 From Ravi Mathur, added extension checks for point sprite support.
From Robert Osfield, tweaks of the above to use osg::buffer_object and a local struct to store
initialized to help with multi-thread and out of order context usage.
2005-09-19 15:28:31 +00:00
Robert Osfield
f32984fefe Removed some debugging messages 2005-09-10 12:51:18 +00:00
Robert Osfield
6391691be6 Added release() to all GraphicsOperations in GraphicsThread. 2005-09-03 20:54:32 +00:00
Robert Osfield
4167a3f980 Added clean up class to help improve the exit of GraphicsThread 2005-09-02 13:10:46 +00:00
Robert Osfield
caaeaee321 Fixed typo 2005-09-01 19:12:06 +00:00
Robert Osfield
7fc95ddae7 Added graphics context pointer to osg::Texture in prep for support for Pbuffer
Render To Texture.
2005-08-31 12:56:15 +00:00
Robert Osfield
c02e91c1b4 Added support for GrapicsOpeations that are reused each frame, cleaned up
osgcamera example.
2005-08-30 22:28:30 +00:00
Robert Osfield
f9bcde3cf0 Added name and keep member variables to osg::GraphicsThread::Operation to allow
the names of the operations to be logged for stats purposes, or used when
do searches of the operation list.  The keep member variable tells the graphics
thread run loop wether to remove the entry from the list once its been called.
2005-08-30 19:03:02 +00:00
Robert Osfield
aba3b4fa67 Clean up and fixes to GraphicThread class, and osgcamera example. 2005-08-30 14:41:08 +00:00
Robert Osfield
d154c2a4cd From Eric Sokolowsky, warning fixes for g++ 4.0 under Fedora Core 4. 2005-08-25 17:53:01 +00:00
Robert Osfield
ac07e07705 Further work on GraphicsContext/GraphicsThread 2005-08-20 08:59:03 +00:00
Robert Osfield
356f1ccfaf Added GraphicsThread class 2005-08-18 20:35:19 +00:00
Robert Osfield
51faa7e43a Various updates to support the new GraphicsThread class. 2005-08-18 20:17:51 +00:00
Robert Osfield
84618ffcb3 Merged RenderToTextureStage functionality into RenderStage 2005-08-17 10:12:49 +00:00
Robert Osfield
d48841f09b Fixed indenting and typo 2005-08-09 10:47:21 +00:00
Robert Osfield
e534e4d1ed Added setStateSet(0) to destructors to force the problem clean up of attached
StateSets.
2005-07-30 18:44:18 +00:00
Robert Osfield
4e69d46289 Further work on trying to get glGenerateMipMapEXT working in conjunction with
frame buffer objects.  Still don't work under Linux yet through :-|
2005-07-27 11:27:44 +00:00
Robert Osfield
83da1b0894 From Brede Johansen, fix to the isImageTranslucent() method. 2005-07-26 16:05:42 +00:00
Robert Osfield
bddaefd569 Perliminary support for glGenerateMinMapEXT. 2005-07-25 16:12:24 +00:00
Robert Osfield
384830d37e Added handling of automatic setting up of the contextID. 2005-07-25 14:28:22 +00:00
Robert Osfield
3c23a42f17 Added support for TextureCubeMap into osgUtil::RenderToTextureStage. 2005-07-25 13:05:57 +00:00
Robert Osfield
ee8f7bb756 Added post draw callback to osg::CameraNode/osgUtil::RenderToTextureStage.
Added support for Texture1D, 2D, 3D and TextureRectangle into osgUtil::RenderToTextureStage.
2005-07-24 20:31:21 +00:00
Robert Osfield
47651d3c8d Added glSissor suppor via new osg::Scissor class.
Added .osg support for osg::Scissor.
Added .ive support for osg::Viewport and osg::Scissor.
2005-07-22 09:31:19 +00:00
Robert Osfield
7776924407 Checked in graphics context. 2005-07-21 08:43:24 +00:00
Robert Osfield
1e9fb4ab03 From Marco Jez (with tweaks by Robert Osfield) : clean up of inheritance from std::vector<> classes 2005-07-20 19:42:59 +00:00
Robert Osfield
b9e651baf1 Added new osg::GraphicsContext base class 2005-07-20 15:55:07 +00:00
Robert Osfield
8dd013171c Ported all the render to texture examples across to using the new osg::CameraNode.
Added support for texture cube maps in FBO + CameraNode.
2005-07-19 16:30:55 +00:00
Robert Osfield
d35ea68f3e Renamed Byte2,3,4 and Short2,3,4 and UByte4 to use the Vec*b, Vec*s and Vec4ub form 2005-07-15 14:41:19 +00:00
Robert Osfield
0e4b263ddb Fix PagedLOD::addChild(,,) so that they allocate the correct size of range data. 2005-07-14 20:32:25 +00:00
Robert Osfield
aece690d8e Removed the set culling active flag setting 2005-07-14 10:34:46 +00:00
Robert Osfield
53347812cb From Mike Weiblen, addiding of Program::validateProgram and osg::isNotifyEnabled() method 2005-07-14 10:27:00 +00:00
Robert Osfield
facb0e2638 From Pavel Moloshtan, Byte2,3,4 and Short2,3,4 classes and their Array counterparts.
With a few build tweaks and bug fixes by Robert Osfield.
2005-07-05 15:57:53 +00:00
Robert Osfield
72488d274f Added support for equalizing the normals along tile boundaries. 2005-07-02 08:11:55 +00:00
Robert Osfield
4e0a5e5069 Added missing dirtyBound(). 2005-06-27 08:54:43 +00:00
Robert Osfield
e8cc8f06c5 From Martijn Kragtwijk: "I ran into the same problems as Karl Martensson
(http://openscenegraph.org/archiver/osg-users/2005-June/0575.html);
after switching children of a Switch node off and on again, they become
unpickable. This issue occurs first in 0.9.9, with 0.9.8 everything is fine.
My fix involves calling dirtyBound() every time the on/off-values of the
Switch are changed"
2005-06-24 15:34:46 +00:00
Robert Osfield
3baa8cdad2 Disabled NPO2T on GeforceFX. 2005-06-22 11:02:37 +00:00
Robert Osfield
7453711267 From Mike Weiblen,
" - adjustments to improve namespacing on VS
  - clarify compilation status message"
2005-06-20 10:36:06 +00:00
Robert Osfield
c5cad6982e Further FBO support work. 2005-06-16 14:01:38 +00:00
Robert Osfield
1641cd7b54 From Pavel Moloshtan, added support of Drawable::Extensions::glDeleteQueries() 2005-06-16 13:53:52 +00:00
Robert Osfield
3a0b742461 Added copyright notices. 2005-06-16 11:45:50 +00:00
Robert Osfield
d702fed0ef Moved FBO support from osgfbo example into core osg. 2005-06-16 11:42:59 +00:00
Robert Osfield
77a4cef9d6 Futher work on FBO support 2005-06-15 20:06:10 +00:00
Robert Osfield
bc76fbf60d Added automatic creation of texture when size is set but not osg::Image is assigned.
This is useful for FBO usage.
2005-06-15 20:05:47 +00:00
Robert Osfield
92087ee5ac From David Guthrie, " In the constructor
in removes any options beginning with "-psn" from argv on OSX by
calling the "remove" method.  When a .app run is created in OSX,
which is required to get a fully functioning UI application, the OSX
finder passes a -psn_XXXX option to the application where the XXXX
refers to a unique process number.  An example option would be "-
psn_0_37617665".  The argument parser was choking on this option in
all the osg example applications."
2005-06-15 11:49:25 +00:00
Robert Osfield
dfaed083ea Added osgmultiplecameras example and support for pre/post multiplaction. 2005-06-15 10:59:10 +00:00
Robert Osfield
71122ff38f Work on the RenderToTexture usage of the new osg::CameraNode. Both osghud
and osgprerender now ported across to osg::CameraNode.
2005-06-14 20:51:35 +00:00
Robert Osfield
868d381528 Added osg::CameraNode. 2005-06-14 13:16:58 +00:00
Robert Osfield
4fb9039d0c Fixed position of glBindBuffer. 2005-06-14 08:48:48 +00:00
Robert Osfield
27c4c6a956 Moved the set/getName() support from osg::Node etc into the osg::Obejct
base class
2005-06-08 13:16:19 +00:00
Robert Osfield
e0cf176590 From Mike Weiblen, added GLSL datatypes mat2 and mat3 to osg::Uniform, with .osg and .ive support 2005-06-08 10:36:56 +00:00
Robert Osfield
a799cdca2f From Tim Daust, "I fixed the getScale functions in matrixf and
matrixd.  It was returning the values of the diagonal
of the matrix, which only returns the scale if there
is not a rotation.  I fixed this by returning the
length of the  vectors that form the basis.
  I also added a function to orthonormalize the
rotation component of the matrix. I seem to always run
into situations where non uniform (or even uniform)
scale complicate my calculations, and I thought other
members of the community could use this function as
well."
2005-05-31 06:21:16 +00:00
Robert Osfield
fee1e75fe0 Changed char* to const char* 2005-05-31 05:47:40 +00:00
Robert Osfield
2b08f729f3 Updated change log.
From Fredric Marmond, changed unsigned int to unsigned long to avoid compile errors under 64 bit compile.
2005-05-25 15:35:51 +00:00
Robert Osfield
59be8c19f3 Changd unsigned int's to unsigned char* to fix gcc3.4 64 bit issues. 2005-05-25 09:50:11 +00:00
Robert Osfield
f6298daae4 Added env var report. 2005-05-20 06:39:41 +00:00
Robert Osfield
955cc1ec2a Added s/getClearMask() support to osg::ClearNode, osgUtil::SceneView and the
.osg plugin.
2005-05-18 19:55:14 +00:00
Robert Osfield
51458ceea7 Fixed copy and paste mistakes in setEventCallback methods 2005-05-18 18:31:03 +00:00
Robert Osfield
4645217733 Added RADEON as render type for disabling mipmapped NPO2T 2005-05-17 20:12:13 +00:00
Robert Osfield
2e4b266c39 Added differentiation between Non power of two textures when mip mapped vs
when not mipped mapped to get round the issue of incomplete support under
ATI cards.
2005-05-17 11:00:13 +00:00
Robert Osfield
1dd553ed0e Bumped version numbers to 0.9.9 in rediness for 0.9.9 release. 2005-05-16 17:17:53 +00:00
Robert Osfield
428608e781 Warning fixes for IRIX 2005-05-16 15:51:57 +00:00
Robert Osfield
a209542c60 Added missing Uniform(Matrixd) constructor implementation 2005-05-12 19:05:33 +00:00
Robert Osfield
bf4d63f6ea Added new Node/Drawable::s/getInitialBound and Node/Drawable::s/getComputeBoundCallback
methods and reimplement computeBound so that it passes back a bounding volume rather
than modifying the local one.
2005-05-12 14:03:22 +00:00
Robert Osfield
fe384e53c7 Added clear of lazy uniform updating structure on relink, also added debug
output of shader being compiled.
2005-05-12 08:54:11 +00:00
Robert Osfield
679c44f4ae Changed the info log so that it output to INFO on success, to WARN when an
error has occured.
2005-05-11 19:32:57 +00:00
Robert Osfield
aa6ea8c047 Completed GLSL support in .ive 2005-05-11 13:37:38 +00:00
Robert Osfield
fb34b22e34 Cleaned up API of BindAttributeLocation, added deletion of shader objects. 2005-05-11 11:41:44 +00:00
Robert Osfield
d681d47c72 Moved the infolog to the error handling block and upping its notification
level to WARN to provide better feedback on failure with needing to use
DEBUG notification level.
2005-05-10 18:21:31 +00:00
Robert Osfield
1afd5e48a7 Added support for PROTECTED and OVERRIDE to uniforms. 2005-05-10 13:56:05 +00:00
Robert Osfield
7d6c90aaa4 Added missing copy of _stereo 2005-05-08 15:24:26 +00:00
Robert Osfield
d1a1b1d95c Added more comprehensive releaseGLObjects(State*=0) throughout Nodes,
Drawables,StateSet, and osgDB::Registry.

Added cleanup_frame() from to osgProducer::OsgCamerGroup to help with proper
clean of OpenGL objects before exit, and modified osgviewer, osghangglider,
osgwindows examples to do the extra frame call to cleanup_frame() before exit.
2005-05-07 20:47:09 +00:00
Robert Osfield
7480d51830 From Mike Weiblen, further work on GLSL support 2005-05-06 09:58:49 +00:00
Robert Osfield
fc585cd33d From Farshid Lashkari, support for non power of two extension. 2005-05-06 09:04:41 +00:00
Robert Osfield
2798d58a41 Added support for osg_FrameNumber, osg_FrameTime, osg_ViewMatrix, osg_InverseViewMatrix
into SceneView, controlled via a setActiveUniforms(.) method.
2005-05-05 12:30:54 +00:00
Robert Osfield
c4e2e85aa1 From Farshid Lashkari, added Texture::Extension support for non power of two extension. 2005-05-05 09:18:03 +00:00
Robert Osfield
97daa561f4 Added support for lazy state updating of uniforms. 2005-05-03 21:46:47 +00:00
Robert Osfield
b85d4d4e7e Added support for optimization of Uniforms 2005-05-02 10:18:37 +00:00
Robert Osfield
938d13ecc7 Improved the handling of update/event callbacks on Drawable and Geodes 2005-05-02 09:57:58 +00:00
Robert Osfield
03232ec667 Moved osg::Impostor to osgSim::Impostor, as Impostor isn't a core feature. 2005-05-01 19:48:49 +00:00
Robert Osfield
a5fcddc5e5 From Mike Weiblen, Progra/Shader fixes 2005-04-30 07:02:02 +00:00
Robert Osfield
7117ff4bd3 Added support for controlling the frequency of checking for OpenGL errors
via:

        enum CheckForGLErrors
        {
            /** NEVER_CHECK_GL_ERRORS hints that OpenGL need not be checked for, this
                is the fastest option since checking for errors does incurr a small overhead.*/
            NEVER_CHECK_GL_ERRORS,
            /** ONCE_PER_FRAME means that OpenGl errors will be checked for once per
                frame, the overhead is still small, but at least OpenGL errors that are occurring
                will be caught, the reporting isn't fine grained enough for debugging purposes.*/
            ONCE_PER_FRAME,
            /** ONCE_PER_ATTRIBUTE means that OpenGL errors will be checked for after
                every attribute is applied, allow errors to be directly associated with
                particular operations which makes debugging much easier.*/
            ONCE_PER_ATTRIBUTE
        };

        /** Set whether and how often OpenGL errors should be checked for.*/
        void setCheckForGLErrors(CheckForGLErrors check) { _checkGLErrors = check; }

        /** Get whether and how often OpenGL errors should be checked for.*/
        CheckForGLErrors getCheckForGLErrors() const { return _checkGLErrors; }
2005-04-29 20:56:20 +00:00
Robert Osfield
68032dafc8 Commented out notify messages to prevent crash under OSX at start up. 2005-04-29 13:30:59 +00:00
Robert Osfield
a1bda0dab8 Added support for per context extension string.
Note, this required adding a unsigned int context ID to the osg::isGLUExtensionSupported(,)
and osg::isGLExtensionSupported(,) functions.  This may require reimplementation
of end user code to accomodate the new calling convention.
2005-04-26 13:15:27 +00:00
Robert Osfield
59ebf86dd0 Added #include <algorithm> for VS.NET build 2005-04-26 11:20:19 +00:00
Robert Osfield
3c90a5f694 Added support notification of Drawable parents of StateSet that event/update callbacks have been called. 2005-04-26 09:58:19 +00:00
Robert Osfield
baa9af49c4 Reduced the verbosness of debugging messages 2005-04-25 14:28:16 +00:00
Robert Osfield
e24cfa0370 Futher work on supporting update and event callbacks in StateSet, Uniform and StateAttribute 2005-04-25 13:37:12 +00:00
Robert Osfield
bc83e63bb4 Futher work on adding event and update callbacks to StateSet, Uniform and StateAttributes 2005-04-25 11:05:02 +00:00
Robert Osfield
193c83cb9c Added ParentList's into StateSet, Uniform and StateAttribute in preparation for
providing update and event handling.
2005-04-24 21:04:54 +00:00
Robert Osfield
f91efb7f31 Added missing bodes of Uniform::operator = and setEvent/UpdateCallback in StateSet. 2005-04-23 10:41:30 +00:00
Robert Osfield
819d2c6c56 Preliminary steps to adding update and event callbacks to StateSet, StateAttribute
and Uniform.
2005-04-22 22:45:39 +00:00
Robert Osfield
2914f7c342 Improved handling of invalid imagery in BufferObject 2005-04-22 15:43:34 +00:00
Robert Osfield
8b4f9dce60 From Mike Weiblen, added support for samplers and mat4 to .osg 2005-04-22 07:13:50 +00:00
Robert Osfield
496227d239 From Mike Weiblen, removed Uniform not quite ready notice,
and added .h files into osgshaders project file.
2005-04-20 18:50:50 +00:00
Robert Osfield
e2a85f6bc6 From Brede Johnansen, adding support for EXT, ARB and GL version 1.4 point parameters. 2005-04-20 12:32:43 +00:00
Robert Osfield
88e8477cbf Moved istream/ostream includes out of Vec3f, and reimpleted osg::Matrix*::compare. 2005-04-17 10:41:23 +00:00
Robert Osfield
1525a00e1f From Mike Weiblen,added debug info to osg::Program and changed shader uniform names to
avoid conflict with built in functions
2005-04-16 10:11:18 +00:00
Robert Osfield
f4be038d46 Moved Plane and Quat << operators into the io_utils headers 2005-04-15 20:59:24 +00:00
Robert Osfield
678b22ce83 Updated Copyright notices to 1998-2005. 2005-04-14 21:41:28 +00:00
Robert Osfield
086efcdff1 Removed setProgram from osg::StateSet as Program works just fine right now
as a standard osg::StateAttribute and set in a StateSet with setAttribute.
2005-04-14 15:53:28 +00:00
Robert Osfield
d6d764a729 From Terry Welsh, added copy texture support to TextureRectangle 2005-04-13 18:19:38 +00:00
Robert Osfield
789cb7dea7 Added applying of all parents uniforms 2005-04-13 14:31:25 +00:00
Robert Osfield
0015a31de8 Added basic support for applying uniforms to programs, non lazy state updating
is yet applied though.
2005-04-13 14:12:06 +00:00
Robert Osfield
2e10cffb4d Work in progress on shader language uniform support 2005-04-13 12:00:28 +00:00
Robert Osfield
d268cf46fa Renamed SG_LIBRARY and SG_EXPORT macro's to OSG_LIBRARY and OSG_EXPORT 2005-04-11 17:14:17 +00:00
Robert Osfield
4fec031e6c Moved #include <osg/State> from header into .cpp to clean up build. 2005-04-11 15:17:24 +00:00
Robert Osfield
2fb3d9aae5 Fixed warning, and sorted entries in GNUmakefile 2005-04-11 10:12:32 +00:00
Robert Osfield
d31cd3dce6 From Mike Weiblen, updates to GL Shadler Language support 2005-04-08 13:10:44 +00:00
Robert Osfield
7d24d9fdd5 Added #include <algorithm> 2005-04-08 12:22:03 +00:00
Robert Osfield
a2974de978 Moved the istream and ostream support from Vec* and Matrix* into a seperate io_utils file. 2005-04-08 09:01:23 +00:00
Robert Osfield
84e8338be1 From Mike Weiblen, "adds sourcefiles for beginnings of .osg fileformat i/o support
> - enhancemens to core GLSL classes to support file i/o"
2005-04-07 20:23:58 +00:00
Robert Osfield
d160b4977b Fixed the MatrixTransform(Matrix&) constructor so that it correct sets _inverseDirty = true; 2005-04-07 15:27:53 +00:00
Robert Osfield
2e32a7cb78 From Carlo Camporesi,fixed for loop bug 2005-04-04 11:47:50 +00:00
Robert Osfield
aa8dbea11c From Mike Weiblen, updates to Shander Language support 2005-04-04 10:08:15 +00:00
Robert Osfield
60cecb8959 Added State::getActiveUnit and usage of it in the glTexCopyImage*() implementations 2005-03-25 11:07:48 +00:00
Robert Osfield
7883574d28 From Mike Weiblen,
"updates for GLSL core integration:
Code compiles and runs on win32.
Basic functionality of Program and Shader in place.
Program derived from StateAttribute.
Uniform value propagation is not yet functional (in development)
Includes some patches by Nathan Cournia.
includes example testcase to demo use of new classes."
2005-03-24 09:37:45 +00:00
Robert Osfield
2ab78cfe38 From Marco Jez, fixed constness of data return type 2005-03-23 21:00:28 +00:00
Robert Osfield
60597f4bbb Fixed the scaling in pixelSize computation and the autoscale usage of it. 2005-03-23 10:46:08 +00:00
Robert Osfield
667ecd91f1 From Alberto Farre, fixes to ProxyNode. 2005-03-18 10:00:16 +00:00
Robert Osfield
a2e8bc6267 Added support for set/getUniform and set/getProgram into osg::StateSet. 2005-03-11 20:29:21 +00:00
Robert Osfield
7bf72cd43b From Marco Jez, improved Texture2D and Image handling of compare(). 2005-03-07 14:30:55 +00:00
Robert Osfield
5684a130b7 From Alberto Farre, addition of ProxyNode, with support in .osg, .ive and .flt loaders 2005-03-07 14:06:09 +00:00
Robert Osfield
d0c79ea638 From Mike Weiblen, warning fix for VS7.1 2005-03-07 12:05:48 +00:00
Robert Osfield
a139d28a12 Added the use of pixel buffer object in ImageStream so that it is only
compiled in on non OSX platforms.
2005-03-07 12:05:22 +00:00
Don BURNS
678281f2f2 In osg::isGLUExtensionSupported, fixed gluGetString to call GLU_EXTENSIONS
rather than GL_EXTENSIONS.
2005-03-02 15:06:23 +00:00
Robert Osfield
0f61af08bd Added support for new event visitor type into osgGA and osgProducer::Viewer,
and event callback into Drawable.
2005-02-25 14:02:48 +00:00
Robert Osfield
96514b5077 New simplified timer implementation. 2005-02-25 08:38:05 +00:00
Robert Osfield
79833fa704 Added pause, rewind and play support into xine plugin. 2005-02-24 17:07:37 +00:00
Robert Osfield
5fbb1f11cd From Mike Weiblen, adding prelimimnary GL Shader Language support into core OSG lib.
with renaming and reordering by Robert Osfield,
2005-02-24 13:33:35 +00:00
Robert Osfield
164cb8216c Made Referenced::ref() and unref() inline methods. 2005-02-23 12:50:10 +00:00
Robert Osfield
e01990d419 Made the osg::Referenced Mutex be declared as a pointer to a Mutex, with the
Mutex allocated dynamically when required. Added the following methods to
help manage the usage of the mutex:

        void setThreadSafeRefUnref(bool threadSafe);

        bool getThreadSafeRefUnref() const;
2005-02-22 20:25:58 +00:00
Robert Osfield
feb06f7e4b Added improved PBO support. 2005-02-22 13:34:24 +00:00
Robert Osfield
25658ad31f Fixes from Marco Jez. 2005-02-22 11:55:30 +00:00
Robert Osfield
64e6b79340 Changed the Switch::addChild(Node*) behavior so it doesn't override the
any pre-exisitng _values value.
2005-02-22 10:08:01 +00:00
Robert Osfield
5215d43e14 warning fix 2005-02-10 20:21:01 +00:00
Robert Osfield
ec8624f185 Implemented the osg::Image::isImagTranslucent function. 2005-02-10 15:52:18 +00:00
Robert Osfield
021440b9a4 Commented out the debug messages, added back in the audio into the xine plugin 2005-02-09 12:29:09 +00:00
Robert Osfield
117c791a3b Added osg::BufferObject and a made a number associated to accomodate this
new class. osg::BufferObject wraps up OpenGL pixel and array buffer objects.
Currently implementation is work in progress.
2005-02-09 10:39:45 +00:00
Robert Osfield
46ce4c3df3 Added the full set of buffer object methods 2005-02-07 17:28:03 +00:00
Robert Osfield
c3c3ed8519 Added support for 8 parameters. 2005-02-01 09:00:10 +00:00
Robert Osfield
9a93d7ae06 Fixes to osg::Image's handling of compressed formats. 2005-01-27 20:18:49 +00:00
Robert Osfield
355650ac1d From Nicolas Brodu, new faster osg::Quat::makeRotate(Vec3d,Vec3d) implmentation.
From Robert Osfield, modes to osg::Quat to keep the original implmentation around
as makeRotate_original(,) and added tests into osgunittest to test the new
methods provide equivilant results to the original implemementation.  The
orignal implementation will be removed once the new method is more widely tested.
2005-01-27 14:39:58 +00:00
Robert Osfield
e2132cc62a Cleaned up the types. 2005-01-05 17:14:38 +00:00
Robert Osfield
c58f56adb6 From Fredric Mammond, fix for build using full extension checked mechansim 2005-01-05 16:16:52 +00:00
Robert Osfield
fab7c4d715 From Fredric Mammond, added new osg::BlendEquation state attribute wrapping
up glBlendEquation.
2005-01-03 16:39:28 +00:00
Don BURNS
3e96112b82 Added computeBound to osg::Switch, which now checks to see if a child is
enabled before computing its bound.
2004-12-17 20:51:55 +00:00
Robert Osfield
a0ba625cb0 Property API clean to smooth the task of generating wrappers. 2004-12-17 01:06:33 +00:00
Robert Osfield
fa4eaae122 From Frederic Marmond, add osg::LogicOp for support for glLogicOp. 2004-12-13 04:54:20 +00:00
Don BURNS
b84342c59a Spelling errors fixed by Brede Johansen 2004-12-07 00:42:21 +00:00
Don BURNS
3412c6811e Changed the strcmp() to use std::string instead. 2004-12-06 19:32:59 +00:00
Don BURNS
1771cdbcc7 Update version numbers in files 2004-12-04 23:38:24 +00:00
Robert Osfield
c5f5373e05 Added missing OSG_SCREEN_WIDTH docs 2004-11-26 21:35:36 +00:00
Robert Osfield
f213e473f3 From Fabien Dachicourt, bug fix to addChild(node,value) 2004-11-23 17:07:48 +00:00
Robert Osfield
5adff5c15e Added support for pixel based LOD's and set the default priority scale to 1.0 2004-11-20 12:08:33 +00:00
Robert Osfield
796b4cbe8d Added support for pixel range to PagedLOD 2004-11-20 11:48:28 +00:00
Robert Osfield
02ee5ff0cc Altered the path for Cygwin to set the _ticksPerSecond to the correct value. 2004-11-18 09:19:15 +00:00
Robert Osfield
7d43aee78d Made the use of the standard clock default instead of the RDTSC calls to avoid
problems with variable CPU frequency such as found on laptops.
2004-11-14 10:41:48 +00:00
Robert Osfield
a0fc9632b8 Fixed warnings. 2004-11-13 21:42:45 +00:00
Robert Osfield
b60304f8ad Improvements to support for archives 2004-11-12 08:55:11 +00:00
Robert Osfield
fd9063628a Added guard to testing _internalFormat in compareTexture(..) so that
a comparison would only be done if both the lhs and rhs had already been
set to a non zero value.
2004-11-08 16:39:10 +00:00
Robert Osfield
3fde44b5a5 Made fix to the setReferenceFrame method to properly disable culling
when reference frame is ABSOLUTE.
2004-11-06 10:18:55 +00:00
Robert Osfield
d548d77010 From Tree chagenes required for Java Wrappers 2004-11-01 16:14:53 +00:00
Robert Osfield
48191bb1ab From Anders Backman, unit tests to test matrix to quat compute. 2004-10-28 13:40:09 +00:00
Robert Osfield
fd327f68f6 From Tom Jolley, Added a new enum POINT_ROT_WORLD_Z_AXIS and a new section in computeMatrix for this enum.
With a small tweak from Robert Osfield to set _cacheMode.
2004-10-28 13:26:06 +00:00
Robert Osfield
df9c7e5031 From Tree, fixes for Java bindings 2004-10-25 19:16:57 +00:00
Robert Osfield
b70ff91eaf Changed ABSOLUTE and RELATIVE to ABSOLUTE_RF and RELATIVE_RF to avoid stooppid Win32 #define 2004-10-24 20:04:00 +00:00
Robert Osfield
63e4587a88 Added s/getEventCallback support into osg::Node, and an EVENT_VISITOR
type into NodeVisitor.
2004-10-24 13:51:44 +00:00
Robert Osfield
6821a80e14 Changed the ReferenceFrame enums to be RELEATIVE and ABSOLUTE, and
deprecated the RELATIVE_TO_ABSOLUTE and RELATIVE_TO_PARENTS.
2004-10-22 19:26:45 +00:00
Robert Osfield
93c439ba01 Generalised the osg::ClusterCullingCallback so that it coud be attached
to Node as well as Drawables.

Changed the osgTerrain::DataSet so that it moves the ClusterCullingCallback
up to the Node level.

Added support to the .ive plugin for attaching the ClusterCullingCallback to nodes.
2004-10-21 09:36:34 +00:00
Robert Osfield
2047ac250f From Frank Lichtenheld, compile fix to Linux powerpc build. 2004-10-18 18:59:05 +00:00
Robert Osfield
f86be80c20 Added support for hardware generated mipmaps into Textre2D::copy*() methods. 2004-10-18 18:31:04 +00:00
Robert Osfield
4c8e48c9e7 From Yuzhong Shen, fix to the image dimensions passed to allocImage in Image::copySubImage 2004-10-18 14:46:57 +00:00
Robert Osfield
cecaec4ed8 From Sohey Yamamoto, added support for GL_TEXTURE_FILTER_CONTROL/GL_TEXTURE_LOD_BIAS. 2004-10-13 19:52:39 +00:00
Robert Osfield
edb15e17bc Added new getMember() method and TypeMemberPair into StateAttribute and
support for the unsigned int member to be paired with types in osg::StateSet
so that lights, clipplanes and other attributes that have a type group but
then need to differentiate within that group via a member uint.
2004-10-13 11:15:50 +00:00
Robert Osfield
4192ef796b Added CullingSettngs::s/getInheritanceMask() and inheritCullSettings(,) method. 2004-10-12 09:54:03 +00:00
Robert Osfield
d77e6a0829 Added new clear, removeAttribute, removeMode, removeTextureAttribute and
removeTextureMode method and deprecated the setToInherit equivilants.
2004-10-07 09:40:03 +00:00
Robert Osfield
c27bf441e2 Improved the osg::Geometry::computeCorrectBindingsAndArraySizes() implemention
so that it produce more optimal settings.

Changed flt/GeoSetBuilder so that it doensn't merge geometry, as it was
merging geometry even when inappropriate.
2004-10-06 20:32:09 +00:00
Robert Osfield
7e4d34c57a Added :
osg::PagedLOD::s/getDatabasePath() and support in PagedLOD::traverse().
    osgDB::ReaderWriter::Options::s/getDatabasePath()
    osgDB::Input::s/getOptions()
    setting of osgDB::Input::setOptions() in ReaderWriterOSG.cpp
    src/osgPlugins/ive/DataInputStream::s/getOptions()
    setting of src/osgPlugins/ive/DataInputStream::setOptions() in ReaderWriterIVE.cpp
2004-10-06 09:31:34 +00:00
Robert Osfield
9af350eb41 From Lewis Harmon, fixes to the Node and NodeCallback constructors. 2004-10-01 22:05:40 +00:00
Robert Osfield
5ecfb11e1b Changed the argument parser to accept strings that start with a - as being
valid strings.
2004-10-01 18:32:42 +00:00
Robert Osfield
884544c52c Added setPlanesFromMatrix method 2004-10-01 15:48:58 +00:00
Robert Osfield
08d4fdefb0 Fixed newly introduced compressed mipmnap error. 2004-09-30 12:10:45 +00:00
Robert Osfield
d204a087c3 Added proper handling of 3d texture compression 2004-09-30 09:10:29 +00:00
Robert Osfield
e08328a449 Preliminary steps to support for compressed 3D textures. 2004-09-29 10:01:46 +00:00
Robert Osfield
7b826228bb From Brad Christiansen, fix expandBy(const BoundingSphere&) method to properly
handle the instance of when the two bounding sphere's have a coincident center.
2004-09-28 07:15:01 +00:00
Robert Osfield
de0e616433 Added new methods into osg::Referenced for controlling the use of thread safe
ref/unref:

        /** Set whether reference counting should be use a mutex to create thread reference counting.*/
        static void setThreadSafeReferenceCounting(bool enableThreadSafeReferenceCounting);

        /** Get whether reference counting is active.*/
        static bool getThreadSafeReferenceCounting();
2004-09-27 14:15:13 +00:00
Robert Osfield
7e5c87de6a Changed the version strings to use OpenSceneGaph rather than "Open Scene Graph" 2004-09-27 12:07:34 +00:00
Robert Osfield
1b31024cd5 Clean up of new DatabasePager code, and change of osgProducer so that
DatabasePager support is now integrated into the OsgSceneHandler.
2004-09-23 18:50:38 +00:00
Robert Osfield
5b0739bcf0 Updates for better DatabasePager peformance w.r.t constant frame rates. 2004-09-23 12:27:56 +00:00
Robert Osfield
54b45ce3bc Updated to DatabasePager support 2004-09-21 21:33:52 +00:00
Robert Osfield
0d884d66eb Various improvements to database paing. 2004-09-21 17:26:08 +00:00
Robert Osfield
63f8935afb From George Papagiannakis, added extra Quat length to catch case
where length is zero.
2004-09-13 14:33:41 +00:00
Robert Osfield
790da0776a Made the computeLocalToWorld etc method to use const NodePath's parameters. 2004-09-09 15:14:33 +00:00
Robert Osfield
a36b10ac24 From Marco Jez, added missing TexGenNode constructor. 2004-09-06 14:30:25 +00:00
Robert Osfield
d9af748b78 From Tom Jolly, add detection for whether multi-texturing is supported before
checking for number of texture units supported, using 1 as a fallback value
2004-09-01 10:41:50 +00:00
Robert Osfield
19bf7bb1ce From Eric Sokolsky, add support for recording default values for env vars 2004-09-01 09:48:17 +00:00
Robert Osfield
e5cfe0a27a From Marco Jez, addition of new interal texture formats to osg/Texture and Image.cpp 2004-09-01 08:49:48 +00:00
Robert Osfield
08017daf37 Added rescale of quaternion in Matrix::set(Quat), a copy operation in osg::Quat and
extra tracking options in NodeTrackerManipulator.
2004-08-31 09:20:31 +00:00
Robert Osfield
2733324701 Fixed the Matrix::get(Quat&) method 2004-08-30 18:51:42 +00:00
Robert Osfield
f15877f89b Changed the AnimationPathCallback::reset() to reset the _firstTime to DBL_MAX
so that it resets on the next update traversal.
2004-08-24 18:23:53 +00:00
Robert Osfield
b2d39d7f5b Added s/getLoopingMode() to ImageStream and MPEG plugin 2004-08-24 12:55:15 +00:00
Robert Osfield
1a455e1aad Rejigged the __int* definitions to try and get round Mingw compile errors 2004-08-18 06:06:02 +00:00
Robert Osfield
5460013a92 From Bruce Clay, fixes for VS6.0 build. 2004-08-17 19:42:45 +00:00
Robert Osfield
a1fc4b986c Changed sizeof(..) references to 1,2,4 respectively. 2004-08-17 18:56:24 +00:00
Robert Osfield
ca61c11134 From David Fries, "I added code to also check the local up vector, but
only if one of the rotation modes is selected, because autoscale isn't
affected by the camera rotations. "
2004-08-17 07:58:32 +00:00
Robert Osfield
a9cb803404 Added a handling of different hex long long handling for VS and non
VS.
2004-08-16 21:03:41 +00:00
Robert Osfield
cf99c3c9bd Added support in Image::flipVertical for flipping mipmapped imagery
and for flipping compressed imagery.
2004-08-16 20:57:24 +00:00
Robert Osfield
bb6fe74738 Fixed _MSC_VAR reference 2004-08-16 16:43:17 +00:00
Robert Osfield
8c1f1e05c8 Added fxtctool in prep for adding compressed imagery swap 2004-08-16 15:43:12 +00:00
Robert Osfield
6c3eb95f7b Disabled the culling for clear node. 2004-08-16 08:55:48 +00:00
Robert Osfield
61033103bc Removed inappropriate #ifdefs 2004-08-13 10:49:45 +00:00
Robert Osfield
bd68cf9f50 Changed binding warnings to be reported as info rather than as warnings. 2004-08-07 19:08:12 +00:00
Robert Osfield
3579506fa8 Added support for osg::AutoTransform::setAutoRotateMode(AutoRotateMode) deprecating
the previous setAutoRotateToScreen().  Added support for ROTATE_TO_CAMERA mode.

Cleaned up the autotransform demo to use a sensible number of labels
2004-08-06 08:22:58 +00:00
Robert Osfield
e9f4ed87bc From Jay Zuckerman, fixes to AutoTransform so that it includes checking of
previous position value.
2004-08-05 15:15:51 +00:00
Robert Osfield
ddb7423e46 Set version numbers for 0.9.7 release 2004-08-05 08:02:48 +00:00
Robert Osfield
98d30a8ce0 From Pavel Moloshtan, fix to Image copy constructor so that it used the
correct size of image including mipmaps.
2004-08-03 18:06:36 +00:00
Robert Osfield
7126ca44e9 Better macro support for switching on/off use of mutex 2004-08-03 11:01:39 +00:00
Robert Osfield
ebad31c3dd Fixed warnings 2004-08-02 13:57:47 +00:00
Robert Osfield
6524fe1293 From Norman Vine, fixes for Mingw 2004-08-02 09:11:31 +00:00
Robert Osfield
40a1a39bff Replaced GL_PACK_ROW_LENGTH by GL_UNPACK_ROW_LENGTH 2004-07-28 12:38:54 +00:00
Robert Osfield
7deea8531e Clean up of debugging messages 2004-07-27 13:32:15 +00:00
Robert Osfield
654764a0e9 Fixed unref image so it only unref's when images are STATIC 2004-07-27 13:24:35 +00:00
Robert Osfield
bb5576bef8 Added support s/getImage(uint i) and getNumImages(). 2004-07-27 10:11:45 +00:00
Robert Osfield
c9f5749c12 Added preliminary support for thread safety in various delete GLobjects code 2004-07-21 19:16:49 +00:00
Robert Osfield
1963fac426 Replaced STOPPED by PAUSED. 2004-07-21 19:14:15 +00:00
Robert Osfield
aa833acfd3 Added support for releasing GLObjects, and renamed DisplayListVisitor the
GLObjectVisitor to better fit its function, and added support for releasing
objects as well as compiling them.
2004-07-20 05:37:59 +00:00
Robert Osfield
3e5c491f54 Added debugging message, currently commented out. 2004-07-12 13:13:58 +00:00
Robert Osfield
ba295ccab7 Added a more flexible variable on the textured quad generation function 2004-07-12 01:01:00 +00:00
Robert Osfield
788a19d3b5 Made debugging message write to osg::INFO instead of osg::NOTICE 2004-07-11 23:07:47 +00:00
Robert Osfield
363d13d7ce Added CLUSTER_CULLING mask to CullSettings, and modified the ClusterCullingCallback
to use the mask to see if cluster culling is enabled or disabled.
2004-07-11 21:46:23 +00:00
Robert Osfield
3f4b8e9034 Fixed cluster culling. 2004-07-09 20:58:43 +00:00
Robert Osfield
ba20259794 Removed debugging message 2004-07-06 12:32:09 +00:00
Robert Osfield
b8aa8bfc40 Fixed warning. 2004-07-06 12:15:03 +00:00
Robert Osfield
518cedf6c7 Added dealloc or previous image data into readImageFromTexture 2004-07-05 21:46:02 +00:00
Robert Osfield
cce00c475b Added suppor for copying mipmaps of compressed textures 2004-07-05 21:09:30 +00:00
Robert Osfield
1c2c5c4f43 From Ulrich Hertlein, added check for detailRatio<=0.0 2004-07-05 09:04:53 +00:00
Robert Osfield
c58891d168 Fixed missing member variable initialized varaibles 2004-07-05 07:42:46 +00:00
Robert Osfield
2ce192f0ae Change the light in LightSource from a generic osg::StateAttribute to
a osg::Light.
2004-07-02 14:46:24 +00:00
Robert Osfield
0c38189018 Moved the radius parameter from PageLOD into LOD. 2004-07-01 13:53:30 +00:00
Robert Osfield
a8ee967f14 Added support for using pixel size control of LOD levels. 2004-06-30 19:07:05 +00:00