رندرینگ بیدرنگ و رندرینگ با GPU
رندرینگ بیدرنگ با بهرهگیری از معماری موازی گسترده واحد پردازش گرافیکی (GPU)، تصاویری را با سرعت کافی برای تعامل تولید میکند که معمولاً دهها فریم در ثانیه است.
Definition
رندرینگ بیدرنگ، سنتز تصاویر در یک بودجه زمانی سختگیرانه برای هر فریم است که از شطرنجیسازی با شتاب GPU و به طور فزایندهای از ردیابی پرتو سختافزاری برای حفظ نرخ فریم تعاملی استفاده میکند.
Scope
این موضوع شامل خط لوله GPU قابل برنامهریزی و مراحل سایهزن، نگاشت و فیلتر کردن بافت، تقریبهای بیدرنگ سایهها و بازتابها، استراتژیهای سایهزنی تأخیری و پیشرو، سطح جزئیات و حذف برای عملکرد، و مصالحههای مهندسی است که زمان فریم را در یک بودجه ثابت نگه میدارد.
Core questions
- چگونه میتوان یک تصویر متقاعدکننده را در عرض میلیثانیه برای هر فریم تولید کرد؟
- چگونه از سایهزنها برای برنامهریزی خط لوله GPU استفاده میشود؟
- کدام تقریبها، جلوههای جهانی را در زمان واقعی مقرون به صرفه میکنند؟
- چگونه کار رندرینگ از طریق حذف و سطح جزئیات کاهش مییابد؟
Key concepts
- سایهزنهای قابل برنامهریزی
- نگاشت و فیلتر کردن بافت
- نگاشت سایه
- سایهزنی تأخیری و پیشرو
- حذف و سطح جزئیات
- بودجهبندی زمان فریم
Key theories
- خط لوله سایهزن قابل برنامهریزی
- GPUهای مدرن مراحل راس، هندسه و قطعه قابل برنامهریزی را ارائه میدهند که به توسعهدهندگان امکان میدهد تبدیل و سایهزنی را سفارشی کنند در حالی که توان عملیاتی سختافزار موازی اختصاصی را حفظ میکنند.
- نگاشت سایه
- سایهها با رندر کردن عمق صحنه از دیدگاه نور و مقایسه عمق سطح با آن نقشه، تخمین زده میشوند؛ این یک تکنیک در فضای تصویر است که برای استفاده بیدرنگ به اندازه کافی سریع است، اگرچه مستعد ناهمواری (aliasing) است.
Clinical relevance
رندرینگ بیدرنگ GPU به بازیهای ویدیویی، واقعیت مجازی و افزوده، ابزارهای طراحی و شبیهسازی تعاملی، و بصریسازی دادهها قدرت میبخشد، و همین سختافزار محاسباتی GPU زیربنای بسیاری از یادگیری ماشین مدرن است.
History
شتابدهندههای گرافیکی با عملکرد ثابت در دهه 1990 جای خود را به سایهزنهای قابل برنامهریزی در اوایل دهه 2000 دادند، محاسبات GPU نقش سختافزار را در طول دهه 2010 گسترش داد و هستههای اختصاصی ردیابی پرتو در پایان آن دهه وارد شدند.
Debates
- سایهزنی تأخیری در مقابل سایهزنی پیشرو
- سایهزنی تأخیری هندسه را از نورپردازی جدا میکند تا بسیاری از نورها را به طور کارآمد مدیریت کند اما ضد-ناهمواری (antialiasing) و شفافیت را پیچیده میکند، در حالی که سایهزنی پیشرو این موارد را به طور طبیعی مدیریت میکند اما با افزایش تعداد نورها مقیاسپذیری ضعیفی دارد؛ موتورها اغلب رویکردهای خوشهای ترکیبی را اتخاذ میکنند.
Key figures
- Lance Williams
- Tomas Akenine-Moller
Related topics
Seminal works
- williams1978
- akenine2018
Frequently asked questions
- چرا GPUها برای گرافیک بسیار سریعتر از CPUها هستند؟
- رندرینگ عملیات مشابهی را به تعداد زیادی از رئوس و پیکسلها به طور مستقل اعمال میکند، و یک GPU هزاران هسته ساده دارد که برای اجرای همزمان چنین کارهای موازی دادهای طراحی شدهاند.
- چگونه رندرینگ بیدرنگ به جلوههایی دست مییابد که ردیابی مسیر (path tracing) دقیقاً محاسبه میکند؟
- این کار از تقریبهای سریع استفاده میکند - نورپردازی از پیش محاسبه شده، نقشههای سایه، بازتابهای فضای صفحه - که دقت فیزیکی را با سرعت مورد نیاز برای ماندن در بودجه زمانی هر فریم معاوضه میکنند.