Commit Graph

1617 Commits

Author SHA1 Message Date
Robert Osfield
ab1bd48511 Moved SceneView across to use an osg::CameraNode to store the projection and view matrices,
the viewport, the clear colour and the subgraph needing rendered.  This is done
transparently so all existing functionality will behave as before.  What it does
add is the ability to set a SceneView directly by a single osg::CameraNode when required.
2005-10-28 13:11:56 +00:00
Robert Osfield
af1b539132 Added documentation line about 32 being the maximum permitted number of line segmenets 2005-10-27 11:15:25 +00:00
Robert Osfield
d2487e73e5 Added support for tracking the directory of the output file whilst still maintaining
local file references within this directory.
2005-10-27 10:48:44 +00:00
Robert Osfield
9bbba5a052 From Don Tidrow, bug fix to setOutputTextureFiles(bool). 2005-10-26 20:30:15 +00:00
Robert Osfield
05703a9273 Added friend declarations of nested classes to prevent compile problems under VS6.0 2005-10-26 20:22:59 +00:00
Robert Osfield
026fba54b4 From Bob Kuehne, "changed two set methods (setFocalLength,setFieldOfView) to perform
assignment."
2005-10-26 16:02:24 +00:00
Robert Osfield
be07f48884 From Geoff Michel, compile fixes for VS6.0 2005-10-26 09:22:13 +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
598dda59f5 From Geoff Michel, added support for constrain delaunay triangultion, and osgdelaunay example. 2005-10-25 13:28:48 +00:00
Robert Osfield
d0ec2ea08f Added protected destructors. 2005-10-25 09:49:53 +00:00
Robert Osfield
285418d6f8 From Brede Johansen, changed osg_InverseViewMatrix to osg_ViewMatrixInverse to bring
into line with OpenGL shader languague conventions.

From Robert Osfield, changed the SceneView::ActiveUnforms enum to from INVERSE_VIEW_MATRIX_UNIFORM
VIEW_MATRIX_INVERSE_UNIFORM to be convistent with the above change.
2005-10-25 09:23:21 +00:00
Robert Osfield
758ee8ed80 Changes to fix divide by 0 warning under VS. 2005-10-24 18:51:36 +00:00
Robert Osfield
f2f6e6bb45 Added beginnings of Programming Guide, and NodeTrackerCallback. 2005-10-24 10:51:50 +00:00
Robert Osfield
e31c114011 From Brede Johansen, fixed INVERSE_VIEW_MATRIX_UNIFORM enum value. 2005-10-14 21:38:44 +00:00
Robert Osfield
fb524952b6 Renamed osgUtil::RenderGraph to osgUtil::StateGraph 2005-10-13 12:51:00 +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
540e676dae Added new shell of new class ConnectedParticleSystem, which will be used
for managing connect particle system for the purpose of doing missile trails etc.
2005-10-11 09:47:28 +00:00
Robert Osfield
290e0b6eed From Alberto Jaspe, added double precision interpolation method 2005-10-10 09:17:22 +00:00
Robert Osfield
a380a49509 Improved the fallback mechanism from FBO, down to PBuffer_RTT down to PBuffer down to frame buffer. 2005-10-06 11:26:07 +00:00
Robert Osfield
5cb66efc86 Moved the testing and setting up of FBO/Pbuffer extension from CullVisitor to
support into RenderStage to allow better fallback implementations.
2005-10-05 16:21:51 +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
cf2974329f Added code paths for PBuffer RTT support. 2005-10-04 18:50:00 +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
e749839061 From MFM, Added FreeBSD specific implementation for getGLExtensionFuncPtr using dlsym(RTLD_DEFAULT, xxx) 2005-10-03 19:33: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
fc675f7706 From Marco Jez, fix for gcc build. 2005-09-29 13:00:23 +00:00
Robert Osfield
400b0ab809 Fixed typo of Primitive 2005-09-29 10:25:44 +00:00
Robert Osfield
7ac71b939f Added setOverlayClearColor and setTexEnvMode and automatic set up of TexEnv. 2005-09-29 10:22:06 +00:00
Robert Osfield
d82d598115 Fixed typo of CameraNode::setRenderTargetImplementation(..) 2005-09-29 09:36:51 +00:00
Robert Osfield
b38f491c12 From Volker Walkiewicz (with tweaks from Robert Osfield):
Fix to the update of the error metrics on the edges in the simplification mesh that are affected by an edge collapse.

