Microsoft DirectX 8.0 (Visual Basic)

ピクセル フォグの使い方

アプリケーションでピクセル フォグを有効にするには、次の手順を実行する。

Visual Basic アプリケーションでピクセル フォグを有効にするには

  1. D3DRS_FOGENABLE レンダリング ステートを TRUE に設定して、フォグ ブレンディングを有効にする。
  2. D3DRS_FOGCOLOR レンダリング ステートで、目的のフォグ カラーを設定する。
  3. D3DRS_FOGTABLEMODE レンダリング ステートを CONST_D3DFOGMODE 列挙の対応するメンバに設定して、使用するフォグ公式を選択する。
  4. 選択したフォグ モードに必要なフォグ パラメータを、関連するレンダリング ステートに設定する。線形フォグの開始距離と終了距離、指数フォグのフォグ密度も含む。

次のサンプル コードは、これらの手順を示している。

' 簡単にするために、この例では、呼び出しの後で
' エラー値をチェックしない。実際のアプリケーションでは、
' エラー値を正しくチェックすること。
'
' この例では、d3dDevice は Direct3DDevice8 オブジェクトへの
' 有効な参照であると仮定している。
Sub SetupPixelFog(Color As Long, Mode As CONST_D3DFOGMODE)
    Dim StartFog As Single, _
        EndFog As Single, _
        Density As Single
    
    ' 線形モード用。
    StartFog = 0.5: EndFog = 0.8
    
    ' 指数モード用。
    Density = 0.66
 
    ' フォグ ブレンディングを有効にする。
    Call d3dDevice.SetRenderState(D3DRS_FOGENABLE, True)
 
    ' フォグ カラーを設定する。
    Call d3dDevice.SetRenderState(D3DRS_FOGCOLOR, Color)
    
    ' フォグ パラメータを設定する。
    If Mode = D3DFOG_LINEAR Then
        Call d3dDevice.SetRenderState(D3DRS_FOGTABLEMODE, Mode)
        Call d3dDevice.SetRenderState(D3DRS_FOGSTART, StartFog)
        Call d3dDevice.SetRenderState(D3DRS_FOGEND, EndFog)
    Else
        Call d3dDevice.SetRenderState(D3DRS_FOGTABLEMODE, Mode)
        Call d3dDevice.SetRenderState(D3DRS_FOGDENSITY, Density)
    End If
End Sub