رفتن به محتوای اصلی
Koohestun
توضیح کوهستانفناوری رندرینگمقاله آموزشی· 4 دقیقه مطالعه· در فناوری

سلسله‌مراتب حجم محدودکننده (BVH): رهگیری پرتو چگونه بدون رستر کردن صحنه، مسیر نور را محاسبه می‌کند؟

برای رندر کردن نورپردازی واقع‌گرایانه در لحظه، پردازنده‌های گرافیکی (GPU) به یک الگوریتم جعبه‌های تودرتو متکی هستند که به آن‌ها اجازه می‌دهد در هر فریم، میلیون‌ها چندضلعی را نادیده بگیرند.

به قلم نیما موسوی

مهندسان گرافیک 35%معماران سخت‌افزار 35%بازیکنان کنسول 30%
مهندسان گرافیک
تمرکز بر کارایی الگوریتمی و پیچیدگی زمانی رندرینگ.
معماران سخت‌افزار
تمرکز بر طراحی سیلیکون اختصاصی برای شتاب بخشیدن به عملیات‌های ریاضی خاص.
بازیکنان کنسول
تمرکز بر تجربه کاربر نهایی از نرخ فریم بالا و کیفیت بصری.

دیدگاه‌هایی که این گزارش پوشش نداده

  • توسعه‌دهندگان موتورهای بازی‌سازی
  • بررسی‌کنندگان مستقل سخت‌افزار رایانه‌های شخصی

محدودیت اصلی رهگیری پرتو (Ray Tracing) این است که شبیه‌سازی نور به بررسی مسیر میلیون‌ها پرتو مجزا در برابر هندسه یک صحنه سه‌بعدی نیاز دارد. اگر محیط یک بازی مدرن شامل ده میلیون چندضلعی باشد و دوربین برای هر پیکسل در یک نمایشگر 4K یک پرتو شلیک کند، بررسی هر پرتو در برابر هر چندضلعی به بیش از ۸۰ تریلیون تست تقاطع در هر فریم نیاز دارد. در نرخ ۶۰ فریم بر ثانیه، این رویکرد پردازش کورکورانه برای هر تراشه‌ای که در یک کنسول یا رایانه شخصی جا می‌شود، از نظر ریاضی غیرممکن است.[1][3]

برای حل این مشکل، مهندسان گرافیک اصلاً سعی نمی‌کنند هر تقاطعی را محاسبه کنند. در عوض، آن‌ها به یک میان‌بر الگوریتمی به نام سلسله‌مراتب حجم محدودکننده (BVH) تکیه می‌کنند. الگوریتم BVH یک ساختار داده درختی است که اشیای هندسی یک صحنه را در جعبه‌های محدودکننده تودرتو و محافظه‌کارانه دسته‌بندی می‌کند. گره ریشه این درخت، یک جعبه عظیم و واحد است که کل دنیای رندر شده را در بر می‌گیرد. این جعبه به جعبه‌های کوچک‌تری تقسیم می‌شود و این تقسیم‌بندی به‌صورت بازگشتی ادامه می‌یابد تا جایی که کوچک‌ترین جعبه‌ها - یعنی گره‌های برگ - تنها شامل چند مثلث مجزا باشند.[1][2]

وقتی یک پردازنده گرافیکی یک پرتو نور را رهگیری می‌کند، آن را مستقیماً با هندسه صحنه آزمایش نمی‌کند. بلکه ابتدا پرتو را در برابر بزرگ‌ترین جعبه‌های محدودکننده می‌سنجد. اگر پرتو به یک جعبه برخورد نکند، سخت‌افزار فوراً می‌فهمد که به هیچ‌یک از اشیای داخل آن جعبه نیز برخورد نکرده است. با نادیده گرفتن شاخه‌های کامل این درخت، BVH پیچیدگی زمانی یافتن یک برخورد را از حالت خطی به لگاریتمی کاهش می‌دهد. به این ترتیب، میلیون‌ها بررسی احتمالی چندضلعی‌ها تنها در یک گام ریاضی دور ریخته می‌شوند.[1][2]

