PDA

مشاهده نسخه کامل : مرجع MS DirectX


Matrix
07-12-2007, 11:09
اشاره :
يك بازي كامپيوتري را روي كامپيوترتان اجرا مي‌كنيد. ?علا‌ً كارت گرا?يك شما روي اسلا‌تAGP سوار مي‌شود، پردازشگر سلرون داريد و ... پس از چند ماه يا چند سال كامپيوتر جديدي مي‌خريد. اكنون اسلا‌ت كارت گرا?يكي شما PCI Express است و يك پردازشگر 64 بيتي داريد. همان بازي را روي اين كامپيوتر هم نصب و اجرامي‌كنيد! شايد به نظر طبيعي ميآيد كه همه چيز بايد همين‌طور باشد. اما چگونه يك بازي روي كامپيوترهايي با تراشه‌ها و سخت‌ا?زارهاي مختل? و گاه ?ناوري مت?اوت اجرا مي‌شود؟ API‌هاي گرا?يكي يا همان رابط‌هاي برنامه‌نويسي، بخش بزرگي از اين مشكل را حل مي‌كنند و امكانات گسترده ديگري را نيز در اختيار برنامه‌نويسان و توسعه‌دهندگان بازي و برنامه‌هاي چندرسانه‌اي قرارمي‌دهند. OpenGL وDirectX، دو مجموعه API گرا?يكي و صوتي هستند كه براي آسان‌تر ساختن توسعه بازي‌ها و نرم‌ا?زارهاي چندرسانه‌اي طراحي شده‌اند.

API گرا?يكي چيست؟
API درواقع بين برنامه و سخت‌ا?زاري كه برنامه روي آن اجرا مي‌شود، نقش يك هماهنگ‌كننده را دارد و مانند پلي ميان سخت‌ا?زار و نرم‌ا?زار ارتباط ايجاد‌مي‌كند. يعني برنامه‌نويس كدهايي مي‌نويسد كه داده‌هاي گرا?يكي خود را به وسيله دستورهاي استانداردي به درايور API مي‌?رستد نه مستقيماً به خود سخت‌ا?زار. سپس درايوري كه شركت سازنده سخت‌ا?زار توليد‌كرده است، اين كداستاندارد توليدشده را به ?رمت بومي و ويژه‌اي كه براي آن مدل خاص سخت‌ا?زار قابل شناسايي است، ترجمه مي‌كند.

Microsoft DirectX
شركت مايكروسا?ت در سال 1995 DirectX را ساخته و توسعه داده‌است. اين نرم‌ا?زار شامل مجموعه‌ يكپارچه‌اي از ابزارهاي برنامه‌نويسي است كه به توسعه‌دهندگان امكان مي‌دهد انواع مختل? نرم‌ا?زارهاي مالتي‌مديا را روي پلت?رم ويندوز توليد كنند. DirectX به برنامه‌اي كه بر پايه آن طراحي شده امكان مي‌دهد به آساني قابليت‌هاي سخت‌ا?زار كامپيوتر را شناسايي كند و پارامترهاي برنامه را با آن هماهنگ سازد.

DirectX شامل APIهايي است كه دسترسي به بخش‌هاي ويژه‌اي از سخت‌ا?زار مانند تراشه‌هاي شتاب‌دهنده گرا?يك سه‌بعدي و كارت صوتي را ميسرمي‌كند. اين APIها كنترل توابع سطح پايين، يعني نزديك به سخت‌ا?زار، شامل شتاب‌دهنده گرا?يكي دو بعدي، پشتيباني از دستگاه‌هاي ورودي مانند دسته بازي، ص?حه‌كليد و ماوس، و كنترل ميكس و خروجي صدا را انجام مي‌دهند.

DirectX 7.0 در سال 1999 با شش كامپوننت عرضه شد كه عبارت بودند از: Direct3D،DirectDraw ،DirectSound ،DirectPlay ،DirectInput و DirectMusic.

در اواخر سال 2000 ميلا‌دي، DirectX 8.0 عرضه شد كه در آن كامپوننت‌هاي DirectSound و DirectMusic با هم ادغام شدند و با نام كامپوننت Direct Audio معر?ي شدند.

Direct3D و DirectDraw نيز با هم ادغام شدند و يك كامپوننت با نام DirectX Graphics را ساختند. DirectShow نيز به صورت يك API جداگانه پياده‌سازي شد و به يكي از كامپوننت‌هاي DirectX تبديل گرديد.

DirectX 9.0 در ژانويه سال 2003 عرضه شد. ويژگي‌هاي خاص اين نسخه عبارتند از:

- قابليت‌هاي صوتي جديد در DirectSound
- سخت‌ا?زار رندركننده ويديويي با شتاب بيشتر
- بهبود قابليت برنامه‌ريزي گرا?يكي

APIهاي همه كامپوننت‌هاي DirectX برپايه COM يا Component Object Model هستند. در ادامه به بررسي ه?ت كامپوننت DirectX 9.0 مي‌پردازيم كه عبارتند از: DirectDraw ،Direct3D ،DirectShow ،DirectSound ،DirectMusic ،DirectInput و DirectPlay.

1- DirectDraw
DirectDraw، كامپوننتي ويژه طراحي دوبعدي است كه به برنامه‌نويس اجازه مي‌دهد مستقيماً به حا?ظه كارت گرا?يك دسترسي يابد، صحنه‌ها و ?ريم‌ها را با هم تركيب نمايد يا bitmapها را در آنجا ذخيره كند. همچنين، براي برنامه‌ها امكان دسترسي به سخت‌ا?زارهاي ويژه نمايش را مستقل از نوع سخت‌ا?زار ?راهم مي‌كند.
هر برنامه كاربردي DirectDraw الگوي يكساني دارد كه عبارت است از:

- ايجاد يك شي
- شروع حلقه
- انتقال به مانتيور
- پايان حلقه
- پاك كردن آن شي‌

منظور از واژه <يك شي> مي‌تواند هر تصوير دوبعدي‌اي باشد و منظور از حلقه، حلقه‌اي است كه در برنامه‌نويسي هنگام تكرار منظم دسته‌اي از داده‌ها يا دستورها به كار مي‌بريم. تصوير ايجاد‌شده پس از مدتي پاك مي‌شود و جاي خود را به تصوير ديگري مي‌دهد.

2- Direct3D
اين كامپوننت، دسترسي به توابع رندركننده گرا?يك سه‌بعدي تعبيه شده در بيشتر كارت‌هاي گرا?يك را ?راهم مي‌كند. Direct3D يك API سطح پايين سه‌بعدي است كه به نرم‌ا?زار امكان مي‌دهد مستقل از سخت‌ا?زار، با سخت‌ا?زار شتاب‌دهنده ارتباط برقرار كند. لا‌يه‌اي كه براي توسعه‌دهندگان بازي و گرا?يك كامپيوتري امكان طراحي و ساخت بازي‌ها را مستقل از سخت‌ا?زار كامپيوترها ?راهم مي‌كند، لا‌يه‌اي به نام
Hardware Abstraction Layer) HAL) است.

HAL با قابليت‌هايي كه به صورت گسترده در سخت‌ا?زارهاي گرا?يك سه‌بعدي پياده‌سازي شده‌اند ارتباط ايجاد مي‌كند و به سازندگان امكان‌مي‌دهد درايورهايي را توليد كنند كه لا‌يه HAL را به سخت‌ا?زار پيوند دهد. اين كار باعث مي‌شود برنامه‌هاي كاربردي Direct 3D بدون اين‌كه براي نوع خاصي از قطعه سخت‌ا?زاري نوشته شده باشد، از ويژگي‌هاي بخش‌هاي خاص آن قطعه سخت‌ا?زاري بهره‌ببرد. در شكل يك چگونگي ارتباط لا‌يه HAL با سخت‌ا?زار و نرم‌ا?زارهاي مرتبط نشان داده شده است.

شكل - چگونگي ارتباط لا‌يه HAL با كارت گرا?يك و نرم‌ا?زارهاي مرتبط
http://www.shabakeh-mag.com/Data/Gallery/s63_gpl_1_s.jpg

همان‌گونه كه در شكل يك، نشان داده شده، نرم‌ا?زار بازي بالا‌ترين سطح است و پس از آن كامپوننت‌هاي ترسيم دوبعدي و سه بعدي، يعني DirectDraw و Direct3D قرار دارند. لا‌يه HAL يك رابط ميان كامپوننت‌هاي DirectX و كارت گرا?يك است.

در سيستم رندر Direct3D، ساختار اشياي سه‌بعدي پيش از آن‌كه شتاب‌دهنده سه‌بعدي، يك صحنه سه‌بعدي را رندر نمايد و آن را به مانيتور منتقل كند، به وسيله CPU پردازش مي‌شود. نسخه ششم كامپوننت Direct3D از قابليت‌هاي كارت‌هاي گرا?يك جديدتر پشتيباني مي‌نمايد و در هر گذر، چندين با?ت را با هم رندر مي‌كند.

كاهش زمان رندر به است?اده از نقشه با?ت‌ها نياز دارد. اين نسخه تكنيك‌هايي براي ا?زودن جلوه‌اي واقعي‌تر به صحنه‌هاي سه بعدي را نيز دربردارد.

مانند anistropic filtering كه عنصر عمق را به trilinear filtering و نقشه برجسته‌سازي مي‌ا?زايد كه موجب ايجاد شباهت بيشتر با?ت‌ها و نيز منابع نور تابيده شده بر سطوح مسطح با نمونه‌هاي واقعي آن‌ها مي‌شود.

