diff options
| author | Felix Morgner <felix.morgner@gmail.com> | 2026-08-24 11:16:07 +0200 |
|---|---|---|
| committer | Felix Morgner <felix.morgner@gmail.com> | 2026-08-24 11:16:07 +0200 |
| commit | c068f22329d5cc722622a2183bbb22eef2093df7 (patch) | |
| tree | 12d56c1aede67988a55e241364606bfbb4dba933 /tool_src/BspLib/Material.h | |
| download | openparsec-main.tar.xz openparsec-main.zip | |
Diffstat (limited to 'tool_src/BspLib/Material.h')
| -rw-r--r-- | tool_src/BspLib/Material.h | 57 |
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_ + |
