欢迎光临散文网 会员登陆 & 注册

重复造轮子の达芬奇DCTL编程参考文档part.2

2023-04-07 15:28 作者:PaletteLooks  | 我要投稿

P.S达芬奇错误日志查看地址:

一般出bug

macOS

Windows 

可以在错误日志中搜索 编译错误 compilation faild 查看具体错误来debug

  • macOS: /Library/Application Support/Blackmagic Design/DaVinci Resolve/logs/davinci_resolve.log

  • Windows: C:\Users\<your username>\AppData\Roaming\Blackmagic Design\DaVinci Resolve\Support\logs\ResolveDebug.txt

  • Linux: /opt/resolve/logs


5.使用自定义操控UI的dctl

可以从编辑页面和色彩页面效果库中添加自定义DCTL效果(Transform DCTL类型)。要访问它们,请双击或拖动此插件条目: - 编辑页面 > 效果库 > OpenFX > 滤镜 > ResolveFX 色彩 > DCTL。 - 色彩页面 > OpenFX > ResolveFX 色彩 > DCTL。 添加后,点击DCTL列表下拉框,选择所需的DCTL效果以应用效果。

要将新的DCTL效果添加到此列表,请将适当的DCTL文件放在DaVinci Resolve LUT目录中。 要编辑已加载的DCTL效果, - 在文件浏览器中导航到DaVinci Resolve LUT目录。 - 在文本编辑器中加载适当的DCTL文件进行更改。 - 保存文件。 - 在DaVinci Resolve的检查器中,按“重新加载DCTL”按钮以立即查看反映的结果。

DaVinci Resolve支持5种类型的UI元素,使用DEFINE_UI_PARAMS函数,您可以为DCTL插件定义自定义控件并将它们链接到DCTL文件中的变量。

1.浮点滑块 Float SliderDEFINE_UI_PARAMS([变量名variable name], [标签tag], DCTLUI_SLIDER_FLOAT, [默认值], [最小值], [最大值], [滑块步级step]) 

2.整数滑块Int Slider: DEFINE_UI_PARAMS([变量名], [标签], DCTLUI_SLIDER_INT, [默认值], [最小值], [最大值], [滑块步级]) 

3.数值框 Value Box DEFINE_UI_PARAMS([变量名], [标签], DCTLUI_VALUE_BOX, [默认值]) 

4.复选框 Check Box: DEFINE_UI_PARAMS([变量名], [标签], DCTLUI_CHECK_BOX, [默认值]) 

5.组合框 Combo Box : DEFINE_UI_PARAMS([变量名], [标签], DCTLUI_COMBO_BOX, [默认值], [枚举列表enum list], [枚举标签列表enum list])

每个DCTL插件可以为每种类型有多达64个UI控件。

参数解释: 

- [变量名variable name]与UI元素关联。此变量可以在变换函数内部使用。

- [标签名称tag] 文本显示在UI控件旁边,向DCTL的用户描述控件名称。 

- [UI元素DCTLUI_xxxx_xxxx] - UI元素 - 允许DaVinci Resolve构建适当的UI控件。 

- [默认值]、[最小值]、[最大值]和[步级]均为整数(除浮点滑块外,它们为浮点数)

- [枚举列表enum list] - 用大括号"{}"定义,可在Main Entry函数中使用。

- [枚举标签列表enum list] - 用大括号"{}"中的字符串定义,用于在UI中指示枚举值。它必须包含与[枚举列表]相同数量的项目

示例: 

    DEFINE_UI_PARAMS(gainR, Red Gain, DCTLUI_SLIDER_FLOAT, 1.0, 0.0, 10.0, 0.1)

    DEFINE_UI_PARAMS(iters, Iteration, DCTLUI_SLIDER_INT, 1, 0, 10, 1)

    DEFINE_UI_PARAMS(gain, Master Gain, DCTLUI_VALUE_BOX, 2.0)

    DEFINE_UI_PARAMS(apply, Apply, DCTLUI_CHECK_BOX, 1)

    DEFINE_UI_PARAMS(opt, Channel Option, DCTLUI_COMBO_BOX, 1, { RED, GREEN, BLUE }, { Channel Red, Channel Green, Channel Blue })

