ランタイム
IDefaultMaterial.h
Go to the documentation of this file.
1 #pragma once
2 
5 
6 #include "Mix/Scene/IMaterial.h"
7 
8 namespace Mix{ namespace Scene{
9 
40  {
41  public:
45  {
49  };
50 
54  {
57  };
58 
62  {
67  };
68 
72  {
76  };
77 
80  enum BUMP_TYPE
81  {
84  };
85 
88  enum WAVE_TYPE
89  {
92  };
93 
96  enum WAVE_DIR
97  {
102  };
103 
104  protected:
106  virtual ~IDefaultMaterial( void ) {}
107 
108  public:
111  virtual const wchar_t* GetName( void ) const = 0;
112 
116 
119  virtual Mix::Graphics::BLEND_TYPE GetBlendType( void ) const = 0;
122  virtual void SetBlendType( Mix::Graphics::BLEND_TYPE type ) = 0;
123 
126  virtual Mix::Graphics::CULL_TYPE GetCullingType( void ) const = 0;
129  virtual void SetCullingType( Mix::Graphics::CULL_TYPE type ) = 0;
130 
133  virtual Boolean IsZWrite( void ) const = 0;
136  virtual void SetZWrite( Boolean state ) = 0;
137 
143  virtual void SetTextureFilterType( Mix::Graphics::TEXTURE_FILTER_TYPE filter ) = 0;
144 
151 
154  virtual Boolean IsBothFacesLighting( void ) const = 0;
155 
158  virtual Boolean IsReceiveShadow( void ) const = 0;
161  virtual Boolean IsCastShadow( void ) const = 0;
162 
165  virtual const Mix::Vector4& GetAmbientColor( void ) const = 0;
168  virtual void SetAmbientColor( const Mix::Vector4& color ) = 0;
169 
175  virtual const Mix::Vector4& GetDiffuseColor( void ) const = 0;
178  virtual void SetDiffuseColor( const Mix::Vector4& color ) = 0;
182  virtual Boolean GetDiffuseTexture( Mix::Graphics::ITexture** ppTexture ) = 0;
189  virtual Boolean SetDiffuseTexture( Mix::Graphics::ITexture* pTexture ) = 0;
192  virtual Boolean IsDiffuseFresnel( void ) const = 0;
195  virtual Float32 GetDiffuseFresnelIntensity( void ) const = 0;
198  virtual void SetDiffuseFresnelIntensity( Float32 intensity ) = 0;
201  virtual Boolean IsDiffuseRL( void ) const = 0;
204  virtual Float32 GetDiffuseRLHardness( void ) const = 0;
207  virtual void SetDiffuseRLHardness( Float32 hardness ) = 0;
210  virtual Float32 GetDiffuseRLScale( void ) const = 0;
213  virtual void SetDiffuseRLScale( Float32 scale ) = 0;
214 
220  virtual const Mix::Vector4& GetSpecularColor( void ) const = 0;
223  virtual void SetSpecularColor( const Mix::Vector4& color ) = 0;
227  virtual Boolean GetSpecularTexture( Mix::Graphics::ITexture** ppTexture ) = 0;
234  virtual Boolean SetSpecularTexture( Mix::Graphics::ITexture* pTexture ) = 0;
237  virtual Float32 GetSpecularHardness( void ) const = 0;
240  virtual void SetSpecularHardness( Float32 hardness ) = 0;
243  virtual Float32 GetSpecularScale( void ) const = 0;
246  virtual void SetSpecularScale( Float32 scale ) = 0;
249  virtual Float32 GetSpecularCTFresnel( void ) const = 0;
252  virtual void SetSpecularCTFresnel( Float32 fresnel ) = 0;
255  virtual Float32 GetSpecularCTRoughness( void ) const = 0;
258  virtual void SetSpecularCTRoughness( Float32 roughness ) = 0;
259 
265  virtual Float32 GetReflectScale( void ) const = 0;
268  virtual void SetReflectScale( Float32 scale ) = 0;
271  virtual Float32 GetReflectIntensity( void ) const = 0;
274  virtual void SetReflectIntensity( Float32 intensity ) = 0;
277  virtual Float32 GetReflectBias( void ) const = 0;
280  virtual void SetReflectBias( Float32 bias ) = 0;
283  virtual Float32 GetReflectExprosure( void ) const = 0;
286  virtual void SetReflectExprosure( Float32 exprosure ) = 0;
287 
290  virtual const Mix::Vector4& GetEmissiveColor( void ) const = 0;
293  virtual void SetEmissiveColor( const Mix::Vector4& color ) = 0;
296  virtual Float32 GetEmissiveScale( void ) const = 0;
299  virtual void SetEmissiveScale( Float32 scale ) = 0;
303  virtual Boolean GetEmissiveTexture( Mix::Graphics::ITexture** ppTexture ) = 0;
310  virtual Boolean SetEmissiveTexture( Mix::Graphics::ITexture* pTexture ) = 0;
311 
314  virtual Boolean IsBump( void ) const = 0;
317  virtual Mix::Scene::IDefaultMaterial::BUMP_TYPE GetBumpType( void ) const = 0;
321  virtual Boolean GetBumpTexture( Mix::Graphics::ITexture** ppTexture ) = 0;
328  virtual Boolean SetBumpTexture( Mix::Graphics::ITexture* pTexture ) = 0;
331  virtual Float32 GetBumpHeightScale( void ) const = 0;
334  virtual void SetBumpHeightScale( Float32 scale ) = 0;
337  virtual Int32 GetBumpSampleCount( void ) const = 0;
340  virtual void SetBumpSampleCount( Int32 sampleCount ) = 0;
343  virtual Float32 GetBumpReflectFactor( void ) const = 0;
346  virtual void SetBumpReflectFactor( Float32 factor ) = 0;
347 
350  virtual Boolean IsWave( void ) const = 0;
353  virtual Mix::Scene::IDefaultMaterial::WAVE_TYPE GetWaveType( void ) const = 0;
356  virtual Mix::Scene::IDefaultMaterial::WAVE_DIR GetWaveDir( void ) const = 0;
359  virtual void SetWaveDir( Mix::Scene::IDefaultMaterial::WAVE_DIR dir ) = 0;
362  virtual Boolean IsWaveInvert( void ) const = 0;
365  virtual Float32 GetWaveVelocity( void ) const = 0;
368  virtual void SetWaveVelocity( Float32 vel ) = 0;
371  virtual Float32 GetWaveUVOffset( void ) const = 0;
374  virtual void SetWaveUVOffset( Float32 uvOffset ) = 0;
377  virtual Float32 GetWaveGap( void ) const = 0;
380  virtual void SetWaveGap( Float32 gap ) = 0;
383  virtual Float32 GetWaveRefractiveIndex( void ) const = 0;
386  virtual void SetWaveRefractiveIndex( Float32 index ) = 0;
387 
390  virtual Boolean IsSoftParticle( void ) const = 0;
393  virtual Float32 GetSoftParticleThickness( void ) const = 0;
396  virtual void SetSoftParticleThickness( Float32 tickness ) = 0;
397  };
398 
399 }}
virtual const wchar_t * GetName(void) const =0
名前を取得します
テクスチャ空間の左方向
Definition: IDefaultMaterial.h:98
virtual Mix::Scene::IDefaultMaterial::WAVE_DIR GetWaveDir(void) const =0
ウェーブの方向を取得します
virtual Float32 GetDiffuseRLHardness(void) const =0
ディフューズのリムライティングの鋭さを取得します
virtual Mix::Scene::IDefaultMaterial::REFLECT_TYPE GetReflectType(void) const =0
反射タイプを取得します
virtual void SetReflectExprosure(Float32 exprosure)=0
反射の露光を設定します
virtual Float32 GetReflectExprosure(void) const =0
反射の露光を取得します
virtual Mix::Scene::IDefaultMaterial::SPECULAR_TYPE GetSpecularType(void) const =0
スペキュラーのタイプを取得します
virtual void SetDiffuseRLHardness(Float32 hardness)=0
ディフューズのリムライティングの鋭さを設定します
DIFFUSE_TYPE
ディフューズタイプ列挙定数
Definition: IDefaultMaterial.h:53
virtual Float32 GetWaveRefractiveIndex(void) const =0
ウェーブの屈折率を取得します
virtual void SetDiffuseColor(const Mix::Vector4 &color)=0
ディフューズカラーを設定します
virtual const Mix::Vector4 & GetSpecularColor(void) const =0
スペキュラーカラーを取得します
virtual void SetTextureAddressType(Mix::Graphics::TEXTURE_ADDRESS_TYPE address)=0
テクスチャ座標の解決方法を設定します
屈折効果
Definition: IDefaultMaterial.h:91
virtual ~IDefaultMaterial(void)
デストラクタ
Definition: IDefaultMaterial.h:106
virtual Boolean IsDiffuseFresnel(void) const =0
ディフューズにフレネル効果かあるかどうかを取得します
virtual Float32 GetSpecularCTRoughness(void) const =0
スペキュラー( クックトランス )の粗さを設定します
virtual void SetBumpHeightScale(Float32 scale)=0
バンプのヘイトスケールを設定します
マテリアルインターフェースインクルードファイル
ブリンフォン
Definition: IDefaultMaterial.h:65
テクスチャインターフェース
Definition: ITexture.h:12
virtual void SetEmissiveScale(Float32 scale)=0
エミッシブのスケールを設定します
クックトランス
Definition: IDefaultMaterial.h:66
REFLECT_TYPE
反射タイプ列挙定数
Definition: IDefaultMaterial.h:71
デフォルトマテリアルインターフェース
Definition: IDefaultMaterial.h:39
virtual Boolean IsSoftParticle(void) const =0
ソフトパーティクルかどうかを確認します
virtual void SetSpecularCTFresnel(Float32 fresnel)=0
スペキュラー( クックトランス )の反射強度を設定します
virtual Boolean IsReceiveShadow(void) const =0
自身に影を落とすかどうかを確認します
TEXTURE_FILTER_TYPE
テクスチャフィルタタイプ列挙定数
Definition: Common.h:1545
virtual Float32 GetSpecularHardness(void) const =0
スペキュラーの鋭さを取得します
テクスチャ空間の右方向
Definition: IDefaultMaterial.h:99
テクスチャ空間の下方向
Definition: IDefaultMaterial.h:101
通常
Definition: IDefaultMaterial.h:90
virtual const Mix::Vector4 & GetDiffuseColor(void) const =0
ディフューズカラーを取得します
フォン
Definition: IDefaultMaterial.h:64
virtual Float32 GetDiffuseFresnelIntensity(void) const =0
ディフューズのフレネル効果の強度を取得します
通常
Definition: IDefaultMaterial.h:74
virtual Float32 GetSoftParticleThickness(void) const =0
ソフトパーティクルの厚みを取得します
virtual Boolean IsCastShadow(void) const =0
他者に影を落とすかどうかを確認します
ウォーター
Definition: IDefaultMaterial.h:47
法線マッピング
Definition: IDefaultMaterial.h:82
int Int32
符号有り32ビット整数
Definition: Common.h:65
virtual Float32 GetReflectIntensity(void) const =0
反射の強さを取得します
virtual Boolean IsZWrite(void) const =0
深度を書き込むかどうかを確認します
virtual Boolean SetSpecularTexture(Mix::Graphics::ITexture *pTexture)=0
スペキュラーテクスチャを設定します
virtual Mix::Graphics::BLEND_TYPE GetBlendType(void) const =0
ブレンドタイプを取得します
virtual Boolean IsDiffuseRL(void) const =0
ディフューズのリムライティングが有効かどうかを取得します
virtual Boolean IsWaveInvert(void) const =0
ウェーブのペアの方向を逆転しているかどうかを確認します
virtual Mix::Graphics::TEXTURE_ADDRESS_TYPE GetTextureAddressType(void) const =0
テクスチャ座標の解決方法を取得します
virtual Float32 GetSpecularCTFresnel(void) const =0
スペキュラー( クックトランス )の反射強度を取得します
virtual void SetSpecularColor(const Mix::Vector4 &color)=0
スペキュラーカラーを設定します
virtual void SetWaveGap(Float32 gap)=0
ウェーブのペアとの相対速度を設定します
SHADER_TYPE
シェーダータイプ列挙定数
Definition: IDefaultMaterial.h:44
virtual void SetAmbientColor(const Mix::Vector4 &color)=0
アンビエントカラーを設定します
通常
Definition: IDefaultMaterial.h:46
virtual Float32 GetEmissiveScale(void) const =0
エミッシブのスケールを取得します
virtual Boolean SetDiffuseTexture(Mix::Graphics::ITexture *pTexture)=0
ディフューズテクスチャを設定します
virtual Float32 GetReflectScale(void) const =0
反射のスケールを取得します
ランバート
Definition: IDefaultMaterial.h:55
virtual void SetZWrite(Boolean state)=0
深度を書き込むかどうかを確認します
WAVE_DIR
ウェーブ方向列挙定数
Definition: IDefaultMaterial.h:96
virtual void SetSpecularCTRoughness(Float32 roughness)=0
スペキュラー( クックトランス )の粗さを設定します
virtual void SetBumpSampleCount(Int32 sampleCount)=0
バンプのサンプル数を設定します
virtual Boolean GetDiffuseTexture(Mix::Graphics::ITexture **ppTexture)=0
ディフューズテクスチャを取得します
virtual void SetWaveRefractiveIndex(Float32 index)=0
ウェーブの屈折率を設定します
virtual void SetBumpReflectFactor(Float32 factor)=0
バンプの反射への影響度を設定します
virtual void SetSpecularHardness(Float32 hardness)=0
スペキュラーの鋭さを設定します
virtual Boolean IsBump(void) const =0
バンプかどうかを確認します
virtual void SetWaveDir(Mix::Scene::IDefaultMaterial::WAVE_DIR dir)=0
ウェーブの方向を設定します
virtual Float32 GetWaveVelocity(void) const =0
ウェーブの速度(毎秒)を取得します
virtual Mix::Scene::IDefaultMaterial::WAVE_TYPE GetWaveType(void) const =0
ウェーブのタイプを取得します
virtual Mix::Scene::IDefaultMaterial::SHADER_TYPE GetShaderType(void) const =0
シェーダータイプを取得します
SPECULAR_TYPE
スペキュラータイプ列挙定数
Definition: IDefaultMaterial.h:61
virtual Float32 GetBumpHeightScale(void) const =0
バンプのヘイトスケールを取得します
ミックス
Definition: AtomicValue.h:6
virtual Float32 GetDiffuseRLScale(void) const =0
ディフューズのリムライティングのスケールを取得します
virtual Boolean GetEmissiveTexture(Mix::Graphics::ITexture **ppTexture)=0
エミッシブテクスチャを取得します
マテリアルインターフェース
Definition: IMaterial.h:12
WAVE_TYPE
ウェーブタイプ列挙定数
Definition: IDefaultMaterial.h:88
virtual void SetEmissiveColor(const Mix::Vector4 &color)=0
エミッシブのカラーを設定します
無し
Definition: IDefaultMaterial.h:73
virtual Boolean GetSpecularTexture(Mix::Graphics::ITexture **ppTexture)=0
スペキュラーテクスチャを取得します
視差遮断マッピング
Definition: IDefaultMaterial.h:83
virtual void SetSoftParticleThickness(Float32 tickness)=0
ソフトパーティクルの厚みを設定します
virtual Float32 GetReflectBias(void) const =0
反射のバイアスを取得します
virtual void SetDiffuseRLScale(Float32 scale)=0
ディフューズのリムライティングのスケールを設定します
float Float32
32ビット浮動小数点
Definition: Common.h:83
virtual Float32 GetWaveGap(void) const =0
ウェーブのペアとの相対速度を取得します
virtual void SetTextureFilterType(Mix::Graphics::TEXTURE_FILTER_TYPE filter)=0
テクスチャフィルターを設定します
virtual void SetReflectIntensity(Float32 intensity)=0
反射の強さを設定します
virtual void SetBlendType(Mix::Graphics::BLEND_TYPE type)=0
ブレンドタイプを設定します
virtual Mix::Scene::IDefaultMaterial::DIFFUSE_TYPE GetDiffuseType(void) const =0
ディフューズタイプを取得します
フレネル
Definition: IDefaultMaterial.h:75
virtual Mix::Scene::IDefaultMaterial::BUMP_TYPE GetBumpType(void) const =0
バンプの種類を取得します
virtual Boolean IsWave(void) const =0
ウェーブをするかどうかを確認します
4次元浮動小数点ベクトルクラス
Definition: Vector4.h:12
virtual Float32 GetWaveUVOffset(void) const =0
ウェーブのペアのUVオフセットを取得します
virtual void SetReflectBias(Float32 bias)=0
反射のバイアスを設定します
virtual Boolean GetBumpTexture(Mix::Graphics::ITexture **ppTexture)=0
バンプテクスチャを取得します
ハーフランバート
Definition: IDefaultMaterial.h:56
virtual void SetWaveVelocity(Float32 vel)=0
ウェーブの速度(毎秒)を設定します
virtual void SetWaveUVOffset(Float32 uvOffset)=0
ウェーブのペアのUVオフセットを設定します
CULL_TYPE
カリングタイプ列挙定数
Definition: Common.h:1510
virtual Float32 GetSpecularScale(void) const =0
スペキュラーのスケールを取得します
virtual void SetCullingType(Mix::Graphics::CULL_TYPE type)=0
カリングタイプを設定します
virtual const Mix::Vector4 & GetAmbientColor(void) const =0
アンビエントカラーを取得します
テクスチャ空間の上方向
Definition: IDefaultMaterial.h:100
virtual void SetReflectScale(Float32 scale)=0
反射のスケールを設定します
TEXTURE_ADDRESS_TYPE
テクスチャー座標の解決手法列挙定数
Definition: Common.h:1554
BLEND_TYPE
ブレンドタイプ列挙定数
Definition: Common.h:1519
virtual void SetSpecularScale(Float32 scale)=0
スペキュラーのスケールを設定します
BUMP_TYPE
ンプタイプ列挙定数
Definition: IDefaultMaterial.h:80
virtual Int32 GetBumpSampleCount(void) const =0
バンプのサンプル数を取得します
BOOL Boolean
32ビットブーリアン
Definition: Common.h:102
virtual Boolean SetBumpTexture(Mix::Graphics::ITexture *pTexture)=0
バンプテクスチャを設定します
virtual Float32 GetBumpReflectFactor(void) const =0
バンプの反射への影響度を取得します
virtual Mix::Graphics::TEXTURE_FILTER_TYPE GetTextureFilterType(void) const =0
テクスチャフィルターを取得します
virtual Boolean IsBothFacesLighting(void) const =0
両面ライティングかどうかを確認します
virtual Mix::Graphics::CULL_TYPE GetCullingType(void) const =0
カリングタイプを取得します
無し
Definition: IDefaultMaterial.h:63
virtual const Mix::Vector4 & GetEmissiveColor(void) const =0
エミッシブのカラーを取得します
virtual void SetDiffuseFresnelIntensity(Float32 intensity)=0
ディフューズのフレネル効果の強度を設定します
virtual Boolean SetEmissiveTexture(Mix::Graphics::ITexture *pTexture)=0
エミッシブテクスチャを設定します
シェードレス
Definition: IDefaultMaterial.h:48