DirectX8 ابزاري براي ساخت تصاوير ثابت و متحرک دو بعدي و سه بعدي مي باشد .
براي کار با DirectX8 ابتدا بايستي آنرا روي سيستم خود نصب کنيد . سپس در محيط vb از منوي project گزينه References را انتخاب کنيد . در فرمي که ظاهر مي شود اطمينان حاصل کنيد که گزينه DirectX8 for VB type library فعال باشد .
براي کار با DirectX8 بايستي از تعريف نمودن شي پايه DirectX8 شروع نمود :

Dim Dx as DirectX8

شي Direct3D8 براي کنترل اشيا‌‌ سه بعدي بکار مي رود :

Dim D3D as Direct3D8

شي Direct3DDevice8 ، سخت افزار مربوط به رندر تصاوير را مشخص مي کند :

Dim D3DDevice as Direct3DDevice8

حال براي شروع کار با Direct3D ، تابع ( ) initialise را تعريف مي کنيم . اگر اينکار درست انجام شود تابع ، مقدار true را برمي گرداند :

public function initialise () as boolean
Dim DispMode as D3DISPLAYMODE

شي D3DISPLAYMODE حالت نمايش را مشخص مي نمايد .

Dim D3Dwindow as D3DPRESENT_PARAMETERS

شي فوق مشخص مي کند که viewport شما چگونه باشد .
حال شي اصلي DirectX8 را مي سازيم :

Set Dx=New DirectX8

سپس شي اصلي ساخت واسط سه بعدي را مي سازيم :

()set D3D.Dx.Direct3Dcreate

سپس حالت فعلي نمايش را با دستور زير استخراج مي کنيم :

D3D.getadapterdisplaymode D3DADAPTER_DEFAULT,dispmode

حال دو حالت براي کار با DirectX داريم :
1 - windowed mode
2 - fullscrean mode
1 - براي کار با حالت پنجره اي ابتدا اين موضوع را به DirectX اطلاع مي دهيم :

D3Dwindow.windowed=1

سپس نوع referesh تصوير را مشخص مي کنيم ( در اينجا چند انتخاب وجود دارد که در صورت نياز به اطلاعات بيشتر با من تماس بگيريد . ) :

D3Dwindow.swapeffect=D3DSWAPEFFECT_COPY_VSYNC

سپس بايستي فرمت بافر نگهدارنده تصاوير را مشخص کنيم :

D3Dwindow.backbufferformat=dispmode.format

2 - براي کار با حالت تمام صفحه ، ابتدا نوع refresh را مشخص کرده سپس تعداد بافر هاي تصوير و سرانجام نوع و سايز بافر را مشخص مي نمائيم :

D3Dwindow.swapeffect=D3DSWAPEFFECT_DISCARD
D3Dwindow.backbuffercount=1
D3Dwindow.backbufferformat=dispmode.format
D3Dwindow.backbufferheight=dispmode.height
D3Dwindow.backbufferwidth=dispmode.width

سپس پنجره نمايش مشخص مي گردد :

D3Dwindow.hdevicewindow=frmMain.hwnd


@حال بايستی يک device ساخته شود که يا از طريق سخت افزار و يا نرم افزار تصاوير را رندر نمايد :

Set D3DDevice=D3Dcreatedevice(D3DADAPTER_DEFAULT
,D3DDEVTYPE_HAL,
frmMain.hwnd,D3DCREATE_SOFTWARE_VERTEXPROCESSING,
D3Dwindow)x,
end sub

درصورتي که کارت گرافيک شما امکانات رندر سخت افزاري تصاوير را ندارد از D3DDEVTYPE_REF بجاي D3DDEVTYPE_HAL استفاده کنيد .
حال بايستي روتين render را بنويسيم . البته در اين درس تصويري براي رندر نداريم و تنها چگونگي نوشتن اين روتين را بيان خواهم کرد :
۱ - ابتدا بايستي device مربوط به رندر ، قبل از کشيدن تصوير در آن پاک شود :

D3DDevice.clear 0,byval 0,D3DCLEAR_TARGET,&H0,1#,0

عدد hex اي که در دستور فوق آمده رنگ زمينه صفحه را مشخص مي کند
۲ - سپس بايستي تصاوير مورد نظر را رندر کنيم . اينکار توسط دستورات زير انجام مي شود :

D3DDevice.beginscence
all rendering calls go between these two lines '
D3DDEvice.endscence

3 - در پايان بايستي صفحه را update کنيد :

D3DDevice.present byval 0,byval 0,0,byval 0