ランタイム
|
デフォルトマテリアルインターフェース More...
#include <IDefaultMaterial.h>
Public Types | |
enum | SHADER_TYPE { SHADER_NORMAL = 0, SHADER_WATER = 1, SHADER_SHADELESS = 2 } |
シェーダータイプ列挙定数 More... | |
enum | DIFFUSE_TYPE { DIFFUSE_LAMBERT = 0, DIFFUSE_HALF_LAMBERT = 1 } |
ディフューズタイプ列挙定数 More... | |
enum | SPECULAR_TYPE { SPECULAR_NONE = 0, SPECULAR_PHONG = 1, SPECULAR_BLINN_PHONG = 2, SPECULAR_COOKTORRANCE = 3 } |
スペキュラータイプ列挙定数 More... | |
enum | REFLECT_TYPE { REFLECT_NONE = 0, REFLECT_NORMAL = 1, REFLECT_FRESNEL = 2 } |
反射タイプ列挙定数 More... | |
enum | BUMP_TYPE { BUMP_NORMAL = 0, BUMP_PARALLAX = 1 } |
ンプタイプ列挙定数 More... | |
enum | WAVE_TYPE { WAVE_NORMAL = 0, WAVE_REFRACT = 1 } |
ウェーブタイプ列挙定数 More... | |
enum | WAVE_DIR { WAVE_NEGATIVE_U = 0, WAVE_POSITIVE_U = 1, WAVE_NEGATIVE_V = 2, WAVE_POSITIVE_V = 3 } |
ウェーブ方向列挙定数 More... | |
![]() | |
enum | TYPE { DEFAULT = 0 } |
タイプ列挙定数 More... | |
enum | TRANSFORM_TYPE { TR_SIMPLE = 0, TR_SKINNING = 1, TR_MAX = 2 } |
トランスフォームタイプ列挙定数 More... | |
enum | TRANSPARENCY_METHOD { TM_LUMP = 0, TM_INDIVIDUAL = 1 } |
半透明メソッド列挙定数 More... | |
Public Member Functions | |
virtual const wchar_t * | GetName (void) const =0 |
名前を取得します More... | |
virtual Mix::Scene::IDefaultMaterial::SHADER_TYPE | GetShaderType (void) const =0 |
シェーダータイプを取得します More... | |
virtual Mix::Graphics::BLEND_TYPE | GetBlendType (void) const =0 |
ブレンドタイプを取得します More... | |
virtual void | SetBlendType (Mix::Graphics::BLEND_TYPE type)=0 |
ブレンドタイプを設定します More... | |
virtual Mix::Graphics::CULL_TYPE | GetCullingType (void) const =0 |
カリングタイプを取得します More... | |
virtual void | SetCullingType (Mix::Graphics::CULL_TYPE type)=0 |
カリングタイプを設定します More... | |
virtual Boolean | IsZWrite (void) const =0 |
深度を書き込むかどうかを確認します More... | |
virtual void | SetZWrite (Boolean state)=0 |
深度を書き込むかどうかを確認します More... | |
virtual Mix::Graphics::TEXTURE_FILTER_TYPE | GetTextureFilterType (void) const =0 |
テクスチャフィルターを取得します More... | |
virtual void | SetTextureFilterType (Mix::Graphics::TEXTURE_FILTER_TYPE filter)=0 |
テクスチャフィルターを設定します More... | |
virtual Mix::Graphics::TEXTURE_ADDRESS_TYPE | GetTextureAddressType (void) const =0 |
テクスチャ座標の解決方法を取得します More... | |
virtual void | SetTextureAddressType (Mix::Graphics::TEXTURE_ADDRESS_TYPE address)=0 |
テクスチャ座標の解決方法を設定します More... | |
virtual Boolean | IsBothFacesLighting (void) const =0 |
両面ライティングかどうかを確認します More... | |
virtual Boolean | IsReceiveShadow (void) const =0 |
自身に影を落とすかどうかを確認します More... | |
virtual Boolean | IsCastShadow (void) const =0 |
他者に影を落とすかどうかを確認します More... | |
virtual const Mix::Vector4 & | GetAmbientColor (void) const =0 |
アンビエントカラーを取得します More... | |
virtual void | SetAmbientColor (const Mix::Vector4 &color)=0 |
アンビエントカラーを設定します More... | |
virtual Mix::Scene::IDefaultMaterial::DIFFUSE_TYPE | GetDiffuseType (void) const =0 |
ディフューズタイプを取得します More... | |
virtual const Mix::Vector4 & | GetDiffuseColor (void) const =0 |
ディフューズカラーを取得します More... | |
virtual void | SetDiffuseColor (const Mix::Vector4 &color)=0 |
ディフューズカラーを設定します More... | |
virtual Boolean | GetDiffuseTexture (Mix::Graphics::ITexture **ppTexture)=0 |
ディフューズテクスチャを取得します More... | |
virtual Boolean | SetDiffuseTexture (Mix::Graphics::ITexture *pTexture)=0 |
ディフューズテクスチャを設定します More... | |
virtual Boolean | IsDiffuseFresnel (void) const =0 |
ディフューズにフレネル効果かあるかどうかを取得します More... | |
virtual Float32 | GetDiffuseFresnelIntensity (void) const =0 |
ディフューズのフレネル効果の強度を取得します More... | |
virtual void | SetDiffuseFresnelIntensity (Float32 intensity)=0 |
ディフューズのフレネル効果の強度を設定します More... | |
virtual Boolean | IsDiffuseRL (void) const =0 |
ディフューズのリムライティングが有効かどうかを取得します More... | |
virtual Float32 | GetDiffuseRLHardness (void) const =0 |
ディフューズのリムライティングの鋭さを取得します More... | |
virtual void | SetDiffuseRLHardness (Float32 hardness)=0 |
ディフューズのリムライティングの鋭さを設定します More... | |
virtual Float32 | GetDiffuseRLScale (void) const =0 |
ディフューズのリムライティングのスケールを取得します More... | |
virtual void | SetDiffuseRLScale (Float32 scale)=0 |
ディフューズのリムライティングのスケールを設定します More... | |
virtual Mix::Scene::IDefaultMaterial::SPECULAR_TYPE | GetSpecularType (void) const =0 |
スペキュラーのタイプを取得します More... | |
virtual const Mix::Vector4 & | GetSpecularColor (void) const =0 |
スペキュラーカラーを取得します More... | |
virtual void | SetSpecularColor (const Mix::Vector4 &color)=0 |
スペキュラーカラーを設定します More... | |
virtual Boolean | GetSpecularTexture (Mix::Graphics::ITexture **ppTexture)=0 |
スペキュラーテクスチャを取得します More... | |
virtual Boolean | SetSpecularTexture (Mix::Graphics::ITexture *pTexture)=0 |
スペキュラーテクスチャを設定します More... | |
virtual Float32 | GetSpecularHardness (void) const =0 |
スペキュラーの鋭さを取得します More... | |
virtual void | SetSpecularHardness (Float32 hardness)=0 |
スペキュラーの鋭さを設定します More... | |
virtual Float32 | GetSpecularScale (void) const =0 |
スペキュラーのスケールを取得します More... | |
virtual void | SetSpecularScale (Float32 scale)=0 |
スペキュラーのスケールを設定します More... | |
virtual Float32 | GetSpecularCTFresnel (void) const =0 |
スペキュラー( クックトランス )の反射強度を取得します More... | |
virtual void | SetSpecularCTFresnel (Float32 fresnel)=0 |
スペキュラー( クックトランス )の反射強度を設定します More... | |
virtual Float32 | GetSpecularCTRoughness (void) const =0 |
スペキュラー( クックトランス )の粗さを設定します More... | |
virtual void | SetSpecularCTRoughness (Float32 roughness)=0 |
スペキュラー( クックトランス )の粗さを設定します More... | |
virtual Mix::Scene::IDefaultMaterial::REFLECT_TYPE | GetReflectType (void) const =0 |
反射タイプを取得します More... | |
virtual Float32 | GetReflectScale (void) const =0 |
反射のスケールを取得します More... | |
virtual void | SetReflectScale (Float32 scale)=0 |
反射のスケールを設定します More... | |
virtual Float32 | GetReflectIntensity (void) const =0 |
反射の強さを取得します More... | |
virtual void | SetReflectIntensity (Float32 intensity)=0 |
反射の強さを設定します More... | |
virtual Float32 | GetReflectBias (void) const =0 |
反射のバイアスを取得します More... | |
virtual void | SetReflectBias (Float32 bias)=0 |
反射のバイアスを設定します More... | |
virtual Float32 | GetReflectExprosure (void) const =0 |
反射の露光を取得します More... | |
virtual void | SetReflectExprosure (Float32 exprosure)=0 |
反射の露光を設定します More... | |
virtual const Mix::Vector4 & | GetEmissiveColor (void) const =0 |
エミッシブのカラーを取得します More... | |
virtual void | SetEmissiveColor (const Mix::Vector4 &color)=0 |
エミッシブのカラーを設定します More... | |
virtual Float32 | GetEmissiveScale (void) const =0 |
エミッシブのスケールを取得します More... | |
virtual void | SetEmissiveScale (Float32 scale)=0 |
エミッシブのスケールを設定します More... | |
virtual Boolean | GetEmissiveTexture (Mix::Graphics::ITexture **ppTexture)=0 |
エミッシブテクスチャを取得します More... | |
virtual Boolean | SetEmissiveTexture (Mix::Graphics::ITexture *pTexture)=0 |
エミッシブテクスチャを設定します More... | |
virtual Boolean | IsBump (void) const =0 |
バンプかどうかを確認します More... | |
virtual Mix::Scene::IDefaultMaterial::BUMP_TYPE | GetBumpType (void) const =0 |
バンプの種類を取得します More... | |
virtual Boolean | GetBumpTexture (Mix::Graphics::ITexture **ppTexture)=0 |
バンプテクスチャを取得します More... | |
virtual Boolean | SetBumpTexture (Mix::Graphics::ITexture *pTexture)=0 |
バンプテクスチャを設定します More... | |
virtual Float32 | GetBumpHeightScale (void) const =0 |
バンプのヘイトスケールを取得します More... | |
virtual void | SetBumpHeightScale (Float32 scale)=0 |
バンプのヘイトスケールを設定します More... | |
virtual Int32 | GetBumpSampleCount (void) const =0 |
バンプのサンプル数を取得します More... | |
virtual void | SetBumpSampleCount (Int32 sampleCount)=0 |
バンプのサンプル数を設定します More... | |
virtual Float32 | GetBumpReflectFactor (void) const =0 |
バンプの反射への影響度を取得します More... | |
virtual void | SetBumpReflectFactor (Float32 factor)=0 |
バンプの反射への影響度を設定します More... | |
virtual Boolean | IsWave (void) const =0 |
ウェーブをするかどうかを確認します More... | |
virtual Mix::Scene::IDefaultMaterial::WAVE_TYPE | GetWaveType (void) const =0 |
ウェーブのタイプを取得します More... | |
virtual Mix::Scene::IDefaultMaterial::WAVE_DIR | GetWaveDir (void) const =0 |
ウェーブの方向を取得します More... | |
virtual void | SetWaveDir (Mix::Scene::IDefaultMaterial::WAVE_DIR dir)=0 |
ウェーブの方向を設定します More... | |
virtual Boolean | IsWaveInvert (void) const =0 |
ウェーブのペアの方向を逆転しているかどうかを確認します More... | |
virtual Float32 | GetWaveVelocity (void) const =0 |
ウェーブの速度(毎秒)を取得します More... | |
virtual void | SetWaveVelocity (Float32 vel)=0 |
ウェーブの速度(毎秒)を設定します More... | |
virtual Float32 | GetWaveUVOffset (void) const =0 |
ウェーブのペアのUVオフセットを取得します More... | |
virtual void | SetWaveUVOffset (Float32 uvOffset)=0 |
ウェーブのペアのUVオフセットを設定します More... | |
virtual Float32 | GetWaveGap (void) const =0 |
ウェーブのペアとの相対速度を取得します More... | |
virtual void | SetWaveGap (Float32 gap)=0 |
ウェーブのペアとの相対速度を設定します More... | |
virtual Float32 | GetWaveRefractiveIndex (void) const =0 |
ウェーブの屈折率を取得します More... | |
virtual void | SetWaveRefractiveIndex (Float32 index)=0 |
ウェーブの屈折率を設定します More... | |
virtual Boolean | IsSoftParticle (void) const =0 |
ソフトパーティクルかどうかを確認します More... | |
virtual Float32 | GetSoftParticleThickness (void) const =0 |
ソフトパーティクルの厚みを取得します More... | |
virtual void | SetSoftParticleThickness (Float32 tickness)=0 |
ソフトパーティクルの厚みを設定します More... | |
![]() | |
virtual Mix::Scene::IMaterial::TYPE | GetType (void) const =0 |
種類を取得します More... | |
virtual Boolean | IsTransformable (Mix::Scene::IMaterial::TRANSFORM_TYPE type) const =0 |
指定したタイプのトランスフォームを実行できるかどうかを確認します More... | |
virtual UInt32 | GetVertexStride (Mix::Scene::IMaterial::TRANSFORM_TYPE type) const =0 |
1頂点のサイズを取得します More... | |
virtual UInt32 | GetVertexInputSigunature (Mix::Scene::IMaterial::TRANSFORM_TYPE type) const =0 |
頂点の入力シグネチャを取得します More... | |
virtual Boolean | NeedsUpdate (void) const =0 |
更新( Update )が必要かどうかを確認します More... | |
virtual Boolean | IsShadowing (void) const =0 |
影を落とすかどうかを確認します More... | |
virtual Boolean | IsLighting (void) const =0 |
ライティングをするかどうかを確認します More... | |
virtual Boolean | IsRefractive (void) const =0 |
屈折するかどうかを確認します More... | |
virtual Boolean | IsTransparency (void) const =0 |
不透明かどうかを確認します More... | |
virtual Mix::Scene::IMaterial::TRANSPARENCY_METHOD | GetTransparencyMethod (void) const =0 |
不透明メソッドを取得します More... | |
virtual void | Update (Float32 dt)=0 |
更新される際の呼び出されます More... | |
virtual void | RenderShadow (Mix::Graphics::IDevice *pDevice, Mix::Scene::IMaterial::TRANSFORM_TYPE trType)=0 |
影の描画設定をします More... | |
virtual void | RenderMask (Mix::Graphics::IDevice *pDevice, Mix::Scene::IMaterial::TRANSFORM_TYPE trType)=0 |
マスクの描画設定をします More... | |
virtual void | RenderColor (Mix::Graphics::IDevice *pDevice, Mix::Scene::IMaterial::TRANSFORM_TYPE trType)=0 |
カラーの描画設定をします More... | |
virtual Boolean | BeginConstant (void)=0 |
定数の変更を開始します More... | |
virtual Boolean | EndConstant (void)=0 |
定数の変更を終了します More... | |
virtual Boolean | Clone (Mix::Scene::IMaterial **ppMaterial)=0 |
自身のクローンを作成します More... | |
![]() | |
void | AddRef (void) |
参照数を 1 増やします More... | |
void | Release (void) |
参照数を 1 減らします More... | |
Long32 | GetRefCount (void) |
参照数を取得します More... | |
Protected Member Functions | |
virtual | ~IDefaultMaterial (void) |
デストラクタ More... | |
![]() | |
virtual | ~IMaterial (void) |
デストラクタ More... | |
![]() | |
MIX_DECLARE_ALLOCATOR () | |
Reference (void) | |
コンストラクタ More... | |
Reference (Long32 count) | |
コンストラクタ More... | |
virtual | ~Reference (void) |
デストラクタ More... | |
デフォルトマテリアルインターフェース
|
inlineprotectedvirtual |
デストラクタ
|
pure virtual |
名前を取得します
|
pure virtual |
シェーダータイプを取得します
|
pure virtual |
ブレンドタイプを取得します
|
pure virtual |
ブレンドタイプを設定します
[in] | type | ブレンドタイプを表す Mix::Graphics::BLEND_TYPE 列挙定数 |
|
pure virtual |
カリングタイプを取得します
|
pure virtual |
カリングタイプを設定します
[in] | type | カリングタイプを表す Mix::Graphics::CULL_TYPE 列挙定数 |
|
pure virtual |
深度を書き込むかどうかを確認します
|
pure virtual |
深度を書き込むかどうかを確認します
[in] | state | 深度を書き込む場合は True |
|
pure virtual |
テクスチャフィルターを取得します
|
pure virtual |
テクスチャフィルターを設定します
[in] | filter | テクスチャフィルターを表す Mix::Graphics::TEXTURE_FILTER_TYPE 列挙定数 |
|
pure virtual |
テクスチャ座標の解決方法を取得します
|
pure virtual |
テクスチャ座標の解決方法を設定します
[in] | address | テクスチャ座標の解決方法を表す Mix::Graphics::TEXTURE_ADDRESS_TYPE 列挙定数 |
|
pure virtual |
両面ライティングかどうかを確認します
|
pure virtual |
自身に影を落とすかどうかを確認します
|
pure virtual |
他者に影を落とすかどうかを確認します
|
pure virtual |
アンビエントカラーを取得します
|
pure virtual |
アンビエントカラーを設定します
[in] | color | アンビエントカラー( rgb=色 ) |
|
pure virtual |
ディフューズタイプを取得します
|
pure virtual |
ディフューズカラーを取得します
|
pure virtual |
ディフューズカラーを設定します
[in] | color | ディフューズカラー( rgb=色 a=不透明度 ) |
|
pure virtual |
ディフューズテクスチャを取得します
[out] | ppTexture | 取得したディフューズテクスチャを渡す Mix::Graphics::ITexture インターフェースのポインタのアドレス |
|
pure virtual |
ディフューズテクスチャを設定します
[in] | pTexture | 設定するディフューズテクスチャを表す Mix::Graphics::ITexture インターフェースのポインタ |
|
pure virtual |
ディフューズにフレネル効果かあるかどうかを取得します
|
pure virtual |
ディフューズのフレネル効果の強度を取得します
|
pure virtual |
ディフューズのフレネル効果の強度を設定します
[in] | intensity | 強度( 0.0f〜1.0f ) |
|
pure virtual |
ディフューズのリムライティングが有効かどうかを取得します
|
pure virtual |
ディフューズのリムライティングの鋭さを取得します
|
pure virtual |
ディフューズのリムライティングの鋭さを設定します
[in] | hardness | 鋭さ( 0.01f以上 ) |
|
pure virtual |
ディフューズのリムライティングのスケールを取得します
|
pure virtual |
ディフューズのリムライティングのスケールを設定します
[in] | scale( | 0.0f以上 ) |
|
pure virtual |
スペキュラーのタイプを取得します
|
pure virtual |
スペキュラーカラーを取得します
|
pure virtual |
スペキュラーカラーを設定します
[in] | color | スペキュラーカラーを表す Mix::Vector4 クラス( rgb=色 a=1.0f ) |
|
pure virtual |
スペキュラーテクスチャを取得します
[out] | ppTexture | 取得したスペキュラーテクスチャを渡す Mix::Graphics::ITexture インターフェースのポインタのアドレス |
|
pure virtual |
スペキュラーテクスチャを設定します
[in] | pTexture | 設定するスペキュラーテクスチャを表す Mix::Graphics::ITexture インターフェースのポインタ |
|
pure virtual |
スペキュラーの鋭さを取得します
|
pure virtual |
スペキュラーの鋭さを設定します
[in] | hardness | 鋭さ( 0.01f以上 ) |
|
pure virtual |
スペキュラーのスケールを取得します
|
pure virtual |
スペキュラーのスケールを設定します
[in] | scale | スケール( 0.0f〜1.0f ) |
|
pure virtual |
スペキュラー( クックトランス )の反射強度を取得します
|
pure virtual |
スペキュラー( クックトランス )の反射強度を設定します
[in] | fresnel | 反射強度( 0.01f以上 ) |
|
pure virtual |
スペキュラー( クックトランス )の粗さを設定します
|
pure virtual |
スペキュラー( クックトランス )の粗さを設定します
[in] | roughness | 粗さ( 0.0f〜1.0f ) |
|
pure virtual |
反射タイプを取得します
|
pure virtual |
反射のスケールを取得します
|
pure virtual |
反射のスケールを設定します
[in] | scale | スケール( 0.0f以上 ) |
|
pure virtual |
反射の強さを取得します
|
pure virtual |
反射の強さを設定します
[in] | intensity | 反射の強さ( 0.0f〜1.0f ) |
|
pure virtual |
反射のバイアスを取得します
|
pure virtual |
反射のバイアスを設定します
[in] | bias | 反射のバイアス( 0.0f〜1.0f ) |
|
pure virtual |
反射の露光を取得します
|
pure virtual |
反射の露光を設定します
[in] | exprosure | 反射の露光( 0.0f〜1.0f ) |
|
pure virtual |
エミッシブのカラーを取得します
|
pure virtual |
エミッシブのカラーを設定します
[in] | color | カラーを表す Mix::Vector4 クラス( rgb=色 a=スケール ) |
|
pure virtual |
エミッシブのスケールを取得します
|
pure virtual |
エミッシブのスケールを設定します
[in] | scale | スケール |
|
pure virtual |
エミッシブテクスチャを取得します
[out] | ppTexture | 取得したエミッシブテクスチャを渡す Mix::Graphics::ITexture インターフェースのポインタのアドレス |
|
pure virtual |
エミッシブテクスチャを設定します
[in] | pTexture | 設定するエミッシブテクスチャを表す Mix::Graphics::ITexture インターフェースのポインタ |
|
pure virtual |
バンプかどうかを確認します
|
pure virtual |
バンプの種類を取得します
|
pure virtual |
バンプテクスチャを取得します
[out] | ppTexture | 取得したバンプテクスチャを渡す Mix::Graphics::ITexture インターフェースのポインタのアドレス |
|
pure virtual |
バンプテクスチャを設定します
[in] | pTexture | 設定するバンプテクスチャを表す Mix::Graphics::ITexture インターフェースのポインタ |
|
pure virtual |
バンプのヘイトスケールを取得します
|
pure virtual |
バンプのヘイトスケールを設定します
[in] | scale | ヘイトスケール( 0.0f〜1.0f ) |
|
pure virtual |
バンプのサンプル数を取得します
|
pure virtual |
バンプのサンプル数を設定します
[in] | sampleCount | サンプル数( 1〜8 ) |
|
pure virtual |
バンプの反射への影響度を取得します
|
pure virtual |
バンプの反射への影響度を設定します
[in] | factor | 反射への影響度( 0.0f〜1.0f ) |
|
pure virtual |
ウェーブをするかどうかを確認します
|
pure virtual |
ウェーブのタイプを取得します
|
pure virtual |
ウェーブの方向を取得します
|
pure virtual |
ウェーブの方向を設定します
[in] | dir | 方向を表す Mix::Scene::IDefaultMaterial::WAVE_DIR 列挙定数 |
|
pure virtual |
ウェーブのペアの方向を逆転しているかどうかを確認します
|
pure virtual |
ウェーブの速度(毎秒)を取得します
|
pure virtual |
ウェーブの速度(毎秒)を設定します
[in] | vel | 速度( 0.0f〜1.0f ) |
|
pure virtual |
ウェーブのペアのUVオフセットを取得します
|
pure virtual |
ウェーブのペアのUVオフセットを設定します
[in] | uvOffset | UVオフセット( 0.0f〜1.0f ) |
|
pure virtual |
ウェーブのペアとの相対速度を取得します
|
pure virtual |
ウェーブのペアとの相対速度を設定します
[in] | gap | ずれ( 0 以上 ) |
|
pure virtual |
ウェーブの屈折率を取得します
|
pure virtual |
ウェーブの屈折率を設定します
[in] | index | 屈折率( 0.0f〜1.0f ) |
|
pure virtual |
ソフトパーティクルかどうかを確認します
|
pure virtual |
ソフトパーティクルの厚みを取得します
|
pure virtual |
ソフトパーティクルの厚みを設定します
[in] | tickness | ソフトパーティクルの厚み( 0.0f以上 ) |