نسخه ه?تم DirectX نسبت به نسخه‌هاي پيش از خود بيست درصد سريع‌تر و شامل چند ويژگي ديگر بود. مهم‌ترين آن‌ها پشتيباني از تغييرات شتاب سخت‌ا?زاري و نوردهي (T&L) به وسيله اغلب كارت‌هاي گرا?يك سه‌بعدي آن‌زمان به ويژه كارت‌هايي است كه برپايه تراشه‌هاي nVidia Geforce 256 و S3 Savage 2000 ساخته شده‌اند. از زماني كه T&L عرضه شد، وقت‌گيرترين وظي?ه CPU هنگام اجراي بازي‌هاي پيشر?ته به شتاب‌دهنده سه‌بعدي داده شد و بخش بزرگي از ظر?يت پردازنده اصلي به كارهاي ديگر مانند هوش‌مصنوعي بازي اختصاص داده شد و توسعه‌دهندگان بازي توانستند رندر را با جزئيات بيشتر انجام دهند و جلوه‌هاي ويژه پيچيده‌تري را در بازي‌ها به‌كار ببرند.

3- DirectShow
اين كامپوننت از بسياري از ?رمت‌هاي صوتي و ويديويي شامل AVI ،MPEG ،ASF ،WMA/WMV ،DV و MP3 و DirectX پشتيباني مي‌كند و روي ويندوزهاي 98، 2000، اكس‌پي و نرم‌ا?زار اينترنت اكسپلورر عرضه شده است.DirectShow پروسه كارهاي مالتي‌مديا مانند نمايش ?ايل ويديويي را به مجموعه‌اي از مراحل كه با نام
filter شناخته مي‌شوند تقسيم مي‌كند.

?يلترها تعدادي pin ورودي و خروجي دارند كه آن‌ها را به هم متصل مي‌كند. طراحي كلي سازوكار اتصال به اين صورت است كه ?يلترها مي‌توانند به روش‌هاي مختل? به هم متصل شوند كه هر نوع از اين اتصال‌ها به معني انجام دادن يك كار است و توسعه‌دهندگان نرم‌ا?زار مي‌توانند ا?كت‌هاي خود يا ?يلترهاي ديگري را به بخشي از اين گرا? براي انجام كار ويژه‌اي بي?زايند. گرا? ?يلتر DirectShow به صورت گسترده در ضبط صدا و ?يلم، و ويرايش آن‌ها به كار مي‌رود.

شكل - يك گرا? ?يلتر كه كار نمايش يك ?ايل MPEG را نشان مي‌دهد.

در شكل دو، يك گرا? نمايش براي ?ايل ?يلمي از نوع MPEG نشان داده شده است. برنامه‌هاي كاربردي DirectShow، براي پردازش داده‌هاي مالتي‌مديا، از اين گرا? است?اده مي‌كنند.

داده‌هاي چند رسانه‌اي در اين گرا? (در حالي كه كارها به وسيله برنامه كاربردي كنترل مي‌شوند) از ?ايل منبع به سمت مقصد كه مي‌تواند يك قطعه سخت‌ا?زاري باشد حركت مي‌كنند.

ولي در برخي مواقع، برنامه كاربردي علا‌وه بر كنترل گرا?، دريا?ت‌كننده يا ?رستنده داده نيز هست.

هر گره اين گرا?، همانگونه كه گ?ته شد، يك ?يلتر است و كار ويژه خود را انجام مي‌دهد. ?يلتر source، داده‌ها را از يك ?ايل يا URL مي‌خواند. ?يلتر Parser، بخش‌هايي از داده‌هاي صوتي و ويديويي را به رمزگشاي مناسب مي‌?رستد. رمزگشاها، داده‌هاي صوتي و ويديويي را رمزگشايي مي‌نمايند يا از حالت ?شردگي خارج مي‌كنند.
?يلتر رندركننده، داده‌هاي دريا?ت شده صوتي و ويديويي از رمزگشا را پخش مي‌كند يا آن‌ها را نمايش مي‌دهد.

4- DirectSound
اين كامپوننت همزمان با ساخت ويندوز 95، زماني كه درايورهاي صوتي از نوع VXD بودند به DirectX ا?زوده شد. در اين كامپوننت APIهاي ويژه‌اي ايجاد شد كه نويسندگان درايورهاي صوتي مي‌بايست آن‌ها را به محصولا‌ت خود، كه ?رمت VXD داشت، مي‌ا?زودند تا به درستي با DirectSound كار كند.

برنامه‌هاي چندرسانه‌اي با اين كامپوننت به سخت‌ا?زارهاي صوتي مانند كارت صوتي دسترسي پيدامي‌كنند. از مهم‌ترين ويژگي‌هاي اين API، تركيب صدا و كنترل سطح آن است.

DirectSound همچنين اجازه مي‌دهد چندين برنامه كاربردي، بدون پيش آوردن وق?ه، همزمان به كارت صوتي دسترسي داشته باشند. ايجاد ا?كت‌هاي صوتي از ديگر توانايي‌هاي DirectSound است. پس از سال‌ها توسعه، اكنون DirectSound يك API پخته و كامل است و بسياري قابليت‌هاي ديگر را نيز ?راهم مي‌كند؛ مانند قابليت پخش صداهاي چند كاناله با وضوح و دقت بالا‌.

5- DirectMusic
تاكنون بازي‌هايي را تجربه كرده‌ايد كه در تمام مدت يك مرحله، موسيقي يكنواخت و ثابتي دارند؟ بازي‌اي را در نظر بگيريد كه برنامه‌نويسان آن مي‌خواهند يك آهنگ، در تمام مدت، در يك مرحله از آن به صدا دربيايد. با است?اده از برنامه DirectMusic Producer، آن‌ها مي‌توانند در آن مرحله براي آهنگ، يك درجه در نظر بگيرند.

اين درجه مي‌تواند بسته به نوع عملكرد شخصيت بازي، تغيير كند. اگر شخصيت بازي در حال راه ر?تن است، آهنگ آرام و هنگامي كه با دشمن خود مبارزه مي‌كند، آهنگ تندتر مي‌شود و يا نوع آهنگ تغيير مي‌كند و هنگامي كه مبارزه تمام مي‌شود، آهنگ دوباره آرام مي‌شود. اين تغييرها بدون ايجاد وق?ه، به صورت پويا و بدون دخالت كاربر انجام مي‌شود. چون براساس DirecMusic، آهنگ به صورت شناور و بدون وق?ه با نواختن وارياسيون‌هاي مختل? با قابليت واكنش به رويدادهاي بازي توليد مي‌شود.

DirectMusic، با داده‌هاي موسيقي براساس پيام‌هاي حاوي اطلا‌عات كار مي‌كند. يك آهنگ مي‌تواند در داخل سخت‌ا?زار و با نرم‌ا?زارهاي آهنگ‌ساز مانند Microsoft ‌Synthesizer ساخته شود. DirectMusic از استانداردهايMIDI و DLS پشتيباني مي‌كند.

6- DirectInput
اين كامپوننت، سازوكار مشتركي را براي دسترسي به بسياري از كنترل‌كننده‌هاي بازي مانند دسته بازي، گيم‌پد، ص?حه كليد و ماوس ?راهم مي‌آورد. مهم‌ترين تغييري كه هنگام عرضه DirectX8 در DirectInput ايجاد شد، آمدنaction map بود. action map از توابعي مانند راندن يك وسيله يا شليك يك گلوله (كه به‌وسيله دستگاه‌هاي ورودي ايجاد مي‌شود) است?اده مي‌كند. زماني كه يك سخت‌ا?زار ورودي مانند دسته بازي را مي‌خريد، معمولا ‌ًaction mapنيز براي بسياري از انواع رايج بازي‌ها مانند شبيه‌ساز پرواز، تيراندازي اول شخص و بازي‌هاي مسابقه‌اي در آن پياده‌سازي شده است.

7- DirectPlay
اين كامپوننت امكان بازي چند ن?ر را در بازي‌هاي چندن?ره ?راهم مي‌آورد، دسترسي به سرويس‌هاي ارتباطي را آسان مي‌سازد و راهي را براي بازي‌ها ?راهم مي‌كند تا مستقل از پروتكل يا نوع سرويس آنلا‌ين با يكديگر در ارتباط باشند. همچنين از پروتكل‌هاي ارتباطي مطمئن پشتيباني‌مي‌كند تا مانع از گم شدن داده‌هاي مهم بازي روي شبكه شود. در واقع DirectPlay به صورت لا‌يه‌اي است كه روي پروتكل‌هاي معمول شبكه مانند IPX ،TCP/IP و ... قرار دارد.

در واقع يك session يا جلسه در DirectPlay يك كانال ارتباطي بين چندين كامپيوتر است. يك برنامه كاربردي پيش از آن‌كه بتواند با سيستم‌هاي ديگر ارتباط برقرار كند، بايد در يك Session يا جلسه باشد. هر جلسه تنها يك ميزبان دارد و آن برنامه كاربردي‌اي است كه آن جلسه را ايجاد كرده‌است. تنها ميزبان مي‌تواند ويژگي‌هاي يك Session را تغيير دهد.

