固定小数関連 API 機能一覧

データ型

固定小数型

fx16 整数部 3ビット小数部12ビットの符号付固定小数を表す型です。
fx32 整数部19ビット小数部12ビットの符号付固定小数を表す型です。
fx64 整数部51ビット小数部12ビットの符号付固定小数を表す型です。
fx64c 整数部31ビット小数部32ビットの符号付固定小数を表す型です。

行列・ベクトル型

MtxFx22 2x2行列で要素の型はfx32です。
MtxFx33 3x3行列で要素の型はfx32です。
MtxFx43 4x3行列で要素の型はfx32です。
MtxFx44 4x4行列で要素の型はfx32です。
VecFx32 3次元ベクトルで要素の型はfx32です。
VecFx16 3次元ベクトルで要素の型はfx16です。

初期化

初期化

FX_Init 固定小数APIの初期化です。

計算

固定小数の計算

FX_Whole 小数点以下を切り捨て結果を整数として返します。
FX_Floor 小数点以下を切り捨てます。
FX_Modf fx32型を整数部と小数部に分割します。
FX_Mul fx32型同士の乗算を行います。
FX_Mul32x64c fx32型とfx64c型の乗算を行います。
FX_Div fx32型同士の除算を行います。
FX_DivFx64c fx32型同士の除算を行い、結果をfx64c型で返します。
FX_Mod fx32型同士で除算を行い、剰余を返します。
FX_Sqrt fx32型の平方根を計算します。
FX_InvSqrt fx32型の平方根の逆数を計算します。
FX_Inv fx32型の逆数を計算します。
FX_InvFx64c fx32型の逆数を計算し、結果をfx64c型で返します。
FX_SinIdx 正弦を計算します。16ビットのインデックスを受け取り、結果をfx16型で返します(テーブル引き)。
FX_CosIdx 余弦を計算します。16ビットのインデックスを受け取り、結果をfx16型で返します(テーブル引き)。
FX_SinFx64c 正弦を計算します。fx32型でラジアンを受け取り、結果をfx64c型で返します(精度が必要な場合)。
FX_CosFx64c 余弦を計算します。fx32型でラジアンを受け取り、結果をfx64c型で返します(精度が必要な場合)。
FX_AtanIdx 逆正接を計算します。fx32型を受け取り、結果をu16型で返します(テーブル引き)
FX_Atan2Idx 逆正接を計算します。(y,x)をfx32型で受け取り、結果をu16型で返します(テーブル引き)
FX_Atan 逆正接を計算します。fx32型を受け取り、結果をfx16型(ラジアン単位)で返します(テーブル引き)
FX_Atan2 逆正接を計算します。(y,x)をfx32型で受け取り、結果のfx16型(ラジアン単位)で返します(テーブル引き)
FX_AsinIdx 逆正弦を計算します。fx32型を受け取り、結果をu16型で返します(テーブル引き)
FX_AcosIdx 逆余弦を計算します。fx32型を受け取り、結果をu16型で返します(テーブル引き)

固定小数の計算(非同期版)

FX_DivAsync 非同期の除算を行います。
FX_DivAsyncImm 非同期の除算を行います。除算モードの設定も行いません。
FX_GetDivResultFx64c 除算の計算結果をfx64c型で取得します。
FX_GetDivResult 除算の計算結果をfx32型で取得します。
FX_InvAsync 非同期で逆数の計算を行います。
FX_InvAsyncImm 非同期で逆数の計算を行います。除算モードの設定も行いません。
FX_GetInvResultFx64c FX_GetDivResultFx64cと同様です。
FX_GetInvResult FX_GetDivResultと同様です。
FX_SqrtAsync 非同期で平方根計算を行います。
FX_SqrtAsyncImm 非同期で平方根計算を行います。平方根演算モードの設定も行いません。
FX_GetSqrtResult 平方根計算の結果をfx32型で取得します。

2x2行列計算

MTX_Identity22 単位行列をセットします。
MTX_Transpose22 転置行列をセットします。
MTX_Scale22 スケール行列をセットします。
MTX_ScaleApply22 スケール行列を左から乗じます。
MTX_Rot22 回転行列をセットします。
MTX_Inverse22 逆行列を求めます。
MTX_Concat22 行列の乗算を行います。
MTX_Copy22 行列をコピーします。

3x3行列計算

