خلاصه (Summary)
GLSL COMP با استفاده از شیدرها یک تصویر را مستقیم روی یک پنل رندر میکند.
برای ساخت UIهای دقیق پیکسلی کاربرد دارد چون رزولوشن آن بهصورت خودکار با DPI Scaling نمایشگر هماهنگ میشود.
در شیدر میتوان به متغیرهای پنل دسترسی داشت تا به رویدادهای کاربر واکنش نشان دهد.
📌 برای یادگیری نوشتن شیدر: بخش GLSL Category را ببین.
فهرست محتوا
Summary
Parameters – GLSL Page
Parameters – Samplers Page
Parameters – Vectors Page
Parameters – Constants Page
Parameters – Layout Page
Parameters – Panel Page
Parameters – Look Page
Parameters – Children Page
Parameters – Drag/Drop Page
Parameters – Extensions Page
Parameters – Common Page
Info CHOP Channels
Parameters – GLSL Page
Vertex Shader (vertexdat): مسیر DAT که کد Vertex Shader داخلش است.
Pixel Shader (pixeldat): مسیر DAT که کد Pixel Shader داخلش است.
Parameters – Samplers Page
Sampler (sampler): لیست TOPهایی که بهعنوان Sampler به شیدر داده میشوند.
Name (sampler0name): نامی که در شیدر برای این Sampler استفاده میشود. باید با نوع TOP هماهنگ باشد (
sampler2D
برای 2D TOP و …).TOP (sampler0top): انتخاب TOP مرتبط با نام بالا.
🔹 تنظیمات Sampling (با دکمه +
):
Extend U/V/W (sampler0extendu / sampler0extendv / sampler0extendw):
Hold
Zero
Repeat
Mirror
Filter (sampler0filter):
Nearest
Linear
Mipmap Linear
Anisotropic Filter (sampler0anisotropy):
Off
2x
4x
8x
16x
Parameters – Vectors Page
Vector (vec): لیست بردارهایی که بهعنوان Uniform در شیدر استفاده میشوند.
Name (vec0name): نام Uniform.
Value (vec0value): مقدار بردار (1 تا 4 مقدار: float, vec2, vec3, vec4).
Parameters – Constants Page
برای تعریف Specialization Constants.
Constant Name (const0name): نام ثابت همانطور که در شیدر تعریف شده.
Value (const0value): مقدار ثابت.
Parameters – Layout Page
کنترل اندازه و موقعیت پنل.
X / Y: موقعیت افقی و عمودی نسبت به والد.
Width / Height: عرض و ارتفاع پنل برحسب پیکسل.
Fixed Aspect: قفل کردن نسبت تصویر (Aspect Ratio).
Off
Use Horizontal
Use Vertical
Aspect Ratio: نسبت عرض به ارتفاع.
Depth Layer: ترتیب ترسیم (مثل لایهها در Photoshop).
Horizontal Mode:
Fixed Width
Fill
Anchors (0 تا 1 مثل UV).
Left/Right Anchor + Offset: کنترل موقعیت افقی با Anchorها.
Horizontal Origin: مبدا افقی پنل.
Horizontal Fill Weight: وزن Fill برای تقسیم فضا بین چند پنل.
Vertical Mode:
Fixed Height
Fill
Anchors (0 تا 1 مثل UV).
Bottom/Top Anchor + Offset: کنترل موقعیت عمودی.
Vertical Origin: مبدا عمودی پنل.
Vertical Fill Weight: وزن Fill عمودی.
Parent Alignment:
Allow
Ignore
Ignore + Ignore Margins
Align Order: ترتیب چینش در Align والد.
Post Offset (X/Y): جابهجایی اضافه بعد از همه تنظیمات.
Size from Window: اگر فعال باشد، عرض و ارتفاع پنل از Viewer Window گرفته میشود.
Parameters – Panel Page
کنترل ویژگیهای پنل مثل نمایش، تعامل و کمک.
Display: نمایش یا مخفیکردن پنل.
Enable: اجازه تعامل یا غیرفعالکردن کامل.
Help DAT: مسیر Text DAT که متن آن بهصورت Tooltip نشان داده شود.
Cursor: تغییر شکل نشانگر ماوس روی پنل.
Pointer, Link, Text, Cross, Busy, Activate, Invisible
Multi-Touch: کنترل رفتار لمس چندگانه.
Use Parent’s Setting
Use Built-in Multi-Touch
Do Not Use Built-in Multi-Touch
Constrain Cursor: گیر انداختن نشانگر داخل پنل.
Click Through: نادیده گرفتن کلیکهای ماوس.
Use Mouse Wheel: فعالسازی اسکرول روی پنل.
Mouse UV Buttons: تعیین دکمههای ماوس که UV را تغییر دهند (Left, Middle, Right).
Relative UV: تغییر UV نسبی با حرکت ماوس.
Drag Edges to Resize: تغییر اندازه با کشیدن لبهها (L/R/B/T).
W Range / H Range: محدودکردن تغییر اندازه در عرض و ارتفاع.
Drag to Reposition: جابهجایی پنل یا پنجره با ماوس.
Off
Window
Component
Component: اگر حالت Component باشد، مسیر آن کامپوننت را مشخص میکنی.
X/Y Range: محدود کردن محدوده جابهجایی.
Anchor Drag: انتخاب اینکه Drag روی Anchor اثر بگذارد یا Offset.
Scroll Overlay: کنترل تعامل پنل با Scrollbar.
Parameters – Look Page
تنظیمات رنگ پسزمینه، حاشیه و ظاهر.
Background Color (R/G/B).
Background Alpha.
Background TOP: استفاده از یک TOP بهعنوان پسزمینه.
TOP Fill: نحوه پرکردن پسزمینه با TOP.
Stretch, Fill Width, Fill Height, Fill Best, Native Resolution, Fill Outside
TOP Smoothness: کیفیت نمایش TOP پسزمینه.
Nearest Pixel
Interpolate Pixels
Mipmap Pixels
Border A (R/G/B + Alpha).
Border B (RGBA).
Parameters – Look Page (ادامه)
Border B Alpha (borderbalpha): مقدار آلفا برای رنگ Border B.
Left Border (leftborder): رنگ دو پیکسل سمت چپ. گزینهها:
0 = بدون تغییر
Border A = استفاده از رنگ Border A
Border B = استفاده از رنگ Border B
Left Border Inside (leftborderi): همان گزینه بالا ولی برای مرز داخلی.
Right Border (rightborder): رنگ دو پیکسل سمت راست (گزینهها مثل بالا).
Right Border Inside (rightborderi): همان بالا برای مرز داخلی.
Bottom Border (bottomborder): رنگ دو پیکسل پایین (گزینهها مثل بالا).
Bottom Border Inside (bottomborderi): همان بالا برای مرز داخلی.
Top Border (topborder): رنگ دو پیکسل بالا (گزینهها مثل بالا).
Top Border Inside (topborderi): همان بالا برای مرز داخلی.
Border Over Children (borderover): کشیدن مرزهای پنل روی تمام پنلهای فرزند.
Disable Color (dodisablecolor): فعالسازی رنگ مخصوص غیرفعال شدن هنگام Off بودن پنل.
Disable Color (disablecolor): مقادیر RGB رنگ غیرفعال (پیشفرض: سیاه).
Disable Alpha (disablealpha): مقدار آلفا رنگ غیرفعال.
Multiply RGB by Alpha (multrgb): ضرب کانالهای RGB در آلفا.
Composite (composite): نحوه ترکیب پنل با پنلهای همسطح. گزینهها:
Over, Under, Inside, Outside, Add, Subtract, Multiply
Opacity (opacity): کنترل شفافیت پنل.
Parameters – Children Page
کنترل چینش، اندازه و موقعیت فرزندان پنل.
Align (align): تعیین نحوه چینش فرزندان. گزینهها:
None, Left to Right, Right to Left, Top to Bottom, Bottom to Top, Grid Rows, Grid Columns, Match Network Nodes
Spacing: فاصله بین فرزندان هنگام چینش.
Max per Line (alignmax): حداکثر فرزندان در یک ردیف یا ستون.
Margin: فاصله بین پنل و محیط اطراف (Pixels).
L, R, B, T
Justify Method: تعیین تراز فرزندان به صورت گروهی یا فردی.
Individual, Group
Justify Horizontal / Vertical: تراز افقی و عمودی فرزندان (Off / Left / Center / Right / Top / Bottom).
Fit: تغییر سایز فرزندان (Fit Width, Fit Height, Fit Best).
Scale: مقیاس یکنواخت فرزندان (X/Y).
Offset: جابهجایی فرزندان (X/Y).
Crop: برش فرزندان خارج از پنل.
Off (Use Parent), On, Never
Horizontal / Vertical Scrollbar: تنظیم نوار اسکرول افقی و عمودی (Off, On, Automatic).
Thickness: ضخامت نوار اسکرول (Pixels).
Parameters – Drag/Drop Page
کنترل رفتار کشیدن و رها کردن بین پنلها.
When Dragging This (drag): آیا این پنل قابل کشیدن است؟
Use Parent’s Drag Settings
Legacy Drag System
Do Not Allow Drag
Drag Script / Drop Destination Script: اسکریپت اجرا هنگام شروع کشیدن یا رها کردن.
Drop Types: نوع دادههای قابل قبول هنگام رها کردن.
Dropped Operator (paneldragop): مشخص کردن OP جایگزین هنگام رها کردن.
On Dropping Into (drop): آیا این پنل میتواند موارد رها شده را بپذیرد؟
Use Parent’s Drop Settings
Legacy Drop System
Do Not Allow Drop
Drop Script: اسکریپت اجرا هنگام رها کردن فایل یا کامپوننت روی این پنل.
Parameters – Extensions Page
Extension (ext): افزودن اکستنشنهای پایتون به کامپوننت.
Object (ext0object): نمونههای کلاس متصل به کامپوننت.
Name (ext0name): نام اختیاری برای جستجو به جای نام کلاس.
Promote (ext0promote): کنترل دسترسی مستقیم یا از طریق
.ext
.Re-Init Extensions: بازکامپایل تمام اکستنشنها.
Parameters – Common Page
تنظیمات Node Viewer و کلونینگ.
Parent Shortcut / Global OP Shortcut: میانبر مسیر دسترسی به کامپوننت.
Internal OP: تعریف OPهای داخلی و میانبرهای آنها.
Node View: انتخاب نمای Node Viewer (Default Viewer / Operator Viewer).
Keep in Memory: نگهداشتن در حافظه.
Enable Cloning / Enable Cloning Pulse: فعال یا فوری کردن کلونینگ.
Clone Master: مسیر Master Clone.
Load on Demand: بارگذاری کامپوننت فقط در صورت نیاز.
Enable External .tox / Pulse: بارگذاری از فایل .tox خارجی هنگام شروع پروژه.
External .tox Path: مسیر فایل .tox برای بارگذاری محتوا.
Reload Custom / Built-In Parameters: بارگذاری دوباره پارامترهای سفارشی یا پیشفرض.
Save Backup of External: ذخیره نسخه پشتیبان از فایل .tox در .toe.
Sub-Component to Load: انتخاب یک COMP خاص از .tox برای لود.
Relative File Path Behavior: مسیر فایلها نسبت به .toe، .tox یا والد.
Info CHOP Channels
اطلاعات اضافی GLSL COMP از طریق Info CHOP قابل دسترسی است.
Common COMP Info Channels:
num_children
– تعداد فرزندان کامپوننت
Common Operator Info Channels:
total_cooks
– تعداد دفعات Cookcook_time
– مدت زمان آخرین Cook (ms)cook_frame
– شماره فریم آخرین Cook نسبت به Timelinecook_abs_frame
– شماره فریم آخرین Cook نسبت به زمان مطلقcook_start_time / cook_end_time
– زمان شروع و پایان Cook (ms)cooked_this_frame
– 1 اگر این فریم Cook شده باشدwarnings
– تعداد هشدارهاerrors
– تعداد خطاها