FineKernelToolKit: FK_CLI::fk_Texture クラス

FineKernelToolKit 4.3.0

読み取り中…
検索中…
一致する文字列を見つけられません
公開メンバ関数 | プロパティ | 全メンバ一覧
FK_CLI::fk_Texture クラス

テクスチャ用基底クラス [詳解]

`#include <CLI/FK_CLI/include/Texture_CLI.h>`

FK_CLI::fk_Texture の継承関係図
[凡例]
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_Image^ | Image`[get, set]`
| 画像データプロパティ
fk_Dimension^ | ImageSize`[get]`
| 画像サイズプロパティ
fk_Dimension^ | BufferSize`[get]`
| 画像バッファサイズプロパティ
fk_TexMode | TextureMode`[get, set]`
| テクスチャモードプロパティ
fk_TexRendMode | RendMode`[get, set]`
| テクスチャ描画品質プロパティ
fk_TexWrapMode | WrapMode`[get, set]`
| テクスチャ外周部設定プロパティ
fk_FrameBuffer^ | FrameBuffer`[get, set]`
| フレームバッファープロパティ
基底クラス FK_CLI::fk_Shape に属する継承プロパティ
fk_RealShapeType^ | RealShapeType`[get]`
| 形状データ構造プロパティ

## 詳解

テクスチャ用基底クラス

このクラスは、テクスチャを表すクラスの基底クラスです。 様々なテクスチャクラスの共通機能を提供します。 クラス自体の主な機能はテクスチャ画像の生成や入力です。

参照
  fk_Image, fk_RectTexture, fk_TriTexture, fk_MeshTexture, fk_IFSTexture, fk_Dimension, fk_FrameBuffer, fk_Renderer

## 関数詳解

## ◆ ReadBMP()

bool FK_CLI::fk_Texture::ReadBMP | ( | String^ | fileName | ) |

BMP ファイル入力メソッド

BMP (Windows Bitmap) 形式のファイルからデータを読み込み、 テクスチャ画像として設定します。

引数

  [in] | fileName | ファイル名

戻り値
  入力に成功すれば true、失敗すれば false を返します。

## ◆ ReadPNG()

bool FK_CLI::fk_Texture::ReadPNG | ( | String^ | fileName | ) |

PNG ファイル入力メソッド

PNG 形式のファイルからデータを読み込み、 テクスチャ画像として設定します。

引数

  [in] | fileName | ファイル名

戻り値
  入力に成功すれば true、失敗すれば false を返します。

## ◆ ReadJPG()

bool FK_CLI::fk_Texture::ReadJPG | ( | String^ | fileName | ) |

JPEG ファイル入力メソッド

JPEG 形式のファイルからデータを読み込み、 テクスチャ画像として設定します。

引数

  [in] | fileName | ファイル名

戻り値
  入力に成功すれば true、失敗すれば false を返します。

## ◆ FillColor()

void FK_CLI::fk_Texture::FillColor | ( | fk_Color^ | color | ) |

一様色初期化メソッド1

内部の画像ピクセルを、すべて同じ色で初期化します。

引数

  [in] | color | 初期化色

参照
  fk_Color

## ◆ InitFrameBuffer()

void FK_CLI::fk_Texture::InitFrameBuffer | ( | void |  | ) |

フレームバッファー情報初期化メソッド

設定されているフレームバッファー情報を破棄します。

参照
  FrameBuffer

## プロパティ詳解

## ◆ Image

fk_Image^ FK_CLI::fk_Texture::Image

getset

画像データプロパティ

画像データの参照・設定を行います。

覚え書き
  fk_Texture (およびその派生クラス) では、 最初から自前の画像データ領域を保持しています。 このプロパティでの設定は、あくまで外部で用意した画像データを テクスチャとして利用したい場合に使用するためのものであり、 必ず設定しなければならないというわけではありません。

## ◆ ImageSize

fk_Dimension^ FK_CLI::fk_Texture::ImageSize

get

画像サイズプロパティ

画像サイズを fk_Dimension 型で参照します。

