امروزه عنوان Render در دنیای CG به یک مفهوم عمومی و روزمره تبدیل شده است. Rendering در یک کلام، تولید تصویر دو بعدی از محتوای یک صحنه سه بعدی می باشد. همانطور که مشخص است در این معنا اشاره ای به کیفیت تولید و یا نحوه تولید این تصویر 2D نشده است. در نتیجه روشهای متنوعی برای اینکار توسط نرم افزارها و شرکتهای مختلف ابداع شده است که هرکدام به نوعی خاص اقدام به تولید یک تصویر دو بعدی از یک صحنه 3D میکنند. هر روش دارای کیفیت خاص، مزایا و معایبی است که در جای خود قابل اهمیت می باشد. یکی از روشها و تکنیک های رندرینگ، تکنیکی است که بر پایه قوانین فیزیکی پایه ریزی شده است. به این روش Physically Based می گویند. در این تکنیک سعی شده است که در فرایند رندرینگ، تصویر دو بعدی تا جای ممکن به واقعیت نزدیک باشد. در نتیجه در پروسه Rendering سعی میشود که از قوانین فیزیک در مبحث نور استفاده شود. توجه داشته باشید که تمام چیزی که شما در فرایند رندرینگ مشاهده میکنید، محاسبه پرتوهای نور، بازتابها و تاثیر آن بر موضوعات صحنه سه بعدی می باشد.

 

 

PBR

Physically Based Rendering Shading فیزیکال رندرینگ رندر فیزیکی
    PBR

حال اگر در یک روش خاص رندرینگ، محاسبه پرتوهای نور بر اساس قوانین فیزیکی انجام پذیرد، به آن روش پایه فیزیکی یا Physically Based می گویند. شاید اینجا این سوال برای شما پیش بیاید که مگر میشود در این مبحث از قوانین فیزیک استفاده نکرد؟ پاسخ این سوال این است که بسیاری از روشها به دلیل اینکه فرایند رندرینگ و محاسبات را خلاصه کنند و زمان را صرفه جویی نمایند، از روشهای جایگزین استفاده میکنند. یعنی پایه و اساس محاسبات در آنها همان قوانین فیزیکی است، اما نه به صورت کامل. بلکه در هر جایی که ممکن باشد از روشهای جایگزین یا شبیه سازی فیزیکی استفاده میکنند تا کیفیت تصویر بهتر و واقعی تر شده و زمان محاسبات نیز معقول باشد. برای همین است که در چند سال اخیر، کلماتی چون Physically Camera , Physically Based Rendering و … به دفعات شنیده میشود و در تبلیغ موتورهای رندرینگ از عناوین فیزی کی استفاده میشود.

 فیزیکال رندرینگ رندر فیزیکی
Physically Based Rendering

همانطور که میدانید موتور رندرینگ Maxwell Render جز اولین موتورهای Full Physical دنیا می باشد. یعنی تمامی محاسبات و قوانین فیزیک نور در این موتور به صورت کاملا فیزیکی پردازش می شود. در موتورهای PBR یا Physically Based Rendering هدف اصلی “واقع گرایانه” بودن یا realism می باشد. در این موتورها، قرار است که اتفاقی که برای پرتوهای نور در صحنه می افتد، دقیقا همان چیزی باشد که در دنیای واقعی صورت میگیرد.

Physically Based Rendering Shading فیزیکال رندرینگ رندر فیزیکی
PBR

Physically Rendering

