FineKernelToolKit
2.8.10
|
矩形テクスチャを生成、管理するクラス [詳細]
Public メソッド | |
fk_RectTexture (fk_Image *image=(fk_Image *) NULL) | |
コンストラクタ | |
virtual | ~fk_RectTexture () |
デストラクタ | |
void | init (void) |
初期化関数 | |
bool | setTextureSize (double w, double h) |
テクスチャサイズ設定関数 | |
fk_TexCoord | getTextureSize (void) |
テクスチャサイズ参照関数 | |
void | setRepeatMode (bool mode) |
リピートモード設定関数 | |
bool | getRepeatMode (void) |
リピートモード参照関数 | |
void | setRepeatParam (double wNum, double hNum) |
リピートモード枚数設定関数 | |
fk_TexCoord | getRepeatParam (void) |
リピートモード枚数参照関数 | |
void | setTextureCoord (double sX, double sY, double eX, double eY) |
部分抽出設定関数1 | |
void | setTextureCoord (const fk_TexCoord &S, const fk_TexCoord &E) |
部分抽出設定関数2 | |
fk_TexCoord | getTextureCoord (int ID) |
部分抽出参照関数 |
矩形テクスチャを生成、管理するクラス
このクラスは、矩形型のテクスチャを制御する機能を提供します。 テクスチャを表示する方法としては、最も簡単なクラスとなります。
テクスチャ画像を表示する最低限の手順は、以下の通りです。
あとは、他の形状クラスと同様です。
矩形の配置は、モデルの方向ベクトルに垂直となり、 画像の中心とモデルの中心が一致するように配置されます。 また、画像の表側はモデルの後方 (初期状態では +z 方向) 側から見た場合に見えるという点に注意して下さい。
コンストラクタ
[in] | image | テクスチャ画像。省略するか NULL を代入した場合は、 テクスチャ画像を初期状態では生成しません。 |
virtual fk_RectTexture::~fk_RectTexture | ( | ) | [virtual] |
デストラクタ
void fk_RectTexture::init | ( | void | ) |
初期化関数
現在設定されているテクスチャ画像を廃棄し、全ての設定を初期状態に戻します。
bool fk_RectTexture::setTextureSize | ( | double | w, |
double | h | ||
) |
テクスチャサイズ設定関数
矩形テクスチャの大きさを設定します。
[in] | w | 横幅 |
[in] | h | 縦幅 |
fk_TexCoord fk_RectTexture::getTextureSize | ( | void | ) |
テクスチャサイズ参照関数
矩形テクスチャの大きさを取得します。
void fk_RectTexture::setRepeatMode | ( | bool | mode | ) |
リピートモード設定関数
リピートモードの設定を行います。 リピートモードを有効にすると、画像が縦横に行列上に並んでいる状態になります。 並ぶ枚数については、 setRepeatParam() 関数で設定します。
リピートモードを利用する場合、画像の横幅、縦幅いずれも (n は整数) で表される数値でなければならないという条件があります。 (横幅と縦幅は一致している必要はありません。) この条件を満たさなかった場合の動作は保証されません。 また、リピートモードを有効とした場合、 setTextureCoord() による 画像の切り出しも無効となります。
[in] | mode | true であればリピートモードを有効とし、 false であれば無効とします。 |
bool fk_RectTexture::getRepeatMode | ( | void | ) |
リピートモード参照関数
現在のリピートモードの状態を取得します。
void fk_RectTexture::setRepeatParam | ( | double | wNum, |
double | hNum | ||
) |
リピートモード枚数設定関数
リピートモードでの、縦方向と横方向に並べる枚数を設定します。 リピートモードについては setRepeatMode() の説明を参照して下さい。
なお、枚数は正であれば整数である必要はありません。 その場合は、右端と上端の画像が途中で切れます。
[in] | wNum | 横方法の枚数 |
[in] | hNum | 縦方向の枚数 |
fk_TexCoord fk_RectTexture::getRepeatParam | ( | void | ) |
void fk_RectTexture::setTextureCoord | ( | double | sX, |
double | sY, | ||
double | eX, | ||
double | eY | ||
) |
部分抽出設定関数1
画像の部分矩形領域を切り出し、その部分をテクスチャ画像とします。 領域指定はテクスチャ座標系を用います。 テクスチャ座標系については fk_TexCoord の説明を参照して下さい。 なお、 setRepeatMode() でリピートモードを有効とした場合、 この部分抽出の設定は無効となります。
[in] | sX | 抽出左下部分の x 成分 |
[in] | sY | 抽出左下部分の y 成分 |
[in] | eX | 抽出右上部分の x 成分 |
[in] | eY | 抽出右上部分の y 成分 |
void fk_RectTexture::setTextureCoord | ( | const fk_TexCoord & | S, |
const fk_TexCoord & | E | ||
) |
部分抽出設定関数2
画像の部分矩形領域を切り出し、その部分をテクスチャ画像とします。 領域指定はテクスチャ座標系を用います。 テクスチャ座標系については fk_TexCoord の説明を参照して下さい。 なお、 setRepeatMode() でリピートモードを有効とした場合、 この部分抽出の設定は無効となります。
[in] | S | 抽出左下部分のテクスチャ座標 |
[in] | E | 抽出右上部分のテクスチャ座標 |
fk_TexCoord fk_RectTexture::getTextureCoord | ( | int | ID | ) |
部分抽出参照関数
setTextureCoord() 関数によって部分抽出領域を設定した場合、 その領域のテクスチャ座標を取得します。
[in] | ID | 0 であれば左下部のテクスチャ座標を、 1 であれば右上部のテクスチャ座標を返します。 それ以外の値を入力した場合は、常に (0, 0) を返します。 |