جستجو در دوره‌ها، کاربران و پست‌ها…
COMPs

GLSL COMP

خلاصه (Summary) GLSL COMP با استفاده از شیدرها یک تصویر را مستقیم روی یک پنل رندر می‌کند. برای ساخت UIهای دقیق پیکسلی کاربرد دارد چون رزولوشن آن به‌صورت خودکار با DPI Scaling نمایشگر هماهنگ می‌شود. در شیدر می‌توان به متغ

خلاصه (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 – تعداد خطاها