GLSL COMP

خلاصه (Summary)

  • GLSL COMP با استفاده از شیدرها یک تصویر را مستقیم روی یک پنل رندر می‌کند.

  • برای ساخت UIهای دقیق پیکسلی کاربرد دارد چون رزولوشن آن به‌صورت خودکار با DPI Scaling نمایشگر هماهنگ می‌شود.

  • در شیدر می‌توان به متغیرهای پنل دسترسی داشت تا به رویدادهای کاربر واکنش نشان دهد.

📌 برای یادگیری نوشتن شیدر: بخش GLSL Category را ببین.


فهرست محتوا

  1. Summary

  2. Parameters – GLSL Page

  3. Parameters – Samplers Page

  4. Parameters – Vectors Page

  5. Parameters – Constants Page

  6. Parameters – Layout Page

  7. Parameters – Panel Page

  8. Parameters – Look Page

  9. Parameters – Children Page

  10. Parameters – Drag/Drop Page

  11. Parameters – Extensions Page

  12. Parameters – Common Page

  13. 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 – تعداد دفعات Cook

  • cook_time – مدت زمان آخرین Cook (ms)

  • cook_frame – شماره فریم آخرین Cook نسبت به Timeline

  • cook_abs_frame – شماره فریم آخرین Cook نسبت به زمان مطلق

  • cook_start_time / cook_end_time – زمان شروع و پایان Cook (ms)

  • cooked_this_frame – 1 اگر این فریم Cook شده باشد

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

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

دیدگاهتان را بنویسید