خلاصه (Summary)

CPlusPlus TOP به شما اجازه می‌دهد اپراتورهای سفارشی TOP بسازید، با نوشتن پلاگین خودتان به زبان ++C.

برای جزئیات بیشتر ببینید: Write a CPlusPlus Plugin و دیگر مقالات موجود در دسته‌بندی ++C که روش ساخت پلاگین برای استفاده در این نود و دسترسی به پروژه‌های نمونه را توضیح می‌دهند.

برای ارتقای CPlusPlus TOPهایی که با هدرهای نسخه‌های قبل از TouchDesigner 2021.10000 کامپایل شده‌اند و می‌خواهید در نسخه‌های 2022.20000 و بعد از آن کار کنند، به بخش CPlusPlus TOP Upgrades For 2022.20000 Builds مراجعه کنید.

👉 همچنین ببینید: CPlusPlus CHOP، CUDA


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

  • Plugin Path (plugin) – مسیر پلاگینی که می‌خواهید بارگذاری کنید.

  • Re-Init Class (reinit) – اگر روشن باشد، نمونه ساخته‌شده از کلاس پلاگین را حذف می‌کند و یک نمونه جدید می‌سازد.

  • Re-Init Class (reinitpulse) – بلافاصله کلاس را دوباره مقداردهی می‌کند.

  • Unload Plugin (unloadplugin) – وقتی مقدار این پارامتر بیشتر از ۱ شود، نمونه کلاس ساخته‌شده را حذف و پلاگین را از حافظه خارج می‌کند. اگر چند TOP یک پلاگین مشترک را بارگذاری کرده باشند، همه باید آن را unload کنند تا فایل آزاد شود.

  • Anti-Alias (antialias) ⊞ – سطح Anti-Aliasing برای Framebuffer ایجادشده:

    • 1x (aa1)

    • 2x (aa2)

    • 4x (aa4)

    • 8x (aa8)

    • 16x (aa16)

    • 32x (aa32)

  • Depth Buffer (depthbuffer) ⊞ – فرمت پیکسلی بافر عمق (در صورت نیاز):

    • None

    • 24-Bit Fixed-Point

    • 32-Bit Floating-Point

  • Stencil Buffer (stencilbuffer) – فعال کنید اگر به بافر استنسیل نیاز دارید.

  • # of Color Buffers (numcolorbufs) – هر شیدر می‌تواند به بیش از یک بافر RGBA خروجی دهد. به جای نوشتن روی gl_FragColor باید روی gl_FragData[i] بنویسید که i شماره بافر رنگ است.


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

  • Output Resolution (outputresolution) ⊞ – تغییر سریع رزولوشن خروجی:

    • Use Input

    • Eighth (یک‌هشتم)

    • Quarter (یک‌چهارم)

    • Half (نصف)

    • 2X، 4X، 8X

    • Fit Resolution

    • Limit Resolution

    • Custom Resolution

  • Resolution (resolution) ⊞ – وقتی Custom انتخاب شود فعال می‌شود. برخی ژنراتورها (مثل Constant و Ramp) فقط از این مقدار استفاده می‌کنند.

    • W (resolutionw)

    • H (resolutionh)

  • Resolution Menu (resmenu) – منوی کشویی رزولوشن‌های پرکاربرد.

  • Use Global Res Multiplier (resmult) – از ضریب رزولوشن سراسری (Preferences > TOPs) استفاده می‌کند. این ویژگی برای اجرای یک پروژه روی سخت‌افزارهای متفاوت (مثلاً کارت گرافیک ضعیف لپ‌تاپ) کاربرد دارد.

  • Output Aspect (outputaspect) ⊞ – نسبت تصویر خروجی:

    • Use Input

    • Resolution

    • Custom Aspect

  • Aspect (aspect) ⊞ – وقتی Custom فعال است.

    • Aspect1

    • Aspect2

  • Aspect Menu (armenu) – نسبت‌های تصویر پرکاربرد.

  • Input Smoothness (inputfiltertype) ⊞ – فیلترینگ پیکسلی روی ورودی.

  • Fill Viewer (fillmode) ⊞ – نحوه نمایش تصویر در Viewer:

    • Use Input

    • Fill

    • Fit Horizontal

    • Fit Vertical

    • Fit Best

    • Fit Outside

    • Native Resolution

  • Viewer Smoothness (filtertype) ⊞ – فیلترینگ پیکسل‌ها در Viewer:

    • Nearest Pixel

    • Interpolate Pixels

    • Mipmap Pixels

  • Passes (npasses) – عملیات TOP را به تعداد مشخص تکرار می‌کند. نتیجه هر پاس ورودی پاس بعدی می‌شود. (مگر در GLSL TOP با compute shader که همچنان از ورودی اصلی استفاده می‌کند.)

  • Channel Mask (chanmask) – انتخاب کانال‌های R، G، B، A برای پردازش.

  • Pixel Format (format) ⊞ – فرمت داده پیکسلی.

    • Use Input

    • 8-bit fixed (RGBA)

    • sRGB 8-bit fixed (RGBA)

    • 16-bit float (RGBA)

    • 32-bit float (RGBA)

    • 10-bit RGB + 2-bit Alpha fixed

    • 16-bit fixed (RGBA)

    • 11-bit float (RGB, Positive only)

    • 16-bit float (RGB)

    • 32-bit float (RGB)

    • 8-bit fixed (Mono)

    • 16-bit fixed (Mono)

    • 16-bit float (Mono)

    • 32-bit float (Mono)

    • 8-bit fixed (RG)

    • 16-bit fixed (RG)

    • 16-bit float (RG)

    • 32-bit float (RG)

    • 8/16/32-bit fixed یا float (A)

    • 8/16/32-bit fixed یا float (Mono+Alpha)


ورودی‌های اپراتور (Operator Inputs)

  • Input 0:


کانال‌های Info CHOP

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

کانال‌های عمومی TOP

  • resx – رزولوشن افقی (پیکسل).

  • resy – رزولوشن عمودی (پیکسل).

  • aspectx – نسبت افقی.

  • aspecty – نسبت عمودی.

  • depth – عمق آرایه ۲D یا ۳D (در صورت وجود).

  • gpu_memory_used – حافظه GPU مصرف‌شده.

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

  • total_cooks – تعداد کل دفعات پردازش.

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

  • cook_frame – شماره فریم آخرین پردازش (نسبت به تایم‌لاین کامپوننت).

  • cook_abs_frame – شماره فریم آخرین پردازش (نسبت به زمان مطلق).

  • cook_start_time – زمان شروع پردازش در فریم (ms).

  • cook_end_time – زمان پایان پردازش در فریم (ms).

  • cooked_this_frame – اگر در این فریم پردازش شد: 1.

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

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