SuperAPI AI 工具集

vvvv-fundamentals

通用与其它

查看项目

更新于 10-16 01:48

技能介绍

用途:vvvv gamma 是一款面向 .NET 8 的可视化编程环境,将节点式补丁与 C# 代码生成结合,目标平台为 Stride(3D 引擎)与 .NET API。本项目用于讲解其核心概念。

主要能力:程序通过可视化编辑器连接节点构建;属于实时编程环境,补丁和 C# 代码修改无需重启即可生效。vvvv 通过 Roslyn 在每次保存时把 C# 源文件编译为内存中的程序集。文档为 .vl 文件(基于 XML,可版本控制),包含 Patch(可视化程序)与 Definition(类型、操作),可通过 Patch Explorer 查看类型层级。

执行模型:基于帧评估,主循环每帧(约 60 FPS)评估整个图;评估顺序由图依赖决定而非画布坐标;Process 节点在帧间保持状态(构造→Update→Dispose),Operation 节点为每帧求值的纯函数;已连接节点会被评估,未连接子图会被跳过。

实时编译:补丁修改立即生效且保留节点状态;.sdsl 着色器文件保存时实时重载。C# 有两种工作流:引用 .csproj 源码项目时由 vvvv 用 Roslyn 编译并支持热重载,编译成功时受影响节点重启生命周期(Dispose→新构造→Update),静态字段会重置,编译出错则继续运行最后一次有效代码;引用预编译 DLL 或 NuGet 包时仅在启动时加载一次,需外部 dotnet build 后重启 vvvv。

关键概念与类型:pin 为节点/区域的输入输出,pad 用于在操作补丁中读写属性,link 连接 pin 并决定数据流与执行顺序;Spread<T> 连接到单值输入时自动迭代。数据类型包括 Spread<T>、SpreadBuilder<T>、Float32/Int32 等基础类型、Vector2/3/4 与 Color4。文件类型涵盖 .vl、.sdsl、.cs、.csproj、.nuspec。

使用方式与适用场景:补丁适合原型、数据流、UI 组合与实时参数调整;C# 适合自定义节点、性能关键代码、复杂算法与 .NET 库互操作。生态通过 NuGet 包扩展,涉及 3D/2D 渲染、硬件 I/O、网络、计算机视觉、音频等领域。

限制:二进制引用不支持热重载;静态字段在重载时重置;具体版本要求与细节以官方资料为准,本文未提供完整安装与配置步骤。