ライブラリ関数

特徴としては他のライブラリに比べて関数に渡す引数が少し多いです。関数の数を少なくする分、1つの関数で覚えることが少し多くなりますが、できるだけ短く書けるようにオプション的なものにはデフォルト引数を設定してあります。複数の関数や構造体を覚えなくてもいいように1関数の仕組みを覚えて工夫できるようにするポリシーで策定されています。

定義

デバッグ、マスター(リリース)の切り替えについて2種+1の定義を持っています。
ビルドのバージョンについて独自の定義が色いろあるとマルチプラットフォーム的にややこしいので以下の3種類をライブラリ側で提供します。

GX_DEBUGデバッグコンパイル時に使用(デバッグ情報を出力)、最適化なし
GX_RELEASE最適化されたコンパイルでデバッグ出力あり

GX_DEBUGとGX_RELEASEはライブラリ内部でDebugG/Releaseコンパイル時に自動的に定義されるプリプロセッサです。自分で定義する必要はありません。

GX_MASTERデバッグ出力なし(主にGX_RELEASEと併用する)

「GX_MASTER」は製品版相当にする時に自分で定義します。デバッグルーチンを通らず、またデバッグ出力を消して製品版相当にすることができます。GX_MASTERはコンパイルの最適化には関与せず、単に製品版の見た目にするかどうかだけを切り替える定義です。主にGX_RELEASEと併用して使われます。

その他、ビルドに応じて以下が自動で定義されます。

GX_BUILD_OPTIONx8632bit版コンパイル
GX_BUILD_OPTIONx8664bit版コンパイル

グラフィック系

テクスチャ付き三角形

  • (x1,y1)-(x2,y2)-(x3,y3)の頂点を持つテクスチャ付き三角形スプライトを描きます
  • ''(u1,v1)-(u2,v2)-(u3,v3)でテクスチャのUVを指定します
    PutTriangle(
     x1,y1 ,u1,v1,
     x2,y2 ,u2,v2,
     x3,y3 ,u3,v3,
     tpg,  prio,atr,argb  );
    PutTriangle( 128,0, 16,0,  256,256,32,32,  0,256,0,32,  0, 100,ATR_DFLT , ARGB_DFLT )
  • テクスチャ0ページ目の(16,0)-(32,32)-(0,32)のUVでスプライトを描画します
Sint32x1,y11つめの頂点XY時計回りで頂点を策定してください
Sint32x2,y22つめの頂点XY
Sint32x3,y33つめの頂点XY
Sint32u1,v11つめの頂点が参照するテクセル座標XY
Sint32u2,v22つめ
Sint32u3,v33つめ
Sint32tpgテクスチャページ番号
Sint32prioプライオリティ
Uint32atrアトリビュート
Uint32argbアルファ付きRGB値

性質がPutSpriteと大きく異なるところがあり、通常指定された四角形はレンダリング時に拡大率や回転を考慮してその頂点座標を再計算されますが、PutTriangleでは再計算されずに与えられた頂点をそのまま描画します。これは隣接したポリゴン同士で頂点を共有している時に有効です。

たとえば背景用マップチップなど頂点を共有した四角形の集まりなどを描く時にPutSpriteで描くとレンダリング時に再計算された時、隣接した矩形の頂点が「ほぼ一致しているが同じではない」状況が発生し隣接したポリゴンとの間につなぎ目が見え隠れしてしまうことがあります。

PutTriangleでは再計算されないため、レンダリング時にも共有している頂点情報を維持してつなぎ目をなくすことが可能です。

サウンド系

コントローラー系

ファイル入出力

動画

その他

通信 / インターネット関連

現在ベータ運用

補足

※1 Dinput / XInput形式

gxLibでは古い形式の一般コントローラー(dInput)の他、360コントローラー(xInput)専用のソースコードを選んでサポートします。
どちらがサポートされるかはコンパイル時にリンクされたソースにより決定されます。