خلاصه

GLSL TOP یک شیدر GLSL را در یک تصویر TOP رندر می‌کند. برای بررسی خطاهای کامپایل در شیدرها، از Info DAT استفاده کنید.

GLSL TOP می‌تواند به‌عنوان یک Pixel Shader یا یک Compute Shader (عمومی‌تر و پیچیده‌تر) عمل کند.
⚠️ نکته: Compute Shader نیاز به GLSL نسخه 4.30 یا بالاتر دارد.

GLSL TOP یک Compute Shader داک‌شده و همین‌طور یک شیدر GLSL معمولی دارد. اگر Mode را روی Compute Shader بگذارید، از glsl1_compute DAT استفاده خواهد شد.

برای اطلاعات بیشتر، مقاله Write a GLSL TOP را ببینید.
همچنین به بخش GLSL Category و Compute Shader مراجعه کنید.


پارامترها – صفحه GLSL

  • GLSL Version – انتخاب نسخه GLSL برای کامپایل شیدر. (1.20، 3.30، 4.00، … تا 4.60)

  • Mode – تعیین نوع شیدر: Vertex/Pixel Shader یا Compute Shader.

  • Preprocess Directives – اضافه‌کردن دستورهای پیش‌پردازنده مثل #extension. این‌ها باید اولین خطوط در شیدر باشند.

  • Vertex Shader – مسیر به DATی که شیدر Vertex در آن قرار دارد.

  • Pixel Shader – مسیر به DATی که شیدر Pixel در آن قرار دارد.

  • Compute Shader – مسیر به DATی که شیدر Compute در آن قرار دارد.

  • Load Uniform Names – تلاش برای پر کردن خودکار Uniformها از روی شیدر.

  • Auto Dispatch Size – تعیین خودکار سایز dispatch بر اساس local size شیدر و رزولوشن خروجی.

  • Dispatch Size (X/Y/Z) – تعیین دستی سایز dispatch در Compute Shader.

  • Output Access – مشخص‌کردن نحوه دسترسی به تکسچر خروجی (Write Only / Read Only / Read-Write).

  • Output Type – نوع تکسچر خروجی: 2D، 2D Array یا 3D.

  • Depth – تعیین عمق برای تکسچرهای سه‌بعدی (از ورودی یا سفارشی).

  • Custom Depth – تنظیم دستی عمق تکسچر 3D.

  • Clear Outputs – مشخص می‌کند که آیا خروجی در ابتدای هر cook پاک شود یا نه.

  • Clear Value (RGBA) – رنگ پاک‌سازی پیکسل‌ها.

  • Input Mapping – نحوه نگاشت ورودی‌ها به شیدر برای تولید تکسچر 3D.

  • Input Extend Mode UV/W – تعیین رفتار در هنگام خارج‌شدن مختصات تکسچر از بازه [0-1].

  • # of Color Buffers – تعداد بافرهای رنگ که شیدر می‌تواند همزمان خروجی دهد.


پارامترها – صفحه Vectors

  • تعریف Uniformهای برداری (vec2, vec3, vec4) برای شیدر.


پارامترها – صفحه Arrays

  • ارسال داده‌های CHOP به شیدر به‌صورت آرایه.

  • نوع داده: float، vec2، vec3، vec4.

  • نوع آرایه: Uniform Array (عمومی) یا Texture Buffer (GPUهای جدیدتر).


پارامترها – صفحه Matrices

  • تعریف Uniformهای ماتریسی و مقداردهی آن‌ها.


پارامترها – صفحه Atomic Counters

  • تعریف و مقداردهی شمارنده‌های اتمی در شیدر.

  • مقدار اولیه می‌تواند Single Value یا CHOP باشد.


پارامترها – صفحه Constants

  • تعریف Specialization Constants در شیدر.


پارامترها – صفحه Common

  • Output Resolution – رزولوشن خروجی (بر اساس ورودی، نصف، دو برابر، سفارشی و …).

  • Output Aspect – نسبت تصویر خروجی (از ورودی، سفارشی، یا بر اساس رزولوشن).

  • Input Smoothness – فیلترینگ پیکسل برای ورودی (Nearest, Linear, Mipmap).

  • Fill Viewer – نحوه نمایش تصویر در Viewer (Fill, Fit, Native Resolution و …).

  • Viewer Smoothness – فیلترینگ پیکسل برای نمایشگر.

  • Passes – اجرای چندباره عملیات TOP.

  • Channel Mask – انتخاب کانال‌های مورد استفاده (R, G, B, A).

  • Pixel Format – فرمت ذخیره‌سازی داده‌ها (8-bit، 16-bit float، 32-bit float و …).


ورودی‌های اپراتور

  • Input 0

  • Input 1

  • Input 2


کانال‌های Info CHOP

اطلاعات اضافی GLSL TOP از طریق Info CHOP در دسترس است:

کانال‌های مشترک TOP

  • resx / resy – رزولوشن تصویر.

  • aspectx / aspecty – نسبت تصویر.

  • depth – عمق برای تکسچرهای 2D/3D.

  • gpu_memory_used – میزان حافظه GPU استفاده‌شده.

کانال‌های مشترک اپراتور

  • total_cooks – تعداد cookها از شروع پروسه.

  • cook_time – مدت زمان آخرین cook (میلی‌ثانیه).

  • cook_frame – شماره فریم آخرین cook.

  • cook_abs_frame – شماره فریم مطلق آخرین cook.

  • cook_start_time / cook_end_time – زمان شروع و پایان cook.

  • cooked_this_frame – آیا در این فریم cook انجام شده یا نه.

  • warnings – تعداد هشدارها.

  • errors – تعداد خطاها.