[  Add to Bookmark  -  Make Home Page   ]      بازگشت به صفحه اول

آموزش DirectX-Graphic (قسمت اول)


 ItMyTi.Com
جستجو در مطالب و مقالات


لينكدوني

مطالب گذشته
» ماهانه 15هزار مرسوله از طريق ثبت...
» آمار توزيع كارت هوشمند سوخت در كشور..
» برون‌سپاري پروژه‌هاي ICT بدون...
» ابزار شكستن قفل فعال‌سازي ويستا عرضه شد
» نگارش جديد ويروس استورم"...
» پياده‌سازي مديريت منابع سازماني تا...
» "يي‌آي ديجيتال" از شناسايي حفره ...
» موانع صدور گواهي ديجيتال رفع شد
» كانال ديتاي بين استانهاي زنجان و...
» عرضه خودرو شبكه ارتباطي در...
» استفاده ويروسهاي جديد از حافظه‌هاي...
» برنامه‌هاي توليدي بي‌بي‌سي...
» شركت "آدوب" نسخه اينترنتي نرم‌افزار...
» ويروس اينترنتي "رين‌بات" كارشناسان...
» ويروس اينترنتي "رين‌بات" كارشناسان...
» ۱۵‬هزار مرسوله پستي ماهانه باثبت‌نام...
» ماجراي ‪SMS‬هاي سرگردان در شبكه...
» شبكه ايرانسل شش شهر ديگر را دربر مي‌گيرد
» مسائل حقوقي،علت اجرا نشدن توافق...
» خاموش‌بودن موبايل مديران...
» جمع‌آوري امضا براي استيضاح وزير ارتباطات
» پست:اينترنتي ثبت نام كنيد
» نرم‌افزار ضدويروس جديد "مايكروسافت" ..
» در جمهوري استوني انتخابات اينترنتي برگزار مي‌شود
» جوانان ژاپني مي‌گويند تلفن همراه زندگي...
» انجام بازي‌هاي رايانه‌هاي رانندگان را به ...
» دو خبر از حوزه فناوري اطلاعات تهران
» عرضه كوچك‌‏ترين تراشه جهان در بازار مالزي
» رايانه‌اي پاك براي كودكان برگزار مي‌شود
» يك چيني معتاد به اينترنت بعد از هفت روز بازي آنلاين جان خود را از دست داد
» Reaper HPC جديدترين روش خنك كننده رم به بازار عرضه شد
» اينترنت از سايت‌هاي فيشينگ اشباع شده است
» تائید مالی دامنه ir بصورت 100% آنلاین
» مايكروسافت: بايد از موفقيت گوگل در ...
» راه اندازي سيستم هاي جديد سرگرمي ...
» شركت سيمانتك جديدترين ضدویروس...
» كرم تروژان با شيوه اي جديد در شبكه اينترنت
» محاكمه مشاور ارشد شركت امنيتي مك آفي
» ربات انسان‌نما حركات خود را اصلاح مي‌كند
» ويستا از نقص جديد در سيستم امنيتي خود ...

Niksalehi.com


پیوندها

نیک صالحی

نیک بازار

نیک دانلود

اوکسین ادز

آگهی رایگان

ایرانی

فروشگاه ساز مدرن

روز فارسی

پرشین وی

نیک بلاگ

نیک جاب

هو دات آی آر

نیک سایت

درناز

نیک دانلود

نیک لایو تی وی

اینگفا


اینروز

فروشگاه تجریش

نیک نیوز

سایت روز

پولک

تندرست

آی آر پارس

[ August 04, 2005 ] آموزش DirectX-Graphic (قسمت اول)

iritn.com
از: پرشين بلاگ

موضوع : ساخت يک واسط direct3D

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




لينك مستقيم |

تمام حق و حقوق محفوظ است محل قرار دادن شمارنده در دست ساخت

کليه حقوق متعلق به سايت MCS-8051.COM ميباشد