DrawPolygonIndexed3D

3D空間に三角形ポリゴンの集合を描画する(インデックス)

DrawPolygonIndexed3D param, VertexArray, VertexNum, param, IndexArray, PolygonNum, GrHandle, TransFlag

VERTEX3D *Vertex : 三角形ポリゴンを形成する頂点配列のアドレス
int VertexNum : 使用する頂点の数
unsigned short *Indices : 頂点インデックス配列へのアドレス
int PolygonNum : 描画する三角形ポリゴンの数
int GrHandle : 描画するポリゴンに貼り付ける画像のハンドル( 画像を張らない場合は DX_NONE_GRAPH )
int TransFlag : 画像の透明度を有効にするかどうか( TRUE:有効 FALSE:無効 )

(プラグイン / モジュール : DxLibW)

解説

3D空間に引数 Vertex が示す頂点配列と引数 Indices が示す頂点インデックスを元に PolygonNum 個の三角形ポリゴンの集合を描画します。

DrawPolygon3D では一つのポリゴンに付き3つの頂点データを用意していましたが、
多くの場合複数のポリゴンで同じ頂点を使用しますのでポリゴン毎に独立した3頂点を用意すると無駄が生じます、
それを回避するためにこの関数では頂点データと共に「どの三頂点を使用してポリゴンを形成するか」という頂点インデックスデータを用いてポリゴンを描画します。
( 例えば Vertex 配列の0番目と2番目と5番目の頂点データを用いてポリゴンを形成したい場合は、インデックス情報は 0, 2, 5 となります )

ポリゴン一つ辺りに3つの頂点インデックスが必要なので、Indices が示す配列には PolygonNum × 3 個の頂点インデックスデータが必要になります。

尚、頂点インデックスは型が unsigned short なので、使用できる頂点データの数は最大で 65536個となります。

また、GrHandle で指定する画像は8以上の2のn乗のピクセルサイズ( 8, 16, 32, 64, 128, 256, 512, 1024 ... )である必要があり( 使える画像サイズの限界はハードウエアが扱えるサイズの限界ですので、2048 以上のピクセルサイズは避けた方が良いです )、
更に DerivationGraph で抜き出した画像や、LoadDivGraph 等の分割読込した画像を使用すると正常に動作しないという、使用できる画像に関して少し制限事項の多い関数です。

頂点データ VERTEX3D の内容については DrawPolygon3D 関数の解説をご参照ください。

戻り値:
  0:成功

情報

プラグイン / モジュールDxLibW
バージョン3.24f
作成日2026/04/12
著作者DxLib: Takumi Yamada / HSP binding: IronHSP Project
URLhttps://dxlib.xsrv.jp/
備考hspdxlib.as をインクルードして使用
タイプDxLib ゲームライブラリ
グループDxLib グラフィック描画
対応環境
  • Windows 版 HSP
hs ファイルhsphelp\hspdxlib.hs