FineKernelToolKit 4.2.13
|
3角形テクスチャを生成、管理するクラス [詳解]
#include <FK/TriTexture.h>
公開メンバ関数 | |
fk_TriTexture (fk_Image *image=nullptr) | |
コンストラクタ | |
virtual | ~fk_TriTexture () |
デストラクタ | |
void | init (void) |
初期化関数 | |
bool | setTextureCoord (int ID, double x, double y) |
テクスチャ座標設定関数1 | |
bool | setTextureCoord (int ID, fk_TexCoord coord) |
テクスチャ座標設定関数2 | |
fk_TexCoord | getTextureCoord (int ID) |
テクスチャ座標取得関数 | |
bool | setVertexPos (int ID, double x, double y, double z) |
頂点位置ベクトル設定関数1 | |
bool | setVertexPos (int ID, fk_Vector pos) |
頂点位置ベクトル設定関数2 | |
fk_Vector | getVertexPos (int ID) |
頂点位置ベクトル取得関数 | |
![]() | |
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_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_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_BaseObject (fk_Type type=fk_Type::BASEOBJECT) | |
コンストラクタ | |
fk_Type | getObjectType (void) const |
タイプ取得関数 | |
3角形テクスチャを生成、管理するクラス
このクラスは、3角形のテクスチャを制御する機能を提供します。
3角形テクスチャを生成する大まかな手順は以下のようになります。
空間上に各頂点を配置する際、頂点の順番が反時計回りになっている側が表面となります。 テクスチャ座標系の方は必ずしも反時計回りになっている必要はありませんが、 それが時計回りである場合は表示される画像が結果的に裏返ります。
本クラスでは、1つのインスタンスで制御できる3角形は1枚のみです。 複数枚の3角形を1つのインスタンスで制御したい場合は、 fk_MeshTexture クラスを用いた方がメモリ使用量や描画速度の効率が良くなります。 また、3角形ではなく矩形を扱いたい場合は fk_RectTexture クラスを利用して下さい。
FK::fk_TriTexture::fk_TriTexture | ( | fk_Image * | image = nullptr | ) |
コンストラクタ
[in] | image | テクスチャ画像。省略するか nullptr を代入した場合は、 テクスチャ画像を初期状態では生成しません。 |
|
virtual |
デストラクタ
void FK::fk_TriTexture::init | ( | void | ) |
初期化関数
現在設定されているテクスチャ画像を廃棄し、全ての設定を初期状態に戻します。
bool FK::fk_TriTexture::setTextureCoord | ( | int | ID, |
double | x, | ||
double | y | ||
) |
テクスチャ座標設定関数1
頂点のテクスチャ座標を設定します。 テクスチャ座標系については fk_TexCoord の説明を参照して下さい。 テクスチャ座標は、一度設定した後でも動的に変更することが可能です。
[in] | ID | 頂点ID。0, 1, 2 のいずれかになります。 それ以外の値を入力した場合はエラーとなり、false を返します。 |
[in] | x | テクスチャ座標の x 成分。0 以上 1 以下である必要があります。 それ以外の値を入力した場合はエラーとなり、false を返します。 |
[in] | y | テクスチャ座標の y 成分。0 以上 1 以下である必要があります。 それ以外の値を入力した場合はエラーとなり、false を返します。 |
bool FK::fk_TriTexture::setTextureCoord | ( | int | ID, |
fk_TexCoord | coord | ||
) |
テクスチャ座標設定関数2
頂点のテクスチャ座標を設定します。 テクスチャ座標系については fk_TexCoord の説明を参照して下さい。 テクスチャ座標は、一度設定した後でも動的に変更することが可能です。
[in] | ID | 頂点ID。0, 1, 2 のいずれかになります。 それ以外の値を入力した場合はエラーとなり、false を返します。 |
[in] | coord | テクスチャ座標。各成文は 0 以上 1 以下である必要があります。 それ以外の値を入力した場合はエラーとなり、false を返します。 |
fk_TexCoord FK::fk_TriTexture::getTextureCoord | ( | int | ID | ) |
テクスチャ座標取得関数
setTextureCoord() で設定したテクスチャ座標を取得します。
[in] | ID | 頂点ID。 0, 1, 2 のいずれか以外を指定した場合は、 常に (0, 0) を返します。 |
bool FK::fk_TriTexture::setVertexPos | ( | int | ID, |
double | x, | ||
double | y, | ||
double | z | ||
) |
頂点位置ベクトル設定関数1
頂点の空間中での位置ベクトルを設定します。 位置ベクトルは、一度設定した後でも動的に変更することが可能です。
[in] | ID | 頂点ID。0, 1, 2 のいずれかになります。 それ以外の値を入力した場合はエラーとなり、false を返します。 |
[in] | x | 頂点位置ベクトルの x 成分 |
[in] | y | 頂点位置ベクトルの y 成分 |
[in] | z | 頂点位置ベクトルの z 成分 |
bool FK::fk_TriTexture::setVertexPos | ( | int | ID, |
fk_Vector | pos | ||
) |
頂点位置ベクトル設定関数2
頂点の空間中での位置ベクトルを設定します。 位置ベクトルは、一度設定した後でも動的に変更することが可能です。
[in] | ID | 頂点ID。0, 1, 2 のいずれかになります。 それ以外の値を入力した場合はエラーとなり、false を返します。 |
[in] | pos | 頂点位置ベクトル |
fk_Vector FK::fk_TriTexture::getVertexPos | ( | int | ID | ) |
頂点位置ベクトル取得関数
setTexturePos() で設定したテクスチャ座標を取得します。
[in] | ID | 頂点ID。 0, 1, 2 のいずれか以外を指定した場合は、 常に (0, 0, 0) を返します。 |