با آزمایش یک پرتو در برابر جعبه‌های محدودکننده، پردازنده گرافیکی می‌تواند فوراً هندسه‌ای را که پرتو هرگز به آن برخورد نخواهد کرد، کنار بگذارد.

این فرآیند پیمایش آن‌قدر برای رندرینگ مدرن حیاتی است که سازندگان تراشه، سیلیکون‌های اختصاصی برای اجرای آن ساخته‌اند. هسته‌های RT شرکت انویدیا و شتاب‌دهنده‌های پرتو شرکت ای‌ام‌دی، واحدهای سخت‌افزاری تخصصی هستند که دقیقاً برای انجام دو کار طراحی شده‌اند: پیمایش سریع درخت BVH و محاسبه تقاطع نهایی پرتو و مثلث در گره‌های برگ. با واگذاری این بار کاری خاص و سنگین محاسباتی به این واحدها، هسته‌های سایه‌زن استاندارد آزاد می‌شوند تا نگاشت بافت و سایر وظایف سنتی رستر‌سازی را انجام دهند.[2]

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

معماری خود درخت BVH نیز اکنون در حال تکامل است تا با قابلیت‌های سخت‌افزارهای جدیدتر همگام شود. پیاده‌سازی‌های استاندارد معمولاً از ضریب انشعاب چهار استفاده می‌کنند که به BVH4 معروف است؛ به این معنی که هر جعبه والد تا چهار جعبه فرزند را در خود جای می‌دهد. با این حال، معماری سفارشی AMD RDNA که قدرت‌بخش پلی‌استیشن ۵ پرو سونی است، پشتیبانی سخت‌افزاری از یک سلسله‌مراتب حجم محدودکننده ۸ مسیره یا BVH8 را معرفی می‌کند. ساختار BVH8 با دو برابر کردن تعداد گره‌های فرزند در هر جعبه، درختی کم‌عمق‌تر و پهن‌تر ایجاد می‌کند.[3]

ساختار BVH8 درختی کم‌عمق‌تر از BVH4 سنتی ایجاد می‌کند و تعداد فراخوانی‌های حافظه مورد نیاز برای یافتن یک چندضلعی را کاهش می‌دهد.

یک درخت کم‌عمق‌تر به مراحل کمتری برای پیمایش از ریشه تا گره‌های برگ نیاز دارد. برای پردازنده گرافیکی، این امر مستقیماً به معنای فراخوانی کمتر از حافظه و پرس‌وجوهای سریع‌تر برای یافتن تقاطع است. زمانی که استودیوی سی‌دی پراجکت رد به‌روزرسانی PS5 Pro بازی سایبرپانک ۲۰۷۷ را منتشر کرد، صراحتاً از پیاده‌سازی جدید BVH8 به عنوان مکانیزمی یاد کرد که به آن‌ها اجازه داد بازتاب‌ها، سایه‌ها و نورپردازی‌های تابشی مبتنی بر رهگیری پرتو را فعال کنند، در حالی که نرخ فریم قابل‌بازی حفظ شود. در واقع، سخت‌افزار زمان کمتری را صرف جستجو در ساختار داده می‌کند.

نتیجه عملی این کارایی الگوریتمی در معیارهای عملکرد جدیدترین عناوین کنسولی قابل مشاهده است. در آزمایش‌های اخیر بازی ولورین مارول روی PS5 Pro، حالت پیشرفته رهگیری پرتو در مقایسه با حالت رندر استاندارد، تنها با افت عملکردی حدود ۳ تا ۴ فریم بر ثانیه همراه بود. این کنسول قادر است محاسبات پیچیده نورپردازی سراسری و بازتاب‌ها را با تأثیری ناچیز بر روانی کلی بازی مدیریت کند.

