خلاصه

Function TOP می‌تواند روی مقادیر رنگ تصویر ورودی، عملیات ریاضی مثل sin، cos یا exp انجام دهد. هر کانال رنگی (R, G, B, A) می‌تواند تابع متفاوتی داشته باشد.

برخی توابع نیاز به یک مقدار اضافی دارند که از پارامترهای Base، Exponent یا Constant Value گرفته می‌شود، و بعضی توابع از تصویر ورودی دوم به عنوان مقدار اضافی استفاده می‌کنند.

برای بعضی توابع، می‌توان از پارامتر Replace Errors استفاده کرد تا برای مقادیر نامعتبر (مثل log(-1)) یک مقدار جایگزین درج شود.

توابع پشتیبانی‌شده

  • Input: عبور مقدار ورودی بدون تغییر

  • Constant: جایگزینی مقدار ورودی با پارامتر ثابت (Constant)

  • Square Root: جذر مقدار ورودی، sqrt(x)

  • Absolute Value: قدرمطلق، abs(x)

  • Sign: اگر ورودی < 0 → مقدار -1، اگر = 0 → مقدار 0، اگر > 0 → مقدار 1

  • Cosine: کسینوس ورودی

  • Sine: سینوس ورودی

  • Tangent: تانژانت ورودی

  • Arccosine: آرك‌كسینوس ورودی، acos(x)

  • Arcsine: آرك‌سینوس ورودی، asin(x)

  • Arctan (Input1): آرك‌تانژانت ورودی، atan(x)

  • Arctan (Input1 / Input2): آرك‌تانژانت ورودی 1 تقسیم بر ورودی 2، atan(x,y)

  • Hyperbolic Cosine: کسینوس هایپربولیک، cosh(x)

  • Hyperbolic Sine: سینوس هایپربولیک، sinh(x)

  • Hyperbolic Tangent: تانژانت هایپربولیک، tanh(x)

  • Log Base 10: لگاریتم پایه ۱۰، log10(x)

  • Log Base 2: لگاریتم پایه ۲، log2(x)

  • Log Base N: لگاریتم پایه N، که مقدار N توسط پارامتر Base Value مشخص می‌شود

  • Natural Log: لگاریتم نپر، ln(x)

  • Exponent: توان طبیعی، e^x

  • Exponent 2: توان بر پایه ۲، 2^x

  • Exponent 10: توان بر پایه ۱۰، 10^x

  • Base Power: توان پارامتر Base به x، Base^x

  • Input1 ^ Exponent: ورودی به توان مقدار پارامتر Exponent

  • Input1 ^ Input2: ورودی ۱ به توان ورودی ۲

  • dB to Power: تبدیل دسی‌بل به توان

  • Power to dB: تبدیل توان به دسی‌بل (اگر مقدار ≤ 0 باشد خطا می‌دهد)

  • dB to Amplitude: تبدیل دسی‌بل به دامنه

  • Amplitude to dB: تبدیل دامنه به دسی‌بل (اگر مقدار ≤ 0 باشد خطا می‌دهد)

📌 یادداشت‌ها:

  1. واحد ورودی برای توابع مثل سینوس/کسینوس توسط پارامتر Angle Units مشخص می‌شود (درجه، رادیان و غیره).

  2. استفاده از توان منفی (مثل pow(x, -2)) خطا تولید می‌کند، چون طبق استاندارد GLSL توان منفی تعریف نشده است.


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

  • Re-Range Integers (rerange): ⊞ قبل از اجرای تابع، یک مقیاس و شیفت روی مقادیر ورودی اعمال می‌کند:

    input = (input * rerange2) + rerange1

    🔹 توجه: فقط روی فرمت‌های عدد صحیح (integer) اعمال می‌شود، نه فرمت‌های floating point.

    • rerange1: شیفت (Offset)

    • rerange2: مقیاس (Scale)


Function RGBA (funcrgba)

