SetUseShadowMap

描画で使用するシャドウマップを変更する

SetUseShadowMap SmSlotIndex, SmHandle

SmSlotIndex:描画で使用するシャドウマップをセットするスロット番号( 0~2 )
SmHandle:描画で使用するシャドウマップのハンドル
( -1を渡すと SmSlotIndex で指定したスロットのシャドウマップを解除 )

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

解説

3Dモデルを MV1DrawModel で描画する際の影表現に使用するシャドウマップを指定するための関数です。

SmSlotIndex でシャドウマップをセットするスロットを0~2の3つから選択します、0~2全てにシャドウマップを設定することで、最大で同時に3つのシャドウマップを使用することができます。

複数のシャドウマップを使用する例は以下の通りです。

例1:

スロット0:動かない3Dモデルを一度だけ描画したシャドウマップ

スロット1:動く3Dモデルを毎フレーム描画したシャドウマップ

スロット2:使用しない


動かない3Dモデルのシャドウマップへの描画が一度だけで済むので、その分の負荷が軽減できます。

例2:

スロット0:プレイヤーキャラとその周辺の狭い範囲にある3Dモデルだけを描画したシャドウマップ

スロット1:広範囲の3Dモデルを描画したシャドウマップ

スロット2:使用しない

シャドウマップは描画する範囲が広くなればなるほど影が粗くなるので、
プレイヤーの周りは高精度の影を描画、プレイヤーから離れた箇所は低精度の影を描画とすることができます。

例3:

スロット0:動かない3Dモデルを一度だけ描画したシャドウマップ

スロット1:プレイヤーキャラとその周辺の狭い範囲にある動く3Dモデルだけを描画したシャドウマップ

スロット2:広範囲の動く3Dモデルを描画したシャドウマップ

例1と例2を合わせた使い方です。

SmHandle に指定するシャドウマップは、ShadowMap_DrawSetupShadowMap_DrawEnd を使用してシャドウマップへの3Dモデルの描画が行われた後のものである必要があります。

尚、シャドウマップによる影の描画が必要なくなった後は、SmHandle に -1 を渡して関数を呼び、設定したシャドウマップを解除する必要があります。

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