FineKernelToolKit  2.9.0
 全て クラス ネームスペース ファイル 関数 変数 型定義 列挙型 列挙型の値 フレンド マクロ定義 ページ
Public メソッド | すべてのメンバ一覧
クラス fk_Texture

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

+ fk_Textureに対する継承グラフ
+ fk_Textureのコラボレーション図

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)
 画像データ配列先頭アドレス取得関数 [詳細]
 
- Public メソッド inherited from fk_Shape
 fk_Shape (fk_ObjectType=FK_SHAPE)
 コンストラクタ [詳細]
 
virtual ~fk_Shape ()
 デストラクタ [詳細]
 
fk_PalettegetPaletteData (void)
 パレット取得関数 [詳細]
 
void clearMaterial (void)
 パレット初期化関数 [詳細]
 
void setObjMaterialID (int ID)
 オブジェクトマテリアル ID 設定関数 [詳細]
 
void pushPalette (fk_Material &mat)
 マテリアル追加関数 [詳細]
 
void setPalette (fk_Material &mat, int ID)
 マテリアル設定関数 [詳細]
 
void setMaterialMode (fk_MaterialMode mode)
 マテリアルモード設定関数 [詳細]
 
fk_MaterialMode getMaterialMode (void)
 マテリアルモード取得関数 [詳細]
 
int getObjMaterialID (void)
 オブジェクトマテリアル ID 取得関数 [詳細]
 
int getPaletteSize (void)
 パレット中のマテリアル格納数取得関数 [詳細]
 
fk_MaterialgetMaterial (int id)
 マテリアル取得関数 [詳細]
 
std::vector< fk_Material > * getMaterialVector (void)
 マテリアル配列取得関数 [詳細]
 
- Public メソッド inherited from 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 型、値が string 型である属性設定関数 [詳細]
 
bool setAttrSI (const std::string key, const int value)
 キーが string 型、値が int 型である属性設定関数 [詳細]
 
bool setAttrSD (const std::string key, const double value)
 キーが string 型、値が double 型である属性設定関数 [詳細]
 
bool setAttrSS (const std::string key, const std::string value)
 キーが string 型、値が 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 型、値が string 型である属性参照関数 [詳細]
 
int getAttrSI (const std::string key) const
 キーが string 型、値が int 型である属性参照関数 [詳細]
 
double getAttrSD (const std::string key) const
 キーが string 型、値が double 型である属性参照関数 [詳細]
 
std::string getAttrSS (const std::string key) const
 キーが string 型、値が string 型である属性参照関数 [詳細]
 
bool existAttrII (const int key) const
 キーが int 型、値が int 型である属性存在参照関数 [詳細]
 
bool existAttrID (const int key) const
 キーが int 型、値が double 型である属性存在参照関数 [詳細]
 
bool existAttrIS (const int key) const
 キーが int 型、値が string 型である属性存在参照関数 [詳細]
 
bool existAttrSI (const std::string key) const
 キーが string 型、値が int 型である属性存在参照関数 [詳細]
 
bool existAttrSD (const std::string key) const
 キーが string 型、値が double 型である属性存在参照関数 [詳細]
 
bool existAttrSS (const std::string key) const
 キーが string 型、値が string 型である属性存在参照関数 [詳細]
 
bool deleteAttrII (const int key)
 キーが int 型、値が int 型である属性消去関数 [詳細]
 
bool deleteAttrID (const int key)
 キーが int 型、値が double 型である属性消去関数 [詳細]
 
bool deleteAttrIS (const int key)
 キーが int 型、値が string 型である属性消去関数 [詳細]
 
bool deleteAttrSI (const std::string key)
 キーが string 型、値が int 型である属性消去関数 [詳細]
 
bool deleteAttrSD (const std::string key)
 キーが string 型、値が double 型である属性消去関数 [詳細]
 
bool deleteAttrSS (const std::string key)
 キーが string 型、値が string 型である属性消去関数 [詳細]
 
- Public メソッド inherited from fk_BaseObject
 fk_BaseObject (fk_ObjectType type=FK_BASEOBJECT)
 コンストラクタ [詳細]
 
fk_ObjectType getObjectType (void) const
 タイプ取得関数 [詳細]
 

説明

テクスチャ用基底クラス

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

参照
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()