تلاش برای رسیدن به گرافیک واقع‌گرایانه در رسانه‌های تعاملی، صرفاً به معنای افزودن قدرت پردازشی خام بیشتر نیست؛ بلکه اصلاح مداوم نحوه سازمان‌دهی و پرس‌وجوی داده‌هاست. در شرایطی که توسعه‌دهندگان به بهینه‌سازی ساختارهای BVH خود ادامه می‌دهند و معماران سخت‌افزار مسیرهای پیمایش پهن‌تری می‌سازند، هزینه محاسباتی شبیه‌سازی نور فیزیکی همچنان کاهش می‌یابد و صنعت را از توهمات بصری رستر‌سازی دورتر می‌کند.[3]

نکات کلیدی

  1. رهگیری پرتو نیازمند بررسی مسیرهای نور در برابر میلیون‌ها چندضلعی است که انجام مستقیم آن از نظر محاسباتی بسیار پرهزینه است.
  2. سلسله‌مراتب حجم محدودکننده (BVH) هندسه یک صحنه را در جعبه‌های تودرتو گروه‌بندی می‌کند.
  3. اگر یک پرتو نور به یک جعبه محدودکننده برخورد نکند، پردازنده گرافیکی فوراً تمام چندضلعی‌های داخل آن را نادیده می‌گیرد و میلیون‌ها محاسبه را صرفه‌جویی می‌کند.
  4. پردازنده‌های گرافیکی مدرن دارای هسته‌های سخت‌افزاری اختصاصی هستند که به‌طور خاص برای پیمایش درخت BVH طراحی شده‌اند.
  5. معماری‌های جدیدتر مانند BVH8 در PS5 Pro، از درخت‌های کم‌عمق‌تر و پهن‌تر استفاده می‌کنند تا زمان لازم برای محاسبه تقاطع را بیشتر کاهش دهند.

اصطلاحات کلیدی

سلسله‌مراتب حجم محدودکننده (BVH)
یک ساختار داده مبتنی بر درخت که اشیای سه‌بعدی را در جعبه‌های تودرتو دسته‌بندی می‌کند تا تست‌های برخورد و تقاطع را تسریع بخشد.
رهگیری پرتو
یک تکنیک رندرینگ که رفتار فیزیکی نور را با ردیابی مسیر پرتوهای مجزا در حین بازتاب آن‌ها در یک صحنه دیجیتال شبیه‌سازی می‌کند.
پیچیدگی زمانی
یک مفهوم در علوم کامپیوتر که توصیف می‌کند چگونه زمان اجرای یک الگوریتم با افزایش مقدار داده‌های پردازشی آن افزایش می‌یابد.
رستر‌سازی
روش سنتی رندر کردن گرافیک‌های سه‌بعدی با تصویر کردن مدل‌های سه‌بعدی روی یک صفحه دوبعدی و پر کردن پیکسل‌ها، بدون شبیه‌سازی مسیرهای واقعی نور.
گره برگ
پایین‌ترین سطح یک ساختار داده درختی؛ در یک BVH، گره‌های برگ شامل مثلث‌های هندسی واقعی مدل‌های سه‌بعدی هستند.

منابع

پوشش منابع

3 منبع

3 دیدگاه شناسایی‌شده

مهندسان گرافیک 35%معماران سخت‌افزار 35%بازیکنان کنسول 30%
  1. [1]Physically Based Renderingمهندسان گرافیک

    Bounding Volume Hierarchies

    مطالعه در Physically Based Rendering
  2. [2]Wikipediaمعماران سخت‌افزار

    Bounding volume hierarchy

    مطالعه در Wikipedia
  3. [3]تیم سردبیری کوهستان

    تحلیل تیم سردبیری کوهستان

    مطالعه در تیم سردبیری کوهستان

نظرات

همیشه در جریان باشید

هر زاویه. هر روز.

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