クラス fk_Texture

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

fk_Textureに対する継承グラフ
Inheritance graph
[凡例]
fk_Textureのコラボレーション図
Collaboration graph
[凡例]

すべてのメンバ一覧

Public メソッド

void setImage (fk_Image *image)
 画像データ設定関数
fk_ImagegetImage (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_DimensiongetImageSize (void)
 画像サイズ取得関数
const fk_DimensiongetBufferSize (void)
 画像バッファサイズ取得関数
void setTextureMode (fk_TexMode mode)
 テクスチャモード設定関数
fk_TexMode getTextureMode (void)
 テクスチャモード取得関数
void setTexRendMode (fk_TexRendMode mode)
 テクスチャ描画品質設定関数
fk_TexRendMode getTexRendMode (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)
 画像データ配列先頭アドレス取得関数

説明

テクスチャ用基底クラス

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

参照:
fk_Image, fk_RectTexture, fk_TriTexture, fk_MeshTexture, fk_IFSTexture, fk_Dimension

関数

void fk_Texture::setImage ( fk_Image image  ) 

画像データ設定関数

画像データを設定します。

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

画像データ取得関数

現在設定されている画像データを取得します。

戻り値:
画像データ
bool fk_Texture::readBMP ( std::string  fileName  ) 

BMP ファイル入力関数.

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

引数:
[in] fileName ファイル名
戻り値:
入力に成功すれば true、失敗すれば false を返します。
bool fk_Texture::readBMPData ( fk_ImType *  buf  ) 

BMP バッファ入力関数.

BMP (Windows Bitmap) 形式のバッファからデータを読み込み、 テクスチャ画像として設定します。 fk_ImType 型は、OpenGL をサポートしている環境においては GLubyte、 サポートしていない環境では unsigned char 型として定義されています。

引数:
[in] buf データバッファ
戻り値:
入力に成功すれば true、失敗すれば false を返します。
bool fk_Texture::readPNG ( std::string  fileName  ) 

PNG ファイル入力関数.

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

引数:
[in] fileName ファイル名
戻り値:
入力に成功すれば true、失敗すれば false を返します。
bool fk_Texture::readPNGData ( fk_ImType *  buf  ) 

PNG バッファ入力関数.

PNG 形式のバッファからデータを読み込み、 テクスチャ画像として設定します。 fk_ImType 型は、OpenGL をサポートしている環境においては GLubyte、 サポートしていない環境では unsigned char 型として定義されています。

引数:
[in] buf データバッファ
戻り値:
入力に成功すれば true、失敗すれば false を返します。
bool fk_Texture::readJPG ( std::string  fileName  ) 

JPEG ファイル入力関数.

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

引数:
[in] fileName ファイル名
戻り値:
入力に成功すれば true、失敗すれば false を返します。
const fk_Dimension* fk_Texture::getImageSize ( void   ) 

画像サイズ取得関数

画像サイズを fk_Dimension 型で取得します。

戻り値:
画像サイズ
参照:
getBufferSize()
const fk_Dimension* fk_Texture::getBufferSize ( void   ) 

画像バッファサイズ取得関数

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

覚え書き:
実画像サイズとデータバッファサイズの違いについては、 fk_Image::getBufferSize() の覚え書きを参照して下さい。
戻り値:
データサイズ
参照:
getImageSize(), fk_Image::getBufferSize()
void fk_Texture::setTextureMode ( fk_TexMode  mode  ) 

テクスチャモード設定関数

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

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

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

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

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

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

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

    となります。

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

引数:
[in] mode モード
fk_TexMode fk_Texture::getTextureMode ( void   ) 

テクスチャモード取得関数

現在のテクスチャモードを取得します。

戻り値:
テクスチャモード
参照:
setTextureMode()
void fk_Texture::setTexRendMode ( fk_TexRendMode  mode  ) 

テクスチャ描画品質設定関数

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

  • FK_TEX_REND_NORMAL: 標準品質。描画速度を優先します。
  • FK_TEX_REND_SMOOTH: 高品質。画質を優先します。

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

引数:
[in] mode 品質モード
fk_TexRendMode fk_Texture::getTexRendMode ( void   ) 

テクスチャ描画品質取得関数

現在設定されているテクスチャ描画品質モードを取得します。

戻り値:
品質モード
参照:
setTexRendMode()
void fk_Texture::fillColor ( const fk_Color color  ) 

一様色初期化関数1

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

引数:
[in] color 初期化色
参照:
fk_Color
void fk_Texture::fillColor ( int  r,
int  g,
int  b,
int  a = 0 
)

一様色初期化関数2

内部の画像ピクセルを、すべて同じ色で初期化します。 色要素は、最小値が 0, 最大値が 255 として解釈します。

引数:
[in] r 初期化色の赤要素
[in] g 初期化色の緑要素
[in] b 初期化色の青要素
[in] a 初期化色の透明度要素
const fk_ImType* fk_Texture::getImageBuf ( void   ) 

画像データ配列先頭アドレス取得関数

画像データを実際に格納しているデータ配列の先頭アドレスを参照します。

警告:
この関数は fk_Image の内部構造に強く依存します。 内部構造は今後の更新で変更される可能性があるため、 本関数を用いた場合は後方互換性が保証できません。 また、この関数を用いて得た内部データを更新した場合、 システム全体の整合性が維持できなくなる可能性があります。 上記の2点の理由から、この関数の利用は推奨しません。
戻り値:
画像データ配列の先頭アドレス。 テクスチャ画像が生成、設定されていない場合は NULL を返します。
参照:
fk_Image::getBufPointer()

FineKernelToolKitに対してSat Sep 26 20:35:37 2009に生成されました。  doxygen 1.6.1