7 #ifndef CAFU_SCENEGRAPH_NODE_INTERFACE_HPP_INCLUDED
8 #define CAFU_SCENEGRAPH_NODE_INTERFACE_HPP_INCLUDED
10 #include "Math3D/BoundingBox.hpp"
11 #include "Math3D/Vector3.hpp"
12 #include "PatchMesh.hpp"
46 virtual void WriteTo(std::ostream& OutFile,
aux::PoolT& Pool)
const
82 virtual void DrawStencilShadowVolumes(
const Vector3dT& LightPos,
const float LightRadius)
const
86 virtual void DrawLightSourceContrib(
const Vector3dT& ViewerPos,
const Vector3dT& LightPos)
const
90 virtual void DrawTranslucentContrib(
const Vector3dT& ViewerPos)
const
virtual void DrawAmbientContrib(const Vector3dT &ViewerPos) const
Draws the contents of this scene node.
Definition: Node.hpp:73
This class manages lightmaps, e.g. by "allocating" rectangular areas in larger bitmaps.
Definition: LightMapMan.hpp:25
This class represents terrains, offering methods for LoD rendering and collision detection.
Definition: Terrain.hpp:17
This class manages SHL maps, e.g. by "allocating" rectangular areas in larger coefficient maps...
Definition: SHLMapMan.hpp:25
The plant description manager holds and manages all plant descriptions so they can be shared with mul...
Definition: PlantDescrMan.hpp:19
virtual void InitDefaultLightMaps(const float LightMapPatchSize)
If this NodeT uses lightmaps, this methods initializes default (full-bright) lightmaps for it at the ...
Definition: Node.hpp:99
Definition: PatchMesh.hpp:33
static GenericNodeT * CreateFromFile_cw(std::istream &InFile, aux::PoolT &Pool, LightMapManT &LMM, SHLMapManT &SMM, PlantDescrManT &PDM, const ArrayT< const TerrainT * > &ShTe, ModelManagerT &ModelMan)
Reads a GenericNodeT from InFile.
Definition: Node.cpp:19
virtual ~GenericNodeT()
The virtual destructor, so that derived classes can safely be deleted via a GenericNodeT (base class)...
Definition: Node.hpp:44
virtual void BackToLightMap(const PatchMeshT &PatchMesh, const float LightMapPatchSize)
Takes the patches of the given patch mesh back into the lightmap of this node.
Definition: Node.hpp:119
virtual const BoundingBox3T< double > & GetBoundingBox() const
Returns the bounding box of the contents of this scene node.
Definition: Node.hpp:51
virtual bool IsOpaque() const
TODO / FIXME: This method is a hot-fix for getting the render order with translucent Bezier Patches r...
Definition: Node.hpp:66
This class is used for managing model instances.
Definition: ModelManager.hpp:31
Definition: Renderer.hpp:16
virtual 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: Node.hpp:114