Addition of 'n' and 'p' keyboard control in osgsimplifier example to allow users to control the sample ratio manually.
2005-09-28 16:05:35 +00:00
Robert Osfield
3ef0406105 From Marco Jez, "Problems fixed:
1. type converters created automatically by the I_BaseType macro use
static_cast<> even for base-to-derived conversions. dynamic_cast<> should be
used instead.
2. as a consequence of the above fix, I_BaseType must now differentiate
between polymorphic and non-polymorphic base classes, because the latter
can't be dynamic_cast'd to derived classes. Some template magic (see
is_polymorphic<> in ReflectionMacros) is used to detect polymorphism at
compile time (I'm NOT sure it works on all platforms as it's partly
implementation-dependent. Please test!).
3. predefined custom property getters/setters/counters/etc. (as those
defined for STL containers) only work on Value objects that contain
non-pointer instances. This was an unwanted restriction that no longer
exists.

Wrappers will need to be recompiled. This is a good time to give them a
fresh update with genwrapper.

NOTE: fix #1 should get rid of those crashes and strange behaviours that
some users noticed while using osgIntrospection through osgTcl or in their
own code."
2005-09-28 14:18:31 +00:00
Robert Osfield
f26c3da074 From Chris Hanson, "The following files are drop-in replacements for the include/*/Export files to permit
building statically linked osg libraries under Win32."
2005-09-28 14:05:05 +00:00
Robert Osfield
97f6a82b1e From Leandro Motta Barros: fixed type of ATTRIBUTE_* 2005-09-28 13:55:22 +00:00
Robert Osfield
52dea86a3e From A. Botorabi, "slightly modified osgUtil's TangentSpaceGenerator class to allow the
option for using or not using geom's indices for tangent space vectors
generation. now, Ruben's code is also used (it was disabled before). in
order to keep backward compatibility, the compute method behaves as before
in default case."
2005-09-28 13:53:54 +00:00
Robert Osfield
9e5eed280d From Joran Jessurun, comments explaining font search rules 2005-09-28 13:45:32 +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
3c88b0cae9 Added degugging methods. 2005-09-27 20:28:42 +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
d1108ea862 Added support for "-O OutputTextureFiles" options string in .osg plugin to
allow texture files to be written out when writing out a .osg file.
2005-09-19 14:07:44 +00:00
Robert Osfield
b8ce046f88 Moved copyLeavesFromRenderGraphListToRenderLeafList into public. 2005-09-15 09:03:14 +00:00
Robert Osfield
196eafd70b Removed duplicate typedef. 2005-09-09 15:42:48 +00:00
Robert Osfield
745834c329 Added triangle index functor to src/osgUtil/SphereSegment.cpp for computing
the intersection between an indivual geometry and the sphere segment.

