خلاصه
Depth TOP تصویری را که شامل اطلاعات عمق یک صحنه (Scene) است و توسط یک Render TOP مشخص ایجاد شده میخواند.
تصویر خروجی در نقاطی که سطح در عمق نزدیک (پارامتر Near دوربین) باشد سیاه (۰) خواهد بود و در نقاطی که سطح در عمق دور (پارامتر Far) باشد سفید (۱) خواهد بود.
از Depth TOP برای Shadow Mapping استفاده میشود. همچنین کاربردهای دیگری هم دارد، مثل تشخیص لبهها بر اساس عمق.
محدوده عمق، از صفحه نزدیک (Near Plane) تا صفحه دور (Far Plane) تعریف میشود. در نتیجه مقادیر در Depth TOP در Near برابر ۰ و در Far برابر ۱ هستند. به طور کلی تصویر خروجی Depth TOP سفید خواهد بود، مگر اینکه فاصله Near و Far را خیلی نزدیک به جسم قرار دهید. حتی اگر چیزی به صورت بصری مشخص نباشد، اطلاعات عمق همچنان وجود دارد.
گزینه دیگر Linear Camera-Space Depth است. اگر در Render TOP پارامتر Depth Buffer Format روی 32-Bit Floating-Point تنظیم شود و گزینه Linear Camera-Space Depth فعال باشد، آنگاه Depth TOP خروجی عمق خطی در فضای دوربین تولید خواهد کرد.
میتوانید با استفاده از Level TOP مقادیر Depth TOP را دوباره بازهبندی کنید (Re-range). اما توجه کنید که حتماً Pixel Format در Level TOP روی 16 یا 32 بیت باشد، در غیر این صورت بخش زیادی از اطلاعات عمق (Depth) از بین خواهد رفت (چون Depth TOP دادههای ۲۴ بیتی دارد).
Depth TOP یک تصویر تککاناله (Single Channel) با فرمت 24-bit fixed-point یا 32-bit floating-point ایجاد میکند. وقتی بهعنوان ورودی نود دیگری استفاده شود، دادههایش مثل یک RGBA با مقدار (D, D, D, 1) تفسیر میشوند. همین رفتار هنگام نمونهبرداری (Sampling) از یک تکسچر عمق در GLSL Shader هم وجود دارد.
پارامترها – صفحه Depth
Render TOP (rendertop) – مشخص میکند کدام Render TOP برای گرفتن مقادیر عمق استفاده شود.
Camera Index (cameraindex) – در رندر چند دوربینه، انتخاب میکند خروجی کدام دوربین استفاده شود.
Peel Layer Index (peellayerindex) – هنگام استفاده از ویژگی Depth-Peeling در Render TOP، لایه Peel مشخص را انتخاب میکند.
Pixel Format (pixelformat) – ⊞ – فرمت پیکسل برای خروجی عمق.
گزینهها:8-bit fixed (RGBA)
16-bit float (RGBA)
32-bit float (RGBA)
10-bit RGB, 2-bit Alpha (RGBA)
16-bit fixed (RGBA)
11-bit float (RGB, Positive only)
8-bit fixed (R)
16-bit fixed (R)
16-bit float (R)
32-bit float (R)
8-bit fixed (RG)
16-bit fixed (RG)
16-bit float (RG)
32-bit float (RG)
8-bit fixed (A)
16-bit float (A)
32-bit float (A)
Depth Space (depthspace) – ⊞ – فضای مورد استفاده برای نمایش مقادیر عمق.
Input – مقادیر خام خروجی شیدر (معمولاً یک منحنی لگاریتمی است که بیشتر مقادیر نزدیک صفحه Near قرار میگیرند).
Camera Space – مقادیر عمق را به فضای دوربین تبدیل میکند (۰ در محل دوربین است و با فاصله گرفتن مقادیر مثبت میشوند).
Reranged from Camera Space – ابتدا مشابه Camera Space تبدیل میشود، سپس به یک بازه سفارشی Re-range خواهد شد.
Range From (rangefrom) – بازه ورودی هنگام استفاده از Reranged.
rangefrom1 – عمق نزدیک.
rangefrom2 – عمق دور.
Range To (rangeto) – بازه خروجی برای مقادیر عمق.
rangeto1 – مقدار نزدیک در بازه جدید.
rangeto2 – مقدار دور در بازه جدید.
Clamp to [0-1] (clamp) – فعال کردن قفلکردن مقادیر عمق بین ۰ و ۱.
Gamma (gamma) – اعمال منحنی گاما روی مقادیر عمق.
پارامترها – صفحه Common
این بخش مشابه سایر TOPهاست و شامل:
Output Resolution (تغییر سریع رزولوشن خروجی: Use Input, Half, 2X, Custom, …)
Resolution (W و H در حالت Custom)
Use Global Res Multiplier (برای سازگاری بین سختافزارهای مختلف)
Output Aspect (Use Input، Resolution یا Custom)
Input Smoothness (Nearest, Linear, Mipmap)
Fill Viewer (Fill, Fit H, Fit V, Fit Best, Fit Outside, Native Resolution)
Viewer Smoothness (Nearest, Linear, Mipmap)
Passes (تکرار چندباره عملیات TOP)
Channel Mask (انتخاب کانالهای R, G, B, A برای پردازش)
Pixel Format (انواع فرمت پیکسل RGBA، RGB، Mono، Alpha، RG، Mono+Alpha، با عمق ۸، ۱۶ یا ۳۲ بیتی – ثابت یا Float)
کانالهای Info CHOP
اطلاعات عمومی TOP:
resx → رزولوشن افقی (پیکسل)
resy → رزولوشن عمودی (پیکسل)
aspectx → نسبت افقی
aspecty → نسبت عمودی
depth → عمق در صورت وجود Texture Array دوبعدی یا سهبعدی
gpu_memory_used → میزان حافظه GPU مصرفشده
اطلاعات عمومی اپراتور:
total_cooks → تعداد دفعات Cook از شروع پروژه
cook_time → زمان آخرین Cook (میلیثانیه)
cook_frame → شماره فریم هنگام آخرین Cook (بر اساس تایملاین کامپوننت)
cook_abs_frame → شماره فریم هنگام آخرین Cook (بر اساس زمان مطلق)
cook_start_time → زمان شروع Cook در آن فریم (میلیثانیه)
cook_end_time → زمان پایان Cook در آن فریم (میلیثانیه)
cooked_this_frame → آیا در این فریم Cook شده است (۱ یا ۰)
warnings → تعداد هشدارها
errors → تعداد خطاها
