FineKernelToolKit  2.9.0
 全て クラス ネームスペース ファイル 関数 変数 型定義 列挙型 列挙型の値 フレンド マクロ定義 ページ
Public メソッド | Static Public メソッド | フレンド | すべてのメンバ一覧
クラス fk_Material

マテリアル(質感)を管理するクラス [詳細]

+ fk_Materialに対する継承グラフ
+ fk_Materialのコラボレーション図

Public メソッド

 fk_Material ()
 コンストラクタ [詳細]
 
virtual ~fk_Material ()
 デストラクタ [詳細]
 
 fk_Material (const fk_Material &arg)
 コピーコンストラクタ [詳細]
 
fk_Materialoperator= (const fk_Material &arg)
 代入演算子 [詳細]
 
void init (void)
 初期化関数 [詳細]
 
設定用関数
void setAlpha (float a)
 透明度設定関数1 [詳細]
 
void setAlpha (double a)
 透明度設定関数2 [詳細]
 
void setAmbient (fk_Color c)
 環境反射係数設定関数1 [詳細]
 
void setAmbient (float r, float g, float b)
 環境反射係数設定関数2 [詳細]
 
void setAmbient (double r, double g, double b)
 環境反射係数設定関数3 [詳細]
 
void setDiffuse (fk_Color c)
 拡散反射係数設定関数1 [詳細]
 
void setDiffuse (float r, float g, float b)
 拡散反射係数設定関数2 [詳細]
 
void setDiffuse (double r, double g, double b)
 拡散反射係数設定関数3 [詳細]
 
void setSpecular (fk_Color c)
 鏡面反射設定関数1 [詳細]
 
void setSpecular (float r, float g, float b)
 鏡面反射係数設定関数2 [詳細]
 
void setSpecular (double r, double g, double b)
 鏡面反射係数設定関数3 [詳細]
 
void setEmission (fk_Color c)
 放射光係数設定関数1 [詳細]
 
void setEmission (float r, float g, float b)
 放射光係数設定関数2 [詳細]
 
void setEmission (double r, double g, double b)
 放射光係数設定関数3 [詳細]
 
void setShininess (float s)
 鏡面反射ハイライト設定関数1 [詳細]
 
void setShininess (double s)
 鏡面反射ハイライト設定関数2 [詳細]
 
void setAmbDiff (fk_Color c)
 環境反射・拡散反射同時設定関数1 [詳細]
 
void setAmbDiff (float r, float g, float b)
 環境反射・拡散反射同時設定関数2 [詳細]
 
void setAmbDiff (double r, double g, double b)
 環境反射・拡散反射同時設定関数3 [詳細]
 
参照用関数
float getAlpha (void)
 透明度参照関数 [詳細]
 
fk_ColorgetAmbient (void)
 環境反射係数参照関数 [詳細]
 
fk_ColorgetDiffuse (void)
 拡散反射係数参照関数 [詳細]
 
fk_ColorgetSpecular (void)
 鏡面反射係数参照関数 [詳細]
 
fk_ColorgetEmission (void)
 放射光係数参照関数 [詳細]
 
float getShininess (void)
 鏡面反射ハイライト参照関数 [詳細]
 
- Public メソッド inherited from fk_BaseObject
 fk_BaseObject (fk_ObjectType type=FK_BASEOBJECT)
 コンストラクタ [詳細]
 
fk_ObjectType getObjectType (void) const
 タイプ取得関数 [詳細]
 

Static Public メソッド

static void initDefault (void)
 デフォルトマテリアル初期化関数 [詳細]
 

フレンド

int operator== (fk_Material left, fk_Material right)
 比較等号演算子 [詳細]
 

説明

マテリアル(質感)を管理するクラス

このクラスは、マテリアル(質感)を管理、制御する機能を提供します。 FKにおけるマテリアルは、以下の要素によって成り立っています。

これらのうち、前者4つは fk_Color による RGBA 色表現であり、 後者2つは float 型によるスカラー値となっています。 各要素についての詳細はユーザーズマニュアルやCGの解説文献を参照して下さい。

マテリアルには、最初から定義されているグローバル変数があります。 これらのリストはユーザーズマニュアルの付録Aに記されています。 利用するには、 initDefault() 関数を呼ぶ必要があります。

インスタンス生成時の初期状態は以下のような値となります。

なお、透過色を設定した場合でも、 シーンで透過処理設定を有効としなければ、透過処理が行われません。 詳細は fk_Scene::setBlendStatus() の説明を参照して下さい。

