|
FineKernelToolKit 4.2.13
|
矩形テクスチャを生成、管理するクラス [詳解]
#include <FK/RectTexture.h>
FK::fk_RectTexture の継承関係図
FK::fk_RectTexture 連携図公開メンバ関数 | |
| fk_RectTexture (fk_Image *image=nullptr) | |
| コンストラクタ | |
| 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) |
| 部分抽出参照関数 | |
基底クラス FK::fk_Texture に属する継承公開メンバ関数 | |
| void | setImage (fk_Image *image) |
| 画像データ設定関数 | |
| fk_Image * | getImage (void) |
| 画像データ取得関数 | |
| bool | readBMP (std::string fileName) |
| BMP ファイル入力関数 | |
| bool | readBMPData (fk_ImType *buf) |
| BMP バッファ入力関数 | |
| bool | readPNG (std::string fileName) |
| PNG ファイル入力関数 | |
| bool | readPNGData (fk_ImType *buf) |
| PNG バッファ入力関数 | |
| bool | readJPG (std::string fileName) |
| JPEG ファイル入力関数 | |
| const fk_Dimension * | getImageSize (void) |
| 画像サイズ取得関数 | |
| const fk_Dimension * | getBufferSize (void) |
| 画像バッファサイズ取得関数 | |
| void | setTextureMode (fk_TexMode mode) |
| テクスチャモード設定関数 | |
| fk_TexMode | getTextureMode (void) |
| テクスチャモード取得関数 | |
| void | setTexRendMode (fk_TexRendMode mode) |
| テクスチャ描画品質設定関数 | |
| fk_TexRendMode | getTexRendMode (void) |
| テクスチャ描画品質取得関数 | |
| void | setTexWrapMode (fk_TexWrapMode mode) |
| テクスチャ外周部モード設定関数 | |
| fk_TexWrapMode | getTexWrapMode (void) |
| テクスチャ外周部モード取得関数 | |
| void | fillColor (const fk_Color &color) |
| 一様色初期化関数1 | |
| void | fillColor (int r, int g, int b, int a=0) |
| 一様色初期化関数2 | |
| const fk_ImType * | getImageBuf (void) |
| 画像データ配列先頭アドレス取得関数 | |
| void | setFrameBuffer (fk_FrameBuffer *buffer) |
| フレームバッファー設定関数 | |
| fk_FrameBuffer * | getFrameBuffer (void) |
| フレームバッファー取得関数 | |
| void | initFrameBuffer (void) |
| フレームバッファー情報初期化関数 | |
基底クラス FK::fk_Shape に属する継承公開メンバ関数 | |
| fk_Shape (fk_Type=fk_Type::SHAPE) | |
| コンストラクタ | |
| virtual | ~fk_Shape () |
| デストラクタ | |
| fk_RealShapeType | getRealShapeType (void) |
| 形状データ構造取得関数 | |
| void | setShaderAttribute (std::string name, int dim, std::vector< int > *array, bool self=false) |
| シェーダー内 attribute 変数設定関数1 | |
| void | setShaderAttribute (std::string name, int dim, std::vector< float > *array, bool self=false) |
| シェーダー内 attribute 変数設定関数2 | |
| void | setShaderAttribute (std::string name, int dim, std::vector< fk_Vector > *array) |
| シェーダー内 attribute 変数設定関数3 | |
| void | setShaderAttribute (std::string name, int dim, std::vector< fk_TexCoord > *array) |
| シェーダー内 attribute 変数設定関数4 | |
| void | setShaderAttribute (std::string name, int dim, std::vector< fk_HVector > *array) |
| シェーダー内 attribute 変数設定関数5 | |
| void | modifyAttribute (std::string name) |
| attribute 変数更新関数 | |
基底クラス FK::fk_Attribute に属する継承公開メンバ関数 | |
| fk_Attribute (void) | |
| コンストラクタ | |
| virtual | ~fk_Attribute () |
| デストラクタ | |
| bool | setAttrII (const int key, const int value) |
| キーが int 型、値が int 型である属性設定関数 | |
| bool | setAttrID (const int key, const double value) |
| キーが int 型、値が double 型である属性設定関数 | |
| bool | setAttrIS (const int key, const std::string value) |
| キーが int 型、値が std::string 型である属性設定関数 | |
| bool | setAttrSI (const std::string key, const int value) |
| キーが std::string 型、値が int 型である属性設定関数 | |
| bool | setAttrSD (const std::string key, const double value) |
| キーが std::string 型、値が double 型である属性設定関数 | |
| bool | setAttrSS (const std::string key, const std::string value) |
| キーが std::string 型、値が std::string 型である属性設定関数 | |
| int | getAttrII (const int key) const |
| キーが int 型、値が int 型である属性参照関数 | |
| double | getAttrID (const int key) const |
| キーが int 型、値が double 型である属性参照関数 | |
| std::string | getAttrIS (const int key) const |
| キーが int 型、値が std::string 型である属性参照関数 | |
| int | getAttrSI (const std::string key) const |
| キーが std::string 型、値が int 型である属性参照関数 | |
| double | getAttrSD (const std::string key) const |
| キーが std::string 型、値が double 型である属性参照関数 | |
| std::string | getAttrSS (const std::string key) const |
| キーが std::string 型、値が std::string 型である属性参照関数 | |
| bool | existAttrII (const int key) const |
| キーが int 型、値が int 型である属性存在参照関数 | |
| bool | existAttrID (const int key) const |
| キーが int 型、値が double 型である属性存在参照関数 | |
| bool | existAttrIS (const int key) const |
| キーが int 型、値が std::string 型である属性存在参照関数 | |
| bool | existAttrSI (const std::string key) const |
| キーが std::string 型、値が int 型である属性存在参照関数 | |
| bool | existAttrSD (const std::string key) const |
| キーが std::string 型、値が double 型である属性存在参照関数 | |
| bool | existAttrSS (const std::string key) const |
| キーが std::string 型、値が std::string 型である属性存在参照関数 | |
| bool | deleteAttrII (const int key) |
| キーが int 型、値が int 型である属性消去関数 | |
| bool | deleteAttrID (const int key) |
| キーが int 型、値が double 型である属性消去関数 | |
| bool | deleteAttrIS (const int key) |
| キーが int 型、値が std::string 型である属性消去関数 | |
| bool | deleteAttrSI (const std::string key) |
| キーが std::string 型、値が int 型である属性消去関数 | |
| bool | deleteAttrSD (const std::string key) |
| キーが std::string 型、値が double 型である属性消去関数 | |
| bool | deleteAttrSS (const std::string key) |
| キーが std::string 型、値が std::string 型である属性消去関数 | |
基底クラス FK::fk_BaseObject に属する継承公開メンバ関数 | |
| fk_BaseObject (fk_Type type=fk_Type::BASEOBJECT) | |
| コンストラクタ | |
| fk_Type | getObjectType (void) const |
| タイプ取得関数 | |
矩形テクスチャを生成、管理するクラス
このクラスは、矩形型のテクスチャを制御する機能を提供します。 テクスチャを表示する方法としては、最も簡単なクラスとなります。
テクスチャ画像を表示する最低限の手順は、以下の通りです。
あとは、他の形状クラスと同様です。
矩形の配置は、モデルの方向ベクトルに垂直となり、 画像の中心とモデルの中心が一致するように配置されます。 また、画像の表側はモデルの後方 (初期状態では +z 方向) 側から見た場合に見えるという点に注意して下さい。
| FK::fk_RectTexture::fk_RectTexture | ( | fk_Image * | image = nullptr | ) |
コンストラクタ
| [in] | image | テクスチャ画像。省略するか nullptr を代入した場合は、 テクスチャ画像を初期状態では生成しません。 |
|
virtual |
デストラクタ
| void FK::fk_RectTexture::init | ( | void | ) |
初期化関数
現在設定されているテクスチャ画像を廃棄し、全ての設定を初期状態に戻します。
| bool FK::fk_RectTexture::setTextureSize | ( | double | w, |
| double | h | ||
| ) |
テクスチャサイズ設定関数
矩形テクスチャの大きさを設定します。
| [in] | w | 横幅 |
| [in] | h | 縦幅 |
| fk_TexCoord FK::fk_RectTexture::getTextureSize | ( | void | ) |
テクスチャサイズ参照関数
矩形テクスチャの大きさを取得します。
| void FK::fk_RectTexture::setRepeatMode | ( | bool | mode | ) |
リピートモード設定関数
リピートモードの設定を行います。 リピートモードを有効にすると、画像が縦横に行列上に並んでいる状態になります。 並ぶ枚数については、 setRepeatParam() 関数で設定します。
リピートモードを利用する場合、画像の横幅、縦幅いずれも \( 2^n \) (n は整数) で表される数値でなければならないという条件があります。 (横幅と縦幅は一致している必要はありません。) この条件を満たさなかった場合の動作は保証されません。 また、リピートモードを有効とした場合、 setTextureCoord() による 画像の切り出しも無効となります。
| [in] | mode | true であればリピートモードを有効とし、 false であれば無効とします。 |
| bool FK::fk_RectTexture::getRepeatMode | ( | void | ) |
リピートモード参照関数
現在のリピートモードの状態を取得します。
| void FK::fk_RectTexture::setRepeatParam | ( | double | wNum, |
| double | hNum | ||
| ) |
リピートモード枚数設定関数
リピートモードでの、縦方向と横方向に並べる枚数を設定します。 リピートモードについては setRepeatMode() の説明を参照して下さい。
なお、枚数は正であれば整数である必要はありません。 その場合は、右端と上端の画像が途中で切れます。
| [in] | wNum | 横方法の枚数 |
| [in] | hNum | 縦方向の枚数 |
| fk_TexCoord FK::fk_RectTexture::getRepeatParam | ( | void | ) |
| void FK::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::fk_RectTexture::setTextureCoord | ( | const fk_TexCoord & | S, |
| const fk_TexCoord & | E | ||
| ) |
部分抽出設定関数2
画像の部分矩形領域を切り出し、その部分をテクスチャ画像とします。 領域指定はテクスチャ座標系を用います。 テクスチャ座標系については fk_TexCoord の説明を参照して下さい。 なお、 setRepeatMode() でリピートモードを有効とした場合、 この部分抽出の設定は無効となります。
| [in] | S | 抽出左下部分のテクスチャ座標 |
| [in] | E | 抽出右上部分のテクスチャ座標 |
| fk_TexCoord FK::fk_RectTexture::getTextureCoord | ( | int | ID | ) |
部分抽出参照関数
setTextureCoord() 関数によって部分抽出領域を設定した場合、 その領域のテクスチャ座標を取得します。
| [in] | ID | 0 であれば左下部のテクスチャ座標を、 1 であれば右上部のテクスチャ座標を返します。 それ以外の値を入力した場合は、常に (0, 0) を返します。 |