Foundations of Game Engine Development, Volume 2: Rendering
کتاب Foundations of Game Engine Development, Volume 2: Rendering (مبانی توسعه موتور بازی، جلد دوم: رندرگیری)، مبانی ریاضیات روشهای رندرگیری بلادرنگ مورد استفاده در موتورهای بازی مدرن را بررسی میکند. این موضوع گسترده شامل طیف وسیعی از تکنیک هاست که باید اهداف کیفیت بصری و عملکرد را متعادل نگه دارند. این اهداف از طریق بکارگیری اصول مستحکم مهندسی محقق میشوند و ما با آوردن مقدار زیادی جزئیات فنی، بر این واقعیت تاکید میکنیم. از آنجا که این جزئیات به فضای زیادی احتیاج دارند، نمیتوان امیدوار بود که همهی مباحث اصلی در زمینهی گرافیک کامپیوتری را در یک جلد پوشش داد، بنابراین ما در وهلهی اول به مهمترین مبانی پرداخته ایم. اما حتی این مباحث نیز بسیار پیچیده شده اند و در نتیجه این کتاب با برخی توضیحات طولانی پر شده است.
ما جلد دوم را با یک مرور کلی از پردازش گرافیکی در فصل 5 آغاز میکنیم. این شامل مقدمه ای در مورد علم رنگ، بحث در مورد ساختار جهان بازی و بررسی مختصر تواناییهای سخت افزاری گرافیک است. فصل 6 بسیار ریاضیاتیتر است و شامل یک بررسی کامل از تصویر سازیها (projections) است. در فصل 7، ما به موضوع سایه زدن میپردازیم، جایی که جزئیات مفاهیم اصلی رندر کردن و همچنین برخی از تکنیکهای پیشرفته نگاشت بافت را شرح میدهیم که با بحثی نسبتاً طولانی در مورد روشنایی و سایهها در فصل 8 دنبال میشود. تمرکز ما تا حدی در فصل 9 تغییر میکند، جایی که ما با بازدید از مباحث تعیین دید و بستن انسداد، عملکرد در یک مقیاس بزرگ را مورد بررسی قرار میدهیم. سرانجام، فصل 10 چندین تکنیک پیشرفته رندر کردن را با جزئیات کامل ارائه میدهد. بیشتر این مطالب، تحقیقات متعلق به نویسنده را با روشهای موجود، برای ارائه توصیههای مهندسی کاملا کاربردی ترکیب میکنند.
لازم بود تا قرار دادهای خاصی که توسط APIهای گرافیکی و زبانهای سایه زنی استفاده میشوند، در این کتاب مورد استفاده قرار گیرند. انتخاب محورها در سیستمهای مختصات مختلف به طور کلی با Direct3D و Vulkan موافق هستند. کد Shader به شکل generic hybrid از HLSL و GLSL نوشته شده اند. انواع و توابع تعبیه شده موجود در سایه زنهای ما از نامهای تعریف شده توسط HLSL استفاده میکنند، اما توابع ثابت و بافت یکنواخت از نحو GLSL به خاطر فشردگی آن استفاده میکنند.