MTX_Identity33 単位行列をセットします。
MTX_Copy33To43 行列をコピーします。
MTX_Copy33To44 行列をコピーします。
MTX_Transpose33 転置行列をセットします。
MTX_Scale33 スケール行列をセットします。
MTX_ScaleApply33 スケール行列を左から乗じます。
MTX_RotX33 X軸に関する回転行列をセットします。
MTX_RotY33 Y軸に関する回転行列をセットします。
MTX_RotZ33 Z軸に関する回転行列をセットします。
MTX_RotAxis33 任意の軸に関する回転行列をセットします。
MTX_Inverse33 逆行列を求めます。
MTX_Concat33 行列の乗算を行います。
MTX_MultVec33 行列にベクトルを左から乗じます。
MTX_Copy33 行列をコピーします。

4x3行列計算

MTX_Identity43 単位行列をセットします。
MTX_Copy43To33 行列をコピーします。
MTX_Copy43To44 行列をコピーします。
MTX_Transpose43 転置行列をセットします。
MTX_Scale43 スケール行列をセットします。
MTX_ScaleApply43 スケール行列を左から乗じます。
MTX_RotX43 X軸に関する回転行列をセットします。
MTX_RotY43 Y軸に関する回転行列をセットします。
MTX_RotZ43 Z軸に関する回転行列をセットします。
MTX_RotAxis43 任意の軸に関する回転行列をセットします。
MTX_Inverse43 逆行列を求めます。
MTX_Concat43 行列の乗算を行います。
MTX_MultVec43 行列にベクトルを左から乗じます。
MTX_TransApply43 行列に平行移動行列を左から乗じます。
MTX_LookAt 行列にカメラ行列を設定します。
MTX_Copy43 行列をコピーします。

4x4行列計算

MTX_Identity44 単位行列をセットします。
MTX_Copy44To33 行列をコピーします。
MTX_Copy44To43 行列をコピーします。
MTX_Transpose44 転置行列をセットします。
MTX_Scale44 スケール行列をセットします。
MTX_ScaleApply44 スケール行列を左から乗じます。
MTX_RotX44 X軸に関する回転行列をセットします。
MTX_RotY44 Y軸に関する回転行列をセットします。
MTX_RotZ44 Z軸に関する回転行列をセットします。
MTX_RotAxis44 任意の軸に関する回転行列をセットします。
MTX_Concat44 行列の乗算を行います。
MTX_TransApply44 行列に平行移動行列を左から乗じます。
MTX_Frustum 射影行列をセットします。
MTX_Perspective 射影行列をセットします
MTX_Ortho 射影行列をセットします。
MTX_FrustumW 射影行列をセットします。(scaleWパラメータ付)
MTX_PerspectiveW 射影行列をセットします(scaleWパラメータ付)
MTX_OrthoW 射影行列をセットします。(scaleWパラメータ付)
MTX_Copy44 行列をコピーします。

ベクトル計算

VEC_Set fx32型の3次元ベクトルに値を設定します。
VEC_Add 2つのfx32型の3次元ベクトルを加算します。
VEC_Subtract 2つのfx32型の3次元ベクトルを減算します。
VEC_DotProduct fx32型の3次元ベクトルの内積を計算します。
VEC_CrossProduct fx32型の3次元ベクトルの外積を計算します。
VEC_Mag fx32型の3次元ベクトルの長さを求めます。
VEC_Distance fx32型の2つの3次元ベクトル間の距離を求めます。
VEC_Normalize fx32型の3次元ベクトルを正規化します。
VEC_MultAdd fx32型の3次元ベクトルのスカラー倍してfx32型の3次元ベクトルを加算します。
VEC_MultSubtract fx32型の3次元ベクトルのスカラー倍してfx32型の3次元ベクトルを減算します。
VEC_Fx16Set fx16型の3次元ベクトルに値を設定します。
VEC_Fx16Add 2つのfx16型の3次元ベクトルを加算します。
VEC_Fx16Subtract 2つのfx16型の3次元ベクトルを減算します。
VEC_Fx16DotProduct fx16型の3次元ベクトルの内積を計算します。
VEC_Fx16CrossProduct fx16型の3次元ベクトルの外積を計算します。
VEC_Fx16Mag fx16型の3次元ベクトルの長さを求めます。
VEC_Fx16Distance fx16型の2つの3次元ベクトル間の距離を求めます。
VEC_Fx16Normalize fx16型の3次元ベクトルを正規化します。

その他

FX_DivS32 s32型同士の除算を行います。
FX_ModS32 s32型同士の剰余を求めます。

マクロ

fx16型用のマクロ

fx32型用のマクロ

fx64型用のマクロ

fx64c型用のマクロ

定数

fx16型の定数マクロ

fx32型の定数マクロ

fx64c型の定数マクロ