Converted the terrain in osgspheresegment to be an osg::Geometry based
drawable rather than a osg::ShapeDrawable/osg::HeightField one to make it
more practicle to use as a test for the new SphereSegment intersection code.
2005-09-09 11:13:40 +00:00
Robert Osfield
559219f519 Added initial interface for computing intersections between sphere segments
and terrain.
2005-09-08 13:10:04 +00:00
Robert Osfield
765db1998c Added support for cullable state, that uses a polytope to define the extents
of objects that will be influenced by it.
2005-09-07 16:18:43 +00:00
Robert Osfield
4e6a8cfcd5 Added s/getContinousUpdate(bool) method to OverlayNode. 2005-09-06 19:54:29 +00:00
Robert Osfield
5283c11f8a Added osgSim::OverlayNode to osganimate and osgspheresegment examples, and
added support for setting texture size hint and coping with scene graphs
with CoordinateSystemNode in them.
2005-09-06 15:48:18 +00:00
Robert Osfield
14980872a7 Standardised the Vec* class interfaces, and added num_components enum to aid
generic programming.
2005-09-04 11:17:00 +00:00
Robert Osfield
e404b95dc3 Added support in osgTerrain/osgdem for setting the image format to use when writing tiles out to disk 2005-09-04 06:36:52 +00:00
Robert Osfield
d58487c763 Changed red()/green()/blue()/alpha() to r()/g()/b()/a() for greater consistency
across Vec* classes and with OpenGL Shander Lanaguage.
2005-09-03 20:56:25 +00:00
Robert Osfield
21cabaf5f6 Renamed osgUtil::RenderStageLighting osgUtil::PositionalStateContainer 2005-09-02 10:35:38 +00:00
Robert Osfield
caaeaee321 Fixed typo 2005-09-01 19:12:06 +00:00
Robert Osfield
a420782199 Added osgSim::OverlayNode setup in osgsimulation, and added preliminary test
code to the osgSim::OverlayNode to test osgsimulation/the architecture.
2005-08-31 15:04:27 +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
ffb06a8c49 Added extra access methods on osgProducer::KeyboardMouseCallback, and added
support for reading and writing keyboard/mouse events in osgcluster.
2005-08-29 12:05:17 +00:00
Robert Osfield
f3be713d66 Added OveralyNode into VS project file, and fleshed out more code in the OveralyNode implementation. 2005-08-26 20:01:21 +00:00
Robert Osfield
42752347aa Added beginings of new OverlayNode, for managing a render to texture which is
then used to overaly other parts of the scene such as terrain.
2005-08-26 14:00:02 +00:00
Don BURNS
5f27216e7e made removeExpiredSubgraphs virtual. 2005-08-25 18:18:27 +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
be285c62c0 Added support for rapid movement of the emitter, with particle now seeding between
the position of the emitter in the previous frame and the new position in the new
frame, the number of particles added also scales up to compensate for this movement.
2005-08-25 14:12:08 +00:00
Robert Osfield
320d0f67e4 Removed old commented out code. 2005-08-24 19:21:12 +00:00
Robert Osfield
dedf81fa51 From Domenico Mangieri, added constructor. 2005-08-24 19:20:36 +00:00
Robert Osfield
3ac94784fc From Geoff Michel, added normal definition for tesselation 2005-08-22 15:13:04 +00:00
Robert Osfield
b50ac89b9d From Domenico Mangieri:
"I've added a Plane constructor which accepts a normal and a point.
I also removed calculateUpperLowerBBCorners() from the Plane(const
Vec3& v1, const Vec3& v2, const Vec3& v3) since the constructor is
using the function set(const Vec3& v1, const Vec3& v2, const Vec3& v3)
which already computes the upper and lower bounding box."
2005-08-22 14:07:47 +00:00
Robert Osfield
c0d6126313 From Domenico Mangieri, addded some missing const qualifiers in osgUtil::SceneView. 2005-08-22 13:58:23 +00:00
Robert Osfield
29958a5612 Added OSG_EXPORT to GrephicsThread and fixed typo in osg.dsp. 2005-08-21 15:32:38 +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
717a6dcf14 Added beginings of GraphicsThread class 2005-08-18 09:36:40 +00:00
Robert Osfield
84618ffcb3 Merged RenderToTextureStage functionality into RenderStage 2005-08-17 10:12:49 +00:00
Robert Osfield
e8fc5248fa Added realize() and isRealized() methods to osg::GraphicsContext.
Added osgcamera example that uses osg::GraphicsContext to create the required
window for rendering too, will eventually use osg::CameraNode to replace usage
of osgUtil::SceneView.
2005-08-16 13:29:07 +00:00
Robert Osfield
aedb187718 Added getStartTick() acess method 2005-08-09 10:48:50 +00:00
Robert Osfield
a5d64e5a77 Added getDisplayList access method 2005-08-09 10:48:26 +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
72a59527f5 From Marco Jez, added setEventHandled() and getEventHandled() to osgGA::EventVisitor. 2005-07-27 09:37:26 +00:00
Robert Osfield
b9a74c87e1 From Jeremy Bell,
"My patch is a slight refactoring of the mac specific code in
Registry.cpp and FileUtils.cpp, specifically around the library and
resource file path initilialization methods. This patch cleans up a
lot of the mac specific code by moving repeated code into separate
local functions in FileUtils.cpp that are only compiled on mac builds.
It also adds one function to the API,
appendPlatformSpecificResourceFilePaths in FileUtils. This function
will mirror the already existing
appendPlatformSpecificLibraryFilePaths except for resource file paths.
Currently this function is empty except when built on the mac, in
which case it will add the application bundle's internal Resources
folder and the bundle's parent folder. Previously this code was
implemented as a separate mac specific #ifdef block in Registry.cpp
around the initDataFilePathList method. However, it now is implemented
in appendPlatformSpecificResourceFilePaths in FileUtils.cpp and the
initDataFilePathList method is now the same on all platforms. This
patch should behave the same as before on non-mac platforms.