参照
  BufferSize

## ◆ BufferSize

fk_Dimension^ FK_CLI::fk_Texture::BufferSize

get

画像バッファサイズプロパティ

実際に画像用データバッファとして確保されているサイズを、 fk_Dimension 型で参照します。

覚え書き
  実画像サイズとデータバッファサイズの違いについては、 fk_Image::BufferSize の覚え書きを参照して下さい。

参照
  ImageSize, fk_Image::BufferSize

## ◆ TextureMode

fk_TexMode FK_CLI::fk_Texture::TextureMode

getset

テクスチャモードプロパティ

テクスチャの描画時における描画色処理モードの参照・設定を行います。 これは、ポリゴンに設定されているマテリアルによる発色と、 テクスチャ画像の色をどのように混成するかを制御するものです。 それぞれのモードの概要と厳密な計算式を以下に記載します。 なお、数式中の \( C_f \) はポリゴン色、 \( C_\alpha \) ポリゴンの透明度、 \( T_f \) はテクスチャピクセル色、 \( T_\alpha \) はテクスチャの透明度を表します。

- fk_TexMode.MODULATE
  この設定では、ポリゴンの色とテクスチャの色を積算します。 そのため、光源による陰影効果が生じます。 透明度に関しても積算となります。 数式として表すと、色と透明度はそれぞれ

  \[ (C_f T_f, \; C_\alpha T_\alpha) \]

  となります。
- fk_TexMode.REPLACE
  この設定では、ポリゴンの色は完全に無視され、 テクスチャのピクセル色がそのまま表示されます。 そのため、光源による陰影効果が生じません。 また、テクスチャ画像の透明度はそのまま描画に反映されます。 数式として表すと、色と透明度はそれぞれ

  \[ (T_f, \; T_\alpha) \]

  となります。
- fk_TexMode.DECAL
  この設定では、各ピクセルの透明度に応じて、 ポリゴン色とピクセル色の混合が行われます。 光源による陰影効果は、ピクセルの透明度が低い場合に強くなります。 透明度は、ポリゴンの透明度がそのまま適用されます。 これを数式として表すと、色と透明度はそれぞれ

  \[ (C_f (1-T_\alpha) + T_f T_\alpha, \; C_\alpha) \]

  となります。

なお、デフォルトでは fk_TexMode.MODULATE が設定されています。

## ◆ RendMode

fk_TexRendMode FK_CLI::fk_Texture::RendMode

getset

テクスチャ描画品質プロパティ

テクスチャの描画品質の参照・設定を行います。 設定可能なモードは以下の通りです。

- fk_TexRendMode.NORMAL: 標準品質。描画速度を優先します。
- fk_TexRendMode.SMOOTH: 高品質。画質を優先します。

なお、デフォルトでは fk_TexRendMode.NORMAL が設定されています。

引数

  [in] | mode | 品質モード

## ◆ WrapMode

fk_TexWrapMode FK_CLI::fk_Texture::WrapMode

getset

テクスチャ外周部設定プロパティ

テクスチャ描画の際、外周部についてどのように描画するかを設定します。 設定できる種類は以下のとおりです。

- fk_TexWrapMode.REPEAT: 内部の画像を繰り返して描画していきます。
- fk_TexWrapMode.CLAMP: 縁部の色値を伸張して描画します。

デフォルトでは fk_TexWrapMode.REPEAT に設定されています。

## ◆ FrameBuffer

fk_FrameBuffer^ FK_CLI::fk_Texture::FrameBuffer

getset

フレームバッファープロパティ

fk_Renderer により生成されたフレームバッファーをテクスチャーデータとして設定します。 フレームバッファーの詳細は fk_Renderer および fk_FrameBuffer のマニュアルを参照して下さい。 なお、フレームバッファーが設定されていない状況で参照した場合は null を返します。

覚え書き
  本プロパティを用いてフレームバッファーを設定した場合、 以前に設定されていた画像データは破棄されます。

参照
  fk_Renderer, fk_FrameBuffer