Main Page | Namespace List | Class Hierarchy | Alphabetical List | Compound List | File List | Namespace Members | Compound Members | File Members

Lamp::BasicMaterial Class Reference

基本マテリアル More...

#include <BasicMaterial.h>

Inheritance diagram for Lamp::BasicMaterial:

Lamp::Material Lamp::SceneObject Lamp::GraphicsDeviceObjectHolder List of all members.

Public Member Functions

virtual bool isBasicMaterial () const
 基本マテリアルかどうか

virtual Materialcopy (u_int copyMask=0) const
 コピー

virtual BasicMaterialcopyBasicMaterial (u_int copyMask=0) const
 基本マテリアルのコピー

virtual void draw (DrawRequest *request)
 描画

virtual void setBaseTexture (Texture *baseTexture)
 ベーステクスチャの設定

virtual TexturegetBaseTexture () const
 ベーステクスチャの取得

virtual void removeBaseTexture ()
 ベーステクスチャの削除

virtual void setBaseUVIndex (int baseUVIndex)
 ベースUVインデックスの設定

virtual int getBaseUVIndex () const
 ベースUVインデックスの取得

virtual void setGlossTexture (Texture *glossTexture)
 光沢テクスチャの設定

virtual TexturegetGlossTexture () const
 光沢テクスチャの取得

virtual void removeGlossTexture ()
 光沢テクスチャの削除

virtual void setGlossUVIndex (int glossUVIndex)
 光沢UVインデックスの設定

virtual int getGlossUVIndex () const
 光沢UVインデックスの取得

virtual void setLightTexture (Texture *lightTexture)
 ライトテクスチャの設定

virtual TexturegetLightTexture () const
 ライトテクスチャの取得

virtual void removeLightTexture ()
 ライトテクスチャの削除

virtual void setLightUVIndex (int lightUVIndex)
 ライトUVインデックスの設定

virtual int getLightUVIndex () const
 ライトUVインデックスの取得

virtual void setStainTexture (Texture *stainTexture)
 汚れテクスチャの設定

virtual TexturegetStainTexture () const
 汚れテクスチャの取得

virtual void removeStainTexture ()
 汚れテクスチャの削除

virtual void setStainUVIndex (int stainUVIndex)
 汚れUVインデックスの設定

virtual int getStainUVIndex () const
 汚れUVインデックスの取得

virtual void setDiffuseColor (const Color3f &diffuseColor)
 ディフューズカラーの設定

virtual const Color3fgetDiffuseColor () const
 ディフューズカラーの取得

virtual void setSpecularColor (const Color3f &specularColor)
 スペキュラカラーの設定

virtual const Color3fgetSpecularColor () const
 スペキュラカラーの取得

virtual void setSpecularPower (float specularPower)
 スペキュラパワーの設定

virtual float getSpecularPower () const
 スペキュラパワーの取得

virtual bool isSpecularEnabled () const
 スペキュラが有効か

virtual void setAmbientColor (const Color3f &ambientColor)
 アンビエントカラーの設定

virtual const Color3fgetAmbientColor () const
 アンビエントカラーの取得

virtual void setEmissiveColor (const Color3f &emissiveColor)
 エミッシブカラーの設定

virtual const Color3fgetEmissiveColor () const
 エミッシブカラーの取得


Protected Member Functions

 BasicMaterial (const String &name, Scene *scene)
 コンストラクタ

virtual ~BasicMaterial ()
 デストラクタ

virtual int destroyChildren ()
 子の破棄

virtual void buildStateBlock (Direct3DStateBlock **startBlock, Direct3DStateBlock **endBlock)
 ステートブロックの構築


Friends

class MaterialManager

Detailed Description

基本マテリアル

Definition at line 36 of file BasicMaterial.h.


Constructor & Destructor Documentation

Lamp::BasicMaterial::BasicMaterial const String name,
Scene scene
[protected]
 

コンストラクタ

Parameters:
name 名前
scene シーン

Definition at line 37 of file BasicMaterial.cpp.

References NULL.


Member Function Documentation

void Lamp::BasicMaterial::buildStateBlock Direct3DStateBlock **  startBlock,
Direct3DStateBlock **  endBlock
[protected, virtual]
 

ステートブロックの構築

Parameters:
startBlock [out]開始ステートブロック
endBlock [out]終了ステートブロック

Implements Lamp::Material.

Definition at line 82 of file BasicMaterial.cpp.

References Lamp::BasicShaderFixed::buildStateBlock(), Lamp::ShaderManager::getBasicShaderFixed(), and Lamp::Material::setPipelineMode().

