グラフィックス(GX/G2/G3/G3X) API 機能一覧

2D/3Dグラフィックス全般(GX)

パワーコントロール

GX_SetPower 各種パワーコントロールを一括設定します。
GX_GetPower 各種パワーコントロールの状態を取得します。
GX_PowerLCD LCDパワーのON/OFFを設定します。
GX_Power2D 2DグラフィックスエンジンのON/OFFを設定します。
GX_PowerGeometry ジオメトリエンジンのON/OFFを設定します。
GX_PowerRender レンダリングエンジンのON/OFFを設定します。

初期化

GX_Init グラフィックスシステムを初期化します。

表示モードとBGモードの設定

GX_SetGraphicsMode 表示モードとBGモードを設定します。

表示・非表示の設定

GX_SetVisiblePlane BG, OBJの表示/非表示を選択します。
GX_SetVisibleWnd ウィンドウの表示/非表示を選択します。
GX_BlankScr LCD表示の無効/有効を設定します。

オフセットの設定

GX_SetBGScrOffset スクリーンオフセットを設定します。
GX_SetBGCharOffset キャラクタオフセットを設定します。

OBJマッピングモードの設定

GX_SetOBJVRamModeChar キャラクタOBJのマッピングモードを設定します。
GX_SetOBJVRamModeBmp ビットマップOBJのマッピングモードを設定します。

VRAMバンクのリソースへの割り当て

GX_SetBankForBG VRAMバンクを指定してBGに割り当てます。
GX_SetBankForOBJ VRAMバンクを指定してOBJに割り当てます。
GX_SetBankForBGExtPltt VRAMバンクを指定してBG拡張パレットに割り当てます。
GX_SetBankForOBJExtPltt VRAMバンクを指定してOBJ拡張パレットにに割り当てます。
GX_SetBankForTex VRAMバンクを指定してテクスチャイメージスロットに割り当てます。
GX_SetBankForTexPltt VRAMバンクを指定してテクスチャパレットスロットに割り当てます。
GX_SetBankForClearImage VRAMバンクを指定してクリアイメージに割り当てます。
GX_SetBankForARM7 VRAMバンクを指定してARM7メモリ空間に割り当てます。
GX_SetBankForLCDC VRAMバンクを指定してLCDCメモリ空間に割り当てます。

リソースに割り当てられたVRAMバンク情報の取得

GX_GetBankForBG BGに割り当てられたVRAMバンク情報を取得します。
GX_GetBankForOBJ OBJに割り当てられたVRAMバンク情報を取得します。
GX_GetBankForBGExtPltt BG拡張パレットに割り当てられたVRAMバンク情報を取得します。
GX_GetBankForOBJExtPltt OBJ拡張パレットに割り当てられたVRAMバンク情報を取得します。
GX_GetBankForTex テクスチャイメージスロットに割り当てられたVRAMバンク情報を取得します。
GX_GetBankForTexPltt テクスチャパレットスロットに割り当てられたVRAMバンク情報を取得します。
GX_GetBankForClearImage クリアイメージに割り当てられたVRAMバンク情報を取得します。
GX_GetBankForARM7 ARM7メモリ空間に割り当てられたVRAMバンク情報を取得します。
GX_GetBankForLCDC LCDCに割り当てられたVRAMバンク情報を取得します。

リソースに割り当てられたVRAMバンクのLCDCメモリ空間への切り替え

GX_ResetBankForBG BGに割り当てられたVRAMバンクをLCDCメモリ空間に割り当てます。
GX_ResetBankForOBJ OBJに割り当てられたVRAMバンクをLCDCメモリ空間に割り当てます。
GX_ResetBankForBGExtPltt BGEXTPLTTに割り当てられたVRAMバンクをLCDCメモリ空間に割り当てます。
GX_ResetBankForOBJExtPltt OBJEXTPLTTに割り当てられたVRAMバンクをLCDCメモリ空間に割り当てます。
GX_ResetBankForTex TEXに割り当てられたVRAMバンクをLCDCメモリ空間に割り当てます。
GX_ResetBankForTexPltt TEXPLTTに割り当てられたVRAMバンクをLCDCメモリ空間に割り当てます。
GX_ResetBankForClearImage CLRIMGに割り当てられたVRAMバンクをLCDCメモリ空間に割り当てます。
GX_ResetBankForARM7 ARM7に割り当てられたVRAMバンクをLCDCメモリ空間に割り当てます。

リソースに割り当てられたVRAMバンクの解除

