00001 //------------------------------------------------------------------------------ 00002 // Lamp : Open source game middleware 00003 // Copyright (C) 2004 Junpei Ohtani ( Email : junpee@users.sourceforge.jp ) 00004 // 00005 // This library is free software; you can redistribute it and/or 00006 // modify it under the terms of the GNU Lesser General Public 00007 // License as published by the Free Software Foundation; either 00008 // version 2.1 of the License, or (at your option) any later version. 00009 // 00010 // This library is distributed in the hope that it will be useful, 00011 // but WITHOUT ANY WARRANTY; without even the implied warranty of 00012 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00013 // Lesser General Public License for more details. 00014 // 00015 // You should have received a copy of the GNU Lesser General Public 00016 // License along with this library; if not, write to the Free Software 00017 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00018 //------------------------------------------------------------------------------ 00019 00020 /** @file 00021 * 変換基本マテリアルヘッダ 00022 * @author Junpee 00023 */ 00024 00025 #ifndef TRANSLATION_BASIC_MATERIAL_H_ 00026 #define TRANSLATION_BASIC_MATERIAL_H_ 00027 00028 #include <Translator/Material/TranslationMaterial.h> 00029 00030 namespace LampForMaya{ 00031 00032 //------------------------------------------------------------------------------ 00033 /** 00034 * 変換基本マテリアル 00035 */ 00036 class TranslationBasicMaterial : public TranslationMaterial{ 00037 friend class TranslationMaterialManager; 00038 public: 00039 /** 00040 * デストラクタ 00041 */ 00042 virtual ~TranslationBasicMaterial(); 00043 00044 /** 00045 * 基本マテリアルかどうか 00046 * @return 基本マテリアルならtrue 00047 */ 00048 virtual bool isBasicMaterial() const{ return true; } 00049 00050 /** 00051 * 分析 00052 * @return 成功すればtrue 00053 */ 00054 virtual bool analyze(); 00055 00056 /** 00057 * Lampへの変換 00058 * @param scene シーン 00059 * @return 成功すればtrue 00060 */ 00061 virtual bool convertToLamp(Scene* scene); 00062 00063 private: 00064 /** 00065 * コンストラクタ 00066 * @param initializeObject 初期化するオブジェクト 00067 * @param initializeName 初期化する名前 00068 */ 00069 explicit TranslationBasicMaterial( 00070 const MObject& initializeObject, const String& initializeName); 00071 00072 // コピーコンストラクタの隠蔽 00073 TranslationBasicMaterial(const TranslationBasicMaterial& copy); 00074 00075 // 代入コピーの隠蔽 00076 void operator =(const TranslationBasicMaterial& copy); 00077 00078 // ベーステクスチャ名 00079 String baseTextureName_; 00080 // ベースUVインデックス 00081 int baseUVIndex_; 00082 // 光沢テクスチャ名 00083 String glossTextureName_; 00084 // 光沢UVインデックス 00085 int glossUVIndex_; 00086 // ライトテクスチャ名 00087 String lightTextureName_; 00088 // ライトUVインデックス 00089 int lightUVIndex_; 00090 // 汚れテクスチャ名 00091 String stainTextureName_; 00092 // 汚れUVインデックス 00093 int stainUVIndex_; 00094 00095 // ディフューズカラー 00096 Color3f diffuseColor_; 00097 // スペキュラカラー 00098 Color3f specularColor_; 00099 // スペキュラパワー 00100 float specularPower_; 00101 // アンビエントカラー 00102 Color3f ambientColor_; 00103 // エミッシブカラー 00104 Color3f emissiveColor_; 00105 00106 }; 00107 00108 //------------------------------------------------------------------------------ 00109 } // End of namespace LampForMaya 00110 #endif // End of TRANSLATION_BASIC_MATERIAL_H_ 00111 //------------------------------------------------------------------------------ 00112