7 #ifndef CAFU_SCENEGRAPH_FACENODE_HPP_INCLUDED
8 #define CAFU_SCENEGRAPH_FACENODE_HPP_INCLUDED
11 #include "MaterialSystem/Mesh.hpp"
12 #include "Math3D/Polygon.hpp"
16 class RenderMaterialT;
75 void InitRenderMeshesAndMats(
const ArrayT<Vector3dT>& SharedVertices,
const float LightMapPatchSize);
91 void WriteTo(std::ostream& OutFile,
aux::PoolT& Pool)
const;
97 void DrawStencilShadowVolumes(
const Vector3dT& LightPos,
const float LightRadius)
const;
98 void DrawLightSourceContrib(
const Vector3dT& ViewerPos,
const Vector3dT& LightPos)
const;
99 void DrawTranslucentContrib(
const Vector3dT& ViewerPos)
const;
MaterialT * Material
The material that is assigned to this face. The pointer points into the MaterialManager-maintained li...
Definition: FaceNode.hpp:114
unsigned short PosT
T-Position unserer Teil-LightMap innerhalb der LightMap.
Definition: FaceNode.hpp:43
This class manages lightmaps, e.g. by "allocating" rectangular areas in larger bitmaps.
Definition: LightMapMan.hpp:25
This class represents a surface render material.
Definition: RenderMaterial.hpp:25
unsigned short SizeT
T-Größe unserer Teil-LightMap.
Definition: FaceNode.hpp:45
void InitDefaultLightMaps(const float LightMapPatchSize)
If this NodeT uses lightmaps, this methods initializes default (full-bright) lightmaps for it at the ...
Definition: FaceNode.cpp:664
LightMapManT & GetLightMapMan() const
Returns the LightMapMan. For CaBSP.
Definition: FaceNode.hpp:81
unsigned short LightMapNr
In welcher LightMap liegt unsere Teil-LightMap?
Definition: FaceNode.hpp:41
Definition: FaceNode.hpp:27
This class manages SHL maps, e.g. by "allocating" rectangular areas in larger coefficient maps...
Definition: SHLMapMan.hpp:25
ArrayT< unsigned long > & GetDrawIndices()
Returns the DrawIndices. For CaBSP.
Definition: FaceNode.hpp:78
unsigned short PosS
S-Position unserer Teil-LightMap innerhalb der LightMap.
Definition: FaceNode.hpp:42
void DrawAmbientContrib(const Vector3dT &ViewerPos) const
Draws the contents of this scene node.
Definition: FaceNode.cpp:566
Definition: FaceNode.hpp:39
~FaceNodeT()
The destructor.
Definition: FaceNode.cpp:205
unsigned short SizeS
S-Größe unserer Teil-SHLMap.
Definition: FaceNode.hpp:53
Definition: PatchMesh.hpp:33
This class represents a surface material ("A datastructural representation of a scripts material def...
Definition: Material.hpp:22
unsigned short PosS
S-Position unserer Teil-SHLMap innerhalb der SHLMap.
Definition: FaceNode.hpp:51
static FaceNodeT * CreateFromFile_cw(std::istream &InFile, aux::PoolT &Pool, LightMapManT &LMM, SHLMapManT &SMM)
Named constructor.
Definition: FaceNode.cpp:78
void CreatePatchMeshes(ArrayT< PatchMeshT > &PatchMeshes, ArrayT< ArrayT< ArrayT< Vector3dT > > > &SampleCoords, const float LightMapPatchSize) const
Creates the patch meshes for this NodeT for the purpose of radiosity computations (CaLight)...
Definition: FaceNode.cpp:727
void BackToLightMap(const PatchMeshT &PatchMesh, const float LightMapPatchSize)
Takes the patches of the given patch mesh back into the lightmap of this node.
Definition: FaceNode.cpp:870
static const double ROUND_EPSILON
The maximum amount that is allowed for geometry-related rounding errors.
Definition: FaceNode.hpp:111
unsigned short SHLMapNr
In welcher SHLMap liegt unsere Teil-SHLMap?
Definition: FaceNode.hpp:50
FaceNodeT(LightMapManT &LMM, SHLMapManT &SMM)
The constructor for creating an "empty" face.
Definition: FaceNode.cpp:26
unsigned short SizeT
T-Größe unserer Teil-SHLMap.
Definition: FaceNode.hpp:54
Definition: FaceNode.hpp:48
SHLMapManT & GetSHLMapMan() const
Returns the SHLMapMan. For CaBSP.
Definition: FaceNode.hpp:84
bool IsOpaque() const
TODO / FIXME: This method is a hot-fix for getting the render order with translucent Bezier Patches r...
Definition: FaceNode.cpp:560
bool GetLightmapColorNearPosition(const Vector3dT &Pos, Vector3fT &LightMapColor, const float LightMapPatchSize) const
Determines the lightmap color of this face near position Pos.
Definition: FaceNode.cpp:412
unsigned short SizeS
S-Größe unserer Teil-LightMap.
Definition: FaceNode.hpp:44
const BoundingBox3T< double > & GetBoundingBox() const
Returns the bounding box of the contents of this scene node.
Definition: FaceNode.cpp:554
Definition: FaceNode.hpp:31
unsigned short PosT
T-Position unserer Teil-SHLMap innerhalb der SHLMap.
Definition: FaceNode.hpp:52
Definition: Renderer.hpp:16
This class represents a polygonal mesh.
Definition: Mesh.hpp:45