virtual Material* Lamp::BasicMaterial::copy u_int  copyMask = 0  )  const [inline, virtual]
 

コピー

Parameters:
copyMask コピーマスク
Returns:
コピーされたマテリアル

Implements Lamp::Material.

Definition at line 51 of file BasicMaterial.h.

References copyBasicMaterial().

BasicMaterial * Lamp::BasicMaterial::copyBasicMaterial u_int  copyMask = 0  )  const [virtual]
 

基本マテリアルのコピー

Parameters:
copyMask コピーマスク
Returns:
コピーされたマテリアル

Definition at line 107 of file BasicMaterial.cpp.

References Lamp::Texture::copy(), Lamp::Material::copyMaterialValue(), Lamp::SceneObject::copyTexture, Lamp::MaterialManager::createBasicMaterial(), Lamp::Scene::getMaterialManager(), Lamp::SceneObject::name_, NULL, Lamp::SceneObjectManagerTemplate< Material >::rename(), Lamp::SceneObject::scene_, setAmbientColor(), setBaseTexture(), setBaseUVIndex(), setDiffuseColor(), setEmissiveColor(), setGlossTexture(), setGlossUVIndex(), setLightTexture(), setLightUVIndex(), setSpecularColor(), setSpecularPower(), setStainTexture(), and setStainUVIndex().

Referenced by copy().

int Lamp::BasicMaterial::destroyChildren  )  [protected, virtual]
 

子の破棄

Returns:
破棄したオブジェクト数

Implements Lamp::Material.

Definition at line 51 of file BasicMaterial.cpp.

References getBaseTexture(), getGlossTexture(), getLightTexture(), getStainTexture(), NULL, removeBaseTexture(), removeGlossTexture(), removeLightTexture(), and removeStainTexture().

void Lamp::BasicMaterial::draw DrawRequest request  )  [virtual]
 

描画

Parameters:
request 描画リクエスト

Implements Lamp::Material.

Definition at line 95 of file BasicMaterial.cpp.

References Lamp::BasicShaderFixed::draw(), Lamp::Material::drawSetup(), Lamp::ShaderManager::getBasicShaderFixed(), and Lamp::Material::setPipelineMode().

virtual const Color3f& Lamp::BasicMaterial::getAmbientColor  )  const [inline, virtual]
 

アンビエントカラーの取得

Returns:
アンビエントカラー

Definition at line 300 of file BasicMaterial.h.

Referenced by Lamp::TextSceneSaver::writeBasicMaterial(), and Lamp::BinarySceneSaver::writeBasicMaterial().

virtual Texture* Lamp::BasicMaterial::getBaseTexture  )  const [inline, virtual]
 

ベーステクスチャの取得

Returns:
ベーステクスチャ

Definition at line 86 of file BasicMaterial.h.

Referenced by destroyChildren(), Lamp::TextSceneSaver::writeBasicMaterialLink(), and Lamp::BinarySceneSaver::writeBasicMaterialLink().

virtual int Lamp::BasicMaterial::getBaseUVIndex  )  const [inline, virtual]
 

ベースUVインデックスの取得

Returns:
ベースUVインデックス

Definition at line 107 of file BasicMaterial.h.

Referenced by Lamp::TextSceneSaver::writeBasicMaterial(), and Lamp::BinarySceneSaver::writeBasicMaterial().

virtual const Color3f& Lamp::BasicMaterial::getDiffuseColor  )  const [inline, virtual]
 

ディフューズカラーの取得

Returns:
ディフューズカラー

Definition at line 239 of file BasicMaterial.h.

Referenced by Lamp::TextSceneSaver::writeBasicMaterial(), and Lamp::BinarySceneSaver::writeBasicMaterial().

virtual const Color3f& Lamp::BasicMaterial::getEmissiveColor  )  const [inline, virtual]
 

エミッシブカラーの取得

Returns:
エミッシブカラー

Definition at line 318 of file BasicMaterial.h.

Referenced by Lamp::TextSceneSaver::writeBasicMaterial(), and Lamp::BinarySceneSaver::writeBasicMaterial().

virtual Texture* Lamp::BasicMaterial::getGlossTexture  )  const [inline, virtual]
 

光沢テクスチャの取得

Returns:
光沢テクスチャ

Definition at line 124 of file BasicMaterial.h.

Referenced by destroyChildren(), Lamp::TextSceneSaver::writeBasicMaterialLink(), and Lamp::BinarySceneSaver::writeBasicMaterialLink().

virtual int Lamp::BasicMaterial::getGlossUVIndex  )  const [inline, virtual]
 

光沢UVインデックスの取得

Returns:
光沢UVインデックス