GX_DisableBankForBG BGに割り当てられたVRAMバンクを無効にします。
GX_DisableBankForOBJ OBJに割り当てられたVRAMバンクを無効にします。
GX_DisableBankForBGExtPltt BGEXTPLTTに割り当てられたVRAMバンクを無効にします。
GX_DisableBankForOBJExtPltt OBJEXTPLTTに割り当てられたVRAMバンクを無効にします。
GX_DisableBankForTex TEXに割り当てられたVRAMバンクを無効にします。
GX_DisableBankForTexPltt TEXPLTTに割り当てられたVRAMバンクを無効にします。
GX_DisableBankForClearImage CLRIMGに割り当てられたVRAMバンクを無効にします。
GX_DisableBankForARM7 ARM7に割り当てられたVRAMバンクを無効にします。
GX_DisableBankForLCDC LCDCに割り当てられたVRAMバンクを無効にします。

各種リソースのロード(2D)

GX_LoadOBJ OBJデータを2DグラフィックエンジンのOBJに転送します。
GX_LoadOAM OAMデータをOAMに転送します。
GX_LoadBGPltt 標準BGパレットデータを標準BGパレットRAMに転送します。
GX_LoadOBJPltt 標準OBJパレットデータを標準OBJパレットRAMに転送します。
GX_LoadBG0Scr BG0スクリーンにデータを転送します。
GX_LoadBG1Scr BG1スクリーンにデータを転送します。
GX_LoadBG2Scr BG2スクリーンにデータを転送します。
GX_LoadBG3Scr BG3スクリーンにデータを転送します。
GX_LoadBG0Char BG0キャラクタにデータを転送します。
GX_LoadBG1Char BG1キャラクタにデータを転送します。
GX_LoadBG2Char BG2キャラクタにデータを転送します。
GX_LoadBG3Char BG3キャラクタにデータを転送します。
GX_BeginLoadBGExtPltt BG拡張パレットにデータを転送する前に呼びます。
GX_LoadBGExtPltt BG拡張パレットにデータを転送します。
GX_EndLoadBGExtPltt BG拡張パレットへのデータを転送が全て終った後に呼びます。
GX_BeginLoadOBJExtPltt OBJ拡張パレットにデータを転送する前に呼びます。
GX_LoadOBJExtPltt OBJ拡張パレットにデータを転送します。
GX_EndLoadOBJExtPltt OBJ拡張パレットへのデータ転送が全て終った後に呼びます。

各種リソースのロード(3D)

GX_BeginLoadTex テクスチャイメージスロットにデータを転送する前に呼びます。
GX_LoadTex テクスチャイメージスロットにデータを転送します。
GX_EndLoadTex テクスチャイメージスロットにデータを転送が全て終った後に呼びます。
GX_BeginLoadTexPltt テクスチャパレットスロットにデータを転送する前に呼びます。
GX_LoadTexPltt テクスチャパレットスロットにデータを転送します。
GX_EndLoadTexPltt テクスチャパレットスロットにデータを転送が全て終った後に呼びます。
GX_BeginLoadClearImage クリアイメージスロットにデータを転送する前に呼びます。
GX_LoadClearImageColor クリアイメージスロットにカラーデータを転送します。
GX_LoadClearImageDepth クリアイメージスロットにデプスデータを転送します。
GX_EndLoadClearImage クリアイメージスロットにデータを転送が全て終った後に呼びます。

割り込み・その他

GX_SetCapture 画面キャプチャを設定します。
GX_SetMasterBrightness マスター輝度を設定します。
GX_GetVCount Vカウンタ値を読み出します。
GX_SetVCount Vカウンタ値を書き出します。
GX_IsHBlank Hブランク期間中かをテストします。
GX_IsVBlank Vブランク期間中かをテストします。
GX_IsVCounterEq Vカウンター一致期間中かをテストします。
GX_VCounterEqIntr Vカウンター一致割り込みを許可/不許可に設定します。
GX_SetVCounterEqVal Vカウンター一致設定値を設定します。
GX_HBlankIntr Hブランク割り込みを許可/不許可に設定します。
GX_VBlankIntr Vブランク割り込みを許可/不許可に設定します。

2Dグラフィックス(G2)

BGコントロール