参照
fk_Color, fk_Palette, fk_Scene

コンストラクタとデストラクタ

fk_Material::fk_Material ( )

コンストラクタ

virtual fk_Material::~fk_Material ( )
inlinevirtual

デストラクタ

fk_Material::fk_Material ( const fk_Material arg)

コピーコンストラクタ

関数

fk_Material& fk_Material::operator= ( const fk_Material arg)

代入演算子

void fk_Material::init ( void  )

初期化関数

変数を初期状態に戻します。

void fk_Material::setAlpha ( float  a)

透明度設定関数1

透明度を設定します。引数は float 型です。 設定できる値は 0 から 1 までで、 範囲外の数値については上下限に丸められます。

覚え書き
透過色を設定した場合でも、 シーンで透過処理設定を有効としなければ、透過処理が行われません。 詳細は fk_Scene::setBlendStatus() の説明を参照して下さい。
引数
[in]a透明度
参照
fk_Scene::setBlendStatus()
void fk_Material::setAlpha ( double  a)

透明度設定関数2

透明度を設定します。引数は double 型です。 設定できる値は 0 から 1 までで、 範囲外の数値については上下限に丸められます。

覚え書き
透過色を設定した場合でも、 シーンで透過処理設定を有効としなければ、透過処理が行われません。 詳細は fk_Scene::setBlendStatus() の説明を参照して下さい。
引数
[in]a透明度
参照
fk_Scene::setBlendStatus()
void fk_Material::setAmbient ( fk_Color  c)

環境反射係数設定関数1

環境反射係数を設定します。引数は fk_Color 型です。

引数
[in]c
void fk_Material::setAmbient ( float  r,
float  g,
float  b 
)

環境反射係数設定関数2

環境反射係数を設定します。 引数は R, G, B の各色要素を表す float 型の数値です。 設定できる値は 0 から 1 までで、 範囲外の数値については上下限に丸められます。

引数
[in]rR要素値
[in]gG要素値
[in]bB要素値
void fk_Material::setAmbient ( double  r,
double  g,
double  b 
)

環境反射係数設定関数3

環境反射係数を設定します。 引数は R, G, B の各色要素を表す double 型の数値です。 設定できる値は 0 から 1 までで、 範囲外の数値については上下限に丸められます。

引数
[in]rR要素値
[in]gG要素値
[in]bB要素値
void fk_Material::setDiffuse ( fk_Color  c)

拡散反射係数設定関数1

拡散反射係数を設定します。引数は fk_Color 型です。

引数
[in]c
void fk_Material::setDiffuse ( float  r,
float  g,
float  b 
)

拡散反射係数設定関数2

拡散反射係数を設定します。 引数は R, G, B の各色要素を表す float 型の数値です。 設定できる値は 0 から 1 までで、 範囲外の数値については上下限に丸められます。

引数
[in]rR要素値
[in]gG要素値
[in]bB要素値
void fk_Material::setDiffuse ( double  r,
double  g,
double  b 
)

拡散反射係数設定関数3

拡散反射係数を設定します。 引数は R, G, B の各色要素を表す double 型の数値です。 設定できる値は 0 から 1 までで、 範囲外の数値については上下限に丸められます。

引数
[in]rR要素値
[in]gG要素値
[in]bB要素値
void fk_Material::setSpecular ( fk_Color  c)

鏡面反射設定関数1

鏡面反射係数を設定します。引数は fk_Color 型です。

引数
[in]c
void fk_Material::setSpecular ( float  r,
float  g,
float  b 
)

鏡面反射係数設定関数2

鏡面反射係数を設定します。 引数は R, G, B の各色要素を表す float 型の数値です。 設定できる値は 0 から 1 までで、 範囲外の数値については上下限に丸められます。

引数
[in]rR要素値
[in]gG要素値
[in]bB要素値
void fk_Material::setSpecular ( double  r,
double  g,
double  b 
)

鏡面反射係数設定関数3

鏡面反射係数を設定します。 引数は R, G, B の各色要素を表す double 型の数値です。 設定できる値は 0 から 1 までで、 範囲外の数値については上下限に丸められます。

引数
[in]rR要素値
[in]gG要素値
[in]bB要素値
void fk_Material::setEmission ( fk_Color  c)

放射光係数設定関数1

放射光係数を設定します。引数は fk_Color 型です。

引数
[in]c
void fk_Material::setEmission ( float  r,
float  g,
float  b 
)

