کتاب Mastering Graphics Programming with Vulkan (تسلط بر برنامهنویسی گرافیک با Vulkan: توسعه یک موتور رندر مدرن از اصول اولیه تا تکنیکهای پیشرفته) یک منبع بسیار عالی برای فراگیری برنامهنویسی وولکان جهت به کارگیری در امور بصری و سایر فعالیتهای رایانهای است.
در ادامه مقدمهای از کتاب Mastering Graphics Programming with Vulkan را از زبان نویسنده شرح خواهیم داد.
مقدمهای بر کتاب Mastering Graphics Programming with Vulkan:
Vulkan اکنون یک API گرافیکی چند سکویی تثبیت شده و انعطافپذیر است. این در بسیاری از صنایع از جمله بازیسازی، تصویربرداری پزشکی، تولید فیلم و پخش رسانهای مورد استفاده قرار گرفته است.
یادگیری در مورد Vulkan یک گام اساسی برای درک نحوه عملکرد یک API گرافیکی مدرن، هم در دسکتاپ و هم در موبایل است.
در تسلط بر برنامهنویسی گرافیک با Vulkan، شما با توسعه پایههای یک چارچوب رندر شروع خواهید کرد. شما یاد خواهید گرفت که چگونه از ویژگیهای پیشرفته Vulkan برای نوشتن یک موتور رندر مدرن استفاده کنید.
شما خواهید فهمید که چگونه اتصال منابع و وابستگیها را خودکار کنید. سپس از رندر مبتنی بر GPU برای مقیاسبندی اندازه صحنههای خود استفاده میکنید و در نهایت با تکنیکهای ردیابی پرتوی آشنا میشوید که کیفیت بصری تصویر رندر شدهتان را بهبود میبخشد.
در پایان کتاب Mastering Graphics Programming with Vulkan، شما درک کاملی از عملکرد داخلی یک موتور رندر مدرن و تکنیکهای گرافیکی به کار گرفته شده برای دستیابی به نتایج پیشرفته خواهید داشت. چارچوب توسعهیافته در این کتاب نقطه شروعی برای تمام آزمایشهای آینده شما خواهد بود.
کتاب Mastering Graphics Programming with Vulkan برای چه کسی است؟
این کتاب برای توسعهدهندگان گرافیک و بازی حرفهای یا سرگرمکننده است که مایلند دانش عمیقتری در مورد نحوه نوشتن یک موتور رندر مدرن و کاربردی در Vulkan به دست آورند.
کاربران باید از قبل با مفاهیم اولیه برنامهنویسی گرافیکی (یعنی ماتریسها و بردارها) آشنا باشند و دانش اولیه Vulkan را داشته باشند.
آنچه کتاب Mastering Graphics Programming with Vulkan پوشش میدهد:
فصل 1، معرفی موتور رپتور و هیدرا، با ارائه یک نمای کلی از اجزای اصلی، شما را با ساختار چارچوب ما آشنا میکند. سپس نحوه کامپایل کد برای ویندوز و لینوکس را خواهیم دید.
فصل 2 کتاب Mastering Graphics Programming with Vulkan، بهبود مدیریت منابع، مدیریت بافتها را برای رندر کردن با انتقال رندر ما به سمت استفاده از بافتهای بدون اتصال ساده میکند. ما همچنین با تجزیه SPIR-V تولید شده، تولید طرحبندی خط لوله را خودکار میکنیم و نحوه پیادهسازی کش خط لوله را نشان میدهیم.
فصل 3، باز کردن قفل Multi-Threading، مفهوم موازی سازی مبتنی بر وظیفه را توضیح میدهد که به ما در استفاده از چندین هسته کمک میکند. ما از این تکنیک برای بارگیری منابع به صورت ناهمزمان و ضبط چند بافر دستوری به صورت موازی استفاده خواهیم کرد.
فصل 4 کتاب Mastering Graphics Programming with Vulkan، پیادهسازی یک نمودار فریم، به ما کمک میکند نمودار فریم را توسعه دهیم، یک ساختار دادهای که پاسهای رندر ما و نحوه وابستگی آنها به یکدیگر را نگه میدارد. ما از این ساختار داده برای خودکارسازی قرار دادن مانع منابع و بهبود استفاده از حافظه با نامگذاری منبع استفاده خواهیم کرد.
فصل 5، باز کردن قفل Async Compute، نحوه استفاده از صف محاسبه async در Vulkan را نشان میدهد. ما سمافورهای جدول زمانی را معرفی میکنیم که مدیریت همگامسازی صف را آسانتر میکند. در نهایت، یک شبیهسازی پارچه ساده را پیادهسازی میکنیم که در یک صف جداگانه اجرا میشود.
فصل 6، رندر مبتنی بر GPU، رندر ما را از مش به مشلتها منتقل میکند، که گروههای کوچکی از مثلثها هستند که برای پیاده سازی حذف GPU استفاده میشوند. ما شیدرهای مش را معرفی میکنیم و توضیح میدهیم که چگونه میتوان از آنها برای اجرای تکنیکهای حذف مدرن استفاده کرد.
فصل 7، رندر کردن بسیاری از نورها با رندر معوق خوشهای، اجرای G-buffer ما را قبل از حرکت به رندر نور خوشهای شرح میدهد. ما نشان خواهیم داد که چگونه میتوان از کاشیهای صفحه نمایش و binning عمق برای اجرای کارآمد استفاده کرد.
فصل 8، افزودن سایهها با استفاده از سایهزنهای مش، تاریخچه مختصری از تکنیکهای سایه را ارائه میکند و سپس به توضیح رویکرد انتخابی ما میپردازد. ما از مشلتها و سایهزنهای مش پشتیبانی میکنیم تا نقشه سایههای cubemap را به طور موثر ارائه کنیم. همچنین نحوه استفاده از منابع کم برای کاهش استفاده از حافظه را نشان خواهیم داد.
فصل 9، پیادهسازی سایهزنی با نرخ متغیر، یک نمای کلی از سایهزنی نرخ متغیر به ما میدهد و توضیح میدهد که چرا این سایهزنی مفید است. سپس نحوه استفاده از افزونه Vulkan را برای افزودن این تکنیک به رندر خود توضیح خواهیم داد.
فصل 10 کتاب Mastering Graphics Programming with Vulkan، اضافه کردن مه حجمی، یک اثر حجمی را از اصول اولیه پیاده سازی میکند. سپس در مورد فیلتر مکانی و زمانی برای بهبود کیفیت نتیجه نهایی بحث خواهیم کرد.
فصل 11، Anti-Aliasing زمانی، تاریخچه مختصری از تکنیکهای anti-aliasing را مرور میکند. سپس تمام مراحل مورد نیاز برای پیادهسازی یک راه حل ضد آلیاسینگ زمانی قوی را شرح خواهیم داد.
فصل 12، شروع به کار با ردیابی پرتو، مفاهیم کلیدی مورد نیاز برای استفاده از پسوند ردیابی پرتو در Vulkan را تشریح میکند. سپس جزئیات پیاده سازی را برای ایجاد خطوط لوله ردیابی پرتو، جداول سایه زن و ساختارهای شتاب ارائه خواهیم داد.
فصل 13، بازبینی سایهها با ردیابی پرتو، اجرای جایگزینی از سایهها را ارائه میدهد که از ردیابی پرتو استفاده میکند. ما الگوریتمی را توصیف خواهیم کرد که از تعداد پرتوهای دینامیکی در هر نور استفاده میکند و با یک فیلتر مکانی و زمانی جفت میشود تا نتایج پایداری را ایجاد کند.
فصل 14 کتاب Mastering Graphics Programming with Vulkan، اضافه کردن نور جهانی پراکنده دینامیک با ردیابی پرتو، شامل اضافه کردن روشنایی سراسری به صحنه ما است. ما استفاده خود را از ردیابی پرتو برای تولید دادههای کاوشگر و ارائه راه حلی برای به حداقل رساندن نشت نور شرح خواهیم داد.
فصل 15، افزودن بازتابها با ردیابی پرتو، به طور خلاصه بازتابهای فضای صفحه و کاستیهای آنها را پوشش میدهد. سپس پیادهسازی بازتابهای ردیابی پرتو را شرح میدهیم. در نهایت، ما یک denoiser را اجرا میکنیم تا نتیجه را برای محاسبات نهایی روشنایی قابل استفاده کنیم.
سرفصلهای کتاب Mastering Graphics Programming with Vulkan:
- Mastering Graphics Programming with Vulkan
- Acknowledgments
- Contributors
- About the authors
- About the reviewer
- Preface
- Part 1: Foundations of a Modern Rendering Engine
- Chapter 1: Introducing the Raptor Engine and Hydra
- Chapter 2: Improving Resources Management
- Chapter 3: Unlocking Multi-Threading
- Chapter 4: Implementing a Frame Graph
- Chapter 5: Unlocking Async Compute
- Part 2: GPU-Driven Rendering
- Chapter 6: GPU-Driven Rendering
- Chapter 7: Rendering Many Lights with Clustered Deferred Rendering
- Chapter 8: Adding Shadows Using Mesh Shaders
- Chapter 9: Implementing Variable Rate Shading
- Chapter 10: Adding Volumetric Fog
- Part 3: Advanced Rendering Techniques
- Chapter 11: Temporal Anti-Aliasing
- Chapter 12: Getting Started with Ray Tracing
- Chapter 13: Revisiting Shadows with Ray Tracing
- Chapter 14: Adding Dynamic Diffuse Global Illumination with Ray Tracing
- Chapter 15: Adding Reflections with Ray Tracing
- Index
- Other Books You May Enjoy
جهت دانلود کتاب Mastering Graphics Programming with Vulkan میتوانید پس از پرداخت، دریافت کنید.
دیدگاهها
هیچ دیدگاهی برای این محصول نوشته نشده است.