G2_SetBG0Control BG0の各種コントロールを設定します。
G2_SetBG1Control BG1の各種コントロールを設定します。
G2_SetBG2ControlText BG2の各種コントロール(テキストモードの場合)を設定します。
G2_SetBG2ControlAffine BG2の各種コントロール(アフィンモードの場合)を設定します。
G2_SetBG2Control256x16Pltt BG2の各種コントロール(256x16パレットキャラクタBGの場合)を設定します。
G2_SetBG2Control256Bmp BG2の各種コントロール(256ビットマップBGの場合)を設定します。
G2_SetBG2ControlDCBmp BG2の各種コントロール(ダイレクトカラービットマップBGの場合)を設定します。
G2_SetBG3ControlText BG3の各種コントロール(テキストモードの場合)を設定します。
G2_SetBG3ControlAffine BG3の各種コントロール(アフィンモードの場合)を設定します。
G2_SetBG3Control256x16Pltt BG3の各種コントロール(256x16パレットキャラクタBGの場合)を設定します。
G2_SetBG3Control256Bmp BG3の各種コントロール(256ビットマップBGの場合)を設定します。
G2_SetBG3ControlDCBmp BG3の各種コントロール(ダイレクトカラービットマップBGの場合)を設定します。

BGの表示優先度の設定

G2_SetBG0Priority BG0の表示優先度を設定します。
G2_SetBG1Priority BG1の表示優先度を設定します。
G2_SetBG2Priority BG2の表示優先度を設定します。
G2_SetBG3Priority BG3の表示優先度を設定します。

BGのモザイク適用/不適用の設定

G2_BG0Mosaic BG0のモザイク適用/不適用を設定します。
G2_BG1Mosaic BG1のモザイク適用/不適用を設定します。
G2_BG2Mosaic BG2のモザイク適用/不適用を設定します。
G2_BG3Mosaic BG3のモザイク適用/不適用を設定します。

ポインタの取得

G2_GetBG0ScrPtr BG0のスクリーンベースへのポインタを返します。
G2_GetBG1ScrPtr BG1のスクリーンベースへのポインタを返します。
G2_GetBG2ScrPtr BG2のスクリーンベースへのポインタを返します。
G2_GetBG3ScrPtr BG3のスクリーンベースへのポインタを返します。
G2_GetBG0CharPtr BG0のキャラクタベースへのポインタを返します。
G2_GetBG1CharPtr BG1のキャラクタベースへのポインタを返します。
G2_GetBG2CharPtr BG2のキャラクタベースへのポインタを返します。
G2_GetBG3CharPtr BG3のキャラクタベースへのポインタを返します。
G2_GetOBJCharPtr OBJのキャラクタベースへのポインタを返します。

BG平面のオフセットの設定

G2_SetBG0Offset BG0平面のオフセットを設定します。
G2_SetBG1Offset BG1平面のオフセットを設定します。
G2_SetBG2Offset BG2平面のオフセットを設定します。
G2_SetBG3Offset BG3平面のオフセットを設定します。

BG平面のアフィン変換の設定

G2_SetBG2Affine BG2平面に適用されるアフィン変換を設定します。
G2_SetBG3Affine BG3平面に適用されるアフィン変換を設定します。

ウィンドウの設定

G2_SetWnd0InsidePlane ウィンドウ0の内側にくる平面の設定を行います。
G2_SetWnd1InsidePlane ウィンドウ1の内側にくる平面の設定を行います。
G2_SetWndOutsidePlane ウィンドウの外側にくる平面の設定を行います。
G2_SetWndOBJInsidePlane OBJウィンドウの内側にくる平面の設定を行います。
G2_SetWnd0Position ウィンドウ0の位置設定をします。
G2_SetWnd1Position ウィンドウ1の位置設定をします。

モザイク

G2_SetBGMosaicSize BGにかかるモザイクサイズを設定します。
G2_SetOBJMosaicSize OBJにかかるモザイクサイズを設定します。

カラー特殊効果

G2_BlendNone カラー特殊効果を行わないよう設定します。
G2_SetBlendAlpha αブレンディングを行います。
G2_SetBlendBrightness 輝度のコントロールを行います。
G2_SetBlendBrightnessExt 輝度のコントロールを行い、OBJと3Dに対してはαブレンディングを行います。
G2_ChangeBlendAlpha αブレンディングの係数を設定します。
G2_ChangeBlendBrightness 輝度変更係数を設定します。

OAM

G2_SetOBJAttr オブジェクトの各アトリビュートを設定します。
G2_SetOBJAffine オブジェクトのアフィン変換を設定します。
G2_SetOBJPosition オブジェクトのXY座標を設定します。
G2_SetOBJPriority オブジェクトの表示優先度を設定します。
G2_SetOBJMode オブジェクトのOBJモードを設定します。
G2_SetOBJEffect オブジェクトのフリップ/アフィン変換パラメータを設定します。
G2_SetOBJShape オブジェクトの形状を設定します。
G2_SetOBJCharName オブジェクトの先頭キャラクタネームを設定します。
G2_OBJMosaic OBJのモザイク適用/不適用を設定します。

