29 #ifndef __SHADOWSPHERE_H__
30 #define __SHADOWSPHERE_H__
58 Inst< SFFloat > _radius = 0,
59 Inst< SFVec3f > _position = 0,
60 Inst< SFInt32 > _detailLevel = 0 );
62 virtual void update();
90 virtual void computeShadowVolumeInformationCPU(
const LightDataStruct& light_data, Matrix4f accumulated_fwd,
bool render_caps, std::vector< Vec4d >& coord );
92 virtual void renderShadowGPU(
const LightDataStruct& light_data, Matrix4f accumulated_fwd,
bool render_caps );
96 void buildGeometryData(
bool is_dir_light,
int detail_level,
H3DFloat radius,
bool render_caps,
97 Vec3f light_dir, Vec3f light_pos, std::vector<Vec4d>& coord, Matrix4f local_to_global = Matrix4f(),
bool coords_in_global =
false );
101 Matrix4f transform_matrix_ts;
108 void addConvexPolygon(
const vector< H3DInt32 > polygon_indices,
size_t start_i,
size_t end_i, vector<int> &indices );
110 void addTriangle(
unsigned int a,
unsigned int b,
unsigned int c, vector<int> &indices );
Header file for DirectionalLight, X3D scene-graph node.
Header file for H3DShadowObjectNode.
Header file for PointLight, X3D scene-graph node.
Contains the SFInt32 field class.
The H3DShadowObjectNode is the base class for all shadow objects for use in the ShadowCaster node.
Definition: H3DShadowObjectNode.h:49
The ShadowSphere object specifies a sphere casting a shadow for use in the ShadowCaster node.
Definition: ShadowSphere.h:53
H3DUniquePtr< SFFloat > radius
The radius of the sphere.
Definition: ShadowSphere.h:69
H3DUniquePtr< SFVec3f > position
The position of the sphere.
Definition: ShadowSphere.h:76
static H3DNodeDatabase database
The H3DNodeDatabase for this node.
Definition: ShadowSphere.h:88
H3DUniquePtr< SFInt32 > detailLevel
The detailLevel field specifies the nr of faces to use for the sides of the shadow cone/cylinder that...
Definition: ShadowSphere.h:85
H3D API namespace.
Definition: Anchor.h:38
The H3DNodeDatabase contains a mapping between a name of a Node and the constructor for the Node with...
Definition: H3DNodeDatabase.h:194