FineKernelToolKit 4.3.0
読み取り中…
検索中…
一致する文字列を見つけられません
FK_CLI::fk_TriTexture クラス

3角形テクスチャを生成、管理するクラス [詳解]

#include <CLI/FK_CLI/include/TriTexture_CLI.h>

FK_CLI::fk_TriTexture の継承関係図
FK_CLI::fk_TriTexture 連携図

公開メンバ関数

 fk_TriTexture ()
 コンストラクタ1
 fk_TriTexture (fk_Image^ image)
 コンストラクタ2
 ~fk_TriTexture ()
 デストラクタ
 !fk_TriTexture ()
 ファイナライザ
void Init (void)
 初期化メソッド
bool SetTextureCoord (int ID, double x, double y)
 テクスチャ座標設定メソッド1
bool SetTextureCoord (int ID, fk_TexCoord^ coord)
 テクスチャ座標設定メソッド2
fk_TexCoordGetTextureCoord (int ID)
 テクスチャ座標取得メソッド
bool SetVertexPos (int ID, double x, double y, double z)
 頂点位置ベクトル設定メソッド1
bool SetVertexPos (int ID, fk_Vector^ pos)
 頂点位置ベクトル設定メソッド2
fk_VectorGetVertexPos (int ID)
 頂点位置ベクトル取得メソッド
基底クラス FK_CLI::fk_Texture に属する継承公開メンバ関数
bool ReadBMP (String^ fileName)
 BMP ファイル入力メソッド
bool ReadPNG (String^ fileName)
 PNG ファイル入力メソッド
bool ReadJPG (String^ fileName)
 JPEG ファイル入力メソッド
void FillColor (fk_Color^ color)
 一様色初期化メソッド1
void InitFrameBuffer (void)
 フレームバッファー情報初期化メソッド
基底クラス FK_CLI::fk_Shape に属する継承公開メンバ関数
void SetShaderAttribute (String^ name, int dim, IEnumerable< int >^ array)
 シェーダー内 attribute 変数設定メソッド1
void SetShaderAttribute (String^ name, int dim, IEnumerable< float >^ array)
 シェーダー内 attribute 変数設定メソッド2
void SetShaderAttribute (String^ name, int dim, IEnumerable< double >^ array)
 シェーダー内 attribute 変数設定メソッド3
void SetShaderAttribute (String^ name, int dim, IEnumerable< fk_Vector^>^ array)
 シェーダー内 attribute 変数設定メソッド4
void SetShaderAttribute (String^ name, int dim, IEnumerable< fk_TexCoord^>^ array)
 シェーダー内 attribute 変数設定メソッド5
void SetShaderAttribute (String^ name, int dim, IEnumerable< fk_HVector^>^ array)
 シェーダー内 attribute 変数設定メソッド6
基底クラス FK_CLI::fk_Attribute に属する継承公開メンバ関数
bool SetAttrII (int key, int value)
 キーが int 型、値が int 型である属性設定メソッド
bool SetAttrID (int key, double value)
 キーが int 型、値が double 型である属性設定メソッド
bool SetAttrIS (int key, String^ value)
 キーが int 型、値が String 型である属性設定メソッド
bool SetAttrSI (String^ key, int value)
 キーが String 型、値が int 型である属性設定メソッド
bool SetAttrSD (String^ key, double value)
 キーが String 型、値が double 型である属性設定メソッド
bool SetAttrSS (String ^ key, String^ value)
 キーが String 型、値が String 型である属性設定メソッド
int GetAttrII (int key)
 キーが int 型、値が int 型である属性参照メソッド
double GetAttrID (int key)
 キーが int 型、値が double 型である属性参照メソッド
String ^ GetAttrIS (int key)
 キーが int 型、値が String 型である属性参照メソッド
int GetAttrSI (String^ key)
 キーが String 型、値が int 型である属性参照メソッド
double GetAttrSD (String^ key)
 キーが String 型、値が double 型である属性参照メソッド
String ^ GetAttrSS (String^ key)
 キーが String 型、値が String 型である属性参照メソッド
bool ExistAttrII (int key)
 キーが int 型、値が int 型である属性存在参照メソッド
bool ExistAttrID (int key)
 キーが int 型、値が double 型である属性存在参照メソッド
bool ExistAttrIS (int key)
 キーが int 型、値が String 型である属性存在参照メソッド
bool ExistAttrSI (String^ key)
 キーが String 型、値が int 型である属性存在参照メソッド
bool ExistAttrSD (String^ key)
 キーが String 型、値が double 型である属性存在参照メソッド
bool ExistAttrSS (String^ key)
 キーが String 型、値が String 型である属性存在参照メソッド
bool DeleteAttrII (int key)
 キーが int 型、値が int 型である属性消去メソッド
bool DeleteAttrID (int key)
 キーが int 型、値が double 型である属性消去メソッド
bool DeleteAttrIS (int key)
 キーが int 型、値が String 型である属性消去メソッド
bool DeleteAttrSI (String^ key)
 キーが String 型、値が int 型である属性消去メソッド
bool DeleteAttrSD (String^ key)
 キーが String 型、値が double 型である属性消去メソッド
bool DeleteAttrSS (String^ key)
 キーが String 型、値が String 型である属性消去メソッド

その他の継承メンバ

