OpenGL , DirectX

parsinet

Member
:tavajo: سلام من درباره ی تفاوت OpenGL و DirectX مطلب می خوام هرکی می تونه لطفا کمک کنه:idea:
 

irlogo

Active Member
تعاریف و مفاهیم سه بعدی در کارت گرافیک

رونوشت عینا از http://qomhardware.info/content/view/115/58/

تا حالا براي شما پيش آمده كه در منوي تنظيمات بازي هاي رايانه اي سه بعدي به تنظيماتي براي تغيير كيفيت تصاوير بازي برخورد كنيد ؟ يا تا حالا براي شما پيش آمده كه دوست داشته باشيد بدانيد چگونه كيفيت تصاوير را در بازي هاي رايانه اي بهتر كنيد ؟ يا ساده تر بگويم بخواهيد اطلاعات بيشتري در مورد تنظيمات و عوامل تنظيم كننده كيفيت تصاوير داشته باشيد ؟



با پيشرفت چشم گير تنكنولوژي در صنعت كارت هاي گرافيك امكانات فوق العاده اي براي تنظيم كيفيت عكس ها ايجاد شده كه همگي در بهبود كيفيت تصاوير و جلوه هاي بازي هاي رايانه اي كمك شاياني كرده اند . حال در اين مقاله قصد توضيح و معرفي تكنيك هاي مختلف استفاده شده در اين بازي هاي سه بعدي داريم كه شما را در ايجاد تصاوير بهتر گرافيكي ياري مي كند . البته لازم به ذكر است كه بيشتر اين تنظيمات بسته به قدرت كارت گرافيك شما داره و بايد بسته به قدرت آن اين تنظيمات را انجام دهيد تا سرعت كاهش پيدا نكند .


Anti-aliasing : اين تكنيك كه به اختصار AA گفته مي شود براي نرم و هموار كردن زاويه هاي تيزي كه خط هاي مورب ايجاد مي كنند ، استفاده مي شود كه معمولا در تنظيمات 3D تصوير وجود داره و معمولا مقدار قابل تنظيم آن :‌ " None يا Disable ( فعال نبودن AA ) " ، 2X ، 4X يا 6X است و در برخي موارد در بازي هاي رايانه اي به جاي مقدار آن از Low ( پايين ) ، Medium ( متوسط ) و High ( بالا ) استفاده مي شود . هر چه مقدار AA بالاتر باشد كيفيت تصاوير بهتر و در عوض سرعت كند تر مي شود كه اندازه اين كندي بسته به كارت گرافيك شما متغير است .

Bilinear Filtering : اين تكنيك بهينه كننده براي نرم تر كردن مكان بر خورد رنگ هاي مختلف است . براي مثال زماني كه شما تغيير رنگ مكان زرد رنگ به قرمز رنگ را داريد اين فيلترينگ با ايجاد يك ناحيه تغيير رنگ ، ناحيه برخورد اين دو رنگ را صاف تر و نرم تر مي كند .

Trilinear filtering: اين تكنيك تقريبا مشابه " Bilinear Filtering " كار مي كند با اين تفاوت كه اين تكنيك قوي تر است اما سرعت را كند تر مي كند .

Anisotropic filtering : اين تكنيك براي بالا بردن كيفيت تصاويري است كه طرح قراردادي ندارند و در كل براي واضح تر كردن و نمايان تر كردن تصاوير و اجزاي آن هاست . براي مثال بعضي اوقات شده كه شما در بازي ها شاهد حروف و جمله هايي هستيد كه در هنگامي جرياني در پشت آن در حال اجراست تكان مي خورند اصلا واضح نيستند و نمايش بهتر اجزا و تيره نشدن آن ها . معمولا اين تنظيم با مقدار 2X ، 4X ،‌8X و 16X مشخص مي شود و هر چه اين مقدار بيشتر شود تصوير واضح تري خواهيد داشت اما سرعت كند تر خواهد شد .

MIP Mapping : اين تكنيك باعث مي شود زماني كه يك تكستچر در سراسر يك محيط چندين بار تكرار مي شود با سايز هاي كوچك تر از كيفيت تصوير كم نشود . زيرا زماني كه يك تكستچر بايد كوچك تر شود VGA با انجام عمل " squeeze " باعث له شدن تكستچر مي شود تا آن را بتواند در شي مورد نظر قرار دهد . كه اين كار باعث ايجاد نويز هاي تصويري و تصاويري رنج آور و زشت مي شود . در حقيقت MIP Mapping يك تكنيك از نوع Anti-Aliasing است .

Z-buffering : به طور عادي حافظه گرافيكي رنگ هاي مربوط به هر پيكسل را در خودشان ذخيره مي كنند . اما با استفاده از Z-Buffering حافظه كارت گرافيك با ذخيره كردن موقعيت ها در محور Z ها ( عمق تصوير ) سرعت رندر كردن تصاوير را در زماني كه VGA در حال شناختن و تعبيه كردن مكان Object هاي صفحه يا به عبارت واضح تر در حال شناختن موقعيت Object ها نسبت به هم و چگونگي پشت هم قرار گرفتنشان است ، بيشتر مي كند . و بر عكس در صورتي كه از Z-Buffering استفاده نشود محاسبات زيادي براي پيدا كردن موقعيت دقيق و درست Object و طرز قرار گرفتشان نسبت به يكديگر صرف كند .

OpenGL : يك اينترفيس برنامه نويسي (‌API) است . كه بازي ها با استفاده از اين زبان دستورات خود را براي كارت گرافيك ارسال مي كنند و درايور اين دستورات را به دستورالعمل هاي قابل فهم براي پردازشگر گرافيكي تبديل مي كند . در كل استفاده از بازي هايي كه با استفاده از API هاي مشخص مانند OpenGL نوشته شده باشند نيازي به درايور هاي خاص براي اجراي آن ها روي اكثر كارت هاي گرافيك نيست .




