Natron G‘MIC Pixel Sort 节点详解:像素排序特效的原理、全部参数与文档自动生成机制 音视频视频处理图形学桌面应用【免费下载链接】NatronOpen-source video compositing software. Node-graph based. Similar in functionalities to Adobe After Effects and Nuke by The Foundry.项目地址https://gitcode.com/gh_mirrors/na/Natron点击查看免费下载本文围绕 Natron 内置 GMIC 插件集中的eu.gmic.PixelSort节点展开完整解读其像素排序Pixel Sorting算法原理、15 个控制参数的类型、默认值与取值含义并结合 Natron 仓库源码说明这类插件文档是如何由引擎自动生成并转换为 RST 的。读完后你将掌握该节点的完整参数语义、适用场景以及验证/再生 Natron 插件静态文档的方法。1. 节点定位GMIC Pixel Sort 是什么eu.gmic.PixelSort是 Natron 随二进制发行版捆绑的 openfx-gmic 插件集GMIC 节点组中的一个滤镜节点插件标识符为eu.gmic.PixelSort文档标注版本为1.0This documentation is for version 1.0 of GMIC Pixel Sort。Pixel Sort像素排序是一类数据破坏风格data-mosh/glitch视觉效果沿水平或垂直方向把图像像素拆成一段段游程run再按选定的颜色/亮度判据对这些像素重新排序从而产生拉伸、条纹、色带撕裂等标志性 glitch 效果。按 官方节点文档 的 Description 章节说明作者为David TschumperleGMIC 框架作者节点文档中标注最近更新时间为 2016-05-09该滤镜实现的是公开文章描述的某一种像素排序算法变体原文档在 Description 中给出了参考链接该节点是 GMIC 框架gmic.eu的 OpenFX 封装wrapper由 Tobias Fleischer 与 Frederic Devernay 编写。在 CHANGELOG.md 中可以看到GMIC 插件集自早期版本起随二进制发行版捆绑且长期标注为betaGMIC plugins by Tobias Fleischer are now bundled with the binary distributions (beta)后续版本更新时也注明 which are still beta。因此使用时的实际前提是该节点属于 beta 状态的第三方插件集参数行为以节点当前版本1.0的文档为准。2. 输入Inputs该节点只有一个输入且为必选输入InputDescriptionOptionalSource—No即将被像素排序的源图像连接Source即可。由于是单输入节点在节点图中它可以直接串在 Read 节点之后或串在任意上游合成链路之后。3. 参数总览节点文档中的 Controls 表格共列出15 个参数。按文档中 Sorting parameters / Masking parameters 的分组提示可分为排序、遮罩、输出/性能、随机与日志四大类。下表先给出全量参数速查参数名/脚本名、类型、默认值随后分小节详解每个参数的取值。参数标签 / 脚本名类型默认值Order /OrderChoiceIncreasingAxis /AxisChoiceX-axisSorting Criterion /Sorting_CriterionChoiceRedMask By /Mask_ByChoiceCriterionLower Mask Threshold (%) /Lower_Mask_Threshold_Double0Higher Mask Threshold (%) /Higher_Mask_Threshold_Double100Mask Smoothness (%) /Mask_Smoothness_Double0Invert Mask /Invert_MaskBooleanOffPreview Mask /Preview_MaskBooleanOffOutput Layer /Output_LayerChoiceLayer 0Resize Mode /Resize_ModeChoiceDynamicIgnore Alpha /Ignore_AlphaBooleanOffPreview/Draft Mode /PreviewDraft_ModeBooleanOffGlobal Random Seed /Global_Random_SeedInteger0Animate Random Seed /Animate_Random_SeedBooleanOffLog Verbosity /Log_VerbosityChoiceOff4. 排序参数决定怎么排4.1 Order排序方向Choice 类型默认Increasing。可选值Decreasing游程内像素按判据从高到低排列Increasing游程内像素按判据从低到高排列。两者决定同一组被选中像素的排列方向是产出不同 glitch 质感的最快开关之一。4.2 Axis排序轴Choice 类型默认X-axis。可选值X-axis沿水平行方向排序最典型的横向撕裂效果Y-axis沿垂直列方向排序竖向拉伸效果X-axis Then Y-axis先水平后垂直做两轮排序Y-axis Then X-axis先垂直后水平做两轮排序。双轴串联排序会叠加两次重排效果更混乱适合做强调性的 glitch 帧。4.3 Sorting_Criterion排序判据Choice 类型默认Red。可选值共 12 种Red / Green / Blue分别按 R、G、B 通道值排序产生单一通道主导的色带撕裂Intensity按强度各通道综合强度排序Luminance按亮度luma排序Lightness按 L* 式明度排序观感更接近人眼对黑→白的感知Hue按色相排序产生按色相分段的彩虹撕裂Saturation按饱和度排序Minimum / Maximum按各通道的最小值/最大值排序Random随机排序——此时结果依赖Global_Random_Seed可与Animate_Random_Seed配合做随机噪声动画。判据直接决定游程内像素的比较键是效果风格的主控参数。5. 遮罩参数决定排哪里5.1 Mask_By遮罩生成方式Choice 类型默认Criterion。可选值Bottom Layer以下层bottom layer的 alpha/内容作为遮罩Criterion直接以排序判据值见Sorting_Criterion的灰度作为遮罩Contours以边缘/轮廓检测生成遮罩通常只对边缘附近的像素排序保留画面主体Random随机生成遮罩结合随机种子参数可产出不可预测的破坏区域。5.2 遮罩阈值与平滑遮罩生成后是一个 0–100% 的灰度值三个 Double 参数控制其裁剪与柔化Lower_Mask_Threshold_默认 0低于该百分比的遮罩区域不参与排序Higher_Mask_Threshold_默认 100高于该百分比视为完全参与。两者共同构成一个区间只有落在区间内的像素按遮罩强度加权被排序Mask_Smoothness_默认 0对遮罩做平滑处理数值越大排序区域的边界越柔和避免硬边。默认0 / 100 / 0表示整个画面、无衰减地参与排序——这是最暴力的默认观感实际创作中常需要收窄区间或加平滑。5.3 Invert Mask / Preview MaskInvert_MaskBoolean默认 Off取反遮罩即只排序原本被遮罩排除的区域Preview_MaskBoolean默认 Off在输出中直接显示遮罩本身而非排序结果用于调试遮罩形状与阈值区间——这是排查为什么这一段没有被排序的最直接手段。5.4 Output Layer输出通道Choice 类型默认Layer 0。可选值Merged将排序结果与原始层合并输出Layer 0 … Layer -9输出到 Natron 的某一具体通道层Layer 0 为默认主通道负编号对应 Natron 通道体系中的其他层。Natron 支持多通道合成README 中说明可处理多层 EXR、在任意节点选择任意层/通道此参数即允许把排序结果写入指定通道层便于与其他层做后续合成。6. 输出、性能与调试参数6.1 Resize_Mode处理分辨率Choice 类型默认Dynamic。可选值Fixed (Inplace)按原尺寸原位处理输出分辨率始终固定Dynamic跟随输入分辨率动态处理Downsample 1/2 / 1/4 / 1/8 / 1/16先降到 1/2、1/4、1/8、1/16 尺寸再排序输出分辨率随之缩小。像素排序对高分辨率帧代价很高排序是全局重排而非逐像素卷积降采样模式是快速预览效果、控制渲染时间的主要手段与 Natron 本身支持的 proxy/低分辨率渲染思路一致。6.2 Ignore_Alpha忽略 alphaBoolean默认 Off。开启后排序计算不使用 alpha 通道信息可用于避免透明像素干扰判据值例如按亮度排序时透明区被当作全黑或按 alpha 排除无效像素的行为调整。6.3 PreviewDraft_Mode预览/草稿模式Boolean默认 Off。开启后以更低精度的草稿方式计算专为交互预览场景设计最终渲染时通常应关闭以保证完整质量。7. 随机与日志参数Global_Random_SeedInteger默认 0全局随机种子。凡涉及随机的参数Sorting_Criterion Random、Mask_By Random都由该种子驱动固定种子可得到可复现的结果是动画与批量渲染中保证结果一致的关键。Animate_Random_SeedBoolean默认 Off开启后种子随帧时间变化使随机排序/遮罩逐帧不同得到持续演化的 glitch 动画。Log_VerbosityChoice默认Off日志详细级别可选Off / Level 1 / Level 2 / Level 3级别越高输出的调试信息越多配合 Natron 的 Log 窗口观察插件内部状态。8. 源码级解析这份文档是怎么生成的eu.gmic.PixelSort.rst 文件头部有一段 HTML 注释Do not edit this file! It is generated automatically by Natron itself.。结合仓库源码可以确认其完整生成链路引擎侧导出 MarkdownAppInstance::exportDocs()Engine/AppInstance.cpp遍历所有已加载插件其中 GMIC 组在分组顺序中显式列出见 Engine/AppInstance.cpp 的groups GMIC为每个插件实例化一个节点并调用Node::makeDocumentation(false)把插件描述、输入表、各 knob 的类型/默认值/选项列表渲染成 Markdown 文件。文档内容的拼装Node::makeDocumentation()Engine/NodeDocumentation.cpp负责具体排版——输出*This documentation is for version X.Y of ...*版本号行L403输出 Description 段落L405-L419含插件描述文本即 GMIC 节点里的作者/算法出处说明输出 Inputs 表L428-L439Optional 列由isInputOptional决定Pixel Sort 的 Source 因此显示 No输出 Controls 表L440-L457每个非 secret 且由插件声明的 knob 生成一行 标签 /脚本名| 类型 | 默认值 | 功能Choice 类型会把全部选项以加粗形式列在 Function 列——这正是本文第 3–7 节表格内容的来源表中CONTROLSTABLEPROPS标记L443留给后处理脚本替换。脚本侧转换为 RSTtools/genStaticDocs.sh 用--export-docs运行NatronRenderer导出 markdownL66-L67再用 pandoc要求 2.3.1脚本显式拒绝 2.4 以保证 grid table 输出转换为 RSTL72-L75随后用 sed 完成若干修补L82-L95在文件头插入.. _eu.gmic.PixelSort:标签L84-L85把 markdown 多行 hack 转成 RST 表格内的管道符L91将CONTROLSTABLEPROPS替换为 RST 的tabularcolumns列宽定义与cssclass: longtableL93——对应 PixelSort 文档第 39-41 行的表格列宽声明修正:ref:交叉引用格式L104-L109。分组索引页GMIC 节点组的目录页 Documentation/source/_groupGMIC.rst 同样由脚本生成其 toctree 中列出全部 300 个 GMIC 节点plugins/eu.gmic.PixelSort.rst位于其中L234。该文件头部注释与 PixelSort 文档一致generated automatically by Natron itself且 Documentation/README-Natron-documentation.md 明确提示 Dont edit index.rst or files prefixed with _, or anything in the plugins folder.。也就是说本文引用的参数类型、默认值、选项列表并不是手工维护的而是从插件二进制的 knob 声明实时导出——若插件版本更新文档也会随重新生成而变化。本地复现该流程需要 pandoc 2.3.1、一个可用的 Natron 构建含 openfx-gmic并按 Documentation/README-Natron-documentation.md 中的genStaticDocs.sh用法设置OFX_PLUGIN_PATH等环境变量运行。9. 在 Natron 中如何使用该节点从仓库结构与实际分发方式看使用前提与操作路径如下获取带 GMIC 插件的 Natron二进制发行版默认捆绑 openfx-gmicREADME.md 的 Features 与 Installing 章节均列有 OpenFX-GMICWindows 安装脚本 tools/MINGW-packages/mingw-w64-natron-setup/Natron.iss 中对应组件安装到Plugins\OFX\Natron\GMIC.ofx.bundle源码构建需参照 INSTALL_MACOS.md 等文档单独构建 openfx-gmic。创建节点按 Documentation/source/_groupGMIC.rst 说明节点组可通过点击左侧工具栏按钮或在 Node Graph 区域右键菜单获得在 GMIC 分组中找到GMIC Pixel Sort并连上 Source 输入。调参建议基于上述参数语义先开Preview_Mask检查遮罩范围用阈值区间与Mask_Smoothness_圈定要破坏的区域用Sorting_CriterionAxis组合确定风格Order切换方向做 A/B 对比高分辨率素材先切到Downsample 1/4或打开PreviewDraft_Mode快速预览满意后恢复Fixed (Inplace)/关闭草稿模式做最终渲染做随机动画时固定Global_Random_Seed保证可复现需要逐帧演化再打开Animate_Random_Seed排查问题把Log_Verbosity提到 Level 2/3配合Preview_Mask观察。注意 beta 状态CHANGELOG 多次标注 GMIC 插件仍为 beta且不同 GMIC 大版本间参数不保证向后兼容Fix many GMIC plugins. Changes are not backward compatible and existing graphs may need to be reworked跨版本迁移工程文件时应核对节点参数。10. 小结eu.gmic.PixelSort是 Natron GMIC 插件集中实现像素排序 glitch 效果的滤镜节点以单一必选Source输入为前提通过 15 个参数完整控制按什么判据排Sorting_Criterion、Order、Axis—排哪些区域Mask_By与三个阈值/平滑参数—结果写到哪里Output_Layer—以及分辨率、随机种子与日志级别等工程化选项。其随文档发布的 RST 文件 由Node::makeDocumentation()导出 Markdown、经 tools/genStaticDocs.sh 的 pandoc sed 流水线自动生成这既是 Natron 全部插件文档的通用生产方式也解释了为何文档中的参数类型、默认值与选项列表能与插件二进制保持同步。相关文件索引节点文档源文件Documentation/source/plugins/eu.gmic.PixelSort.rstGMIC 节点组目录页Documentation/source/_groupGMIC.rst文档生成入口Engine/AppInstance.cpp文档拼装实现Engine/NodeDocumentation.cpp静态文档转换脚本tools/genStaticDocs.sh文档构建说明Documentation/README-Natron-documentation.md赞分享音视频视频处理图形学桌面应用【免费下载链接】NatronOpen-source video compositing software. Node-graph based. Similar in functionalities to Adobe After Effects and Nuke by The Foundry.项目地址https://gitcode.com/gh_mirrors/na/Natron点击查看免费下载相关推荐Natron GMIC Oldschool 8bits 节点参数详解与自动文档生成机制Natron GMIC Oldschool 8bits 节点参数详解与自动文档生成机制 本篇技术指南围绕 Natron 内置插件文档 eu.gmic.Olds音视频视频处理图形学桌面应用Natron GMIC Gradient Norm 节点详解eu.gmic.GradientNorm 参数全解与文档自动生成机制Natron GMIC Gradient Norm 节点详解eu.gmic.GradientNorm 参数全解与文档自动生成机制 本篇指南围绕 Natron音视频视频处理图形学桌面应用Natron 中 GMIC Frame Blur 节点完全指南参数详解与自动文档生成机制Natron 中 GMIC Frame Blur 节点完全指南参数详解与自动文档生成机制 GMIC Frame Blur插件 ID eu.gmic.F音视频视频处理图形学桌面应用创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考