رندر چیست؟
رندر یعنی تبدیل صحنه سهبعدی به تصویر. تفاوت Rasterization و Ray Tracing، دلیل نویز رندر، نقش GPU و RT Core، و ساختار BVH که رندر را سریع میکند.

رندر چیست و چگونه کار میکند؟
رندر یعنی تبدیل یک صحنهی سهبعدی (مختصات اشیا، متریالها، منابع نور) به یک تصویر دوبعدی از پیکسلها. برای هر پیکسل روی صفحه، کامپیوتر باید یک محاسبه انجام دهد و به این سوال جواب بدهد: این پیکسل چه رنگی است؟
نحوهی این محاسبه، بسته به روشی که استفاده میشود، میتواند خیلی سریع یا خیلی سنگین باشد.
دو روش اصلی:Rasterization و Ray Tracing
- Rasterization
در Rasterization، مثلثهای تشکیلدهندهی مدل سهبعدی مستقیماً روی صفحهی دوبعدی «تصویر» میشوند، شبیه انداختن سایهی یک شیء روی دیوار. رنگ هر پیکسل با یک شیدر (کد کوتاهی که رنگ نهایی را حساب میکند) تعیین میشود، نه با شبیهسازی واقعی نور. نور و بازتاب با ترفندهای ریاضی از پیش آمادهشده (مثل نقشههای نور ذخیرهشده) تقلید میشوند، نه محاسبه.
چون این محاسبات سبکاند و روی GPU بهصورت موازی اجرا میشوند، Rasterization سریع است؛ همین سرعت آن را به روش پیشفرض بازیهای ویدیویی و موتور Eevee در بلندر تبدیل کرده.
- Ray Tracing
در Ray Tracing، کامپیوتر مسیر واقعی نور را شبیهسازی میکند. برای هر پیکسل، یک یا چند اشعهی نوری فرضی از دوربین به داخل صحنه پرتاب میشود. این اشعه به اولین سطحی که برخورد میکند میرسد و بسته به جنس آن سطح، بازتاب پیدا میکند، پخش میشود، یا میشکند. این مسیر چند بار دنبال میشود (هر بازتاب را bounce میگویند) تا اشعه به یک منبع نور برسد یا کاملاً محو شود.
موتور Cycles در بلندر یک رندر انبیاسد (Unbiased، بدون سوگیری در محاسبات) است که با روش Unidirectional Path Tracing و Multiple Importance Sampling کار میکند و از ابتدا برای رسیدن به نتایج فیزیکی-واقعگرا طراحی شده، بدون نیاز به تنظیمات دستی پیچیده. همین سنگینی محاسباتی، آن را به پایهی Cycles در بلندر و موتورهایی مثل Arnold و V-Ray تبدیل کرده.
اگر میخواهید همین حالا با تنظیمات واقعی Cycles روی یک پروژه کار کنید، در دورهی جامع بلندر بیتگرف این بخش را عملی و قدمبهقدم یاد میگیرید.



چرا تصویر پر از نویز است؟
مسیر هر اشعه در Ray Tracing تصادفی است (این روش را Monte Carlo مینامند). چون هر پیکسل فقط با یک یا چند نمونه محاسبه میشود، نتیجهی اولیه پر از نویز است.
نکتهی جالب این است که روش امروزی برای کنترل نویز دیگر تنظیم دستی «تعداد Sample» نیست؛ روش رایج این است که یک آستانهی نویز (Noise Threshold) مشخص کنید و بگذارید Cycles خودش بهصورت تطبیقی (Adaptive Sampling) تصمیم بگیرد هر بخش از تصویر به چند Sample نیاز دارد، تا زمانی که Denoiser بتواند نویز باقیمانده را کاملاً حذف کند.
Denoiser (ابزار حذف نویز مبتنی بر هوش مصنوعی، مثل OptiX یا OIDN) با حدس هوشمند، تصویر تمیز زیر نویز را بازسازی میکند، پس میتوانید با Sample کمتر هم به نتیجهی قابلقبول برسید.
نقش سختافزار
امروز GPU نقش اصلی رندر را بازی میکند، دلیلش سه چیز است:
- هزاران هستهی موازی دارد (در کارتهای انویدیا، CUDA Core نامیده میشوند)، پس میتواند هزاران اشعه را همزمان محاسبه کند؛ CPU این کار را بیشتر پیدرپی انجام میدهد.
- کارتهای نسل جدید انویدیا یک واحد سختافزاری جدا به نام RT Core دارند که فقط کارش محاسبهی برخورد اشعه با هندسهی صحنه است. چون این محاسبه در سختافزار انجام میشود نه در کد نرمافزاری معمولی، سرعت رندر بهشکل محسوسی بالا میرود.
- Tensor Core (واحد دیگری در همین کارتها) برای denoising هوش مصنوعی و آپاسکیل تصویر استفاده میشود.
نکتهی مهم برای کسانی که کارت گرافیک انویدیا ندارند: Cycles محدود به یک برند نیست. رندر شتابدار روی GPU از NVIDIA (با OptiX)، AMD (با بکاند HIP، از نسل RDNA به بعد) و کارتهای اینتل هم پشتیبانی میشود؛ یعنی گزینهی GPU رندرینگ فقط مخصوص یک شرکت نیست.
با این حال، CPU هنوز جایگاه خودش را دارد: برای صحنههای بسیار سنگین که حجم دیتای آنها در VRAM (حافظهی اختصاصی کارت گرافیک) جا نمیشود، رندر روی CPU انجام میشود، چون به رم سیستم دسترسی دارد که معمولاً چند برابر VRAM است.
چرا رندر یک صحنهی پرجزئیات کند نمیشود؟
یک صحنهی معمولی میتواند میلیونها مثلث داشته باشد. اگر کامپیوتر برای هر اشعه مجبور بود تکتک این مثلثها را چک کند، رندر عملاً غیرممکن میشد.
راهحل این مشکل یک ساختار درختی به نام BVH (Bounding Volume Hierarchy) است: صحنه در جعبههای تودرتو تقسیم میشود و کامپیوتر ابتدا جعبهها را چک میکند، نه تکتک مثلثها را. با این ترفند، جستوجوی برخورد بهجای رشد خطی با تعداد مثلثها، بهشکل لگاریتمی رشد میکند و سرعت محاسبات چند برابر میشود.
این تکنیک یکی از دلایلی است که رندر یک صحنهی چند میلیونمثلثی، بهجای ساعتها، در حد چند دقیقه طول میکشد؛ هرچند زمان دقیق همچنان به قدرت سختافزار و تنظیمات نویز بستگی دارد.
جمعبندی
رندر فقط یک دکمه نیست؛ ترکیبی است از ریاضیات نور، احتمال، و بهینهسازی سختافزاری. اگر میخواهید همین مفاهیم را روی پروژهی واقعی پیاده کنید و تنظیمات Cycles و Eevee را دستی تجربه کنید، در دورهی جامع بلندر بیتگرف این مسیر کامل، از صفر تا رندر نهایی، آموزش داده میشود.




گفتگو و سوالات شما
۰در این قسمت میتوانید سوال یا نظر خود در مورد مقاله را مطرح کنید.
برای ثبت دیدگاه ابتدا وارد شوید
ورود به حسابهنوز دیدگاهی ثبت نشده. اولین نفر باشید!