DirectX : يك اينترفيس برنامه نويسي (API) است و اصول كار همانند آن چيزي است كه در مورد OpenGL در بالا گفته شد با تفاوت هاي اين دو API .

Bump Mapping : با استفاده از اين تكنيك سطوح غير هموار همانند سطح يك خيابان ، پوست يك پرتغال و ... را مي تواند ايجاد كرد .

Alpha Blending : اين تكنيك باعث ايجاد شفايت و دادن حالت شيشه اي بين Object ها مي شود . نمونه واضح اين افكت نمايش آب در بازي هاي رايانه اي است .

Dithering : با استفاده از اين تكنيك به كارت گرافيك به راحتي قادر به ساختن رنگ هايي است كه در پالت رنگ هاي از پيش تعيين شده در حافظه كارت گرافيك نيست . اين تركيب رنگ كه به اين گونه كار مي كند كه پيكسل هاي رنگ را كنار به كنار يكديگر در يك مسير قرار مي دهد به گونه اي كه چشم شما قادر به تشخيص يكتا نبودن پيكسل ها نيست . اما با توجه به مقدار بالاي حافظه هاي كارت هاي گرافيك امروزي كه توانايي اجراي با 5 بيليون رنگ همزمان هستند ( 32-bit ) ديگر در بازي هاي مدرن از اين امكان براي ايجاد رنگ ها استفاده نمي شود .

Frame buffer : بازي هاي سه بعدي معمولا حافظه كارت گرافيك را به دو قسمت تقسيم مي كنند . با استفاده از اين تكنيك زماني كه يك تصوير در حال نمايش است تصوير بعدي در قسمت ديگر حافظه در حال ترسيم است . نام ديگر اين تكنيك Double Buffering است . البته بعضي از كارت هاي گرافيكي اجازه تقسيم به سه قيمت را نيز مي دهند كه اين تكنيك در آن ها با نام Triple Frame Buffer شناخته مي شود و زماني قابل استفاده است كه كارت گرافيك شما سريعتر از مانيتور شما باشد يعني زماني كه مانيتور شما دارد تصوير اول را نمايش مي دهد كارت گرافيك شما تصوير دوم را هم ترسيم كرده و در اين صورت است كه كارت گرافيك شروع به ترسيم تصوير سوم مي كند . كه باز اين قابليت به ميزان حافظه كارت گرافيك شما بستگي دارد .

GPU (Graphics Processing Unit) يا VPU (Visual Processing Unit) : نامي است كه به پردازشگر كارت گرافيك داده اند و كار پردازش دستورالعمل ها را به عهده دارد . خيلي وقت پيش اين قسمت زير مجموعه بخش محاسبات هندسي ( GC ) بود كه با استفاده از پردازشگر سيستم اين محاسبات انجام مي شد . اما از زمان ورود تراشه هاي GeForce 256 اين بخش به صورت جداگانه نسبت به پردازشگر سيستم عمل كرد و به بخشي جدا با نام GPU واگذار شد .

IGP (Integrated Graphics Processor) : نامي است كه به چيپست هاي مادربورد هايي داده مي شود كه توانايي پردازش گرافيكي را دارند مانند تراشه هاي گرافيكي آنبورد كه به اصطلاح گرافيك هاي آنبورد نام مي گيرند .

Rendering : مراحل ايجاد تصاوير سه بعدي كه به دو قسمت تقسيم مي شوند : 1- محاسبات هندسي 2- رندرينگ . در مرحله اول Object هايي كه قرار است بر روي صفحه نمايش نمايان شوند محاسبه مي شوند و سپس در مرحله Rendering آن ها براي نمايش روي صفحه نمايش ترسيم مي شوند .

FPS : ( Frames Per Second ) يا فريم هايي كه در هر ثانيه نمايش داده مي شود . اين مقدار كه يكي از قديمي ترين و اصلي ترين مقدار براي سنجش قدرت كارت هاي گرافيك در كار هاي سه بعدي است . اين مقدار همانند framerate مقياس شمارش فريم هايي است كه يك كارت مي تواند آن را در واحد ثانيه ايجاد كند و معمولا اين مقدار براي بازي ها حداقل بايد 30 فريم بر ثانيه باشد تا بتوان آن بازي را اجرا كرد و در صورتي كه بيشتر باشيد با اجراي فريم هاي بيشتر تصاوير سريع تري خواهيم داشت . حال كه با اين مفهوم آشنا شديد كاملا متوجه منظور از كند تر شدن تصاوير در گفته هاي بالا شديد .

درست اين هر چه شما ميزان و مقدار اين افكت ها را بيشتر كنيد درست است كه تصاوير بهتري خواهيد داشت اما نياز به يك كارت گرافيك قوي تر با هزينه بيشتري داريد و در صورتي كه كارت گرافيك زيادي نداريد و نياز به يك بازي روان داريد بهتر است از حداقل افكت هاي بالا استفاده كرد تا FPS بالا تر و در نتيجه بازي روان تر و بهتري داشته باشيد .

source.gif
منبع از وب سایت رسمی سخت افزار hardware.info
view.gif
ترجمه و رو نوشت از salamsakhtafzar.com
 
آخرین ویرایش:

ali-3ds

New Member
سلام کسی هست در مورد تلفیق انیمشن با فیلم به صورت حرفه ای مطلبی داشته باشه برا یک پروژه میخوام -بچه ها کمک کنید
 

جدیدترین ارسال ها

بالا