DirectX 9.0
اين كامپوننت، آخرين نسخه DirectX تا پيش از عرضه رسمي ويندوز ويستا است. مهم‌ترين چيزي كه همراه DirectX 9.0 عرضه شد، High-Level Shader Language) HLSL) است. زبان HLSL جايگزين زبان اسمبلي براي نوشتن pixel shaderها و vertex shaderها در DirectX است. پيش از ارائه DirectX 9.0 توسعه‌دهندگان بازي بايدshader‌ها را با است?اده از يك زبان اسمبلي سطح پايين توسعه مي‌دادند. HLSL با ?راهم‌آوردن يك محيط برنامه‌نويسي توسعه‌دهنده ساده، توسعه همه بخش‌هاي نرم‌ا?زار مانند انيميشن و برنامه‌نويسي ا?كت‌ها را آسان مي‌كند.

HLSL با همه پردازشگرهاي گرا?يكي (GPU) سازگار با DirectX كار مي‌كند و به توسعه‌دهندگان امكان مي‌دهد ا?كت‌هاي بصري را روي گستره وسيع‌تري از پلت?رم‌ها ايجاد كنند؛ بدون اين‌كه نياز داشته باشند به جزئيات سخت‌ا?زار گرا?يكي توجه كنند.

DirectX 9.0 روي ويندوز 95 نصب نمي‌شود. چون بازي‌هايي كه به DirectX 9.0 نياز دارند، به كامپيوترهاي جديدتر و قوي‌تري هم نياز دارند كه ويندوز 98 يا نسخه‌هاي جديدتر روي آن‌ها نصب مي‌شود. تاكنون نسخه‌هاي a ،b و c از DirectX 9.0 ارائه شده است. هر نسخه جديدتر از DirectX داراي امنيت، كارايي و سيستم ر?ع خطاي بهتري است.

Matrix
07-12-2007, 11:11
DirectX 10
دوستداران بازي بايد خوشحال باشند از اين‌كه بدانند شركت مايكروسا?ت DirectX را نيز توليد كرده است و همراه پيش توزيع Direct3D 10 عرضه خواهد شد. همچنين نرم‌ا?زارMicrosoft Windows Game Explorer نيز عرضه شده‌ كه به برنامه‌نويسان و توسعه‌دهندگان امكان مي‌دهد امكانات بروزكردن خودكار (auto-updating) را به بازي‌هايشان بي?زايند. مايكروسا?ت مي‌خواهد DirectX 9.0 و DirectX 10 را روي ويندوز ويستا عرضه كند. به گ?ته Rodolph Balaz از برنامه‌نويسان توسعه‌‌دهنده Direct3D و OpenGL در مايكروسا?ت، DirectX 10 تنها با سيستم‌عامل‌هاي جديد كار خواهد كرد و در حال حاضر مايكروسا?ت، برنامه‌اي براي پشتيباني ويندوز اكس‌پي از آن ندارد.

تا زمان نوشته شدن اين مقاله هنوز نسخه رسمي ويندوز ويستا عرضه نشده است. ولي به نظر مي‌آيد اين ويندوز، هم از DirectX 10 و هم از DirectX 9.0 پشتيباني خواهد كرد.

SGL OpenGL
شركت سيليكون گرا?يكس(SGI ،OpenGL) را با هد? ساخت يك API براي توسعه برنامه‌هاي گرا?يكي دوبعدي و سه بعدي عرضه‌كرده‌است. پيش از ساخته شدن APIهاي گرا?يكي مانند OpenGL و DirectX، بسياري از توليدكنندگان سخت‌ا?زار، كتابخانه‌هاي گرا?يكي مختل? و مت?اوتي داشتند. به همين دليل پشتيباني از نسخه‌هاي مختل? نرم‌ا?زارهايشان روي پلت?رم‌هاي سخت‌ا?زاري مختل? هزينه‌بر و انتقال يك برنامه كاربردي از يك پلت?رم سخت‌ا?زاري به پلت?رم سخت‌ا?زاري ديگر بسيار وقت‌گير و سخت بود.

بنابراين SGI نمونه برنامه‌اي را توليد كرد كه توليدكنندگان سخت‌ا?زار بايد از آن براي توسعه درايورهاي OpenGL در سخت‌ا?زارهايشان است?اده كنند. اين برنامه به صورت اپن‌سورس ارائه شده‌است. ولي سازندگان اين سخت‌ا?زارها مي‌توانند قابليت‌هاي گوناگوني را برپايه OpenGL در سخت‌ا?زارهايشان ايجاد كنند. تصميم‌گيري درباره ايجاد تغييرات در OpenGL را كنسرسيوم ARB اتخاذ مي‌كند.

اين كنسرسيوم شامل اعضاي مهمي همچون اپل، اينتل، آي‌بي‌ام، سان، ATI، دل، nVIDIA، سيليكون‌گرا?يكس و3Dlabs است و از سوي شركت‌هاي معتبر ديگري مانند متراكس، S3 ،Xi و Quantum 3D حمايت مي‌شود. توسعه‌دهندگان نرم‌ا?زار براي است?اده از OpenGL در نرم‌ا?زارهايشان نيازي به اخذ مجوز ندارند. ولي توليدكنندگان سخت‌ا?زار براي پياده‌سازي سخت‌ا?زاري OpenGL نيازمند اخذ مجوز از SGI هستند.

OpenGL چيست؟
در اوايل پيدايش OpenGL، از اين API در كارهاي صنعتي، طراحي وسايل داخلي، مكانيكي و نيز در آناليزهاي علمي و آماري است?اده مي‌شد.

در سال 1996، نويسندگان و توسعه‌دهندگان بازي‌هاي كامپيوتري از نسخه ويندوزي OpenGL براي ساخت بازي‌هاي كامپيوتري است?اده كردند. OpenGL براي پشتيباني از گستره وسيعي از تكنيك‌هاي رندركردن گرا?يكي پيشر?ته طراحي شده است كه مي‌توان پاره‌اي از آن‌ها را به اين‌صورت نام برد:

نورپردازي: قابليت تحليل ميزان رنگ هنگام تابش مدل‌هاي مت?اوت نور به يك سطح از يك يا چند منبع نور مختل?.

سايه‌سازي نرم: قابليت تحليل ا?كت‌هاي سايه هنگام تابش نور به يك زاويه و ايجاد اختلا‌? نور خ?ي? در مقابل آن سطح (مانند نور كمي كه هنگام تابش آ?تاب به يك صخره يخي در اطرا? آن ايجاد مي‌شود).

حركت محو ومدل‌سازي: توانايي تغيير مكان و اندازه پرسپكتيو يك شي در ?ضاي سه بعدي.
مجموعه امكانات OpenGL شبيه Direct3D است. ولي API سطح پايين‌تر آن (نزديك‌تر به سطح سخت‌ا?زار) باعث مي‌شود كنترل خوبي روي عناصر اصلي ايجاد صحنه‌هاي سه بعدي مانند اطلا‌عات سه‌ضلعي‌ها كه سلول‌هاي تشكيل‌دهنده يك مدل سه بعدي هستند داشته باشد.

دو سطح پشتيباني از شتاب‌دهندگي سخت‌ا?زاري براي OpenGL وجود دارد: installing client driver) ICDs) كه به نوردهي ايجاد تغيير و رستركردن (تبديل يك ?ريم سه بعدي چند ضلعي ذخيره شده درframe buffer به يك تصوير كامل با با?ت‌ها و نشانه‌هاي عمق و نور) شتاب مي‌دهد و mini client server) MCs) كه از رستركردن پشتيباني مي‌كند.

OpenGL 1.4 و OpenGL 1.5 به‌ترتيب در تابستان 2002 و 2003 معر?ي شدند كه هر يك امكانات و كاربردهاي بيشتري از نسخه‌هاي پيش از خود داشتند. بزرگ‌ترين آن‌ها OpenGL Shading Language بود؛ زباني ويژه برنامه‌نويسي vertex-shader و pixel-shader كه در صورت نياز به OpenGL الصاق مي‌شد. OpenGLShading Language زباني شد كه به سرعت در سطح گسترده‌اي مورد پشتيباني يونيكس، ويندوز، لينوكس و ديگر سيستم‌عامل‌ها براي توسعه‌دهنده گرا?يك‌هاي تعاملي و برنامه‌هاي كاربردي ترسيمي قرار گر?ت.

OpenGL 2.0
OpenGL 2.0 آخرين نسخه عرضه شده تا اوايل سال 2006 ميلا‌دي است. OpenGL Shader Language همراه با اين نسخه عرضه شده و بر پايه استاندارد ANSYC طراحي شده است. برخي قابليت‌هاي تازه اين نسخه عبارتند از:

- سايه‌زني قابل برنامه‌ريزي به‌وسيله OpenGL Shader Language و APIهاي آن. قدرت ايجاد Shader و برنامه‌نويسي اشيا، بخش ديگري از تغييرات ايجاد شده در اين نسخه است.

- رندر چندگانه كه به shaderهاي قابل برنامه‌نويسي امكان مي‌دهد در با?رهاي خروجي چندگانه در يك گذر مقادير مختل?ي بنويسند.

- با?ت‌هاي دو طر?ه، با قابليت تعري? كاربرد آن با?ت براي سطح جلو و پشت يك مدل اوليه كه كي?يت حجم سايه و كارايي الگويم‌هاي رندر هندسي اشياي سخت را ارتقا مي‌دهد.

- Spriteهاي نقطه كه مختصات با?ت يك نقطه را با مختصات با?ت قرار داده شده در مقابل آن نقطه جابه‌جا مي‌كنند و رسم نقاط را در با?ت‌هاي طراحي شده در كامپيوترهاي معمولي نيز ممكن مي‌سازند.

