جمع بندی آموزش و یادگیری جمع بندی به صورت رایگان
خب، بخش اول تموم شد!
تا اینجا یک تصویر کلی از دنیای Graphics ساختیم.
فهمیدیم:
چرا به GPU نیاز داریم –> داخل GPU چه خبره –> دادهها کجا قرار میگیرن –> برنامه چطور با GPU ارتباط برقرار میکنه –> Graphics API چیه
اما هنوز به سؤال اصلی جواب ندادیم:
کامپیوتر چطوری یه دنیای سه بعدی رو با تمام رفتار های فیزیکی نور، شبیه سازی می کنه؟
چطور یک سری Vertex و Triangle تبدیل به چیزی میشن که روی صفحه میبینیم؟
Camera چطور وارد ماجرا میشه؟
یک دنیای سهبعدی چطور روی صفحهی دوبعدی مانیتور نمایش داده میشه؟
نور و سایه چطور محاسبه میشن؟
برای جواب دادن به این سؤالها، از اینجا وارد بخش اصلی دوره میشیم:
بخش ۲ — تئوری گرافیک کامپیوتری
اینجا قراره خود مبحث Graphics رو از پایه یاد بگیریم.
از مفاهیم سادهتر شروع میکنیم و قدمبهقدم جلو میریم تا برسیم به مفاهیمی مثل Transformation، Camera، Projection، Rasterization، Lighting و Shading.
اگر الان خیلی از این اصطلاحات براتون نا آشناست، هیچ مشکلی نیست.
قرار نیست همهشون رو یکجا یاد بگیریم.
قدمبهقدم جلو میریم 3:
چند تا سوال که می تونید از خودتون بپرسید!
- چرا GPU برای Graphics مناسبتر از CPU است؟
- Rasterization چه کاری انجام میدهد؟
- وقتی میخوایم یه مدل سه بعدی رو رندر کنیم، دادهها چه مسیری رو طی میکنند؟
و اما جواب!
- چون بخش زیادی از محاسبات Graphics را میتوان به تعداد زیادی کار کوچک و مشابه تقسیم کرد و بهصورت موازی انجام داد. در حالی که GPU برای اجرای تعداد زیادی عملیات مشابه بهصورت همزمان طراحی شده، و CPU بیشتر برای اجرای کارهای عمومی، متنوع و پیچیده با تعداد هستههای کمتر بهینه شده.
- Geometry → Fragments
- Application → API → Driver → GPU → Graphics Pipeline → Image