تکنولوژی رهگیری پرتو یا Ray Tracing مبحثی جدید در حوزه گرافیک بوده و برخی این فناوری را آینده گرافیک کامپیوتری میدانند. تکنولوژی رهگیری پرتو تا همین اواخر قادر به پیادهسازی در بازیهای ویدیویی نبود. این فناوری صرفاً در انحصار صنعت فیلمسازی قرار داشت و برای مدتهای طولانی برای تولید تصاویر کامپیوتری در انیمیشن و افکتهای بصری استفاده میشد. حالا با پشتیبانی پلی اسیتشن 5 و ایکس باکس سری ایکس از تکنولوژی رهگیری پرتو، فناوری مورد اشاره به عنصری مهم در گرافیک نسل بعد تبدیل شده است.
قابلیت Ray Tracing چیست و چطور کار میکند؟
در دنیای واقعی هر آن چیزی که میبینیم نتیجه برخورد نور به اشیای مقابل چشم ماست. نحوه برخورد نور به اشیا و بازتاب یا شکست آنها تعیینکننده این است که آن شی چطور در چشم ما دیده میشود.
رهگیری پرتو همانطور که از نام آن پیداست همین پروسه را به صورت برعکس انجام میدهد. در واقع یک الگوریتم مسیر پرتوهای نور را شناسایی کرده و نوع سایه و میزان انعکاس را هنگام برخورد با یک شی محاسبه میکند.
یک الگوریتم Ray Tracingفاکتورهایی مانند متریال و منابع نوری را مورد توجه قرار میدهد. برای مثال فرض کنید که دو توپ فوتبال یک رنگ داریم. اگر یکی از آنها از جنس چرم باشد و دیگری از جنس پلاستیک نباید به شکلی یکسان دیده شوند. زیرا بازتاب نور در هر یک از این سطوح متفاوت است.
هر سطح براقی مانند فلز یا پلاستیک سخت، نور را بازتاب میدهد و اشیای دور و بر خود را با به صورت غیرمستقیم روشن میکند. اشیایی که در مسیر یک پرتو نور قرار بگیرند از خود سایه به جا گذاشته و یک ماده شفاف یا نیمه شفاف مانند شیشه یا آب هم نور را میشکند. به عنوان مثال اگر یک مداد درون یک لیوان آب قرار بگیرد باید شکسته به نظر بیاید.
در واقع قابلیت Ray Tracing یک روش نوین و بسیار پیشرفته برای رندر کردن سایه ها، نورپردازی و بازتابها درون یک صحنه است. همانطور که گفته شد این فناوری جدید نبوده و پیش از این در بسیاری از فیلمها و انیمیشنها بکار رفته است.
تکنولوژی رهگیری پرتو بر شبیهسازی حرکت نور در دنیای واقعی و رفتار آن هنگام برخورد با مواد و متریالهای فیزیکی استوار است و از قوانین فیزیک پیروی میکند. بنابراین تصاویر کامپیوتری تولید شده از طریق رهگیری پرتو تا حد زیادی به واقعیت نزدیک هستند.
برخلاف صعنت سینما، تکنولوژی رهگیری پرتو تا همین اواخر کامپیوترهای شخصی را به چالش میکشید و برای گرافیک بازیهای ویدیویی عملاً ناکارآمد به حساب میآمد.
همچنین بخوانید: طراحی ui و ux اندروید
اما برای درک جزییات دقیقتر چگونگی کارکرد رهگیری پرتو، شبکهای که در تصویر بالا میبینید را به عنوان مانیتور کامپیوتر در نظر بگیرید. برای رندر صحنهای از یک بازی ویدیویی، کامپیوترها باید دنیای سهبعدی یک بازی را به صورت دوبعدی نقشهبرداری کنند تا بتوان آن را بر روی مانیتور نمایش داد.
یک نمایشگر 1080p بیش از 2 میلیون پیکسل دارد و برای انجام این کار کامپیوتر رنگ تمام پیکسلهای موجود روی صفحه را مشخص کند. در همین رابطه باید پروسه تاباندن یک پرتو روی اشیا انجام شده و نتیجه آن روی تک تک پیکسلهای یک صفحه محاسبه شود.
اگر یک پرتو با یک توپ برخورد کند، الگوریتم رهگیری پرتو اطلاعاتی مانند رنگ و فاصله آن از دوربین را مشخص کرده تا قادر به تعیین رنگ نهایی یک پیکسل از تصویر باشد.
البته رهگیری یک پرتو واحد برای خلق تصاویری شبیه به دنیای واقعی کافی نبوده و هرچه پرتوها بیشتر باشند، کیفیت تصویر بالاتر میرود و البته به منابع پردازشی بیشتری هم نیاز است.
شرکتهایی مانند پیکسار سرورهایی برای رندر دارند که از ابرکامپیوترهایی با دهها هزار هسته پردازشی به صورت همزمان استفاده میکنند. این سرورها میتوانند یک فریم واحد از یک افکت بصری خاص را در کسری از ثانیه ایجاد کنند.
در مقابل تمام محاسبات پردازنده و پردازشگر گرافیکی کامپیوتر که صرف تولید یک فریم از بازیهای ویدیویی میشود باید در کمتر از یک ثانیه اتفاق بیفتد. از همه مهمتر گرافیک سیستم باید قادر به رندر حداقل 30 فریم در هر ثانیه باشد تا تجربهای روان از یک بازی به دست آید. در ادامه با مطالب بیشتری از شهر سخت افزارهمراه ما باشید.