From c068f22329d5cc722622a2183bbb22eef2093df7 Mon Sep 17 00:00:00 2001 From: Felix Morgner Date: Mon, 24 Aug 2026 11:16:07 +0200 Subject: initial import --- tool_src/BspLib/Material.h | 57 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 tool_src/BspLib/Material.h (limited to 'tool_src/BspLib/Material.h') 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_ + -- cgit v1.2.3