1 #ifndef PROCEDURAL_HXX
 2 #define PROCEDURAL_HXX
 3 
 4 #include "Vec3f.hxx"
 5 
 6 // Parent for all procedurals...
 7 class Procedural
 8 {
 9 protected:
10 	bool hasTexture;
11 	bool hasBumpMap;
12 
13 public:
14 	Procedural(bool useTexture, bool useBumpMap, bool canTexture, bool canBumpMap)
15 		: hasTexture(canTexture && useTexture), hasBumpMap(canBumpMap && useBumpMap)
16 	{};
17 
18 	virtual ~Procedural(){};
19 
20 	virtual Vec3f GetColor (Vec3f coordinate)
21 	{
22 		return Vec3f(1.0f);
23 	}
24 
25 	virtual void BumpMap(Vec3f &normal, Vec3f coordinate)
26 	{};
27 
28 	bool ProvidesTexture()
29 	{
30 		return hasTexture;
31 	}
32 
33 	bool ProvidesBumpMap()
34 	{
35 		return hasBumpMap;
36 	}
37 };
38 
39 #endif


syntax highlighted by Code2HTML, v. 0.9.1