Definition at line 145 of file BasicMaterial.h.

Referenced by Lamp::TextSceneSaver::writeBasicMaterial(), and Lamp::BinarySceneSaver::writeBasicMaterial().

virtual Texture* Lamp::BasicMaterial::getLightTexture  )  const [inline, virtual]
 

ライトテクスチャの取得

Returns:
ライトテクスチャ

Definition at line 162 of file BasicMaterial.h.

Referenced by destroyChildren(), Lamp::TextSceneSaver::writeBasicMaterialLink(), and Lamp::BinarySceneSaver::writeBasicMaterialLink().

virtual int Lamp::BasicMaterial::getLightUVIndex  )  const [inline, virtual]
 

ライトUVインデックスの取得

Returns:
ライトUVインデックス

Definition at line 183 of file BasicMaterial.h.

Referenced by Lamp::TextSceneSaver::writeBasicMaterial(), and Lamp::BinarySceneSaver::writeBasicMaterial().

virtual const Color3f& Lamp::BasicMaterial::getSpecularColor  )  const [inline, virtual]
 

スペキュラカラーの取得

Returns:
スペキュラカラー

Definition at line 257 of file BasicMaterial.h.

Referenced by Lamp::TextSceneSaver::writeBasicMaterial(), and Lamp::BinarySceneSaver::writeBasicMaterial().

virtual float Lamp::BasicMaterial::getSpecularPower  )  const [inline, virtual]
 

スペキュラパワーの取得

Returns:
スペキュラパワー

Definition at line 273 of file BasicMaterial.h.

Referenced by Lamp::TextSceneSaver::writeBasicMaterial(), and Lamp::BinarySceneSaver::writeBasicMaterial().

virtual Texture* Lamp::BasicMaterial::getStainTexture  )  const [inline, virtual]
 

汚れテクスチャの取得

Returns:
汚れテクスチャ

Definition at line 200 of file BasicMaterial.h.

Referenced by destroyChildren(), Lamp::TextSceneSaver::writeBasicMaterialLink(), and Lamp::BinarySceneSaver::writeBasicMaterialLink().

virtual int Lamp::BasicMaterial::getStainUVIndex  )  const [inline, virtual]
 

汚れUVインデックスの取得

Returns:
汚れUVインデックス

Definition at line 221 of file BasicMaterial.h.

Referenced by Lamp::TextSceneSaver::writeBasicMaterial(), and Lamp::BinarySceneSaver::writeBasicMaterial().

virtual bool Lamp::BasicMaterial::isBasicMaterial  )  const [inline, virtual]
 

基本マテリアルかどうか

Returns:
基本マテリアルならtrue

Reimplemented from Lamp::Material.

Definition at line 43 of file BasicMaterial.h.

virtual bool Lamp::BasicMaterial::isSpecularEnabled  )  const [inline, virtual]
 

スペキュラが有効か

Returns:
スペキュラが有効ならtrue

Definition at line 280 of file BasicMaterial.h.

virtual void Lamp::BasicMaterial::setAmbientColor const Color3f ambientColor  )  [inline, virtual]
 

アンビエントカラーの設定

Parameters:
ambientColor アンビエントカラー

Definition at line 291 of file BasicMaterial.h.

References Lamp::Material::stateChanged().

Referenced by copyBasicMaterial(), Lamp::TextSceneLoader::readBasicMaterial(), and Lamp::BinarySceneLoader::readBasicMaterial().

virtual void Lamp::BasicMaterial::setBaseTexture Texture baseTexture  )  [inline, virtual]
 

ベーステクスチャの設定

Parameters:
baseTexture 設定するベーステクスチャ

Definition at line 78 of file BasicMaterial.h.

References Lamp::Material::setTextureReferense().

Referenced by copyBasicMaterial(), Lamp::TextSceneLoader::readBasicMaterialLink(), Lamp::BinarySceneLoader::readBasicMaterialLink(), and removeBaseTexture().

virtual void Lamp::BasicMaterial::setBaseUVIndex int  baseUVIndex  )  [inline, virtual]
 

ベースUVインデックスの設定

Parameters:
baseUVIndex ベースUVインデックス

Definition at line 98 of file BasicMaterial.h.

References Assert.

Referenced by copyBasicMaterial(), Lamp::TextSceneLoader::readBasicMaterial(), and Lamp::BinarySceneLoader::readBasicMaterial().

virtual void Lamp::BasicMaterial::setDiffuseColor const Color3f diffuseColor  )  [inline, virtual]
 

ディフューズカラーの設定

Parameters:
diffuseColor ディフューズカラー