基底クラス FK_CLI::fk_Texture に属する継承プロパティ
fk_ImageImage [get, set]
 画像データプロパティ
fk_DimensionImageSize [get]
 画像サイズプロパティ
fk_DimensionBufferSize [get]
 画像バッファサイズプロパティ
fk_TexMode TextureMode [get, set]
 テクスチャモードプロパティ
fk_TexRendMode RendMode [get, set]
 テクスチャ描画品質プロパティ
fk_TexWrapMode WrapMode [get, set]
 テクスチャ外周部設定プロパティ
fk_FrameBufferFrameBuffer [get, set]
 フレームバッファープロパティ
基底クラス FK_CLI::fk_Shape に属する継承プロパティ
fk_RealShapeTypeRealShapeType [get]
 形状データ構造プロパティ

詳解

3角形テクスチャを生成、管理するクラス

このクラスは、3角形のテクスチャを制御する機能を提供します。

3角形テクスチャを生成する大まかな手順は以下のようになります。

  1. 画像を入力する。
  2. 各頂点のテクスチャ座標を設定する。
  3. 各頂点の3次元空間内の位置ベクトルを設定する。

空間上に各頂点を配置する際、頂点の順番が反時計回りになっている側が表面となります。 テクスチャ座標系の方は必ずしも反時計回りになっている必要はありませんが、 それが時計回りである場合は表示される画像が結果的に裏返ります。

本クラスでは、1つのインスタンスで制御できる3角形は1枚のみです。 複数枚の3角形を1つのインスタンスで制御したい場合は、 fk_MeshTexture クラスを用いた方がメモリ使用量や描画速度の効率が良くなります。 また、3角形ではなく矩形を扱いたい場合は fk_RectTexture クラスを利用して下さい。

参照
fk_Texture, fk_RectTexture, fk_MeshTexture, fk_IFSTexture

構築子と解体子

◆ fk_TriTexture() [1/2]

FK_CLI::fk_TriTexture::fk_TriTexture ( )

コンストラクタ1

テクスチャ画像が空の状態でインスタンスを生成します。

◆ fk_TriTexture() [2/2]

FK_CLI::fk_TriTexture::fk_TriTexture ( fk_Image^ image)

コンストラクタ2

引数
[in]imageテクスチャ画像。省略するか null を代入した場合は、 テクスチャ画像を初期状態では生成しません。

◆ ~fk_TriTexture()

FK_CLI::fk_TriTexture::~fk_TriTexture ( )

デストラクタ

◆ !fk_TriTexture()

FK_CLI::fk_TriTexture::!fk_TriTexture ( )

ファイナライザ

関数詳解

◆ Init()

void FK_CLI::fk_TriTexture::Init ( void )

初期化メソッド

現在設定されているテクスチャ画像を廃棄し、全ての設定を初期状態に戻します。

◆ SetTextureCoord() [1/2]

bool FK_CLI::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 を返します。
戻り値
設定に成功した場合 true を、失敗した場合 false を返します。

◆ SetTextureCoord() [2/2]

bool FK_CLI::fk_TriTexture::SetTextureCoord ( int ID,
fk_TexCoord^ coord )

テクスチャ座標設定メソッド2

頂点のテクスチャ座標を設定します。 テクスチャ座標系については fk_TexCoord の説明を参照して下さい。 テクスチャ座標は、一度設定した後でも動的に変更することが可能です。

引数
[in]ID頂点ID。0, 1, 2 のいずれかになります。 それ以外の値を入力した場合はエラーとなり、false を返します。
[in]coordテクスチャ座標。各成文は 0 以上 1 以下である必要があります。 それ以外の値を入力した場合はエラーとなり、false を返します。
戻り値
設定に成功した場合 true を、失敗した場合 false を返します。

◆ GetTextureCoord()

fk_TexCoord ^ FK_CLI::fk_TriTexture::GetTextureCoord ( int ID)

テクスチャ座標取得メソッド

SetTextureCoord() で設定したテクスチャ座標を取得します。

引数
[in]ID頂点ID。 0, 1, 2 のいずれか以外を指定した場合は、 常に (0, 0) を返します。
戻り値
IDに対応する頂点のテクスチャ座標

◆ SetVertexPos() [1/2]

bool FK_CLI::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 成分
戻り値
設定に成功した場合 true を、失敗した場合 false を返します。

◆ SetVertexPos() [2/2]

bool FK_CLI::fk_TriTexture::SetVertexPos ( int ID,
fk_Vector^ pos )

頂点位置ベクトル設定メソッド2

頂点の空間中での位置ベクトルを設定します。 位置ベクトルは、一度設定した後でも動的に変更することが可能です。

引数
[in]ID頂点ID。0, 1, 2 のいずれかになります。 それ以外の値を入力した場合はエラーとなり、false を返します。
[in]pos頂点位置ベクトル
戻り値
設定に成功した場合 true を、失敗した場合 false を返します。

◆ GetVertexPos()

fk_Vector ^ FK_CLI::fk_TriTexture::GetVertexPos ( int ID)

頂点位置ベクトル取得メソッド

SetTexturePos() で設定したテクスチャ座標を取得します。

引数
[in]ID頂点ID。 0, 1, 2 のいずれか以外を指定した場合は、 常に (0, 0, 0) を返します。
戻り値
IDに対応する頂点の位置ベクトル