00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016 #ifndef _IMATERIAL_H_
00017 #define _IMATERIAL_H_
00018
00019
00020 #include <ishading.h>
00021
00022
00023 #include <maya/MColor.h>
00024 #include <maya/MMaterial.h>
00025
00027 class IMaterial {
00028
00029 public:
00030
00032 IMaterial();
00033
00035 ~IMaterial();
00036
00037
00038 void setMaterialProperties( MMaterial& blinnMaterial );
00039
00041 void registerShaderParameters( IShading* impl);
00042
00044 void bindShaderParameters( ) const;
00045
00046 private:
00047
00048
00049 MColor diffuseContribution;
00050 MColor specularContribution;
00051 float shinny;
00052
00053
00054 CGparameter material_diffuse;
00055 CGparameter material_specular;
00056 CGparameter material_shinny;
00057
00058 };
00059
00060 #endif
00061