3Dジオメトリ(G3*)

ジオメトリコマンドサイクル一覧

ジオメトリと頂点

G3*_Begin 頂点リストの開始を宣言します。
G3*_End 頂点リストの終了を宣言します。
G3*_Vtx 頂点座標を設定します。
G3*_Vtx10 頂点座標を設定します。
G3*_VtxXY 頂点のXY座標を設定します。
G3*_VtxXZ 頂点のXZ座標を設定します。
G3*_VtxYZ 頂点のYZ座標を設定します。
G3*_VtxDiff 頂点座標を最後に設定したデータの差分値で指定します。
G3*_Normal 法線ベクトルを設定します。
G3*_Color 頂点カラーを直接設定します。
G3*_TexCoord テクスチャ座標を設定します。
G3*_PolygonAttr ポリゴン関連属性値を設定します。

行列とビューポート

G3*_MtxMode 行列モードを設定します。
G3*_Identity カレント行列を単位行列に初期化します。
G3*_LoadMtx43 カレント行列に4x3行列を設定します。
G3*_LoadMtx44 カレント行列に4x4行列を設定します。
G3*_MultMtx43 カレント行列に4x3行列を乗算します。
G3*_MultMtx44 カレント行列に4x4行列を乗算します。
G3*_MultMtx33 カレント行列に3x3行列を乗算します。
G3*_PushMtx カレント行列をスタックへプッシュします。
G3*_PopMtx カレント行列をスタックからポップします。
G3*_StoreMtx カレント行列をスタックの指定位置に格納します。
G3*_RestoreMtx スタックの指定位置から行列を読み出します。
G3*_Scale カレント行列にスケール(拡大縮小)行列を乗算します。
G3*_Translate カレント行列に平行移動行列を乗算します。
G3*_ViewPort ビューポートを設定します。

ライティング

G3*_LightColor ライトカラーを設定します。
G3*_LightVector ライトの方向ベクトルを設定します。
G3*_MaterialColorDiffAmb 材質の拡散反射色と環境反射色を設定します。
G3*_MaterialColorSpecEmi 材質の鏡面反射色と放射光色を設定します。
G3*_Shininess 鏡面反射輝度テーブルを設定します。

テクスチャ

G3*_TexImageParam テクスチャのパラメータを設定します。
G3*_TexPlttBase テクスチャパレットのベースアドレスを設定します。

コントロール

G3*_SwapBuffers レンダリングエンジンが参照するデータ群をスワップします。
G3*_Nop 何もしません。

ジオメトリ可視判定

G3*_BoxTest 関数の説明をここに書きます。
G3*_PositionTest 関数の説明をここに書きます。
G3*_VectorTest 関数の説明をここに書きます。

ダイレクト書き込み

G3*_Direct0 コマンドとパラメータを直接記述したい場合の関数で、引数の数が0の場合に使用します。
G3*_Direct1 コマンドとパラメータを直接記述したい場合の関数で、引数の数が1の場合に使用します。
G3*_Direct2 コマンドとパラメータを直接記述したい場合の関数で、引数の数が2の場合に使用します。
G3*_Direct3 コマンドとパラメータを直接記述したい場合の関数で、引数の数が3の場合に使用します。

ユーティリティ

G3_Frustum カレントProjection行列に設定します。
G3_Perspective カレントProjection行列に設定します。
G3_Ortho カレントProjection行列に設定します。
G3_LookAt カレントPosition/Vector行列に設定します。
G3_RotX カレントPosition/Vector行列にX軸に関する回転行列を乗じます。
G3_RotY カレントPosition/Vector行列にY軸に関する回転行列を乗じます。
G3_RotZ カレントPosition/Vector行列にZ軸に関する回転行列を乗じます。
G3*_LoadTexMtxTexCoord カレントTexture行列にTexCoordソース用の補正を行った行列を設定します。
G3*_LoadTexMtxEnv カレントTexture行列にNormalソース・Vertexソース用の補正を行った行列を設定します。

動的ディスプレイリスト(コマンドリスト)生成

G3_BeginMakeDL コマンドリスト作成前に呼び出します。
G3_EndMakeDL コマンドリスト作成後に呼び出します。
G3_GetDLStart コマンドリストへのポインタを取得します。
G3_GetDLLength コマンドリストバッファのサイズを取得します。
G3_GetDLSize コマンドリストのサイズを取得します。

