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