Cafu Engine
RenderMaterial.hpp
1 /*
2 Cafu Engine, http://www.cafu.de/
3 Copyright (c) Carsten Fuchs and other contributors.
4 This project is licensed under the terms of the MIT license.
5 */
6 
7 /**********************/
8 /*** RenderMaterial ***/
9 /**********************/
10 
11 #ifndef CAFU_MATSYS_RENDERMATERIAL_HPP_INCLUDED
12 #define CAFU_MATSYS_RENDERMATERIAL_HPP_INCLUDED
13 
14 #include "../Material.hpp"
15 
16 
17 class ShaderT;
18 class TextureMap2DT;
19 class TextureMapCubeT;
20 
21 
22 namespace MatSys
23 {
24  /// This class represents a surface render material.
26  {
27  private:
28 
29  RenderMaterialT(const RenderMaterialT&); // Use of the Copy Constructor is not allowed.
30  void operator = (const RenderMaterialT&); // Use of the Assignment Operator is not allowed.
31 
32 
33  public:
34 
35  RenderMaterialT(const MaterialT* Material_);
36  ~RenderMaterialT();
37 
38  const MaterialT* Material;
39 
40  ShaderT* AmbientShader;
41  ShaderT* LightShader;
42 
43  TextureMap2DT* DiffTexMap;
44  TextureMap2DT* NormTexMap;
45  TextureMap2DT* SpecTexMap;
46  TextureMap2DT* LumaTexMap;
47  TextureMap2DT* LightTexMap;
48  TextureMap2DT* SHLTexMap;
49  TextureMapCubeT* Cube1TexMap;
50  TextureMapCubeT* Cube2TexMap;
51 
52  const bool UseDefaultLightMap;
53  const bool UseDefaultSHLMap;
54  };
55 }
56 
57 #endif
This class represents a surface render material.
Definition: RenderMaterial.hpp:25
This class represents a surface material ("A datastructural representation of a scripts material def...
Definition: Material.hpp:22
This class represents a shader.
Definition: Shader.hpp:28
This class represents a cube texture-map.
Definition: TextureMapImpl.hpp:92
This class represents a 2D texture-map.
Definition: TextureMapImpl.hpp:46