اعمال تابع انتخابی روی کانال‌های R, G, B, A.

  • x Input (input)

  • Constant Value (constant)

  • sqrt(x) Square Root (sqrt)

  • abs(x) Absolute Value (abs)

  • sign(x) Sign (sign)

  • cos(x) Cosine (cos)

  • sin(x) Sine (sin)

  • tan(x) Tangent (tan)

  • acos(x) Arccosine (acos)

  • asin(x) Arcsine (asin)

  • atan(x) Arctan (Input1) (atan)

  • atan2(x,y) Arctan (Input1 / Input2) (atan2)

  • cosh(x) Hyperbolic Cosine (cosh)

  • sinh(x) Hyperbolic Sine (sinh)

  • tanh(x) Hyperbolic Tangent (tanh)

  • log10(x) Log Base 10 (log10)

  • log2(x) Log Base 2 (log2)

  • logN(x) Log Base N (logn)

  • ln(x) Natural Log (ln)

  • exp(x) e ^ Input1 (exp)

  • exp2(x) 2 ^ Input1 (exp2)

  • exp10(x) 10 ^ Input1 (exp10)

  • pow(x) Base ^ Input1 (powb)

  • pow(x) Input1 ^ Exponent (powe)

  • pow(x,y) Input1 ^ Input2 (powxy)

  • dB to Power (dbtopow)

  • Power to dB (powtodb)

  • dB to Amplitude (dbtoamp)

  • Amplitude to dB (amptodb)


Function RGB (funcrgb)

اعمال تابع انتخابی روی کانال‌های R, G, B.
(لیست توابع همانند بالا است)


Function R (funcr)

اعمال تابع انتخابی روی کانال R (قرمز).
(لیست توابع همانند بالا است)


Function G (funcg)

اعمال تابع انتخابی روی کانال G (سبز).
(لیست توابع همانند بالا است)

پارامترها – ادامه صفحه Function

Function B (funcb)

روی کانال B (آبی) تابع انتخابی را اعمال می‌کند.

  • x Input (input): مقدار ورودی

  • Constant Value (constant): مقدار ثابت

  • sqrt(x) Square Root (sqrt): جذر ورودی

  • abs(x) Absolute Value (abs): قدرمطلق ورودی

  • sign(x) Sign (sign): علامت ورودی

  • cos(x) Cosine (cos): کسینوس

  • sin(x) Sine (sin): سینوس

  • tan(x) Tangent (tan): تانژانت

  • acos(x) Arccosine (acos): آرک‌کسینوس

  • asin(x) Arcsine (asin): آرک‌سینوس

  • atan(x) Arctan (Input1) (atan): آرک‌تانژانت ورودی ۱

  • atan2(x,y) Arctan (Input1 / Input2) (atan2): آرک‌تانژانت ورودی ۱ تقسیم بر ورودی ۲

  • cosh(x) Hyperbolic Cosine (cosh): کسینوس هایپربولیک

  • sinh(x) Hyperbolic Sine (sinh): سینوس هایپربولیک

  • tanh(x) Hyperbolic Tangent (tanh): تانژانت هایپربولیک

  • log10(x) Log Base 10 (log10): لگاریتم پایه ۱۰

  • log2(x) Log Base 2 (log2): لگاریتم پایه ۲

  • logN(x) Log Base N (logn): لگاریتم پایه N

  • ln(x) Natural Log (ln): لگاریتم طبیعی (نپر)

  • exp(x) e^Input1 (exp): توان طبیعی

  • exp2(x) 2^Input1 (exp2): توان بر پایه ۲

  • exp10(x) 10^Input1 (exp10): توان بر پایه ۱۰

  • pow(x) Base^Input1 (powb): پایه به توان ورودی

  • pow(x) Input1^Exponent (powe): ورودی ۱ به توان پارامتر Exponent

  • pow(x,y) Input1^Input2 (powxy): ورودی ۱ به توان ورودی ۲

  • dB to Power (dbtopow): دسی‌بل به توان

  • Power to dB (powtodb): توان به دسی‌بل

  • dB to Amplitude (dbtoamp): دسی‌بل به دامنه

  • Amplitude to dB (amptodb): دامنه به دسی‌بل


Function A (funca)

روی کانال A (آلفا) تابع انتخابی را اعمال می‌کند.
(لیست توابع دقیقاً همان لیست بالا برای B است.)


Base Value (baseval)

مقدار پایه‌ای که برای توابعی مثل Log Base N و Base^Input استفاده می‌شود.

Exponent Value (expval)

مقدار توان برای تابع Input^Base.

Constant Value (constval)

امکان می‌دهد که با استفاده از تابع Constant خروجی را روی یک مقدار ثابت تنظیم کنید.

Angle Units (angunit)

تعیین می‌کند که مقادیر ورودی در توابعی که نیاز به زاویه دارند (مثل سینوس و کسینوس) بر اساس چه واحدی باشند:

  • Degrees (deg): درجه

  • Radians (rad): رادیان

  • Cycles (cycle): سیکل

