MV1SetMaterialDrawAlphaTest

指定のマテリアルの描画アルファテストの設定を行う

MV1SetMaterialDrawAlphaTest MHandle, MaterialIndex, Enable, Mode, Param

int MHandle : モデルのハンドル
int MaterialIndex : マテリアルの番号
int Enable : アルファテストを有効にするかどうか( TRUE:有効にする FALSE:無効にする(デフォルト) )
int Mode : テストモード( DX_CMP_GREATER等 )
int Param : 描画アルファ値との比較に使用する値( 0~255 )

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

解説

MHandle のモデルハンドルが示すモデルに含まれる指定のマテリアルの描画時にアルファテストを行うかどうかや、行う場合のテストモードを変更します。

アルファテストとは描画する色のアルファ値によって描画を行うかどうかを決定する機能で、
主に描画負荷の軽減とZバッファへどれだけ透明なピクセルでも書き込むか等を決定する為に使用します。

Zバッファにはアルファ値が 1 でほぼ完全に透明の物でも不透明の物と同様にしっかりと深度情報が書き込まれてしまいます。

すると、その後『ほぼ完全に透明の物』の奥に別の物を描画しようとすると『ほぼ完全に透明の物』に隠れて描画されないという現象が発生してしまいます。

理想的には描画物を画面奥にあるものから順に描画すればこのような問題は発生しないのですが、
描画物が大量にあって画面奥にあるものから順に描画しようとするとソートの処理負荷が高くなってしまう等必ずしも常に理想的な描画が行えるとは限らないので、
そのような場合にアルファテスト機能を使って、一定以上の透明度のものはそもそも描画しない、などの設定を行ってから描画します。

アルファテストとして使用できるモードは引数 Mode で指定するのですが、モードには以下の種類があります。

DX_CMP_NEVER描画アルファ値がどのような値でも描画しない

戻り値:
  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