00001
00002 #ifndef _MESH_MATERIAL_H
00003 #define _MESH_MATERIAL_H
00004
00005 #include <string>
00006
00007 #include "IOResource.h"
00008 #include "Geometry.h"
00009
00010 namespace gk {
00011
00012
00013 struct MeshMaterial : public IOResource
00014 {
00015 float kd;
00016 float ks;
00017 float n;
00018 float ni;
00019
00020 Energy diffuse;
00021 Energy specular;
00022 Energy transmission;
00023 Energy emission;
00024
00025 std::string diffuse_texture;
00026 std::string glossy_texture;
00027 std::string name;
00028
00029
00030 MeshMaterial( const std::string& _name )
00031 :
00032 kd(.5f),
00033 ks(0.f), n(1.f),
00034 ni(1.f),
00035 diffuse(1.f, 1.f, 1.f),
00036 specular(1.f, 1.f, 1.f),
00037 transmission(),
00038 emission(),
00039 diffuse_texture(),
00040 glossy_texture(),
00041 name(_name)
00042 {}
00043
00044
00045 ~MeshMaterial( ) {}
00046 };
00047
00048 }
00049
00050 #endif
00051