ランタイム
IMaterial.h
Go to the documentation of this file.
1 #pragma once
2 
5 
6 #include "Mix/Reference.h"
7 
8 namespace Mix{ namespace Scene{
9 
12  class IMaterial : public Mix::Reference
13  {
14  public:
17  enum TYPE
18  {
19  DEFAULT = 0,
20  };
21 
25  {
26  TR_SIMPLE = 0,
28 
29  TR_MAX = 2,
30  };
31 
35  {
36  TM_LUMP = 0,
38  };
39 
40  protected:
42  virtual ~IMaterial( void ){}
43 
44  public:
47  virtual Mix::Scene::IMaterial::TYPE GetType( void ) const = 0;
48 
52 
59 
62  virtual Boolean NeedsUpdate( void ) const = 0;
63 
67  virtual Boolean IsShadowing( void ) const = 0;
71  virtual Boolean IsLighting( void ) const = 0;
75  virtual Boolean IsRefractive( void ) const = 0;
79  virtual Boolean IsTransparency( void ) const = 0;
83 
86  virtual void Update( Float32 dt ) = 0;
87 
95  virtual void RenderMask( Mix::Graphics::IDevice* pDevice, Mix::Scene::IMaterial::TRANSFORM_TYPE trType ) = 0;
100 
107  virtual Boolean BeginConstant( void ) = 0;
110  virtual Boolean EndConstant( void ) = 0;
111 
115  virtual Boolean Clone( Mix::Scene::IMaterial** ppMaterial ) = 0;
116  };
117 
118 }}
virtual Boolean IsTransparency(void) const =0
不透明かどうかを確認します
TRANSPARENCY_METHOD
半透明メソッド列挙定数
Definition: IMaterial.h:34
TYPE
タイプ列挙定数
Definition: IMaterial.h:17
virtual Boolean BeginConstant(void)=0
定数の変更を開始します
virtual void RenderShadow(Mix::Graphics::IDevice *pDevice, Mix::Scene::IMaterial::TRANSFORM_TYPE trType)=0
影の描画設定をします
virtual Boolean IsLighting(void) const =0
ライティングをするかどうかを確認します
virtual Boolean EndConstant(void)=0
定数の変更を終了します
virtual Mix::Scene::IMaterial::TRANSPARENCY_METHOD GetTransparencyMethod(void) const =0
不透明メソッドを取得します
モデルに設定されているワールド行列でトランスフォーム
Definition: IMaterial.h:26
virtual void RenderColor(Mix::Graphics::IDevice *pDevice, Mix::Scene::IMaterial::TRANSFORM_TYPE trType)=0
カラーの描画設定をします
ポリゴン単位描画
Definition: IMaterial.h:37
デフォルト( Mix::Scene::IDefaultMaterial )
Definition: IMaterial.h:19
virtual ~IMaterial(void)
デストラクタ
Definition: IMaterial.h:42
unsigned int UInt32
符号無し32ビット整数
Definition: Common.h:68
virtual Boolean IsTransformable(Mix::Scene::IMaterial::TRANSFORM_TYPE type) const =0
指定したタイプのトランスフォームを実行できるかどうかを確認します
virtual Boolean IsRefractive(void) const =0
屈折するかどうかを確認します
virtual Boolean IsShadowing(void) const =0
影を落とすかどうかを確認します
ミックス
Definition: AtomicValue.h:6
virtual Mix::Scene::IMaterial::TYPE GetType(void) const =0
種類を取得します
マテリアルインターフェース
Definition: IMaterial.h:12
virtual Boolean NeedsUpdate(void) const =0
更新( Update )が必要かどうかを確認します
virtual void RenderMask(Mix::Graphics::IDevice *pDevice, Mix::Scene::IMaterial::TRANSFORM_TYPE trType)=0
マスクの描画設定をします
float Float32
32ビット浮動小数点
Definition: Common.h:83
リファレンスクラス
Definition: Reference.h:12
TRANSFORM_TYPE
トランスフォームタイプ列挙定数
Definition: IMaterial.h:24
グラフィックスデバイスインターフェース
Definition: IDevice.h:12
virtual UInt32 GetVertexInputSigunature(Mix::Scene::IMaterial::TRANSFORM_TYPE type) const =0
頂点の入力シグネチャを取得します
リファレンスクラスインクルードファイル
ボーンのワールド行列でトランスフォーム
Definition: IMaterial.h:27
virtual UInt32 GetVertexStride(Mix::Scene::IMaterial::TRANSFORM_TYPE type) const =0
1頂点のサイズを取得します
virtual void Update(Float32 dt)=0
更新される際の呼び出されます
BOOL Boolean
32ビットブーリアン
Definition: Common.h:102
一括描画
Definition: IMaterial.h:36
virtual Boolean Clone(Mix::Scene::IMaterial **ppMaterial)=0
自身のクローンを作成します
トランスフォームタイプの最大数
Definition: IMaterial.h:29