absence_thelab
annotate src/3deng/material.h @ 0:1cffe3409164
initial commit
author | John Tsiombikas <nuclear@member.fsf.org> |
---|---|
date | Thu, 23 Oct 2014 01:46:07 +0300 |
parents | |
children |
rev | line source |
---|---|
nuclear@0 | 1 #ifndef _MATERIAL_H_ |
nuclear@0 | 2 #define _MATERIAL_H_ |
nuclear@0 | 3 |
nuclear@0 | 4 #include <string> |
nuclear@0 | 5 #include <vector> |
nuclear@0 | 6 #include "d3d8.h" |
nuclear@0 | 7 #include "3dengtypes.h" |
nuclear@0 | 8 #include "color.h" |
nuclear@0 | 9 |
nuclear@0 | 10 enum TextureType { |
nuclear@0 | 11 TextureMap = 0, |
nuclear@0 | 12 DetailMap, |
nuclear@0 | 13 OpacityMap, |
nuclear@0 | 14 LightMap, |
nuclear@0 | 15 BumpMap, |
nuclear@0 | 16 EnvironmentMap, |
nuclear@0 | 17 SpecularMap |
nuclear@0 | 18 }; |
nuclear@0 | 19 |
nuclear@0 | 20 const int NumberOfTextureTypes = 7; |
nuclear@0 | 21 |
nuclear@0 | 22 class Material : public D3DMATERIAL8 { |
nuclear@0 | 23 public: |
nuclear@0 | 24 std::string name; |
nuclear@0 | 25 Texture *Maps[NumberOfTextureTypes]; |
nuclear@0 | 26 float EnvBlend, BumpIntensity; |
nuclear@0 | 27 float Alpha; |
nuclear@0 | 28 bool SpecularEnable; |
nuclear@0 | 29 |
nuclear@0 | 30 Material(); |
nuclear@0 | 31 Material(float r, float g, float b, float a=1.0f); |
nuclear@0 | 32 |
nuclear@0 | 33 void SetAmbient(float r, float g, float b); |
nuclear@0 | 34 void SetAmbient(const Color &col); |
nuclear@0 | 35 void SetDiffuse(float r, float g, float b); |
nuclear@0 | 36 void SetDiffuse(const Color &col); |
nuclear@0 | 37 void SetSpecular(float r, float g, float b); |
nuclear@0 | 38 void SetSpecular(const Color &col); |
nuclear@0 | 39 void SetEmissive(float r, float g, float b); |
nuclear@0 | 40 void SetEmissive(const Color &col); |
nuclear@0 | 41 void SetSpecularPower(float pow); |
nuclear@0 | 42 void SetAlpha(float alpha); |
nuclear@0 | 43 void SetEnvBlend(float value); |
nuclear@0 | 44 |
nuclear@0 | 45 void SetTexture(Texture *texture, TextureType type); |
nuclear@0 | 46 }; |
nuclear@0 | 47 |
nuclear@0 | 48 |
nuclear@0 | 49 #endif // _MATERIAL_H_ |