مجموعه مقالات رايانه MOGHALAT COMPUTER
سلام .
به نام خالق
بي همتاي هستي.
امروز قراره
اولين قسمت مقالات اين وبلاگ رو با عنوان ورود به دنياي سه بعدي کامپيوترها (1)
بنويسم. همونطور که قبلاً هم نوشته بودم، قرارمون توي اين وبلاگ اينه که خيلي
بنيادي و ريشه اي به مسائل برسيم و حلشون کنيم.
براي شروع
سخت افزار کامپيوتر رو انتخاب کردم. مطمئنن همگي ما مي دونيم که کامپيوتر ها براي
نمايش و مديريت تصاوير و انتقال بر روي مانيتور از کارت گرافيکي استفاده مي کنند(
البته کامپيوتر هاي مورد نظر من کامپيوتر هاي امروزي و اونايي که ماها ديديم
هستند).و کارت هاي گرافيکي انواع و اقسام گوناگوني داره. اين بار بياين کمي دقيقتر
و با چند سوال به کارت گرافيکي نگاه کنيم.

مگر
کامپيوتر ها پردازنده ندارند؟ کلي هم پول بالاش مي ديم. پس چرا پردازش تصاوير رو
به تنهايي انجام نمي ده؟
اگه دو تا cpu روي سيستممون
بزاريم و به جاش کارت گرافيکي ارزون بخريم مي تونيم بازيهاي سه بعدي با کيفيت بالا
رو بازي کنيم؟
کار رو با
اين دو تا سوال ادامه مي ديم. از اونجايي که بحث در مورد پردازنده هاي نسل جديد
خيلي تخصصي هست من به همون اندازه در مورد اين مسائل اشاره مي کنم که جواب سوال
هامون روشن بشه و از بحث هاي تخصصي اجتناب مي کنم تا براي دوستان هم کسل کننده
نباشه.
![]()
يه بازي
رايانه اي سه بعدي حداقل در هر ثانيه 30 فريم رو پشت سر هم نشون مي ده و براي
رزولشن 800 در 600 ، اگه فقط تعداد محاسبات رنگ هاي هر پيکسل از مونيتور رو بخوايم
بدونيم در هر ثانيه چند تا مي شه با يه ضرب ساده عدد چهارده ميليون و چهارصد هزار به دست مياد. درسته که اين رقم براي يه پردازنده کمه. حالا فرض کنيم يه cpu اضافي
گذاشتيم که اين محاسبات رو به اون بديم.
يا اينکه cpu خودمون اونقدر قوي هست که هم به کاراي
محاسباتي نمايش تصاوير و هم کاراي پردازشي خودش برسه.
ولي اگه کمي دقت کنيم مي بينيم توي بازيهاي رايانه اي سه بعدي تموم فضا به
راحتي مي چرخه و با چند تا کليد ،جلو . عقب مي ريم.
توي هندسه دبيرستان ياد گرفتيم
که براي دوران ماتريس ها از ماتريس دوران استفاده مي شه.
پس بياين بررسي کنيم اگه cpu يه ماتريس 2 در
2 رو به ماتريس دورانش ضرب کنه، چه اتفاقي مي افته؟
1- چهار تا متغير با عناوين درآيه
هاي ماتريس در حافظه ذخيره مي شن.
2- Cos(i)
و Cos(i) محاسبه مي شن و نتيجه در دو تا حافظه ذخيره مي شن. (i زاويه اي هست که قراره به اون اندازه دوران انجام بشه)
3- هشت تا محاسبه
براي ضرب درايه ها انجام مي شه. و شش محاسبه براي جمع.
4- چهار متغير اوليه با مقادير جديد
جايگذاري مي شن.
حالا اين سوال مطرح مي شه که اگه توي يک بازي سه بعدي يه دوران ساده رو بخوايم محاسبه
کنيم بايد براي تمام نقاط فضا اينکارو انجام بديم تصور کنين اين تعداد محاسبات
چقدر خواهد بود.
ولي کارت هاي گرافيکي داراي توانايي هاي سه بعدي، يه جور ديگه با اين مسئله
برخورد مي کنن.
حالا مقايسه کنيم که کارت گزافيکي اين ظرب رو چطوري انجام ميده.
1- يه ماتريس n در n مي گيره.
2- يک محاسبه براي دوران به اندازه درخواست شده انجام مي ده.
3- متغير هاي اوليه رو با اعداد
جديد جايگذاري مي کنه.
با يه نگاه ساده ديديم که کارت گرافيکي
توانايي هايي داره که CPU براي انجامش کلي وقت لازم داره. و اين اعمال
در سخت افزار کارت گرافيکي تعريف شده است. يعني کارت گرافيکي با ماتريس ها خيلي راحت
مي تونه کار کنه. و به طور کلي تقريباً هر مجموعه از اعداد رو به شکل ماتريس مي
بينه.
اين ساده ترين و بنيادي ترين مسئله اي
بود که بايد در کار هاي 3D به اون توجه مي
کرديم. چون بعضي وقت ها فکر مي کنيم که کارت گرافيکي هم مثل CPU
براي محاسبه اعداد عمل مي کنه و غافل از اينکه کارت گرافيکي با ماتريس ها کار مي
کنه و بهتر نتيحه مي ده.
در ادامه بحث در مقالات بعدي با مسائل
بيشتري مي پردازيم و با توانايي هاي بيشتري از کارت گرافيکي آشنا خواهيم شد.
بياين قبل از اينکه با هر نرم افزاري در
هر زمينه اي کار کنيم، اول ابزار هامون رو بشناسيم و بعد شروع کنيم. ( البته اگر
مي خواهيم حرفه اي باشيم)
خيلي مهمه که اول بدونيم کارت گرافيکي
چطور کار مي کنه، و بعد از نرم افزارهاي سطح بالا مثل 3Dmax و DirectX و ... استفاده
کنيم. (منظورم از سطح بالا اونايي هستند که به زبان انسان نزديکتر هستند مثلاً زبان HLSL زبان کارت گرافيکي هستش). اينطوري
ديد بهتري نسبت به کارهايي که مي تونيم انجام بديم خواهيم داشت.
چند تا لينک از تصاوير حين بازي Prince of Persia رو اين پايين مي زارم. خوبه که يه نگاهي بندازين.
http://image.com.com/gamespot/images/2005/283/926984_20051011_screen012.jpg
ادامه دارد (ادامه مقاله رو روز پنجشنبه
صبح قبل از ساعت 12 همينجا مي زارم.)
نوشته شده توسط: کهکشان
:: کل بازديدها :: :: بازديد امروز :: :: بازديد ديروز :: :: مطالب قبلي ::
RSS
خانه
شناسنامه
پارسي بلاگ
پست الکترونيک
7515
86
128
:: موضوعات وبلاگ ::
:: درباره من ::

:: لينک به وبلاگ ::
|
:: لينک دوستان من ::
چند سايت مرتبط
:: لوگوي دوستان من ::

:: موسيقي وبلاگ ::
:: اشتراک ::
نام: | |
ايميل: | |