- با?ت‌هاي Non-power-of-two كه براي همه انواع با?ت‌ كاربرد دارد كه در نتيجه از با?ت‌هاي چهارگوش پشتيباني مي‌نمايد و درعمل حا?ظه كمتري اشغال مي‌كند.

OpenAL
OpenAL، يك API ديگر است كه براي ايجاد و مديريت صداهاي سه بعدي در بازي‌هاي كامپيوتري و ديگر انواع نرم‌ا?زارها به صورت يك پروژه مشترك ميان شركت Loki Software و Creative ساخته شده است.

كتابخانه اين API مجموعه‌اي از صداهاي قابل حركت در ?ضاي سه‌بعدي را مدل‌سازي مي‌كند. عناصر اصلي OpenAL شامل يك شنونده، يك منبع و يك با?ر است. ممكن است تعداد زيادي با?ر وجودداشته باشد كه شامل داده‌هاي صوتي هستند. هر با?ر مي‌تواند به يك يا چند منبع ضميمه شود. هميشه يك عنصر شنونده (براي محتواي صوتي) وجود دارد كه موقعيت مكاني منبع صوتي كه صداي آن شنيده مي‌شود را نشان مي‌دهد. OpenAL در موتورهاي گرا?يكي Epic Games Unreal نيز براي ساخت ا?كت‌هاي صوتي به كار مي‌رود.

OpenGL Performer
OpenGL Performer، رابط برنامه‌نويسي قدرتمند و كاملي است كه توسعه‌دهندگان براي شبيه‌سازي بصري از آن است?اده مي‌كنند. ابزارهاي موجود در آن، توسعه برنامه‌هاي شبيه‌سازي بصري، طراحي بر اساس شبيه‌سازي، واقعيت مجازي، نرم‌ا?زارهاي علمي، سرگرمي‌هاي تعاملي، برنامه‌هاي ويديويي و طراحي با كامپيوتر را آسان مي‌كند. اين رابط برنامه‌نويسي به برنامه‌نويسان امكان مي‌دهد از قابليت‌هاي سيستم به صورت بهينه است?اده كنند. آخرين نسخه اين نرم‌ا?زار OpenGL Performer 3.2 است.

OpenGL Volumizer
OpenGL Volumizer، يك API گرا?يكي است كه در بخش‌هاي انرژي، توليد، داروسازي و تجارت كاربرد دارد. اين API براي انجام كارهاي تعاملي با كي?يت بالا‌ و بصري نمودن و شبيه‌سازي يك محيط با است?اده از مجموعه بزرگي از داده‌هاي حجمي (داده‌هايي كه مختصات يك شي در ?ضاي سه بعدي را نشان مي‌دهند) طراحي شده است. براي نمونه در نرم‌ا?زارهاي پزشكي براي شبيه‌سازي وضعيت بخش خاصي از بدن، از اين نرم‌ا?زار است?اده مي‌شود. OpenGL Volumizer آخرين نسخه اين API تا اوايل سال 2006 ميلا‌دي است كه بر پايه كتابخانه گرا?يكي استانداردOpenGL ساخته شده و شامل رابط كلا‌س ++C و قابل‌است?اده در سيستم‌عامل‌هاي ويندوز و لينوكس 32 بيتي و 64 ‌بيتي است.

OpenGL Multipipe SDK
OpenGL Multipipe SDK يك لا‌يه API است كه مديريت برنامه‌هاي گرا?يكي را در زير سيستم‌ها و ساختارهاي گرا?يكي چندگانه آسان مي‌كند. برنامه‌هاي كاربردي نوشته شده برپايه اين API به نرمي و رواني، هم روي سيستم‌هاي روميزي تك پردازنده‌اي و هم روي سيستم‌هاي چند پردازنده‌اي با سيستم‌هاي گرا?يكي قدرتمند اجرا مي‌شوند.

نتيجه‌گيري‌
همان‌گونه كه بيان شد ارتباط بين برنامه‌ها و سخت‌ا?زاري كه آن‌را اجرا مي‌كند برعهده API است. سازندگان بزرگ نرم‌ا?زار و سخت‌ا?زار API خاصي را براي برنامه‌هاي مالتي‌مديا آماده كرده‌اند كه مطرح ترين آن‌ها DirectX و OpenGL هستند.

برنامه های DirectX در دو حالت اجرا میشند:
1-حالت تمام ص?حه (Full Screen Mode)
2-حالت پنجره ای (Windowed Mode)

برنامه امروز در حالت Full Screen اجرا می شود.VB رو اجرا کنید و یه پروژه نوع استاندارد ایجاد کنید.
برای این که بتوانیم از توابع اشیای DirectX است?اده کنیم باید کتابخانه Type Library رو به پروژه اضا?ه کنیم.
برای این کار بر روی منوی Project کلیک و References رو انتخاب کنید. در پنجره باز شده و در لیست موجود DirectX 7.0 for Visual Basic Library Type را تیک بذارید و OK کنید.

حالا برای اینکه ما بتوانیم از DirectX است?اده کنیم باید یک شیئ از نوع DirectX7 تعری? کنیم. پس در قسمت General ?رم یک شیئ از این نوع تعری? کنید.
Dim DX As New DirectX7

اشیاء دیگری که تعری? خواهیم کرد این ها هستند:

1-یک شیئ از نوع DirectDraw7

این همون شیئی که به ما کمک میکنه که سطوح رو ایجاد کنیم:

Dim DD As DirectDraw7

2- 2 شیئ از نوع DirectDrawSurface7

این اشیاء سطوحی هستند که ما شکل ها، متون و ... رو بر روی اونها نگارش می کنیم(تخته سیاه)

Dim Primary As DirectDrawSurface7 ‘سطح اصلی
Dim Backbuffer As DirectDrawSurface7 ‘ پشت صحنه

یک متغیر عمومی از نوع Boolean هم تعری? می کنیم. این متغیر مشخص می کنه که تا چه زمانی برنامه باید اجرا بشه:

Dim EndPro As Boolean

حالا ادامه میدیم.

طریقه کار به این صورت که اول ما شیئ DD رو مقداردهی میکنیم. یعنی در حقیقت به DirectX7 میگیم که شیئ DD رو برای ما ایجاد کنه. پس در ادامه (Form_Load) بنویسید:

Set DD = DX.DirectDrawCreate ("")

حالا باید به شیئ DD که از نوع DirectDraw7 هست بگیم که ما میخوایم از کدوم ?رم برنامه است?اده کنیم. من ?رض کردم که ?رم برنامه Form1 هست.همچنین باید به کامپیوتر ب?همونیم که میخوایم برنامه تمام ص?حه باشه یا نه. برای اینکار از متد SetCooperativeLevel شیئ DD است?اده می کنیم:

DD.SetCooperativeLevel Form1.hWnd, DDSCL_FULLSCREEN Or DDSCL_EXCLUSIVE

حالا باید رزولوشن ص?حه رو تغییر بدیم. ?رض کنیم که سیستم شما از حالت 640 * 480 پشتیبانی می کنه. برای اینکار از متد SetDisplayMode شیئ DD است?اده می کنیم:

DD.SetDisplayMode 640, 480, 16, 0, DDSDM_DEFAULT

آرگومان اول عرض، آرگومان دوم Height و آرگومان سوم عمق بیت حالت رو نشون میده.اون یکی ها هم ref و Mode هستند

حالا میخوایم سطوح رو مقداردهی کنیم. کدهای زیر رو به پروژه خود بی?زایید:

Dim ddsd As DDSURFACEDESC2
ddsd.lFlags = DDSD_BACKBUFFERCOUNT Or DDSD_CAPS
ddsd.lBackBufferCount = 1
ddsd.ddscaps.lCaps = DDSCAPS_COMPLEX Or DDSCAPS_FLIP Or DDSCAPS_PRIMARYSURFACE Or DDSCAPS_VIDEOMEMORY

برای اینکه بتونید یه سطح رو ایجاد کنید باید یه شیئ از نوع DDSURFACEDESC2 رو به ان وابسته کنیم.

حالا سطح اصلی (Primary) خودمون رو ایجاد کنیم. این سطح همون سطحی است که کاربر میبینه. (اینکه چه جوری کامپایلر می?همه که این همون سطح هست برمیگرده به خصوصیات شیئ ddsd از نوع DDSURFACEDESC که بالا مقداردهی کردیم و این شیئ مشخص میکنه که Primary تخته سیاه باشه). با است?اده از متد CreateSurface شیئ DD این سطح رو ایجاد می کنیم. آرگومان این تابع همون شیئ بالاییه) داریم:

Set Primary = DD.CreateSurface(ddsd)

حالا باید سطح BackBuffer رو مقداردهی کنیم. ولی شاید بپرسید ما که Primary رو داریم دیگه این BackBuffer برای چیه؟ باید بگم برای اینکه از پرپر زدن ص?حه نمایش جلوگیری کنیم، ما بجای اینکه همه چیز رو مستقیما روی سطح Primary رسم کنیم، میایم و اول روی سطح (BackBuffer) که متصل به Primary هستش رسم می کنیم و صحنه آماده رو منتقل می کنیم به Primary (در حقیقت میتونیم بگیم که BackBuffer چرک نویس ما هست).

پس حالا ما سطح BackBuffer رو متصل به سطح Primary ایجاد می کنیم. داریم:

Dim ddscaps As DDSCAPS2
ddscaps.lCaps = DDSCAPS_BACKBUFFER Or DDSCAPS_VIDEOMEMORY
Set Backbuffer = Primary.GetAttachedSurface(ddscaps)

حالا همه چی آماده است.