放射光係数設定関数2

放射光係数を設定します。 引数は R, G, B の各色要素を表す float 型の数値です。 設定できる値は 0 から 1 までで、 範囲外の数値については上下限に丸められます。

引数
[in]rR要素値
[in]gG要素値
[in]bB要素値
void fk_Material::setEmission ( double  r,
double  g,
double  b 
)

放射光係数設定関数3

放射光係数を設定します。 引数は R, G, B の各色要素を表す double 型の数値です。 設定できる値は 0 から 1 までで、 範囲外の数値については上下限に丸められます。

引数
[in]rR要素値
[in]gG要素値
[in]bB要素値
void fk_Material::setShininess ( float  s)

鏡面反射ハイライト設定関数1

鏡面反射ハイライトを設定します。引数は float 型です。

引数
[in]s鏡面反射ハイライト
void fk_Material::setShininess ( double  s)

鏡面反射ハイライト設定関数2

鏡面反射ハイライトを設定します。引数は double 型です。

引数
[in]s鏡面反射ハイライト
void fk_Material::setAmbDiff ( fk_Color  c)

環境反射・拡散反射同時設定関数1

環境反射係数と拡散反射係数を同一の値で設定します。引数は fk_Color 型です。

引数
[in]c
void fk_Material::setAmbDiff ( float  r,
float  g,
float  b 
)

環境反射・拡散反射同時設定関数2

環境反射係数と拡散反射係数を同一の値で設定します。 引数は R, G, B の各色要素を表す float 型の数値です。 設定できる値は 0 から 1 までで、 範囲外の数値については上下限に丸められます。

引数
[in]rR要素値
[in]gG要素値
[in]bB要素値
void fk_Material::setAmbDiff ( double  r,
double  g,
double  b 
)

環境反射・拡散反射同時設定関数3

環境反射係数と拡散反射係数を同一の値で設定します。 引数は R, G, B の各色要素を表す double 型の数値です。 設定できる値は 0 から 1 までで、 範囲外の数値については上下限に丸められます。

引数
[in]rR要素値
[in]gG要素値
[in]bB要素値
float fk_Material::getAlpha ( void  )

透明度参照関数

戻り値
透明度
参照
setAlpha()
fk_Color* fk_Material::getAmbient ( void  )

環境反射係数参照関数

返り値の型はポインタであることに注意して下さい。 ここで得られるアドレスは参照元マテリアルの実体であり、 実体の値を修正すると元マテリアルの色要素を修正することになります。

戻り値
環境反射係数へのポインタ
参照
setAmbient(), setAmbDiff()
fk_Color* fk_Material::getDiffuse ( void  )

拡散反射係数参照関数

返り値の型はポインタであることに注意して下さい。 ここで得られるアドレスは参照元マテリアルの実体であり、 実体の値を修正すると元マテリアルの色要素を修正することになります。

戻り値
拡散反射係数へのポインタ
参照
setDiffuse(), setAmbDiff()
fk_Color* fk_Material::getSpecular ( void  )

鏡面反射係数参照関数

返り値の型はポインタであることに注意して下さい。 ここで得られるアドレスは参照元マテリアルの実体であり、 実体の値を修正すると元マテリアルの色要素を修正することになります。

戻り値
鏡面反射係数へのポインタ
参照
setSpecular()
fk_Color* fk_Material::getEmission ( void  )

放射光係数参照関数

返り値の型はポインタであることに注意して下さい。 ここで得られるアドレスは参照元マテリアルの実体であり、 実体の値を修正すると元マテリアルの色要素を修正することになります。

戻り値
放射光係数へのポインタ
参照
setEmission()
float fk_Material::getShininess ( void  )

鏡面反射ハイライト参照関数

戻り値
鏡面反射ハイライト
参照
setShininess()
static void fk_Material::initDefault ( void  )
static

デフォルトマテリアル初期化関数

この関数を呼ぶと、 ユーザーズマニュアルに掲載しているマテリアル変数の値を、 マニュアルに記載してある値に初期化します。 この関数を呼んだ後、該当マテリアル変数を 別のマテリアル値に設定することが可能です。

この関数は static 宣言されているため、 クラスのインスタンスを生成しなくても呼ぶことができます。

フレンドと関連する関数

int operator== ( fk_Material  left,
fk_Material  right 
)
friend

比較等号演算子

この等号演算子では、各色要素の差が FK_COLOR_EPS(現バージョンでは 0.0001) 内の誤差内であれば 等しいと判断します。