اما چرا عنوان Physically Based Rendering در سالهای اخیر برجسته شده است؟ دلیل اینجاست که این عنوان در موتورهای realtime بسیار مهمتر از موتورهای offline می باشد. موتورهای رندرینگ بلادرنگ یا realtime موتورهایی هستند که نتیجه رندرینگ را در لحظه به کاربران نشان میدهند. مانند Vray RT , redshift 3d , iray , octane render , furryball و … که تصویر دو بعدی حاصل از فرایند رندرینگ را در همان لحظه که درخواست رندر انجام میشود به نمایش در می آورند. در نتیجه از این موتورهای میتوان در زمان کار با صحنه سه بعدی نیز استفاده کرد. مثلا میتوانید بدون بستن پنجره رندرینگ، اقدام به مدلسازی و تغییرات متریال و نور در صحنه سه بعدی کنید و در همان لحظه نتیجه رندر صحنه سه بعدی را مشاهده نمایید. در سالهای قبل، از این موتورهای رندرینگ realtime فقط برای یک پیش نمایش یا رندر موقتی استفاده میشد و توان نمایش و رندرینگ کامل و بدون خطا را نداشتند. اما امروزه به لطف دسترسی به الگوریتم های ریاضی بسیار دقیق و سریع، و کمک سخت افزارهای پیشرفته مخصوصا در زمینه کارت های گرافیک محاسباتی (GPU) ، رندرینگ realtime مفهمومی بسیار عمیق تر پیدا کرده است تا جایی که موتورهای رندریگ realtime جدید قابلیت تولید تصاویر واقع گرایانه و کاملا فیزیکال را دارند.

متریال های پی بی آر
Physically Based Rendering

در جهت مخالف موتورهای رندرینگ offline قرار دارند. این موتورهای برای تولید تصویر 2d حاصل از فرایند رندرینگ، به زمان نیاز دارند. یعنی برای ردگیری پرتوهای نور و محاسبه آنها، قبل از اینکه تصویر نهایی رندرینگ را نمایش دهند، نیازمند محاسبات و جمع آوری اطلاعات کافی از صحنه هستند. این زمان از چند ثانیه تا چند ساعت و چند روز نیز ممکن است به طول بیانجامد. از مهمترین موتورهای offline میتوان به Vray, Maxwell, Arnold , renderman , mentalray و … اشاره کرد. همانطور که متوجه شدید ممکن است یک موتور رندرینگ در هر دو دسته قرار داشته باشد. به عنوان مثال موتور رندرینگ Vray دارای دو روش متفاوت رندرینگ است. یکی به نام Vray Adv که از نوع Offline rendering است و یکی دیگر به نام Vray RT که از نوع Realtime است. موتورهای رندرینگ Offline بالاترین کیفیت خروجی و واقعی ترین تصویر ممکن از یک صحنه سه بعدی را به نمایش میگذارند. البته این جمله بنده کاملا به موقعیت بستگی دارد و در حال حاضر موتورهای رندرینگ realtime نیز در برخی شرایط چنان تصویر واقع گرایانه یا photorealistic از خود به نمایش میگذارند که انگشت به دهان می شویم.

Shading
PBR

از این رو است که PBR در موتورهای Realtime بسیار با اهمیت است و بیانگر این است که شما یک موتور رندرینگ در اختیار دارید که بدون نیاز به زمان، و در لحظه، رندر صحنه سه بعدی شما را به صورت فیزیکال و با کیفیت واقعی محاسبه خواهد کرد. شاید تا چند سال پیش این یک رویا بود که امروزه در اختیار همگان قرار گرفته است. به عنوان مثال در حال کار با نرم افزاری چون substance Painter , Mari , Zbrush و… هستید و نیاز دارید نتیجه کار خود را بروی مدل در همان لحظه مشاهده نمایید. اگر نرم افزار مورد استفاده شما دارای موتور رندرینگی باشد که قابلیت Physically Based Rendering داشته باشد، مطمئن خواهید بود که رندر خروجی دقیقا همان چیزی است که در نهایت به آن دست خواهید یافت و تا حد ممکن به واقعیت نزدیک خواهد بود. پس اگر قصد انتخاب یک نرم افزار برای مدلینگ یا تکسچرینگ دارید، میتوانید قابلیت PBR را در آن جستجو نمایید. Marmoset , Mari, Substance Painter و دهها نرم افزار دیگر از این دست وجود دارند که نتیجه کار شما بروی مدل سه بعدی را در همان لحظه به صورت واقع گرایانه ای رندر می نمایند.