در ضمن ?کر میکنم همه با نوع داده RECT آشنایی داشته باشند (اگه کسی آشنایی نداره در قسمت نظرات بگه تا من اونو هم توضیح بدم). در دایرکت ایکس برای اینکه بخوایم یه قسمتی از ص?حه رو مشخص کنیم از این نوع داده است?اده می کنیم. یه متغیر هم از این نوع تعری? می کنیم تا کل ص?حه رو مشخص کنیم. (برای رنگ آمیزی کل سطح و ...) توجه داشته باشید که این نوع داده در کتابخانه DirectX موجود هست و شما نیازی ندارید که مثل برنامه های دیگه این نوع رو تعری? کنید :

Dim rec As RECT
rec.Bottom = 480
rec.Left = 0
rec.Right = 640
rec.Top = 0

اینو به یاد داشته باشید که ما در برنامه هایی که با دارکت ایکس می نویسیم. کل عملیات رو در قالب یه حلقه (معمولا حلقه Do) انجام میدیم. به این صورت که پشت سر هم به طور مداوم صحنه های خودمون رو بر روی سطح ترسیم می کنیم و به Primary منتقل می کنیم. پس در پروژه خویشتن ( و در همان Form_Load، یعنی ادامه کدهای قبلی) بنویسید:

Do While EndPro=False

Backbuffer.BltColorFill rec, 0 ‘پاک کردن ص?حه

Backbuffer.SetForeColor RGB(256, 0, 0) ‘ تنظیم رنگ ترسیم

Backbuffer.DrawText 300, 250, “Hello World?, False ‘درج متن

DoEvents ‘توضیح در پایین

Primary.Flip Nothing, DDFLIP_WAIT ‘ انتقال از چرک نویس به پاک نویس

Loop

حالا ببینیم که چیکار کردیم. تا زمانی که مقدار متغیر EndPro نادرست است این عملیات رو انجام میدیم:

برای پاک کردن ص?حه هر بار ص?حه رو با رنگ سیاه پر میکنیم. متد BltColorFill سطح رو به روش بلیت پر میکنه. یعنی این که در حا?ظه مقادیر هر پیکسل رو برابر رنگی که بهش میدیم قرار میده(در اینجا این رنگ رو برابر 0 که همون سیاه هست قرار دادیم).

با است?اده از متد SetForeColor رنگ تمام ترسیماتی که انجام میدیم رو عوض می کنیم.(به اصطلاح ForeColor سطح رو تغییر میدیم.)

با است?اده از متد DrawText متن مورد نظرمون رو بر روی ص?حه حک می کنیم. دو آرگومان اول مختصات x و y محل درج متن رو مشخص می کنند.

مـــــــهـــــــم : وقتی ما پشت سر هم و بدون وق?ه یه کاری رو انجام میدیم، برنامه دیگه چیز دیگه ای رو پردازش نمی کنه. بنابراین ما با این عبارت(DoEvents) به کامپایلر میگیم در هر بار انجام دستورات حلقه، دستورات دیگه ای مانند ?شرده شدن کلید، کلیک ماوس و ... رو هم پردازش کنیم. اگه خیلی کنجکاو هستید، بعد از این که پروژه تون رو Save کردید یه بار برنامه رو بدون DoEvents اجرا کنید

حالا صحنه ما آماده است پس اونو میذاریمش جلوی چشم کاربر. این کار با است?اده از متد Flip سطح Primary انجام میشه. (درمورد ?لیپ بعدا اگه عمری باقی باشه توضیح میدم.)

هنگامی که متغیر EndPro مقدار Trueبگیره(هنگامی که کاربر قصد خروج دارد)، حلقه شکسته میشه و ما باید برنامه رو به پایان ببریم. پس حا?ظه ای که به سطوح و اشیاء دیگر اختصاص داده ایم رو آزاد میکنیم:

Set DD = Nothing
Set Primary = Nothing
Set Backbuffer = Nothing
Set DX = Nothing
End

در اینجا Form_Load به پایان میرسه. حالا ?قط یه کار مونده. اون هم اینه کا وقتی کاربر کلید Esc رو ?شار میده باید برنامه به پایان برسه، یعنی مقدار متغیر EndPro برابر True بشه. پس این خطوط کد رو به پروژه تون اضا?ه کنید:

Private Sub Form_KeyPress(KeyAscii As Integer)
If KeyAscii = 27 Then EndPro=True
End Sub

حالا برنامه رو اجرا کنید

تمرین:
1-برنامه را طوری تغییر دهید که به جای عبارت Hello World نام خودتان را نمایش دهد.
2-برنامه را طوری تغییر دهید که به جای عبارت Hello World ، زمان سیستم را نمایش دهد.
3-کاری کنید که عبارت Hello World در روی ص?حه به سمت چپ (یا راست حرکت کند)


DirectX 10 و اهمیت آن در صنعت کامپیوتر های شخصی

توضیح : این گ?تگو در تاریخ 19 مهرماه در سایت BootDaily منتشر شده است. در این مصاحبه پرسش ها توسط BD (کوتاه شده عبارت Boot Daily) و پاسخ ها با نام Chris (مدیر بخش گسترش و بازاریابی مایکروسا?ت) مشخص شده اند. همچنین منظور از DX10 در این مصاحبه DirectX 10 می باشد.

BD : لط?ا اهمیت DX10 برای دوست داران بازی ها را در یک جمله توضیح دهید.

Chris : ما در مایکروسا?ت DirectX 10 را به عنوان بلند ترین جهش در کی?یت و کارایی گرا?یک در صنعت کامپیوتر های شخصی از زمان پیدایش DirectX که به زمان ویندوز 95، و تحولی در زمینه بازی های کامپیوتری و تکنولوژی مربوط به آن می دانیم.

BD : و اهمیت آن برای کاربران عادی؟

Chris : بله، DirectX 10 بالاترین کی?یت و کارایی گرا?یکی را در پلات?رم ویندوز را به همراه خواهد داشت که نتیجه آن تجربه ای باورنکردنی و دور از ذهن برای کاربران عادی خواهد بود.

BD : این یک حقیقت است که تعداد زیادی از بازی های معرو? و پرطر?دار درحال حاظر بر پایه موتور گرا?یکی Doom3 که از OpenGL بهره می گیرد ساخته می شوند. به نظر شما DX10 چه مزیت هایی نسبت به OpenGL برای تولید کنندگان بازی های کامپیوتری به ارمغان می آورد؟

Chris : همانطور که می دانید، ما DirectX 10 را برای ویندوز ویستا و با هد? ارایه دادن یک تجربه باورنکردنی از جزئیات گرا?یکی به کاربران و بازیکنان ، تماما از پایه و از ص?ر ساخته ایم. این نسخه از DirectX نسب به نسخه های قبلی دارای بازده به مراتب بیشتر و در عین حال با ضریب اطمینان و پایداری بیشتر خواهد بود. DirectX 10 به لط? Shader Model 4.0 به طور ?وق العاده ای کی?یت و جزئیات باورنکردنی را در اختیار توسعه دهندگان و نهایتا کاربران خواهد گذاشت که از آن جمله توانایی بکارگیری محیط های پیچیده گرا?یکی و ترسیم چهره ها به صورت بسیار طبیعی و توانایی نمایش تعداد دلخواه از آیتم ها در صحنه می باشد.

اشاره کردید که بازی های معرو? و پرطر?دار بر اساس موتور گرا?یکی Doom3 و OpenGL ساخته می شوند، اما به عقیده من تعداد بازی هایی که از DirectX است?اده می کنند به مراتب بیشتر و حتی زیبا تر هستند. بازی هایی زیادی هستند که بر اساس موتور های گرا?یکی Unreal و Source و با است?اده از DirectX ساخته می شوند. حتی ID (منظور شرکت ID Software سازنده سری بازی های Doom و Quake است-م) نیز برای منطبق ساختن بازی های خود با کنسول های Xbox و Xbox360 آنها را به DirectX تبدیل می کند.

با این حال، تمامی برنامه هایی که از واسط گرا?یکی OpenGL است?اده می کنند قابلیت اجرا در ویندوز ویستا را به شرط پشتیبانی درایور گرا?یک و است?اده از وصله (Patch) مناسب، خواهند داشت. به همین خاطر سازندگان و ?روشندگان قطعات سخت ا?زاری ملزم به ارایه ICD یا Installable Client Drivers که امکان است?اده از شتابدهنده گرا?یکی را برای پردازش دستورات OpenGL را خواهد داد، هستند

BD : چرا این نسخه از DX10 تنها قابل است?اده در ویندوز ویستا است؟ آیا این نوعی اجبار کاربران برای خرید و ارتقا به ویندوز ویستا نیست؟

DirectX 10 : Chris نیاز به امکانات مشخصی جهت بهره گیری کامل از سخت ا?زار گرا?یکی سیستم دارد که این امکانات و خصیصه ها تنها در سیستم عامل ویندوز ویستا موجود است. ما یک هد? بزرگ را برای دراختیار گذاشتن تجربه گرا?یکی جدید به کاربران در نظر گر?ته ایم و همانطور که قبلا گ?تم، DirectX 10 کاملا از پایه و بدون است?اده از نسخه های قبلی این واسط گرا?یکی ساخته شده است و بنابر این هیچگونه سازگاری با نسخه های قبلی از سیستم عامل ویندوز ندارد.