Definition at line 230 of file BasicMaterial.h.

References Lamp::Material::stateChanged().

Referenced by copyBasicMaterial(), Lamp::TextSceneLoader::readBasicMaterial(), and Lamp::BinarySceneLoader::readBasicMaterial().

virtual void Lamp::BasicMaterial::setEmissiveColor const Color3f emissiveColor  )  [inline, virtual]
 

エミッシブカラーの設定

Parameters:
emissiveColor エミッシブカラー

Definition at line 309 of file BasicMaterial.h.

References Lamp::Material::stateChanged().

Referenced by copyBasicMaterial(), Lamp::TextSceneLoader::readBasicMaterial(), and Lamp::BinarySceneLoader::readBasicMaterial().

virtual void Lamp::BasicMaterial::setGlossTexture Texture glossTexture  )  [inline, virtual]
 

光沢テクスチャの設定

Parameters:
glossTexture 設定する光沢テクスチャ

Definition at line 116 of file BasicMaterial.h.

References Lamp::Material::setTextureReferense().

Referenced by copyBasicMaterial(), Lamp::TextSceneLoader::readBasicMaterialLink(), Lamp::BinarySceneLoader::readBasicMaterialLink(), and removeGlossTexture().

virtual void Lamp::BasicMaterial::setGlossUVIndex int  glossUVIndex  )  [inline, virtual]
 

光沢UVインデックスの設定

Parameters:
glossUVIndex 光沢UVインデックス

Definition at line 136 of file BasicMaterial.h.

References Assert.

Referenced by copyBasicMaterial(), Lamp::TextSceneLoader::readBasicMaterial(), and Lamp::BinarySceneLoader::readBasicMaterial().

virtual void Lamp::BasicMaterial::setLightTexture Texture lightTexture  )  [inline, virtual]
 

ライトテクスチャの設定

Parameters:
lightTexture 設定するライトテクスチャ

Definition at line 154 of file BasicMaterial.h.

References Lamp::Material::setTextureReferense().

Referenced by copyBasicMaterial(), Lamp::TextSceneLoader::readBasicMaterialLink(), Lamp::BinarySceneLoader::readBasicMaterialLink(), and removeLightTexture().

virtual void Lamp::BasicMaterial::setLightUVIndex int  lightUVIndex  )  [inline, virtual]
 

ライトUVインデックスの設定

Parameters:
lightUVIndex ライトUVインデックス

Definition at line 174 of file BasicMaterial.h.

References Assert.

Referenced by copyBasicMaterial(), Lamp::TextSceneLoader::readBasicMaterial(), and Lamp::BinarySceneLoader::readBasicMaterial().

virtual void Lamp::BasicMaterial::setSpecularColor const Color3f specularColor  )  [inline, virtual]
 

スペキュラカラーの設定

Parameters:
specularColor スペキュラカラー

Definition at line 248 of file BasicMaterial.h.

References Lamp::Material::stateChanged().

Referenced by copyBasicMaterial(), Lamp::TextSceneLoader::readBasicMaterial(), and Lamp::BinarySceneLoader::readBasicMaterial().

virtual void Lamp::BasicMaterial::setSpecularPower float  specularPower  )  [inline, virtual]
 

スペキュラパワーの設定

Parameters:
specularPower スペキュラパワー

Definition at line 264 of file BasicMaterial.h.

References Lamp::Material::stateChanged().

Referenced by copyBasicMaterial(), Lamp::TextSceneLoader::readBasicMaterial(), and Lamp::BinarySceneLoader::readBasicMaterial().

virtual void Lamp::BasicMaterial::setStainTexture Texture stainTexture  )  [inline, virtual]
 

汚れテクスチャの設定

Parameters:
stainTexture 設定する汚れテクスチャ

Definition at line 192 of file BasicMaterial.h.

References Lamp::Material::setTextureReferense().

Referenced by copyBasicMaterial(), Lamp::TextSceneLoader::readBasicMaterialLink(), Lamp::BinarySceneLoader::readBasicMaterialLink(), and removeStainTexture().

virtual void Lamp::BasicMaterial::setStainUVIndex int  stainUVIndex  )  [inline, virtual]
 

汚れUVインデックスの設定

Parameters:
stainUVIndex 汚れUVインデックス

Definition at line 212 of file BasicMaterial.h.

References Assert.

Referenced by copyBasicMaterial(), Lamp::TextSceneLoader::readBasicMaterial(), and Lamp::BinarySceneLoader::readBasicMaterial().


The documentation for this class was generated from the following files:
Generated on Wed Mar 16 10:29:44 2005 for Lamp by doxygen 1.3.2