blob: a0c0f1f25316d7c949b1497b1d308522daccd93c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
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_
|