DirectX 10 برپایه مدل جدید درایور تصویر ویندوز ویستا (Windows Vista Display Driver Model یا WDDM) که معر? عصر جدیدی در قابلیت های گرا?یکی و ا?زایش پایداری و ضریب اطمینان درنظر گر?ته شده، طراحی شده است. در عین حال ما با انجام تغییراتی در معماری مدل درایور ها سعی در آسان سازی و ا?زایش پایداری و همچنین سازگاری بیشتر تراشه های گرا?یکی با مجموعه دستورات هوش مصنوعی و محاسبات ?یزیکی (جدا از تراشه های محاسب ?یزیکی) انجام داده ایم که مجموعه این دلایل برای ارایه نشدن این نسخه از DirectX جهت سیستم عامل های قبلی مایکروسا?ت از جمله ویندوز XP متقاعد کننده به نظر می رسد.

BD : به غیر از رشته های کوتاه تر (Shorter Program Strings)، مزیت اصلی Shader Model 4.0 نسبت به نسخه 3.0 آن برای توسعه دهندگان بازی های کامپیوتری چست؟

Shader Model 4.0 : Chris به توسعه دهندکان اینگونه نرم ا?زار ها اجازه انجام محاسبات پیچیده بیشتری را در تراشه های گرا?یکی (GPU) می دهد. این عمل ضمن کاهش بار پردازش از پردازنده سیستم را که باعث عدم بهره گیری از قدرت کامل تراشه گرا?یکی می شود، اجازه انجام محاسبات سنگین مربوط به هوش مصنوعی و نیز ا?زایش تعداد آیتم ها را در صحنه در اختیار توسعه دهندگان قرار خواهد داد.

در عین حال DirectX 10 به همراه Shader Model 4.0 به لط? پشتیبانی از سایه زن های متحد (Unifyed Shaders) انعطا? پذیری و خلاقیت بسیار بیشتری را در اینگونه توسعه دهندگان قرار خواهد داد.

BD : شرکت های ATI و nVIDIA هردو درحال طراحی و ساخت تراشه های گرا?یکی سازگار با DX10 هستند. به نظر شما این تراشه های گرا?یکی در مقایسه با کنسول های بازی Xbox 360 و PS3 چگونه عمل خواهد کرد؟

Chris : این موضوع و تلااش این دو شرکت در مورد DirectX 10 بسیار هیجان انگیز است. اما بهتر است این سوال را از خود آنها بپرسید!

BD : به غیر از برتری های DX10 در مورد بازی های کامپیوتری، این نسخه چه نقشی را در برنامه های کاربردی آینده بازی خواهد نمود؟

Matrix
07-12-2007, 11:12
Chriss : کلا DirectX ?راتر از صر?ا یک واسط و مجموعه دستورها برای بازی های کامپیوتری است. در گذشته نیز بسیاری از برنامه های کاربردی از CAD/CAM و 3DStudio گر?ته تا برنامه های پزشکی و تصویر برداری نیز از مزایای DirectX بهره گر?ته اند. با این حال DirectX 10 باز هم نسبت به نسخه های قبلی قطعا امکانات بسیار مناسب تری را در اختیار اینگونه برنامه ها خواهد گذاشت. به یک نکته دقت کنید! ویندوز ویستا از DirectX 10 به عنوان یک مول?ه گرا?یکی است?اده می کند - پس ویندوز ویستا هم خود یک برنامه کاربردی است?اده کننده از DirectX 10 محسوب می شود!

BD : نحوه تعامل DX10 با کاربرانی که از سخت ا?زار DX10 است?اده نمی کنند چگونه خواهد بود؟

DirectX 10 : Chriss و ویندوز ویستا کاملا با تمامی برنامه ها و بازی های منطبق با نسخه های قدیمی تر DirectX سازگار هستند. کسانی که در زمان انتشار ویندوز ویستا، سخت ا?زار منطبق بر DirectX 10 را در اختیار ندارند و یا تهیه نکرده اند، هنوز هم قابلیت اجرای بازی ها و برنامه های برپایه DirectX 10 را خواهند داشت. DirecrX 9 هم در ویندوز ویستا برای این گروه از کاربران در نظر گر?ته شده است. با این حال جالب است بدانید کاربرانی که با است?اده از سخت ا?زار منطبق بر DirectX 10 بازی های DirectX 9 را اجرا کنند شاهد ا?زایش کی?یت و بازده آن خواهند بود!

درعین حال توسعه دهندگان نیز می توانند با خیالی آسوده به تولید بازی ها و نرم ا?زار های بر اساس DirectX 9 برای ویندوز ویستا بپردازند.

BD : آیا به نظر شما DX10 نهایت گرا?یک در کامپیوتر خواهد بود؟ یعنی با ?رض در اختیار داشتن سخت ا?زار مناسب آیا شاهد تصاویر منطبق بر واقعیت با سرعت نمایش مناسب خواهیم بود؟

Chris : ما به DirectX 10 به عنوان گام بلندی در زمینه گرا?یک کامپیوتری می نگریم. مطمنا این نسخه از DirectX تجربه جدید را در اختیار کاربران خواهد گذاشت و با اجازه دادن به توسعه دهندگان برای آشنایی با قابلیت های DirectX 10 این تجارب بهتر و بهتر نیز خواهند شد. اما ما همچنین عقیده داریم که هنوز هم موارد زیادی در این مورد قابل دستیابی هستند و بدست آوردن آنها نیز به زمان بیشتری نیاز دارد. گرا?یک در ویندوز و DirectX 10 هنوز هم در راه توسعه و تکامل هستند.

BD : آیا شما در این لحظه در مورد تراشه های DirectX 10 شرکت های ATI و nVIDIA نظری دارید؟ کدام یک را برای خود انتخاب می کنید؟

Chris : نه! ما بدون همکاران خود در جای ?علی قرار نداشتیم! مایکروسا?ت با تمامی شرکت های ?عال در زمینه گرا?یک کامپیوتری همکاری نزدیک و دوستانه ای داشته و دارد. هردوی آنها همکاری های بسیاری در توسعه پلات?رم ویندوز تا کنون با ما داشته اند. دیدن محصولات آنها برای ویندوز ویتا در ?روشگاه های سخت ا?زاری برای ما جال خواهد بود.

BD : در مورد پیشر?ت های صدا در DX10 نیز توضیح دهید. آیا ما میتوانیم با این نسخه صداها را "ببینیم" !؟

Chris : این نسخه از DirectX کماکان روال گذشته را در مورد چگونگی و نحوه تولید صدا ها ( بر پایه XACT cross-platform audio creation tool) را ادامه می دهد. بنابر این برتری عمده ای نسبت به نسخه های قبلی در این نسخه قابل ذکر نیست اما پیشر?ت هایی انجام شده است.

BD : ویندوز ویستا چگونه برای اجرای یک بازی یا برنامه با است?اده از DX10 و یا DX9 را با توجه به نوع GPU تصمیم گیری می کند؟

Chris : وقتی روند اجرای یک بازی آغاز می شود، ویندوز ویستا با تشخیص نسخه DirectX به کار ر?ته در بازی و سخت ا?زار سیستم، گزینه مناسب را انتخاب خواهد کرد.

BD : گ?ته می شود که DirectX10 از Geometry Shaders (سایه زن هندسی) است?اده می کند. این قابلیت تا چه حد به روند انجام و تشکیل اشکال هندسی کمک خواهد کرد؟

Geometry Shader : Chris دقیقا در بین سایه زن های پیکسل و راس (Vertex and Pixel) در خط لوله پردازش قرار دارد. می تواند از رئوس و مثلث های ایجاد شده در ترسیم اشکال بعدی، بدون نیاز به پردازش مجدد، است?اده کند. سایه زن هندسی کارهای دیگری نیز انجام میدهد : تقویت تعداد مثلث ها با انتخاب یک یا چند مثلث از قبل پردازش شده و تکرار آنها بدون نیاز به پردازش مجدد، و یا تشکیل مثلث های جدید با ترکیب مثلث های دردسترس، تولید نقطه ها و خط های جدید و یا با است?اده از مثلث های ازقبل پردازش شده، و یا تولید پیکسل های پخش شده (جدا جدا).

انتخاب یک نقطه، تولید یک سری مثلث در اطرا? آن و گسترش آن تا تشکیل یک تصویر قابل درک (Sprite) و یا تجزیه یک مثلث به تعداد کوچکتری مثلث و گسترش آن. بیرون انداختن یک راس از مثلث از مجموع مثلث ها و تبدیل آن به یک حجم یا یک چهار ضلعی.

بهترین نقطه در DirectX ترکیب تمامی انواع Shader Model ها در Shader Model 4.0 است که به توسعه دهندگان اجازه خواهد داد انواع Vertex، Pixel و Geometry Shaders ها را در یک مدل بیا?رینند.

BD : در مورد محاسبات ?یزیک (کنش ها و واکنش های محیط در مقابل تعییرات) چطور؟

Chris : ویندوز ویستا از تمامی انواع محاسبات ?یزیکی چه به وسیله پردازنده، تراشه گرا?یکی یا پردازنده ?یزیک جداگانه پشتیبانی خواهد نمود. با اتکا بر DirectX 10 ویندوز ویستا پلات?رم قدرتمندی برای انجام محاسبات ?یزیکی توسط GPU خواهد بود. پشتیبانی از ویژگی چند تراشه گرا?یکی SLI و یا CrossFire و توانایی تقسیم وظای? پردازش تصویر و یا محاسبات ?یزیکی بین تراشه های گرا?یکی موجود در سیستم از جمله امتیازات سیستم عامل ویستا و DirectX 10 می باشد.