Replace Errors (replace)

اگر فعال شود، مقادیر نامعتبر (مثل log(-1)) با پارامتر Error Value جایگزین می‌شوند.

Error Value (errval)

مقدار جایگزین برای مواقعی که ورودی نامعتبر است.


پارامترها – صفحه عمومی (Common Page)

Output Resolution (outputresolution)

تغییر سریع رزولوشن خروجی:

  • Use Input: استفاده از رزولوشن ورودی

  • Eighth / Quarter / Half / 2X / 4X / 8X: مقیاس‌گذاری رزولوشن ورودی

  • Fit Resolution: تنظیم عرض و ارتفاع متناسب با رزولوشن مشخص‌شده، با حفظ نسبت تصویر

  • Limit Resolution: محدودکردن ابعاد تصویر به رزولوشن مشخص‌شده، با حفظ نسبت

  • Custom Resolution: فعال‌سازی پارامتر Resolution برای کنترل دستی عرض و ارتفاع

Resolution (resolution)

وقتی روی Custom تنظیم شود، امکان تعریف دستی عرض (W) و ارتفاع (H) را فراهم می‌کند.

Resolution Menu (resmenu)

منوی کشویی با رزولوشن‌های پرکاربرد.

Use Global Res Multiplier (resmult)

استفاده از ضریب مقیاس‌دهی سراسری رزولوشن که در Preferences → TOPs تعریف شده.


Output Aspect (outputaspect)

نسبت تصویر خروجی را تعیین می‌کند:

  • Use Input: استفاده از نسبت ورودی

  • Resolution: استفاده از نسبت تصویر بر اساس رزولوشن تعریف‌شده (مثلاً 512×256 → نسبت ۲:۱)

  • Custom Aspect: تعریف دستی نسبت تصویر

Aspect (aspect)

وقتی Custom Aspect انتخاب شود، دو مقدار Aspect1 و Aspect2 قابل تنظیم هستند.

Aspect Menu (armenu)

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


Input Smoothness (inputfiltertype)

نوع فیلترینگ پیکسل برای تصویر ورودی:

  • Nearest Pixel: نزدیک‌ترین پیکسل (تصاویر لبه‌دار می‌شوند)

  • Interpolate Pixels: فیلتر خطی بین پیکسل‌ها (نمای نرم‌تر)

  • Mipmap Pixels: استفاده از میپ‌مپ برای کاهش نویز هنگام تغییر مقیاس تصاویر با جزئیات زیاد


Fill Viewer (fillmode)

نحوه نمایش تصویر در Viewer:

  • Use Input: مثل ورودی

  • Fill: پرکردن کامل کادر نمایش

  • Fit Horizontal / Vertical: پرکردن در عرض یا ارتفاع

  • Fit Best: بدون برش تصویر

  • Fit Outside: پرکردن کامل با احتمال برش

  • Native Resolution: نمایش با رزولوشن اصلی


Viewer Smoothness (filtertype)

فیلترینگ پیکسل هنگام نمایش در Viewer:

  • Nearest Pixel

  • Interpolate Pixels

  • Mipmap Pixels


Passes (npasses)

اجرای چندباره عملیات روی خروجی.

Channel Mask (chanmask)

انتخاب کانال‌هایی که روی آن‌ها عمل شود (R, G, B, A).

Pixel Format (format)

فرمت ذخیره‌سازی داده پیکسل‌ها (8-بیت، 16-بیت، 32-بیت، RGBA، مونو، Alpha-only و غیره).
📌 لیست کامل همان مقادیر متن اصلی است (rgba8fixed, srgba8fixed, rgba16float, …).


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

  • Input 0

  • Input 1


کانال‌های Info CHOP

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

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

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

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

  • aspectx: نسبت افقی

  • aspecty: نسبت عمودی

  • depth: عمق تکسچر (۲D یا ۳D)

  • gpu_memory_used: میزان حافظه GPU مصرف‌شده

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

  • total_cooks: تعداد دفعات Cook از ابتدای اجرا

  • cook_time: مدت زمان آخرین Cook (میلی‌ثانیه)

  • cook_frame: شماره فریم آخرین Cook (نسبت به تایم‌لاین کامپوننت)

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

  • cook_start_time: زمان شروع Cook (میلی‌ثانیه)

  • cook_end_time: زمان پایان Cook (میلی‌ثانیه)

  • cooked_this_frame: اگر در این فریم Cook شده باشد مقدار ۱ است

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

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