PBR فیزیکال رندرینگ رندر فیزیکی
Physically Based Rendering

PBS

اما اجازه بدهید کمی وارد مبحث Physically Based Rendering و خصوصیات آن شویم. اگر از ابتدای مطلب با دقت مطالعه کرده باشید عرض کردم که همه چیز مربوط به نور و خواص آن است. هر آنچه در یک تصویر رندر شده می بینیم، نتیجه بازتاب های نور و برخورد با سطوح مختلف در صحنه می باشد. در نتیجه تمام مباحث، الگوریتم ها و تکنیک ها به ردگیری پرتوهای نور، بازتابها و … مربوط میشود. محاسبات پرتوهای نور و نحوه تعامل آن با موضوعات درون صحنه آنقدر پیچیده است که تصورش نیز سخت است. برای همین است که موتورهای رندرینگ به تدریج بروز می شوند و کیفیت و سرعت آنها بالاتر میرود. در هر شرکت تیم های تخصصی در حال کار بروی اصلاح الگوریتم ها و روشهای محاسباتی و بهبود فرمولهای آن هستند.

Physically Based Rendering فیزیکال رندرینگ رندر فیزیکی
PBR

PBR روشی برای Shading و Rendering با دقت بالا در زمان برخورد پرتوهای نور به سطح مدل های درون صحنه می باشد. ای عنوان را شاید به صورت PBS یا Physically Based Shading هم بشنوید که به گونه ای همین مفهوم می باشد. زمانی که موتور رندرینگ موجود در نرم افزار شما PBR یا PBS باشد، نیازی به استفاده ازحدث و گمان نخواهید داشت. شما میتوانید به سادگی نتیجه نهایی کار را در همان لحظه ویرایش متریال یا مدل مشاهده نمایید. همچنین در زمانی که تصویر رندر شده را مشاهده میکنید، بازتابهای نور بروی آن را به درستی مشاهده میکنید. این به شما کمک میکنید که اگر مثلا از یک نرم افزار مدلینگ یا تکسچرینگ استفاده میکنید، متوجه شوید که مدل شما در صحنه و در زمانی که در کنار دیگر مدلها قرار دارد و به آن نور تابانده می شود چگونه رندر خواهد شد. زمانی که شما از موتورهای PBR در نرم افزار خود استفاده میکنید، میتوانید تکسچرها، Map ها و افکت هایی که بواسطه متریالهای خود روی مدلها دارید را بهتر و واقعی تر مشاهده نمایید. مفاهیمی چون diffuse lighting , specular lighting و … که در تنظیمات متریال تعیین میکنید، به صورت واقعی و فیزیکی بروی مدل خود مشاهده کرده و نتیجه آن را در زمان برخورد پرتوهای نور با سطح مدل مشاهده نمایید.در این حالت bump ها و Displacement ها و … همگی بروی سطح مدل به صورت کاملا طبیعی نشان داده خواهد شد.

 Physically Based Rendering فیزیکال رندرینگ رندر فیزیکی
Physically Based Rendering

اگر سطح مدل شما به واسطه متریال تعیین شده، نور را جذب کند (Absorption) یا نور را از خود عبور دهد (refraction) یا منعکس کند (reflection) ، همگی بروی سطح قابل مشاهده خواهند بود. Physically Based Rendering در حقیقت رندرینگ فیزیکی و محاسبه قوانین نور در زمان برخورد با سطح مدل می باشد. عکس العمل پرتوی برخورد کرده با سطح بر اساس متریال تعیین شده مشخص شده و نتیجه آن در زمان رندر به نمایش گذاشته می شود. کتابها و اسناد بسیار زیادی در خصوص PBR وجود دارد که اگر قصد آشنایی بیشتر با آنها را دارید میتوانید از آنها استفاده نمایید.