3Dグラフィックス制御(G3X)

初期化

G3X_Init 3D関係各種の初期化をします。
G3X_InitTable Fogテーブル等の初期化をします。
G3X_InitMtxStack 行列スタックの初期化をします。
G3X_Reset オーバーフロー等のリセットをします。普通各フレーム描画処理の最初に実行します。
G3X_ResetMtxStack 行列スタックの初期化をしますが、プロジェクション行列には単位行列を代入しません。

各種機能の有効/無効

G3X_AlphaTest αテストの設定を行います。
G3X_AlphaBlend αブレンドを有効/無効を選択します。
G3X_AntiAlias アンチエイリアスの有効/無効を選択します。

トゥーン/ハイライトシェーディング

G3X_SetShading トゥーン/ハイライトシェーディングを選択します。
G3X_SetToonTable トゥーン/ハイライトテーブルを設定します。

エッジカラー

G3X_EdgeMarking エッジマーキングの有効/無効を選択します。
G3X_SetEdgeColorTable エッジカラーテーブルの設定を行います。

フォグ

G3X_SetFog フォグの設定を行います。
G3X_SetFogColor フォグカラーの設定を行います。
G3X_SetFogTable フォグテーブルの設定を行います。

オフセットの設定

G3X_SetHOffset BG0平面のオフセットを設定します。
G3X_SetClearImageOffset クリアイメージを使用する場合のオフセットを設定します。

クリアカラーとクリアデプス

G3X_SetClearColor クリアカラーを設定します。

テスト結果・演算結果の取得

G3X_GetBoxTestResult ボックステストの結果を取得します。
G3X_GetPositionTestResult ポジションテストの結果を取得します。
G3X_GetVectorTestResult ベクトルテストの結果を取得します。
G3X_GetClipMtx カレントクリップ座標行列を取得します。
G3X_GetVectorMtx カレント方向ベクトル行列を取得します。

その他

G3X_GetMtxStackLevelPV PositionVector行列スタックのレベルを取得します。
G3X_GetMtxStackLevelPJ Projection行列スタックのレベルを取得します。
G3X_IsGeometryBusy ジオメトリがビジーであるかどうかをテストします。
G3X_IsMtxStackOverflow 行列スタックがオーバーフローフラグをテストします。
G3X_IsLineBufferOverflow レンダリングエンジンのラインズオーバーフラグをテストします。
G3X_IsListRamOverflow ポリゴンリストRAM及び頂点リストRAMのオーバーフローフラグをテストします。
G3X_ResetMtxStackOverflow 行列スタックのオーバーフローフラグをクリアします。
G3X_ResetLineBufferOverflow レンダリングエンジンのラインズオーバーフラグをクリアします。
G3X_ResetListRamOverflow ポリゴンリストRAM及び頂点リストRAMのオーバーフローフラグをクリアします。
G3X_ClearFifo コマンドFIFOを全てクリアします。
G3X_GetPolygonListRamCount ポリゴンリストRAMカウンタの値を取得します。
G3X_GetVertexListRamCount 頂点RAMカウンタの値を取得します。
G3X_GetRenderedLineCount レンダリング済みライン数の最小値を取得します。
G3X_GetCommandFifoCount 現在コマンドFIFOに格納されているコマンド/データの数を参照します。
G3X_GetCommandFifoStatus コマンドFIFOステータスを取得します。
G3X_SetFifoIntrCond コマンドFIFO割り込み要求発生条件を設定します。
G3X_SetDisp1DotDepth 1ドットポリゴン表示境界デプス値レジスタの値を設定します。

主要な型とマクロ

GXRgb u16のtypedefで、rgb情報を5bitずつ持っています。
VecFx10 u32のtypedefで、ベクトル情報を10ビットずつ持っています。
VecVtxShort u32のtypedefで、G3*_VertexShortの引数で用いる型です。
VecVtxDiff u32のtypedefで、G3*_VertexDiffの引数で用いる型です。
GXSt u32のtypedefで、G3*_TexCoordImmの引数で用いる型です。

マクロ

GX_RGB(r, g, b) 色情報をGXRgb型にパックします。
GX_VECFX10(x, y, z) 法線や光線のベクトル情報をVecFx10型にパックします。
GX_VECVTX10(x, y, z) ベクトルをVecVtx10型にパックします。
GX_VECVTXDIFF(x, y, z) ベクトルをVecVtxDiff型にパックします。
GX_ST(s, t) テクスチャ座標をGXSt型にパックします。