Robert Osfield
c7744b15a3
Converted viewer camera references to use observer_ptr<> rather than ref_ptr<> or C pointers to avoid issues with circular references/dangling pointers.
2009-01-27 14:11:37 +00:00
Robert Osfield
e0c279bf3d
Added forward declaration of callbacks to headers to avoid scoping issues of classes with same names.
2009-01-23 15:50:05 +00:00
Robert Osfield
a5c32da4ff
Warning fixes
2008-12-17 11:00:16 +00:00
Robert Osfield
ad2cb03a68
From Csaba Halasz, adding missing export directives
2008-11-06 14:04:26 +00:00
Robert Osfield
b28612bce2
Various warning fixes
2008-10-27 13:09:43 +00:00
Robert Osfield
c47d63ba1c
Added friend struct ViewData to try and avoid compile issues under HP-UX
2008-10-08 12:29:43 +00:00
Robert Osfield
ff8c6aa32b
From Mathias Froehlich, build fixes
2008-10-07 12:31:42 +00:00
Robert Osfield
7e43decf4c
From Wojciech Lewandowski, build fixes for handling Matrix::value_type == float
2008-10-06 14:18:27 +00:00
Robert Osfield
df12c7bc68
Ran dos2unix
2008-10-06 14:15:27 +00:00
Robert Osfield
236832f669
Ran dos2unix on headers
2008-10-06 08:53:54 +00:00
Robert Osfield
bf15614df6
From Wojciech Lewandowski, a range of new ShadowMap implementations include View Dependent Shadow Maps - LispSM
...
From Robert Osfield, refactored Wojciech's submission to integrated with osgShadow and use coding sytle more consistent with rest of OSG.
2008-09-19 19:51:27 +00:00
Robert Osfield
1d328ba0d4
From Christopher Blaesius,
...
"Soft shadow mapping is basically the same as hard shadow mapping beside that
it uses a different fragment shader.
So for me it makes sense that osgShadow::SoftShadowMap is derived from
osgShadow::ShadowMap, this makes it easier to maintain the two classes.
Additional SoftShadowMap also provides the same Debug methods as ShadowMap."
2008-09-18 14:48:28 +00:00
Robert Osfield
6f6f56c795
Improved the doxygen docs over the various namespaces
2008-08-05 19:17:09 +00:00
Robert Osfield
7f8183f64c
Merged changes to OpenSceneGraph-2.6 into trunk using :
...
svn merge -r 8729:8734 http://www.openscenegraph.org/svn/osg/OpenSceneGraph/branches/OpenSceneGraph-2.6 .
2008-08-05 11:17:48 +00:00
Robert Osfield
9a80c331a2
From Andre Normann, "with version 8504, I am not able to compile osgwrappers under Windows, because there are some DLL export macros missing. I fixed it and put the files in the attached zip file.
...
"
2008-06-27 10:17:38 +00:00
Robert Osfield
0faaf93dc2
From Adrian Egli, "Improvements to the PSSM implementation"
2008-06-19 14:45:54 +00:00
Robert Osfield
1047f970bb
From Adrian Egli, improvements to ParallelSplitShadowMap implementation
2008-05-28 14:11:22 +00:00
Robert Osfield
bbf4564103
From Sebastian Messerschimdt, Added polygon offset controls
2008-03-19 12:09:20 +00:00
Robert Osfield
af922cc355
Added separate unform variable to keep track of abmient contribution.
2007-12-15 15:19:18 +00:00
Robert Osfield
f4afa427a7
From Roland Smeenk, "Attached you will find a large set of small typo fixes (mainly in the comments)."
2007-12-10 17:30:18 +00:00
Robert Osfield
1dc06b4553
From Mihair Radu, "Most of the additions are small utility methods:
...
- set the resolution of the shadow map; it calls dirty() to
re-initialize at next update
- keep a list of Shader objects to use instead of the default ones, if
the list is empty, the default shaders are used
- explicitly create the Uniform variables, so that subsequent additions
that require more Uniforms can put them in a central place
- set a Light or LightSource to use explicitly for shadow casting,
allows multiple lights in the scene, with one casting shadows
There are two additions that do not ( yet ) function correctly, but in
the present usage they do not interfere with the regular usage of the
techique:
- support for using spotlights, it's using Light.spotCutoff to determine
if it's a spot-light and not point-light,
there is an error in the setup of either the shadow camera or the
texgen, most likely due to the direction of the spotlight, since the
position is being used just like in point or directional lights.
- creation of a debugHUD
the hud is created properly, ( the example included shows it ), but
it displays only white, there has been some discussion of displaying the
shadow map, but I could not find it, the addition of a simple fragment
shader with the appropriate color transform should get this going."
2007-10-02 21:45:09 +00:00
Robert Osfield
6df0110d0c
From Adrian Egli, "update the PSSM, i did some bug fixes and added new features to move the camera virtual against the view direction by applaying a simple distance factor (a), which is calculated camera eye - camera center distance. and we can move the "light camera" against the light direction (b).
...
(a) some objects behind the camera can cast shadow
(b) object aboive the camera can cast shadow
then i fixed the shadow map orientation, now screen x coordinate alinged which improve the quality"
2007-09-27 12:47:34 +00:00
Robert Osfield
d11d5b819a
From Adrian Egli, further work on PSSM implementation.
2007-09-24 15:24:23 +00:00
Robert Osfield
82b0f004e9
From Adrian Egli, update to ParallelSplitShadowMap.
2007-09-22 16:46:38 +00:00
Robert Osfield
1dc8983a76
Added EXPORT
2007-09-22 13:06:07 +00:00
Robert Osfield
55a9ea19d7
From Anders Backman, added bias and texture size methods.
...
From Robert Osfield, tweaks to the above for method parameters and indenting.
2007-09-20 10:12:58 +00:00
Robert Osfield
cf69352873
From Adrian Egli, ParallelSplitShadowMap implmentation.
...
Changes by Robert Osfield - CMakeLists.txt and name change to ParallelSplitShadowMap.
2007-09-19 11:56:44 +00:00
Robert Osfield
b20d542317
From David Callu, improved consistency of Version strings and add version support
...
for osgIntrospection and osgManipulator.
2007-09-05 17:12:24 +00:00
Robert Osfield
932608f804
From Bruno Hebelin,
...
"I have adapted to osgShadow the soft shadow map technique described in "Efficient Soft-Edged Shadows Using Pixel Shader Branching" by Yury Uralsky, Chapter 17 of GPU Gems 2 (Matt Pharr ed. Addison-Wesley).
Here is my code in attachment: basically, it works in the same way as osgShadow/ShadowMap (core code is copied from it) but implements a specific GLSL shader for the soft rendering of penumbra.
I have tested it under Linux with a NVidia graphic card, but there should be no dependency on platform nor on the graphics driver (as far as they support GLSL 2). Screenshots attached show the current results (frame rate bound to v-sync, but the shader takes actually not much time)."
2007-08-12 12:12:55 +00:00
Robert Osfield
eac3dc1963
From Paul Melis, "Here is a list of fixes to misspelled APIs. Unfortunately, more than one
...
of these are public APIs and therefore will break linkage to existing
shared libraries."
Note from Robert Osfield, updated wrappers.
2007-06-27 20:36:16 +00:00
Robert Osfield
08d3b13430
Added ShadowMap::s/getAmbientBias, updated NEWS and wrappers
2007-06-15 12:59:22 +00:00
Robert Osfield
7016db5f26
Removed ParallelSplitShadowMap as its currently a non op.
2007-06-13 09:56:12 +00:00
Robert Osfield
a9d9d387df
Fixed spelling of Receives
2007-06-04 08:38:11 +00:00
Robert Osfield
6d7b5e7ebd
From Eric Wing, pedantic warning fixes
2007-04-06 15:36:13 +00:00
Robert Osfield
37526e3bea
Implemented basic ShadowMap technique
2007-02-19 14:20:18 +00:00
Robert Osfield
d5c68cfa02
Moved CameraCullCallback into ShadowTechnique scope to make it more resusable between various Techniques
2007-02-19 12:13:30 +00:00
Robert Osfield
fd3a0c25ba
Fleshed out a bit more of the ShadowTexture implementation
2007-02-16 10:20:10 +00:00
Robert Osfield
dbb7c3c74c
Added support for using the new osgShadow plugin as a psuedo loader such that:
...
osgviewer cow.osg.shadow
Or to ShadowVolume rechnique specifically:
osgviewer cow.osg.sv.shadow
2007-02-15 22:28:32 +00:00
Robert Osfield
760cfeaadb
Cleaned up osgshadow example so that it now relies upon osgShadow for its
...
shadow implementation
2007-02-09 21:31:29 +00:00
Robert Osfield
9aae37e357
Moved the basic ShadowVolume code into osgShadow
2007-02-09 16:03:29 +00:00
Robert Osfield
c2665963bb
Further work on osgShadow::ShadowTechnique API
2007-02-08 19:34:38 +00:00
Robert Osfield
95befaf1ed
Flesh out more of basic ShadowTechnique and ShadowedScene API.
2007-02-08 17:23:40 +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
8d85636b50
Fixed typo and updated wrappers
2006-11-30 18:42:38 +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
006435e679
Added support for positional lights into computeShadowVolumeGeometry code and cleaned up OccluderGeometry interface.
2006-11-24 11:37:57 +00:00
Robert Osfield
51744272d5
Improved the ShadowVolumeGeometry orientations.
2006-11-23 21:32:49 +00:00
Robert Osfield
e7ef0ca846
First cut at generating the ShadowVolumeGeometry
2006-11-23 16:55:46 +00:00
Robert Osfield
156cf1e97f
Added basic silhoette detection
2006-11-23 11:22:49 +00:00
Robert Osfield
0a696dbdc7
Added removeNullTriangles() method to help removed triangles with coincedent corners.
2006-11-22 15:38:59 +00:00
Robert Osfield
8483624646
Added compute and visualization of triangle and vertex normals
2006-11-21 16:59:34 +00:00
Robert Osfield
91a9a87dd4
Added removeDuplicates function
2006-11-21 16:16:56 +00:00
Robert Osfield
8983544a86
Further work on osgShadow::GeometryOccluder
2006-11-10 15:07:13 +00:00
Robert Osfield
c9fed221a5
Added initial cut of osgShadow::OccluderGeometry
2006-11-07 13:43:01 +00:00
Robert Osfield
5163c4a762
First cut at class interfaces and stubs for implementations for the new osgShadow NodeKit
2006-10-06 14:16:11 +00:00