arsa  2.7
IShadowVolumeSceneNode.h
Go to the documentation of this file.
1 // Copyright (C) 2002-2012 Nikolaus Gebhardt
2 // This file is part of the "Irrlicht Engine".
3 // For conditions of distribution and use, see copyright notice in irrlicht.h
4 
5 #ifndef __I_SHADOW_VOLUME_SCENE_NODE_H_INCLUDED__
6 #define __I_SHADOW_VOLUME_SCENE_NODE_H_INCLUDED__
7 
8 #include "ISceneNode.h"
9 
10 namespace irr
11 {
12 namespace scene
13 {
14  class IMesh;
15 
17  {
20 
22 
30  };
31 
34  {
35  public:
36 
39  : ISceneNode(parent, mgr, id) {}
40 
42 
44  virtual void setShadowMesh(const IMesh* mesh) = 0;
45 
47  virtual void updateShadowVolumes() = 0;
48 
50 
55  virtual void setOptimization(ESHADOWVOLUME_OPTIMIZATION optimization) = 0;
56 
58  virtual ESHADOWVOLUME_OPTIMIZATION getOptimization() const = 0;
59  };
60 
61 } // end namespace scene
62 } // end namespace irr
63 
64 #endif
65 
Create volumes around every triangle.
GLuint id
Scene node for rendering a shadow volume into a stencil buffer.
Scene node interface.
Definition: ISceneNode.h:40
IShadowVolumeSceneNode(ISceneNode *parent, ISceneManager *mgr, s32 id)
constructor
Everything in the Irrlicht Engine can be found in this namespace.
Definition: CARSADPad.h:6
virtual void updateShadowVolumes()=0
Updates the shadow volumes for current light positions.
Class which holds the geometry of an object.
Definition: IMesh.h:71
Create volumes only around the silhouette of the mesh.
signed int s32
32 bit signed variable.
Definition: irrTypes.h:70
virtual void setOptimization(ESHADOWVOLUME_OPTIMIZATION optimization)=0
Set optimization used to create shadow volumes.
The Scene Manager manages scene nodes, mesh resources, cameras and all the other stuff.
virtual void setShadowMesh(const IMesh *mesh)=0
Sets the mesh from which the shadow volume should be generated.
virtual ESHADOWVOLUME_OPTIMIZATION getOptimization() const =0
Get currently active optimization used to create shadow volumes.