سه‌بعدی

رندر چیست؟

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

حسین امینی
۲۵ مرداد ۱۴۰۵ · 8 دقیقه مطالعه
رندر چیست؟

رندر چیست و چگونه کار می‌کند؟

رندر یعنی تبدیل یک صحنه‌ی سه‌بعدی (مختصات اشیا، متریال‌ها، منابع نور) به یک تصویر دوبعدی از پیکسل‌ها. برای هر پیکسل روی صفحه، کامپیوتر باید یک محاسبه انجام دهد و به این سوال جواب بدهد: این پیکسل چه رنگی است؟

نحوه‌ی این محاسبه، بسته به روشی که استفاده می‌شود، می‌تواند خیلی سریع یا خیلی سنگین باشد.

دو روش اصلی: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 را دستی تجربه کنید، در دوره‌ی جامع بلندر بیت‌گرف این مسیر کامل، از صفر تا رندر نهایی، آموزش داده می‌شود.

۴ آتیش۰ دیدگاه15 بازدید
حسین امینی
۷۹ مقاله۷ دنبال‌کننده

Modeling, Animation and VFX Artist

گفتگو و سوالات شما

۰

در این قسمت می‌توانید سوال یا نظر خود در مورد مقاله را مطرح کنید.

برای ثبت دیدگاه ابتدا وارد شوید

ورود به حساب

هنوز دیدگاهی ثبت نشده. اولین نفر باشید!

مقالات مرتبط

اگر این را دوست داشتید، ترتیب خواندن بعدی این است

این مقاله‌ها روی «بلندر» هم‌پوشانی دارند، مجموع زمان مطالعه ۱۴ دقیقه

مشاهده همه
  1. برچسب مشترک: بلندر

    معرفی و آموزش کار با Botaniq Full Addon در بلندر | درخت و چمن اضافه کن

    در این آموزش، Botaniq Full Addon را برای نرم افزار بلندر معرفی می کنیم و در اختیار شما قرار می دهیم که ارزشی برابر با 129 دلار دارد و در بیت گرف به رایگان می توانید آن را دانلود و استفاده کنید. با است

    حسین امینی۶ دی۴ دقیقه
  2. برچسب مشترک: بلندر

    آموزش فارسی نویسی در بلندر | کمتر از 5 دقیقه

    در آموزش نحوه فارسی نویسی در بلندر در زمان بسیار کوتاه یاد می گیرید که چگونه در این نرم افزار قدرتمند به صورت فارسی تایپ کنید و کارهای حرفه ای با متن های فارسی انجام دهید. پس در ادامه همراه ما باشید ت

    حسین امینی۲۴ فروردین۳ دقیقه
  3. برچسب مشترک: بلندر

    معرفی و آموزش کار با Traffiq Full Addon در بلندر | ماشین اضافه کن

    در این آموزش، Traffiq Full Addon را برای نرم افزار بلندر معرفی می کنیم و در اختیار شما قرار می دهیم که ارزشی برابر با 79 دلار دارد و در بیت گرف به رایگان می توانید آن را دانلود و استفاده کنید. با استف

    حسین امینی۱۰ دی۴ دقیقه
  4. برچسب مشترک: بلندر

    آموزش تبدیل لوگوی 2 بعدی به 3 بعدی در بلندر

    در این ساعت با نحوه تبدیل لوگوی 2 بعدی به 3 بعدی در بلندر آشنا می شوید و می توانید به راحتی و در کمتر از چند دقیقه آبجکت های دو بعدی تان را به حالت سه بعدی تبدیل کنید و از آن ها موشن گرافیک بسازید که

    حسین امینی۲۹ آذر۳ دقیقه
۰

دوره به سبد ثبت‌نام اضافه شد

رفتن به سبد