1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
|
Option Explicit
Global ObjDX8 As DirectX8
Global ObjD3d8 As Direct3D8
Global Objd3dDevice As Direct3DDevice8
Global ObjD3Dx As D3DX8
Global ObjSprite As D3DXSprite
Global ObjTexture As Direct3DTexture8
Public Type RECT
Left As Long
Top As Long
Right As Long
Bottom As Long
End Type
Public Sub main()
Load Form1
Render
End Sub
Public Sub InitD3d(frm As Form)
Dim D3Ddm As D3DDISPLAYMODE
Dim d3dpp As D3DPRESENT_PARAMETERS
Dim ImageInfo As D3DXIMAGE_INFO
Set ObjDX8 = New DirectX8
Set ObjD3d8 = ObjDX8.Direct3DCreate
ObjD3d8.GetAdapterDisplayMode 0, D3Ddm
d3dpp.Windowed = True
d3dpp.SwapEffect = D3DSWAPEFFECT_DISCARD
d3dpp.BackBufferFormat = D3Ddm.Format
d3dpp.hDeviceWindow = frm.hWnd
'd3dpp.BackBufferWidth = frm.ScaleHeight
'd3dpp.BackBufferHeight = frm.ScaleWidth
d3dpp.BackBufferWidth = 800
d3dpp.BackBufferHeight = 600
d3dpp.BackBufferCount = 1
d3dpp.EnableAutoDepthStencil = True
d3dpp.AutoDepthStencilFormat = D3DFMT_D16
Set Objd3dDevice = ObjD3d8.CreateDevice(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, frm.hWnd, D3DCREATE_SOFTWARE_VERTEXPROCESSING, d3dpp)
Set ObjSprite = ObjD3Dx.CreateSprite(Objd3dDevice)
Set ObjTexture = ObjD3Dx.CreateTextureFromFileEx("MonImage.bmp", 0, 0, 1, 0, D3DFMT_UNKNOWN, D3DPOOL_MANAGED, D3DX_FILTER_NONE, D3DX_DEFAULT, RGB(0, 0, 0), ImageInfo, 0)
End Sub
Public Sub Render()
Dim pos As D3DVECTOR2
Dim rot As D3DVECTOR2
Dim vecScale As D3DVECTOR2
Dim rectSrc As RECT
rectSrc.Left = 0
rectSrc.Top = 0
rectSrc.Right = 256
rectSrc.Bottom = 256
Objd3dDevice.Clear 0, ByVal 0, D3DCLEAR_TARGET, RGB(255, 0, 0), 1, 0
Objd3dDevice.BeginScene
ObjSprite.Draw ObjTexture, rectSrc, 0, 0, 0, RGB(0, 0, 0)
Objd3dDevice.EndScene
Objd3dDevice.Present 0, 0, 0, 0
End Sub |
Partager