SetUseZBuffer3D

Zバッファを使用するかどうかを設定する

SetUseZBuffer3D Flag

int Flag : Zバッファを使用するかどうかのフラグ
( TRUE:使用する  FALSE:使用しない( 初期設定 ) )

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

解説

DrawSphere3D, DrawCapsule3D, DrawCone3D, DrawPolygon3D, DrawPolygonIndexed3D の3D図形描画関数で描画処理をする際にZバッファを使用するかどうかを設定します。

Zバッファは主に3D空間に存在する物を前後関係を意識せずに都合の良い順番で描画するために使用するもので、
これを使用することで立体物を描画する際に画面( フレームバッファ )に色情報の他に描画したピクセルが「カメラ( 画面 )からどれだけ離れているか」という奥行き情報も一緒に書き込み、
その後画面上の同じ場所( ピクセル )に別のものが書かれようとしたときは以前書いたものよりカメラ( 画面 )との距離が短いかどうかを判定して、
以前書いたものより遠くにある場合は後から書こうとしたものを書き込まず、
以前書いたものをそのまま残す、
つまりどんな順序で立体物を描画しても必ずカメラに近い物が最終描画結果として画面の前面に表示されるようになります。
( 逆にZバッファを使用しない場合は描画物同士の前後関係は無視され、
通常の描画どおり「後から書いたものが今まで書いてあったものを上書きする」ので、
立体物を前後関係を無視して都合の良い順番で描画すると後ろにあるはずのものが手前のものより前面に表示されるというおかしな描画結果になります )

この関数はそのZバッファを使うかどうかを設定する関数で、
使用する場合は TRUE を、使用しない場合は FALSE を渡します。

因みにこの関数は書き込みの際にZバッファに「既に書き込まれているカメラ( 画面
)からの距離」と「これから書き込むピクセルのカメラからの距離」を比較して、
「既に書き込まれているカメラとの距離」より「これから書くもの( ピクセル )のカメラからの距離」の方が長かった場合は書き込まない、
という処理をするかどうかを設定するだけで、
書き込むという判断が決定した後Zバッファに「これから書くもの( ピクセル )のカメラからの距離」を書き込むかどうかの設定は SetWriteZBuffer3D 関数で行います。
( 初期設定では「書き込まない」になっています )

尚、この関数の設定はモデルの描画には影響を与えません。
モデルの描画時にZバッファを使用するかどうかは MV1SetUseZBuffer 関数で設定します。

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