MV1GetTriangleListVertexType

トライアングルリストの頂点データタイプを取得する

val = MV1GetTriangleListVertexType(MHandle, TListIndex)

int MHandle : モデルのハンドル
int TListIndex : トライアングルリストの番号

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

解説

MHandle のモデルハンドルが示すモデルの指定のトライアングルリストに含まれる頂点のデータタイプを取得します。

オリジナルの頂点シェーダープログラムを使用する場合は頂点のデータタイプによって頂点シェーダープログラムを変えなければならないので、
主にどの頂点シェーダープログラムを使用するべきかを判断する際にこの関数を使用します。

頂点データのシェーダー内での具体的なデータ形式については関数 LoadVertexShader の解説をご覧ください。

頂点データタイプ一覧

DX_MV1_VERTEX_TYPE_1FRAME

1フレームの影響のみ受ける頂点データタイプです。

1頂点が複数のフレームの影響を受けないモデルはこのデータタイプになります。

DX_MV1_VERTEX_TYPE_4FRAME


1~4フレームの影響を受ける頂点データタイプです。

1頂点が2フレーム以上4フレーム以下の影響を受ける頂点が一つでも存在するトライアングルリストは

このデータタイプになります。

PMDモデルは基本的に全てこの頂点データタイプになります。

DX_MV1_VERTEX_TYPE_8FRAME


1~8フレームの影響を受ける頂点データタイプです。

1頂点が5フレーム以上4フレーム以下の影響を受ける頂点が一つでも存在するトライアングルリストは

このデータタイプになります。

普通の人型モデルなどでは普通1頂点が5フレーム以上の影響を受けることはありませんので、

特殊なモデルのみこの形式になります。

DX_MV1_VERTEX_TYPE_FREE_FRAME


9フレーム以上の影響を受ける頂点データタイプです。

1頂点が9フレーム以上の影響を受ける頂点が一つでも存在するトライアングルリストは

このデータタイプになります。

滅多にこの形式になることはありません。

尚、DirectX9 では一般的な方法では頂点シェーダーで1頂点9フレーム以上を扱う手段が無いので、

この形式の場合は頂点シェーダーを使用することはできません。

DX_MV1_VERTEX_TYPE_NMAP_1FRAME

DX_MV1_VERTEX_TYPE_NMAP_4FRAME

DX_MV1_VERTEX_TYPE_NMAP_8FRAME

DX_MV1_VERTEX_TYPE_NMAP_FREE_FRAME

それぞれ NMAP が付いていない名称のタイプに法線マップの情報が追加されたものです。

MV1GetMaterialNormalMapTexture の戻り値が -1 以外のマテリアルを使用するメッシュに含まれる

トライアングルリストは全て上記4タイプのいずれかになります。

戻り値:
  0以上:頂点データタイプ

情報

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