BD : با این وجود پشتیبانی از کارت پردازش ?یزیک Ageia به عهده ویندوز ویستا خواهد بود؟ و یا ATI و nVIDIA؟

Chris : واضح است که ساده ترین روش پردازش ?یزیک، بهره گیری از پردازنده اصلی سیستم است. در ویندوز ویستا تامین درایور های لازم و پشتیبانی تراشه های پردازش ?یزیک (مانند Agiea) بر عهده خود سازندگان آنها خواهد بود.

BD : آیا تیم توسعه و بازار یابی شما اقدامی در جهت موجود بودن محتوای مناسبی مانند بازی های کامیوتری، نرم ا?زار های سازگار و مختص به ویندوز VISTA در هنگام انتشار آن انجام داده است؟

Chris : بله! در زمان انتشار ما پشتیبانی کاملی از تمام نسخه های موجود بازی ها و نرم ا?زار ها را در ویندوز ویستا شاهد خواهیم بود. در عین حال علاوه بر 10 عنوانی که قبلا برای انتشار همزمان با ویندوز ویستا اعلام شده بود، عناوین مهم و جذاب دیگری نیز برای انتشار همزمان با ویندوز ویستا پیش بینی کرده ایم. مطمنا این عنواین در همان روزهای اول پیشر?ت ?وق العاده در نسل بعدی بازی های کامپبوتری و امکانات باورنکردنی ویندوز ویستا و DirectX 10 را به نمایش خواهند گذاشت. ضمنا تعداد تعداد زیادی از عنواین ?علی نیز برای ویندوز ویستا و پشتیبانی آن از پردازنده های چند هسته ای بهینه سازی شده اند.

از عناوینی که در هنگام انتشار ویستا برای خرید موجود خواهد بود :

“Alan Wake (Microsoft Game Studios)
“Age of Conan: Hyborian Adventures? (Eidos)
“Company of Heroes? (THQ)
“Crysis? (EA-Partners)
“Flight Simulator X? (Microsoft Game Studios)
“Halo 2 for Windows Vista? (Microsoft Game Studios)
“Hellgate: London? (Namco)
“LEGO Star Wars II: The Original Trilogy? (LucasArts)
“Shadowrun? (Microsoft Game Studios)
“Zoo Tycoon 2: Marine Mania? (Microsoft Game Studios)


منبع: www.vblog.blogfa.com

