aboutsummaryrefslogtreecommitdiff
path: root/tool_src/BspLib/Material.h
diff options
context:
space:
mode:
Diffstat (limited to 'tool_src/BspLib/Material.h')
-rw-r--r--tool_src/BspLib/Material.h57
1 files changed, 57 insertions, 0 deletions
diff --git a/tool_src/BspLib/Material.h b/tool_src/BspLib/Material.h
new file mode 100644
index 0000000..a0c0f1f
--- /dev/null
+++ b/tool_src/BspLib/Material.h
@@ -0,0 +1,57 @@
+//-----------------------------------------------------------------------------
+// BSPLIB HEADER: Material.h
+//
+// Copyright (c) 1997-1998 by Markus Hadwiger
+// All Rights Reserved.
+//-----------------------------------------------------------------------------
+
+#ifndef _MATERIAL_H_
+#define _MATERIAL_H_
+
+// bsplib header files
+#include "BspLibDefs.h"
+#include "SystemIO.h"
+
+
+BSPLIB_NAMESPACE_BEGIN
+
+
+// class that describes OpenGL-style material properties ----------------------
+//
+class Material {
+
+public:
+ Material() { }
+ ~Material() { }
+
+ ColorRGBA getAmbientColor() { return ambientcolor; }
+ ColorRGBA getDiffuseColor() { return diffusecolor; }
+ ColorRGBA getSpecularColor() { return specularcolor; }
+ ColorRGBA getEmissiveColor() { return emissivecolor; }
+
+ void setAmbientColor( ColorRGBA col ) { ambientcolor = col; ambientcolor.A = 255; }
+ void setDiffuseColor( ColorRGBA col ) { diffusecolor = col; diffusecolor.A = 255; }
+ void setSpecularColor( ColorRGBA col ) { specularcolor = col; specularcolor.A = 255; }
+ void setEmissiveColor( ColorRGBA col ) { emissivecolor = col; emissivecolor.A = 255; }
+
+ float getShininess() { return shininess; }
+ float getTransparency() { return transparency; }
+
+ void setShininess( float s ) { shininess = s; }
+ void setTransparency( float t ) { transparency = t; }
+
+private:
+ ColorRGBA ambientcolor; // OpenGL-style material properties
+ ColorRGBA diffusecolor;
+ ColorRGBA specularcolor;
+ ColorRGBA emissivecolor;
+ float shininess;
+ float transparency;
+};
+
+
+BSPLIB_NAMESPACE_END
+
+
+#endif // _MATERIAL_H_
+