デモプログラム9:深度バッファシャドウ

このデモプログラムでは、シャドウマップを使用した、深度バッファシャドウを行っています。 前回のステンシルシャドウとは違い、シャドウボリュームを使用しませんのでどのようなモデルに対しても影が生成できるのが特徴です。 ただしシャドウマップの大きさによっては、影に多少のジャギが発生してしまうのが欠点です。 このデモでは、2048×2048のシャドウマップを使用しています。

光源の位置、光源の有効距離、シャドウマップの表示は、リアルタイムで変更できます。 シャドウマップは光源の位置からシーンを見た状態で生成されますので、 光源の位置によっては、シーン全体がカメラに入らず、影が正しく落ちない場合がありますので、 光源を移動する場合は、シャドウマップを表示して、シーン全体が入るような位置に調整してください。 またシャドウマップの表示は、見やすいように色を調整してありますので、実際にコードで参照しているシャドウマップとは多少異なります。

デモのダウンロード

デモプログラム「深度バッファシャドウ」(DirectX 9.0c(March 2008)版)

Version 1.0.0 / 2008年7月31日更新

792 KB ( 812,002 バイト ) MD5:540420e1b599fde3c5e20f5831b03eb1

デモプログラム「深度バッファシャドウ」(DirectX 9.0b版)

Version 1.0.0 / 2008年7月31日更新

1.24 MB ( 1,306,032 バイト ) MD5:f3a564cbcca59aef37ceab1c37530004

※ デモの使用方法は、同梱のヘルプファイルを参照してください。

動作環境
  • Windows 2000/XP/Vista
  • DirectX 9.0c(March 2008) / DirectX 9.0b(9.0b版の場合)
    DirectX 9.0c(March 2008)エンドユーザーランタイムは、Microsoft の [ DirectX ダウンロード ] のページからダウンロードできます。
  • 3D表示が可能で、浮動小数点テクスチャが利用可能なグラフィックカード
  • Vertex Shader 2.0 / Pixel Shader 2.0 に対応したグラフィックカード
デモで使用した言語とテクノロジー
  • Microsoft Visual C++
  • DirectX 9.0c(March 2008) / DirectX 9.0b(9.0b版の場合)
  • 3D Graphics
  • HLSL
  • 深度バッファシャドウ
  • シャドウマップ
更新履歴
  • 2008/7/31

    環境によってエフェクトが正しく動作しない場合があったため、エフェクトファイルを修正。