novaquest david lilly | ree covar | jennifer johnson zephyrhills | ian squirrelly | villager vinyl siding | stun guns in gergia | ets praxis test study guide | ets tanning beds | ets freetranslation com | miss woodford breeders cup | wolfgang costard | patricia baracaldo | wanda soldat | patricia benner life history | rodman selby | duran duran myspace layout | fluoroscan imaging | sergej kr mer | windows xp has loud beep | etsb o | ets inc franklin tn | windows xp forgets user settings | wanda ryan flemington | ian symon sa | sterling motorhome | stuning like my daddy lilwayne | ian stuart bridal review | duran elvis site z100 | wolfgang damke | wolfgang cottmann | villages marina lake palestine | patricia birdsall sports complex | sterling meadows kennel | wanda tresidder | ian thorpe palau surf | stundent aid | novara clinical research inc | fluoxetine and alchohol | sergei kachanov | ree christmas clipart | jennifer jebens | ian squires southhampton college | alopecia universalis stress | ian stockert | rodney ackroyd | ian sterrett | restaurants lake elmo mn | duran duran natorious | fluorosulfuric acid | sergei chernenko | restaurants lilydale mn | patricia bintliff | alopecia follicularis | novar control system | crazy fit massage instruction manual | sterling napkin holder | crazy eddy's nj motor cycle | jennifer jane pearson therapist | fluoroscopy steriod injection | fluorscent 8-bulb | redzuan rashid | windows xp omni 3 mcse | sergej perelman | alosa pronounced | windows xp pro mui download | fluoroquinolones and increase in lfts | alopecia support wig suppliers | jennifer jackson santa cruz ca | patricia bavaro | fluoroquinolones and rocephin for gonorrhea | stung palm springs 2007 | duran duran merriweather post | wolfgang conr del | duran genealogy | sergej weikum | redzich | fluoroelastomer compounding | ian stwart bentley cmc | patricia barber companion | sterling marlin 2002 accident nascar | sterling muscadine | stunnel speakfreely | jennifer jackson national fitness competition | ets cerri | alor pongsu | wanda sykes audio | sergei grinkov death | crazy daisy lakehouse quilt pattern | wolfgang cruys | jennifer jellis | alor setar travel guide | duran duran ft timberland | alos film carrier | restaurants lynchburg tennessee | restaurants menus in branson mo | alopurinol | novapro risk | reeboc shoes | novara system 1.0 review | alopecia induced valproate | wolfgang colloseus | rodman livingstone | ian stenhouse | wanda wendeline | novara cables | fluoroscein conjugated | fluorouracil detox | rodless air cylinders | rodizio rico review | windows xp media center instalacja | villager restaurant bristol | novar trend bms | crazy croaker | fluoroscein and cobalt white | miss you more by bbmak | fluorosilicon | sergei godunov | jennifer janisch | restaurants maple grove minnesota | fluoroquinolone flouride fluconazole | patricia bellaton | miss yip south beach | rodmell | duramed pharmaceuticals website | stun guns south carolina | windows xp media center voordelen | villages at shirlington va | windows xp gpa hacks | ree csx calendar | restaurants maineville ohio | miss you pomes | wolfgang cre | stun like your daddy | ets-lindgren cedar park texas | stunna definition | crazy extraordinary paranormal claims | redzee search | reeactment | wolfgang czermak | restaurants marlboro ct | jennifer joas | crazy crieder | ian snyder from hangmans curse | restaurants milbrae | ian snyder hangmans curse | restaurants mercato centrale | ian sleigh warrington | novaqua | windows xp pro  | durametallic corporation | windows xp persistant routes | villager of korea roles | alora and estraderm drug company | novara transfer review | wanda tiller mypsace | crazy embellishment quilt seam search | restaurants local to diss | villager quest cd changer diagram | villager owners manual | fluorouracil liver histology | crazy crow catelogue | sterling masonry construction everett wa | alorica manhattan | villages at sweetbay | duran duran come undonw | patricia benner's nursing theory | duran duran reflex lyrics | patricia bismark rabidshare | ree ideo oker ame | patricia benner competenc | etsa utility | ian shirley cardington | ian thirkell | ree slocum | jennifer joerns | crazy crafted ammy | crazy daisy sprinkler uk | novara mountain bike reviews | duran duran skin divers | stunna shades myspace layout | duran duran the reflex mp3 | wolfgang cybinski | etsako benin | ian stanfield smith steel | stun gun style vest | rodizio lunch | miss wishy washy pattern | crazy diets that work | wolfgang clau ing | miss violete in pickerington oh | novamind torrent | rodman lincoln ford foxboro | novanet 11 client | stun guns hypoglycemia | duran duran reach up | crazy for daddy scanlations | wanda weaver obituary | sterling mccall group | ian stirling polar bears | villager woodburner | sterling mccall lexus houston | sergei feline | fluoroseal plus | stun stagger and stop | stun guns legal west virginia | jennifer jason leigh masturbate | reeally | villages at waggoner road | jennifer james rush ossining ny | missable | wolfgang d bler | windows xp officejet 7310 driver | alor kedah peta star | fluoroscopy dye spread | ets solutions shakers | jennifer jarrett dallas tx myspace | villager lodge enterprise alabama | ree bible study resources | ian spoors | miss yaya of dlg pictures | windows xp professional e85-02665 | restaurants miamisburg oh | wolfgang danicke | sterling mortuary fresno | restaurants menus billings | villager tire size | restaurants melbourne fl us1 | sterling marlin diecast on ebay | jennifer jenkins palmyra | villager motel bar harbour | patricia bazemore ga | patricia arquette interview vid | stunner livestock | alora holiday spain | ree countdown timer for p | miss wynn asa ac delco | ets parapro exam | ian silversides | rodman career statistics | ian schrager ny | crazy deep movie throating | miss world riots nigeria 1992 | patricia barnstable brown | ets j lerat | restaurants leesburg virginia | miss wilks recipe cookbook | villager premier orlando | wanda whips wallstreet | patricia avery gulf breeze | windows xp pro corp vlk | patricia at allinternal com | ets tanning products | patricia arquette porn movie galleries | jennifer johnson nederland texas | alopurinol in leishmaniasis | ian smith adelaide murder | crazy daizy | jennifer jennings nude michigan | ets3d crack | alopecian | villager realty in milton pa | duramaxx drifter 2 | ian therrien and jazz | restaurants meyerstown pa | fluoxetine and antacid | rodizio restaurant menus | miss wade's fashion merchandising | wanda thompson department of corrections | stunnas jagged edge | miss wayland 2007 | jennifer jarrell massachucettes | sergej beiner | stun stick wand | crazy flava flav heather | fluoroscopy paddle | etrust out of date | duramyl | villager neo changer | ian teage | jennifer johnson rn | sterling mccall lexus | redzone mp3 | ian sigit k | ian stewart football legends tasmania | sergej balke | sterling merlot wine | ian thorpe bulge | sterling optical bismarck nd | jennifer johns in chatsworth | ets sunquest tanning beds | novara rice culture | sterling mccall lexus houston texas | wanda tamez | crazy fillipinos | sterling ny ren fest | wolfgang damberg | restaurants law center newark nj | ets lantronix | patricia arquette pregnantr | windows xp home disable autoplay | sterling marlin forums | wanda sykes julia dreyfuss kissing | wanda schulze | fluoroscopy and xray safety glasses | reebee | ian seven summits | sergej lohmann | wolfgang crone | ree masterbation video | jennifer jane pope book torrents | jennifer jason leigh carrot rapdshare | alorah | wanda sex timmy | windows xp firewall settings unidentified | villages at bridgemill | wanda spicer death notice | ree tank markings | novaplan | missa papae marcelli kyrie | restaurants marietta 1804 house | redz ion frame | miss yellowtail san diego 1972 | etsalat | ets ged records | sterling middle school greenland nh | crazy fire company north ayrshire | miss virginia usa 2007 pageant | patricia boatwright rochester | sergel plaza hotel stockholm | wolfgang dauner | ian thomas evrard | jennifer jaeger literary agent | patricia bombik | rodney adkins chords | jennifer janosch | sterling monument ranger tx | ree ps 2 game cheats | novanglus | stun gun wholesaler | sergei krikalev said | villages at rancho el dorado | ian thorpe girlfriend | restaurants marshalltown ia | ree cloid patton | duran duran cary nc reviews | wanda wentz | ian schwartz bmx bike | wanda spangenberg | ian scott tillett | miss wasilla | jennifer jessey | novant health board members | duran duran adelaide | miss vista pagent | ets 250 wrist strap tester | missa niger | stung treng tour | wolfgang dauscher | rodizio grill recipes | jennifer janitzky | etrust spyware encyclopedia whenu save | alosa fisheries | fluorometholone acetate | sergei eisenstein biography | rodman dam 2007 | patricia barrera laredo | missa brevis in d gabrieli | ets home decor and gifts | miss wonderland hot topic | ree crossword puzzles | ree rider levels | sterling ndm unix release | ian somerhalder gay hater | wanda sykes comedian | sergei federov biography | etrustitm | sterling nitrile | wolfgang damsch | windows xp obdc install | windows xp norton windoctor | stunner shades o | jennifer joines | patricia bibeau | wanda sarti | serged hems | windows xp kb938127 | stun master baton | redzone capital stock | patricia bosio | crazy for you lyrics spongecola | crazy diamond bryan morrison | restaurants manhattan 7th avenue | ian st pe black lips | ian strachan sean mcquigan | ian somerhalder pictures model movie | jennifer jones curling personnal biography | jennifer jason leigh bio | crazy crew acrobat | miss wasatch front pageant | wanda wizard costume | wolfgang clemm | patricia arquette pregnant with third | novar extension wind complete 2007 | jennifer johnson od tx | jennifer janning | missa o magnum mysterium | stun guns legal canada | aloson kraus lyrics | restaurants millinocket maine | duramaxx savage | alopecia totalis support group | rodko | novanet web client | reeb renate | windows xp hivelist | wanda sikes jay leno | miss woodhouse in 1816 novel | jennifer jannusch | wanda southworth | rodney adkins midi | sterling montessori in morrisville | fluosilicic acid uses | sergei yesenin said | jennifer jason leigh sex clips | patricia blinn | sterling nebraska phone book | ree porn for mobile device | rodman panama jungle training | restaurants lynnwood wa | duran duran jacket | jennifer jason leigh naked pics | rodman donate cars | wolfgang cvancara | jennifer jennings pa | duran golf melbourne | miss yorktown cruise | novara isp | villager newpaper p a | fluoroscopy c-arm | villages at lake sumter | duramix epoxy | fluoroelastomers price | etsa park netball | fluorospar | novant health medical ins cost | stun gun panther | villager motel morro bay ca | rodman and veil | fluoropolymer coated screw | novara and arabic name | ets hokin | miss watertown-ny | restaurants lyell rochester ny | reebie movers | rodney alderson jessee | stun guns va | novare wachovia tower cam | wolfgang d lla | jennifer johnson metlife somerset | restaurants letterkenny ireland | sergeantsville fire co nj | sergej holzmann | crazy fish chesterfield restaurant menu | novar marketing | novara aquilone sicav | redz pepper stick barrel kit | sterling marlin nascar garage | wolfgang dangelmaier | miss-papaya | windows xp icons overlap | reeality | ian shipton burton on trent | patricia borowiak | crazy for you embraceable you | restaurants little brasdor cape breton | wanda steiger | windows xp netlogon default profile | wanda sa minha saudade | villager newspaper hillsborough | patricia bary | alos reader 22 manual | rodizio brazilian steak house | stunin like my dady | wanda sykes sexuality | crazy fool s newsround | windows xp ntbackup restore options | ian schrager interiors | duran duran burning the ground | sergei federov married | crazy docotors | fluorscent tube philips fresno | jennifer jocz | villages at germantown tn | novara exposure double shorts | sterling ny improv | novapak pronounced | crazy dog clippers | redz logo | villages of centerra manor | redzone pix | rodney allen rippey | windows xp pilitos | durameter | fluorometric phosphorus | wanda saldana | villages at huntcrest | restaurants leola brownstown ephrata pa | novara pannier review | etrust software california | stun pencils | duran duran flickr | rodman reeder fox | wolfgang dachtler | wolfgang daszkowski | sergej guz | patricia arquette weight gain | fluosilicic acid producers | patricia bacon whitehorse | reebock adjustable dumbells | missa padre marcelo | novara hydration pack | restaurants macomb county mi | duramorph medication | ian sebastian kluth | ree download classical music | ree service irvine ca | crazy eightyeight | stundents loans | rodjendanske cestitke | missa papae marcelli kyrie palestrina | patricia arquette stigmata | jennifer jennings nude post | restaurants mayfair milwaukee | rodman peta picture | ree printable monthly calendar | jennifer janesko playboy | sterling marling | alora spain map | sergei gusev | wolfgang dammann | villager oem cd changer | restaurants leesburg va battlefield road | restaurants lenoir city tn | jennifer jason leigh nude sex | rodman crossing ri mayor | patricia beaver poughkeepsie | ian strachan sean mcguigan royal | jennifer jeffreys simi | villager westbury | fluoroprotein foam | fluoroscope detect water pollution | sergej harder | ets find out praxis scores | alopezie bei chemotherapie | stunna rss feed | duran duran ordinary woeld | novamoxin 125 times a day | etrust pest control | fluorosurfactant advantage | villages in trnc | sergei kiriyenko | sterling middle school peoria il | novant health job openings | sergei dikanov | jennifer jacobs bartender west orange | wolfgang corbie | crazy daisy tattoo abingdon va | stunna sunglasses | wolfgang dabow | alora estate real spain | wolfgang czerniak | wanda schulze baldwin park california | crazy freddy motorsport | wolfgang czepan | restaurants marshfield mass | crazy fat spazz | ets and eaos | restaurants locust point baltimore | novarad pacs | villages at bonita glen | restaurants lichfield uk | miss whangamata new zealand | wolfgang d gele | novapak paper products inc | sterling mattress lubbock tx | wanda riggs crawford tx | sterling north vilas | alopecia holistic | missa luba cd dvd if | crazy foot mambo | windows xp free desktop calender | duramix adhesives | stunnel executeable aix | patricia bertucci | novara divano bike 2007 ratings | reeal swingers | novar controls | windows xp icons arrange tool | duramine | alot of cameltoe
novaquest david lilly | ree covar | jennifer johnson zephyrhills | ian squirrelly | villager vinyl siding | stun guns in gergia | ets praxis test study guide | ets tanning beds | ets freetranslation com | miss woodford breeders cup | wolfgang costard | patricia baracaldo | wanda soldat | patricia benner life history | rodman selby | duran duran myspace layout | fluoroscan imaging | sergej kr mer | windows xp has loud beep | etsb o | ets inc franklin tn | windows xp forgets user settings | wanda ryan flemington | ian symon sa | sterling motorhome | stuning like my daddy lilwayne | ian stuart bridal review | duran elvis site z100 | wolfgang damke | wolfgang cottmann | villages marina lake palestine | patricia birdsall sports complex | sterling meadows kennel | wanda tresidder | ian thorpe palau surf | stundent aid | novara clinical research inc | fluoxetine and alchohol | sergei kachanov | ree christmas clipart | jennifer jebens | ian squires southhampton college | alopecia universalis stress | ian stockert | rodney ackroyd | ian sterrett | restaurants lake elmo mn | duran duran natorious | fluorosulfuric acid | sergei chernenko | restaurants lilydale mn | patricia bintliff | alopecia follicularis | novar control system | crazy fit massage instruction manual | sterling napkin holder | crazy eddy's nj motor cycle | jennifer jane pearson therapist | fluoroscopy steriod injection | fluorscent 8-bulb | redzuan rashid | windows xp omni 3 mcse | sergej perelman | alosa pronounced | windows xp pro mui download | fluoroquinolones and increase in lfts | alopecia support wig suppliers | jennifer jackson santa cruz ca | patricia bavaro | fluoroquinolones and rocephin for gonorrhea | stung palm springs 2007 | duran duran merriweather post | wolfgang conr del | duran genealogy | sergej weikum | redzich | fluoroelastomer compounding | ian stwart bentley cmc | patricia barber companion | sterling marlin 2002 accident nascar | sterling muscadine | stunnel speakfreely | jennifer jackson national fitness competition | ets cerri | alor pongsu | wanda sykes audio | sergei grinkov death | crazy daisy lakehouse quilt pattern | wolfgang cruys | jennifer jellis | alor setar travel guide | duran duran ft timberland | alos film carrier | restaurants lynchburg tennessee |&