2D スプライトモデルクラス [詳細]
Public メソッド | |
fk_SpriteModel (void) | |
コンストラクタ [詳細] | |
~fk_SpriteModel (void) | |
デストラクタ [詳細] | |
bool | entryFirst (fk_Window *win, fk_Scene *scene, fk_Model *camera=NULL) |
fk_Scene へのエントリー関数 [詳細] | |
bool | readBMP (const std::string filename) |
Windows Bitmap (BMP)画像読み込み関数 [詳細] | |
bool | readPNG (const std::string filename) |
PNG画像読み込み関数 [詳細] | |
bool | readJPG (const std::string filename) |
JPEG(JPG)画像読み込み関数 [詳細] | |
void | setImage (fk_Image &image) |
画像データセット関数 [詳細] | |
fk_Image * | getImage (void) |
画像データ参照関数 [詳細] | |
void | setPositionLT (double x, double y) |
画像位置指定関数 [詳細] | |
void | setSpriteArea (double x, double y, double w, double h) |
画像表示領域指定関数 [詳細] | |
void | setSpriteSize (double width=-1.0, double height=-1.0) |
表示サイズ設定関数 [詳細] | |
fk_TexCoord | getSpriteSize (void) |
表示サイズ取得関数 [詳細] | |
void | setSpriteSmoothMode (bool mode) |
画像表示モード設定関数 [詳細] | |
bool | getSpriteSmoothMode (void) |
画像表示モード取得関数 [詳細] | |
bool | initFont (const std::string fontFileName) |
文字列描画用フォント設定関数 [詳細] | |
void | drawText (const std::string str, fk_StringCode code=FK_STR_SJIS) |
文字列表示関数 [詳細] | |
void | drawText (const std::string str, bool mode, fk_StringCode code=FK_STR_SJIS) |
初期化設定付き文字列表示関数 [詳細] | |
void | clearText (void) |
文字列消去関数 [詳細] | |
![]() | |
fk_Model (fk_Shape *shape=(fk_Shape *) NULL) | |
コンストラクタ [詳細] | |
virtual | ~fk_Model () |
デストラクタ [詳細] | |
unsigned int | getID (void) const |
ID参照関数 [詳細] | |
void | setShape (fk_Shape *shape) |
形状設定関数 [詳細] | |
fk_Shape * | getShape (void) const |
形状参照関数 [詳細] | |
void | setMaterial (const fk_Material &mat) |
マテリアル設定関数 [詳細] | |
void | setPointColor (fk_Color *col) |
頂点色設定関数1 [詳細] | |
void | setPointColor (float r, float g, float b) |
頂点色設定関数2 [詳細] | |
void | setLineColor (fk_Color *col) |
稜線色設定関数1 [詳細] | |
void | setLineColor (float r, float g, float b) |
稜線色設定関数2 [詳細] | |
void | deleteMaterial (void) |
基本マテリアル削除関数 [詳細] | |
void | deletePointColor (void) |
頂点色削除関数 [詳細] | |
void | deleteLineColor (void) |
稜線色削除関数 [詳細] | |
fk_Material * | getMaterial (void) |
マテリアル参照関数 [詳細] | |
fk_Material * | getInhMaterial (void) |
継承マテリアル参照関数 [詳細] | |
fk_Color * | getPointColor (void) |
頂点色参照関数 [詳細] | |
fk_Color * | getInhPointColor (void) |
継承頂点色参照関数 [詳細] | |
fk_Color * | getLineColor (void) |
稜線色参照関数 [詳細] | |
fk_Color * | getInhLineColor (void) |
継承稜線色参照関数 [詳細] | |
void | setSize (const double size) |
頂点描画サイズ設定関数 [詳細] | |
void | setWidth (const double width) |
稜線描画幅設定関数 [詳細] | |
double | getSize (void) const |
頂点描画サイズ参照関数 [詳細] | |
double | getWidth (void) const |
稜線描画幅設定関数 [詳細] | |
void | setDrawMode (const fk_DrawMode mode) |
描画モード設定関数 [詳細] | |
fk_DrawMode | getDrawMode (void) const |
描画モード参照関数 [詳細] | |
void | setMaterialMode (const fk_MaterialMode mode) |
マテリアルモード設定関数 [詳細] | |
fk_MaterialMode | getMaterialMode (void) const |
マテリアルモード参照関数 [詳細] | |
void | setPickMode (const bool mode) |
ピックモード設定関数 [詳細] | |
bool | getPickMode (void) const |
ピックモード参照関数 [詳細] | |
void | setSmoothMode (const bool mode) |
スムースモード設定関数 [詳細] | |
bool | getSmoothMode (void) const |
スムースモード参照関数 [詳細] | |
void | setReverseDrawMode (const bool mode) |
描画順序制御関数 [詳細] | |
bool | getReverseDrawMode (void) const |
描画順序参照関数 [詳細] | |
fk_Matrix | getInhMatrix (void) const |
継承変換行列取得関数 [詳細] | |
fk_Matrix | getInhInvMatrix (void) const |
継承逆変換行列取得関数 [詳細] | |
fk_OrthoMatrix | getInhBaseMatrix (void) const |
継承移動・回転要素変換行列取得関数 [詳細] | |
fk_OrthoMatrix | getInhInvBaseMatrix (void) const |
継承移動・回転要素逆変換行列取得関数 [詳細] | |
fk_Vector | getInhPosition (void) const |
継承位置ベクトル参照関数 [詳細] | |
fk_Vector | getInhVec (void) const |
継承方向ベクトル参照関数 [詳細] | |
fk_Vector | getInhUpvec (void) const |
継承アップベクトル参照関数 [詳細] | |
fk_Angle | getInhAngle (void) const |
継承オイラー角参照関数 [詳細] | |
bool | setParent (fk_Model *model, bool setMode=false) |
親モデル設定関数 [詳細] | |
void | deleteParent (bool setMode=false) |
親モデル解除関数 [詳細] | |
fk_Model * | getParent (void) const |
親モデル参照関数 [詳細] | |
bool | entryChild (fk_Model *model, bool setMode=false) |
子モデル設定関数 [詳細] | |
bool | deleteChild (fk_Model *model, bool setMode=false) |
子モデル解除関数 [詳細] | |
void | deleteChildren (bool setMode=false) |
全子モデル解除関数 [詳細] | |
fk_Model * | foreachChild (fk_Model *model) |
子モデル逐次参照関数 [詳細] | |
void | snapShot (void) |
位置・姿勢保存関数 [詳細] | |
bool | restore (void) |
位置・姿勢復元関数 [詳細] | |
bool | restore (double t) |
位置・姿勢途中復元関数 [詳細] | |
virtual void | preShader (void) |
描画処理事前関数 [詳細] | |
virtual void | postShader (void) |
描画処理事後関数 [詳細] | |
![]() | |
fk_MatrixAdmin (fk_ObjectType=FK_MATRIXADMIN) | |
コンストラクタ [詳細] | |
virtual | ~fk_MatrixAdmin () |
デストラクタ [詳細] | |
fk_Vector | getPosition (void) const |
位置ベクトル取得関数 [詳細] | |
fk_Vector | getVec (void) const |
方向ベクトル取得関数 [詳細] | |
fk_Vector | getUpvec (void) const |
アップベクトル取得関数 [詳細] | |
fk_Angle | getAngle (void) const |
オイラー角取得関数 [詳細] | |
fk_Matrix | getMatrix (void) const |
変換行列取得関数 [詳細] | |
fk_Matrix | getInvMatrix (void) const |
逆変換行列取得関数 [詳細] | |
fk_OrthoMatrix | getBaseMatrix (void) const |
移動・回転要素変換行列取得関数 [詳細] | |
fk_OrthoMatrix | getInvBaseMatrix (void) const |
移動・回転要素逆変換行列取得関数 [詳細] | |
bool | setScale (const double scale) |
全体絶対倍率設定関数 [詳細] | |
bool | setScale (const double scale, fk_Axis axis) |
軸方向絶対倍率設定関数 [詳細] | |
bool | setScale (const double x, const double y, const double z) |
軸方向個別絶対倍率設定関数 [詳細] | |
bool | prdScale (const double scale) |
全体相対倍率設定関数 [詳細] | |
bool | prdScale (const double scale, fk_Axis axis) |
軸方向相対倍率設定関数 [詳細] | |
bool | prdScale (const double x, const double y, const double z) |
軸方向個別相対倍率設定関数 [詳細] | |
double | getScale (void) const |
全体倍率取得関数 [詳細] | |
double | getScale (fk_Axis axis) const |
軸方向倍率取得関数 [詳細] | |
bool | getScaleMode (void) const |
拡大縮小状態判定関数 [詳細] | |
bool | glRotate (fk_Vector origin, fk_Axis axis, double theta) |
グローバル座標系座標軸回転関数1 [詳細] | |
bool | glRotate (double orgX, double orgY, double orgZ, fk_Axis axis, double theta) |
グローバル座標系座標軸回転関数2 [詳細] | |
bool | glRotate (fk_Vector A, fk_Vector B, double theta) |
グローバル座標系任意軸回転関数1 [詳細] | |
bool | glRotate (double Ax, double Ay, double Az, double Bx, double By, double Bz, double theta) |
グローバル座標系任意軸回転関数2 [詳細] | |
bool | loRotate (fk_Vector origin, fk_Axis axis, double theta) |
ローカル座標系座標軸回転関数1 [詳細] | |
bool | loRotate (double orgX, double orgY, double orgZ, fk_Axis axis, double theta) |
ローカル座標系座標軸回転関数2 [詳細] | |
bool | loRotate (fk_Vector A, fk_Vector B, double theta) |
ローカル座標系任意軸回転関数1 [詳細] | |
bool | loRotate (double Ax, double Ay, double Az, double Bx, double By, double Bz, double theta) |
ローカル座標系任意軸回転関数2 [詳細] | |
bool | glRotateWithVec (fk_Vector origin, fk_Axis axis, double theta) |
グローバル座標系座標軸回転(姿勢付き)関数1 [詳細] | |
bool | glRotateWithVec (double orgX, double orgY, double orgZ, fk_Axis axis, double theta) |
グローバル座標系座標軸回転(姿勢付き)関数2 [詳細] | |
bool | glRotateWithVec (fk_Vector A, fk_Vector B, double theta) |
グローバル座標系任意軸回転(姿勢付き)関数1 [詳細] | |
bool | glRotateWithVec (double Ax, double Ay, double Az, double Bx, double By, double Bz, double theta) |
グローバル座標系任意軸回転(姿勢付き)関数2 [詳細] | |
bool | loRotateWithVec (fk_Vector origin, fk_Axis axis, double theta) |
ローカル座標系座標軸回転(姿勢付き)関数1 [詳細] | |
bool | loRotateWithVec (double orgX, double orgY, double orgZ, fk_Axis axis, double theta) |
ローカル座標系座標軸回転(姿勢付き)関数2 [詳細] | |
bool | loRotateWithVec (fk_Vector A, fk_Vector B, double theta) |
ローカル座標系任意軸回転(姿勢付き)関数1 [詳細] | |
bool | loRotateWithVec (double Ax, double Ay, double Az, double Bx, double By, double Bz, double theta) |
ローカル座標系任意軸回転(姿勢付き)関数2 [詳細] | |
bool | glTranslate (fk_Vector v) |
グローバル座標系平行移動関数1 [詳細] | |
bool | glTranslate (double x, double y, double z) |
グローバル座標系平行移動関数2 [詳細] | |
bool | loTranslate (fk_Vector v) |
ローカル座標系平行移動関数1 [詳細] | |
bool | loTranslate (double x, double y, double z) |
ローカル座標系平行移動関数2 [詳細] | |
bool | glMoveTo (fk_Vector p) |
グローバル座標系位置指定関数1 [詳細] | |
bool | glMoveTo (double x, double y, double z) |
グローバル座標系位置指定関数2 [詳細] | |
bool | glFocus (fk_Vector p) |
グローバル座標系注視点設定関数1 [詳細] | |
bool | glFocus (double x, double y, double z) |
グローバル座標系注視点設定関数2 [詳細] | |
bool | loFocus (fk_Vector p) |
ローカル座標系注視点設定関数1 [詳細] | |
bool | loFocus (double x, double y, double z) |
ローカル座標系注視点設定関数2 [詳細] | |
bool | glVec (fk_Vector v) |
グローバル座標系方向ベクトル設定関数1 [詳細] | |
bool | glVec (double x, double y, double z) |
グローバル座標系方向ベクトル設定関数2 [詳細] | |
bool | glUpvec (fk_Vector v) |
グローバル座標系アップベクトル設定関数1 [詳細] | |
bool | glUpvec (double x, double y, double z) |
グローバル座標系アップベクトル設定関数2 [詳細] | |
bool | loUpvec (fk_Vector v) |
ローカル座標系アップベクトル設定関数1 [詳細] | |
bool | loUpvec (double x, double y, double z) |
ローカル座標系アップベクトル設定関数2 [詳細] | |
bool | glAngle (fk_Angle angle) |
グローバル座標系オイラー角設定関数1 [詳細] | |
bool | glAngle (double h, double p, double b) |
グローバル座標系オイラー角設定関数2 [詳細] | |
bool | loAngle (fk_Angle angle) |
ローカル座標系オイラー角設定関数1 [詳細] | |
bool | loAngle (double h, double p, double b) |
ローカル座標系オイラー角設定関数2 [詳細] | |
![]() | |
fk_BaseObject (fk_ObjectType type=FK_BASEOBJECT) | |
コンストラクタ [詳細] | |
fk_ObjectType | getObjectType (void) const |
タイプ取得関数 [詳細] | |
Public 変数 | |
fk_TextImage | text |
文字列描画設定用オブジェクト [詳細] | |
2D スプライトモデルクラス
このクラスは、画像や文字列をディスプレイ座標系に従って配置する機能を提供します。
リアルタイム 3DCG において (3次元空間の投影によらず) ディスプレイ上に直接画像やメッセージ等のビットマップ画像を表示する処理を 「スプライト表示」と呼びます。 スプライト表示を行うための方法はプラットフォームによって異なるため、 FK では直接スプライト表示を行う機能は提供しませんが、 本クラスはディスプレイ座標系での指定に従って、 適切にテクスチャ画像の配置を行うことによって(擬似的に)スプライト表示を実現します。
fk_SpriteModel::fk_SpriteModel | ( | void | ) |
コンストラクタ
fk_SpriteModel::~fk_SpriteModel | ( | void | ) |
デストラクタ
fk_Scene へのエントリー関数
スプライトのサイズやレイアウトを、カメラ・シーン・ウィンドウに合わせて設定します。 fk_Scene へ最初にエントリーする時は、こちらの関数を使ってください。 シーンにはカメラがセット済みである必要があります。 ウィンドウサイズ・カメラ・射影を変更した場合はもう一度呼ばないとサイズがおかしくなります。
bool fk_SpriteModel::readBMP | ( | const std::string | filename | ) |
Windows Bitmap (BMP)画像読み込み関数
Windows Bitmap 形式 (BMP形式) の画像を読み込みます。
[in] | filename | BMP形式ファイル名 |
bool fk_SpriteModel::readPNG | ( | const std::string | filename | ) |
PNG画像読み込み関数
PNG形式の画像を読み込みます。アルファチャンネルによる透過に対応しています。
[in] | filename | PNG形式ファイル名 |
bool fk_SpriteModel::readJPG | ( | const std::string | filename | ) |
JPEG(JPG)画像読み込み関数
JPEG形式の画像を読み込みます。
[in] | filename | PNG形式ファイル名 |
void fk_SpriteModel::setImage | ( | fk_Image & | image | ) |
fk_Image* fk_SpriteModel::getImage | ( | void | ) |
画像データ参照関数
内部の画像データインスタンスを参照します。 画像サイズを変更しない限りは、内部データを直接変更しても問題ありません。
void fk_SpriteModel::setPositionLT | ( | double | x, |
double | y | ||
) |
画像位置指定関数
指定した座標が左上になるように位置を変更します。 指定する数値は、画面中心を原点とする座標系で、 数値 1 が 1 ピクセルに相当する値になります。
画像の中心位置を指定したい場合は、 fk_Model::glMoveTo() を利用して下さい。
[in] | x | 画像左上の x 座標値。 |
[in] | y | 画像左上の y 座標値。 |
void fk_SpriteModel::setSpriteArea | ( | double | x, |
double | y, | ||
double | w, | ||
double | h | ||
) |
画像表示領域指定関数
画像の一部分だけを表示領域として切り出します。 本関数での座標系は、画像のピクセル数が横幅 , 縦幅
としたとき、 画像の左上が
であり、右下が
となります。
[in] | x | 表示領域左上の x 座標値。 |
[in] | y | 表示領域左上の y 座標値。 |
[in] | w | 表示領域の横幅ピクセル数。 |
[in] | h | 表示領域の縦幅ピクセル数。 |
void fk_SpriteModel::setSpriteSize | ( | double | width = -1.0 , |
double | height = -1.0 |
||
) |
表示サイズ設定関数
画像の表示サイズを設定します。 通常は画像の設定時に自動調整を行っていますので、 敢えてそこからサイズを変更したい時に使います。 引数を省略すると、読み込んである画像と同じサイズに復元します。 数値 1 が 1 ピクセルに相当する値になります。
[in] | width | 表示サイズの横幅。-1 を指定した場合、元画像の横幅となります。 |
[in] | height | 表示サイズの縦幅。-1 を指定した場合、元画像の縦幅となります。 |
fk_TexCoord fk_SpriteModel::getSpriteSize | ( | void | ) |
void fk_SpriteModel::setSpriteSmoothMode | ( | bool | mode | ) |
画像表示モード設定関数
画像を滑らかに表示するかどうかを制御します。 デフォルトでは滑らかに表示する設定になっています。
[in] | mode | true であれば滑らかな表示に設定し、 false であれば滑らかな表示は行いません。 |
bool fk_SpriteModel::getSpriteSmoothMode | ( | void | ) |
画像表示モード取得関数
画像を滑らかに表示するかどうかの状態を取得します。
bool fk_SpriteModel::initFont | ( | const std::string | fontFileName | ) |
文字列描画用フォント設定関数
文字表示を行うための、フォントの設定を行います。 drawText() による文字列表示を行いたい場合は、事前に本関数を実行する必要があります。 ここで指定するものは TrueType 形式のフォントファイルとなります。 通常は「ttf」あるいは「ttc」という拡張子のファイルとなっています。
[in] | fontFileName | フォントファイル名 |
void fk_SpriteModel::drawText | ( | const std::string | str, |
fk_StringCode | code = FK_STR_SJIS |
||
) |
文字列表示関数
指定された文字列を表示する画像を設定します。 本関数を実行する前に、事前に initFont() でフォント指定を行う必要があります。
[in] | str | 指定文字列。既に設定されていた文字列があった場合は、その末尾に付け足します。 |
[in] | code | 文字コード |
void fk_SpriteModel::drawText | ( | const std::string | str, |
bool | mode, | ||
fk_StringCode | code = FK_STR_SJIS |
||
) |
初期化設定付き文字列表示関数
指定された文字列を表示する画像を設定します。 本関数を実行する前に、事前に initFont() でフォント指定を行う必要があります。
[in] | str | 指定文字列 |
[in] | mode | true を渡すとこれまでに入力した文字列を一旦消去し、 新たに文字列を生成します。 false を渡すと、 drawText(const std::string, fk_StringCode) と同様に、 これまでに入力した文字列への付け足しを行います。 |
[in] | code | 文字コード |
void fk_SpriteModel::clearText | ( | void | ) |
文字列消去関数
drawText() 関数によって作成した文字列を消去します。
fk_TextImage fk_SpriteModel::text |
文字列描画設定用オブジェクト
drawText() 関数によって制御される fk_TextImage 型インスタンスです。 このメンバを直接操作することにより、フォントや表示色など多くの属性を制御できます。 詳細は、 fk_TextImage クラスのマニュアルを参照して下さい。