home *** CD-ROM | disk | FTP | other *** search
/ Microsoft DirectX SDK 7.0 / Dx7.bin / DXF / samples / multimedia / vbsamples / d3dim / src / mipmap / mipmapinit.bas < prev    next >
Encoding:
BASIC Source File  |  1999-07-30  |  1.7 KB  |  65 lines

  1. Attribute VB_Name = "MipMapInit"
  2. ' IM7 Initialization Module
  3.  
  4. Public DX As New DirectX7
  5. Public DDraw As DirectDraw7
  6.  
  7. Public d3ddev As Direct3DDevice7
  8. Public MatWorld1 As D3DMATRIX, matView1 As D3DMATRIX, matProj1 As D3DMATRIX
  9. Public MustExit As Boolean
  10. Public UseRGB As Boolean
  11. Public binit As Boolean
  12.  
  13. Sub IM7Terminate()
  14.  
  15.     DDraw.SetCooperativeLevel MipMapForm.hWnd, DDSCL_NORMAL
  16.     DDraw.RestoreDisplayMode
  17.     
  18.     CleanUp
  19.     End
  20. End Sub
  21.  
  22. Sub InitDX()
  23.     Dim b As Boolean
  24.     MipMapForm.Show
  25.     DoEvents
  26.         
  27.         With MipMapForm.IMCanvas1
  28.             If .DX.SystemBpp <= 8 Then
  29.                 MsgBox "This sample was designed to run in High Color (16 bit) displays"
  30.                 End
  31.             End If
  32.             
  33.             b = .StartWindowed()
  34.             If b = False Then
  35.                 MsgBox "unable to initialize 3d "
  36.                 End
  37.             End If
  38.             If CheckDeviceCaps(.Direct3DDevice) = False Then
  39.                 UseRGB = True
  40.                 MsgBox "This sample requires MIPLINEAR MipMapping. to run in Hardware"
  41.                 b = .InitWindowed("", "IID_IDirect3DRGBDevice")
  42.                 If b = False Then End
  43.             End If
  44.             
  45.             binit = True
  46.         End With
  47. End Sub
  48.  
  49. Sub CleanUp()
  50.     Set d3ddev = Nothing
  51.     Set DDraw = Nothing
  52. End Sub
  53.  
  54. Function CheckDeviceCaps(d3ddev As Direct3DDevice7) As Boolean
  55.    ' check texture modes for MIPLINEAR MipMapping
  56.     Dim d3ddevdesc As D3DDEVICEDESC7
  57.     d3ddev.GetCaps d3ddevdesc
  58.     
  59.     If (d3ddevdesc.dpcTriCaps.lTextureFilterCaps And D3DPTFILTERCAPS_LINEARMIPLINEAR) <> D3DPTFILTERCAPS_LINEARMIPLINEAR Then
  60.         Exit Function
  61.     End If
  62.     CheckDeviceCaps = True
  63. End Function
  64.  
  65.