通过用户控件、撤消操作或DCTL逻辑对自定义UI参数进行的更改会同时反映在Resolve UI和DCTL变量中。

6.DCTL所支持的数学函数列表

float _fabs(float x)                  # 返回x的绝对值

float _powf(float x, float y)        # 计算x的y次方

float _logf(float x)                  # 计算x的自然对数值

float _log2f(float x)                # 计算x的以2为底的对数值

float _log10f(float x)              # 计算x的以10为底的对数值

float _expf(float x)                # 计算ex,即x的以e为底的指数

float _exp2f(float x)               # 计算2x,即x的以2为底的指数

float _exp10f(float x)             # 计算10**x,即x的以10为底的指数

float _copysignf(float x, float y)  # 输出x,其符号更改为y的符号

float _fmaxf(float x, float y)      # 对比输出较大的x或y

float _fminf(float x, float y)      # 对比输出较小的x或y

float _clampf(float x, float min, float max)        # 将x限制在[min, max]区间内

float _saturatef(float x)                             # 将x限制在[0.0f, 1.0f]区间内

float _sqrtf(float x)                                 # 计算x的非负平方根

float _ceilf(float x)                                 # 返回大于或等于x的最小整数值

float _floorf(float x)                               # 返回小于或等于x的最大整数值

float _truncf(float x)                          # 返回最接近但不大于x的绝对值的整数值

float _round(float x)                       # 返回最接近x的整数值,四舍五入时远离零

float _fmod(float x, float y)               # 计算x/y的浮点余数

float _hypotf(float x, float y)             # 计算x和y的平方和的平方根

float _cosf(float x)                        # 计算x的余弦值(以弧度为单位)

float _sinf(float x)                        # 计算x的正弦值(以弧度为单位)

float _cospif(float x)                     # 计算(x * pi)的余弦值(以弧度为单位)

float _sinpif(float x)                     # 计算(x * pi)的正弦值(以弧度为单位)

float _tanf(float x)                       # 计算x的正切值(以弧度为单位)

float _acosf(float x)                     # 计算x的反余弦主值

float _asinf(float x)                     # 计算x的反正弦主值

float _atan2f(float y, float x)      

# 计算y/x的反正切主值,使用两个参数的符号来确定返回值的象限

float _atan2f(float y, float x)  

# 计算y/x的主值反正切,使用两个参数的符号确定返回值的象限

float _acoshf(float x)                # 计算x的逆双曲余弦的主值

float _asinhf(float x) # 计算x的逆双曲正弦的主值

float _atanhf(float x) # 计算x的逆双曲正切

float _coshf(float x) # 计算x的双曲余弦

float _sinhf(float x) # 计算x的双曲正弦

float _tanhf(float x) # 计算x的双曲正切

float _fdimf(float x, float y) 

# 返回x与y之间的正差值:如果x > y,则为x - y,如果x <= y,则为+0

float _fmaf(float x, float y, float z) 

# 将(x * y) + z作为单个操作计算

float _rsqrtf(float x) # 计算x的平方根的倒数

float _fdivide(float x, float y) # 返回x / y

float _frecip(float x) # 返回1 / x

int isinf(float x) # 当且仅当x为无穷值时返回非零值

int isnan(float x) # 当且仅当x为NaN值时返回非零值

int signbit(float x) # 当且仅当x的符号位被设置时返回非零值

T _mix(T x, T y, float a) # T用于表示函数可以接受float、float2、float3、float4作为参数类型,返回:(x + (y - x) * a)。"a"必须是范围在[0.0f, 1.0f]内的值。否则,返回值未定义。

float _frexp(float x, int exp) # 从x中提取尾数和指数。返回的尾数m是一个大小在区间[1/2, 1)或0的浮点数, exp将更新为整数指数值,其中x = m * 2^exp

float _ldexp(float x, int exp) # 返回(x * 2^exp) 

注意:浮点值后面必须带有'f'字符(例如1.2f)

可用的整数数学函数列表

int abs(int x) # 返回x的绝对值

int min(int x, int y) # 返回x和y中较小的值

int max(int x, int y) # 返回x和y中较大的值


重复造轮子の达芬奇DCTL编程参考文档part.2的评论 (共 条)

分享到微博请遵守国家法律