This patch already includes the fix that Eric mentioned earlier. This
patch is based off of the 0.99 release code. I have tested this patch
using the following testing scheme:

Make a proper bundled application.
While Run from the Finder:
   Test that it finds plugins in its internal plugins path.
   Test that it finds resources in its internal resources path.
   Test that it finds resources in the bundle's parent directory
   Test that it finds plugins in the user's Application Support Directory
   Test that it finds plugins in the system's Application Support Directory
   Test that it finds plugins in the Network Application Support Directory
   Check the plugin and resource path lists after they have been
initialized to see if they are in the correct order

While Run from the command line (both from it's parent directory and
from inside the /Contents/MacOS directory) and repeat the above tests.
Check that it also finds plugins and resources within the paths
defined by various environment variables.

Now, Make an application that is NOT bundled/command line only
   Test that it does NOT try to look in an internal bundle
plugin/resource directory for plugins or resources.
   Test that it finds plugins/resources in the paths defined by the
environment variables.
"
2005-07-26 21:07:31 +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
c210dd2db9 Added osg::CameraNode to ImpostorSprite in prep for moving across to using
camera node in pre rendering of impostors.
2005-07-23 19:05:42 +00:00
Robert Osfield
69efae505b Renabled impostor support using old style RenderToTextureStage setup. 2005-07-22 16:25:38 +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
37b4df3f71 Added missing typedef 2005-07-22 08:21:17 +00:00
Robert Osfield
9b34bc5c86 Added GraphicsContextImplementation 2005-07-21 19:37:44 +00:00
Robert Osfield
302c58fc93 Implemented the beginings of the osgProducer::GraphicsContexImplementation.
Added options into osgprerender for controlling how to do the pre rendering i.e.
--fbo, --pbuffer, --fb --window, and also added the option for controlling the
window size with --width and --height.
2005-07-21 19:27: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
7b23cf930e Added support for multiple colour buffers into osg::CameraNode/osgUtil::CullVisitor 2005-07-19 20:01:00 +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
5c9bd792a3 Updated wrappers 2005-07-15 21:47:11 +00:00
Robert Osfield
1c88914e5f From Yuri Vilmanis, improved multi-line justifaction support and new alignment modes 2005-07-15 16:22:53 +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
0c7f228224 From Brede Johansen, fixed range check 2005-07-15 10:48:23 +00:00
Robert Osfield
cfac4c74bc Added reference frame to TexGenNode 2005-07-15 08:32:36 +00:00
Robert Osfield
53347812cb From Mike Weiblen, addiding of Program::validateProgram and osg::isNotifyEnabled() method 2005-07-14 10:27:00 +00:00