diff options
Diffstat (limited to 'include/IAnimatedMeshSceneNode.h')
-rw-r--r-- | include/IAnimatedMeshSceneNode.h | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/include/IAnimatedMeshSceneNode.h b/include/IAnimatedMeshSceneNode.h index ef16dd8..f3d3f7b 100644 --- a/include/IAnimatedMeshSceneNode.h +++ b/include/IAnimatedMeshSceneNode.h @@ -13,6 +13,8 @@ namespace irr {
namespace scene
{
+ class IShadowVolumeSceneNode;
+
enum E_JOINT_UPDATE_ON_RENDER
{
//! do nothing
@@ -85,6 +87,31 @@ namespace scene /** \return Frames per second played. */
virtual f32 getAnimationSpeed() const =0;
+ /** The shadow can be rendered using the ZPass or the zfail
+ method. ZPass is a little bit faster because the shadow volume
+ creation is easier, but with this method there occur ugly
+ looking artifacts when the camera is inside the shadow volume.
+ These error do not occur with the ZFail method, but it can
+ have trouble with clipping to the far-plane (it usually works
+ well in OpenGL and fails with other drivers).
+ \param shadowMesh: Optional custom mesh for shadow volume.
+ \param id: Id of the shadow scene node. This id can be used to
+ identify the node later.
+ \param zfailmethod: If set to true, the shadow will use the
+ zfail method, if not, zpass is used.
+ \param infinity: Value used by the shadow volume algorithm to
+ scale the shadow volume. For zfail shadow volumes on some drivers
+ only support finite shadows, so camera zfar must be larger than
+ shadow back cap,which is depending on the infinity parameter).
+ Infinity value also scales by the scaling factors of the model.
+ If shadows don't show up with zfail then try reducing infinity.
+ If shadows are cut-off then try increasing infinity.
+ \return Pointer to the created shadow scene node. This pointer
+ should not be dropped. See IReferenceCounted::drop() for more
+ information. */
+ virtual IShadowVolumeSceneNode* addShadowVolumeSceneNode(const IMesh* shadowMesh=0,
+ s32 id=-1, bool zfailmethod=true, f32 infinity=1000.0f) = 0;
+
//! Get a pointer to a joint in the mesh (if the mesh is a bone based mesh).
/** With this method it is possible to attach scene nodes to
joints for example possible to attach a weapon to the left hand
|