Skip to main content

TouchDesigner 是由加拿大 Derivative 公司开发的基于节点的可视化编程语言,专为实时交互式多媒体内容创作而设计。

它从 Houdini 分支发展而来,发展历程体现了数字媒体技术从 OpenGL Vulkan 的重大转变,同时保持了对实时交互的核心支持。经过多年迭代,已成为视觉艺术家、交互设计师和开发者的强大工具。其核心优势在于基于节点的可视化编程GPU 加速渲染丰富的硬件集成能力。

官方网站:derivative.ca
最近更新日期:

当前官方版本:2023.12370,下载日期为 2025 年 5 月 21 日,检查日:2025年10月6日。

开发信息:从 Houdini 分支到独立平台

TouchDesigner 的诞生与计算机图形学的发展密切相关:

  • 起源与创立:
    • 最初源自 Houdini 4.1 代码库,由 Greg Hermanovic 于 2001 年创建。
    • Greg Side Effects SoftwareHoudini 开发者)的创始人之一,后离开创立 Derivative 公司专注于实时图形技术
  • 公司背景:
    • Derivative 公司成立于 2000 年,由 Greg Hermanovic、Rob BairosJarrett Smith 共同创立。
    • 公司总部位于加拿大多伦多,专注于开发实时视觉创作工具
  • 开发理念:
    • 在 90 年代末,Greg Hermanovic 意识到 “GPU 实时渲染” 是未来方向,因此从 Houdini 衍生出 TouchDesigner,目标是创建一个程序化的实时多功能工具。
  • 早期版本:
    • 2002 至 2007 年间,TouchDesigner 版本号采用后缀 007 至 017 的数字表示,这一阶段主要作为 VJ 实时图形软件发展。
  • 开源与社区:
    • TouchDesigner 虽然是专有软件,但拥有活跃的全球社区,包括 2015 年成立的中文社区(2019 年并入 TEA 新媒体教育社区),以及大量开源插件和社区贡献的内容。

技术创新:节点编程与 GPU 加速的融合

TouchDesigner 的核心竞争力在于其独特的技术架构和创新功能:

  • 基于节点的可视化编程:

    • 节点网络架构:采用基于节点的可视化编程范式,用户通过连接节点的输入输出构建程序逻辑。
    • 多语言支持:支持多种编程方式,包括:
      • 原生节点操作(无需编程)
      • Python 脚本(从 088 版本引入)
      • GLSL 着色器编程
      • JavaScript 交互(部分版本支持)
    • 模块化设计:节点分为多个家族(TOPs、CHOPs、SOPs、DATs 等),每个家族负责特定功能,形成清晰的工作流程。
  •  GPU 加速渲染技术

    • 渲染引擎演变:
      • 2008-2022 年:使用 OpenGL 作为底层图形 API
      • 2022 年至今:完全迁移至
    • Vulkan 迁移优势:
      • 显著减少图形驱动开销,提高性能
      • 增强跨平台一致性(Windows、macOS)
      • 更好的 HDR 支持和计算着色器优化
      • 为未来 Linux 或移动版本提供更好的可移植性
    • 高 DPI 渲染:使用 Slug 库实现高 DPI 屏幕上的清晰 UI 渲染,支持分辨率独立的文本和界面元素。
  • 实时交互与多设备支持

    • 硬件集成:支持多种输入设备,包括 Kinect、Leap Motion、ZED 相机、OAK-D、Orbbec、SICK LIDAR 等传感器。
    • 多通道同步:内置精确的时间同步机制,支持多显示器、多投影仪和多设备协同工作。
    • 网络通信:支持多种网络协议,包括 TCP/IP、UDP、NDI、WebRTC 等,便于分布式系统构建。
    • 专业接口:支持 SDI、HDMI 等专业视频接口,以及 VST 音频插件,实现广播级和音频制作级别的集成。

版本迭代中的重要技术更新

TouchDesigner 的发展历程中经历了多次重大技术突破:

  •  077 版本(2008 年):架构重写

    • 完全重写:2008 年发布的 TouchDesigner 077 是对之前版本的彻底重写。
    • 核心技术更新:
      • 引入完全程序化的 OpenGL 合成和效果管道
      • 实现基于 GPU 的渲染系统,大幅提升性能
      • 重新设计用户界面,提高可用性
      • 支持更复杂的节点网络和数据流动
    • 编程语言:使用 tscript 作为主要脚本语言(Python 支持后来在 088 版本中引入)。
    • 正式发布:077 版本于 2011 年 12 月 8 日正式发布(从测试版到正式版)。
  •  088 版本(2010 年代中期):Python 引入

    • Python 集成:引入 Python 脚本支持,成为 “游戏规则改变者”。
    • 功能扩展:
      • 增强与外部系统的交互能力
      • 简化复杂逻辑的实现
      • 为开发者提供更强大的扩展能力
    • 性能优化:改进内存管理和渲染效率,支持更复杂的项目。
  • 099 版本(2019 年):Unicode 与物理模拟

    • Unicode 支持:全面支持 Unicode,扩展了对世界上大多数语言的文本支持,包括阿拉伯语、中文、希伯来语、日语、韩语和俄语等。
    • 物理模拟:添加基于 Bullet 物理引擎的刚体动力学系统,允许在 3D 对象中添加物理效果。
    • 新 UI 系统:引入 Widgets 系统替代旧的 TUIK UI 工具包,使用 Python 作为底层实现,提高可定制性和集成度。
    • 绑定系统:添加参数绑定(Binding)功能,实现参数之间的双向同步,便于 UI 与项目逻辑的集成。
    • NDI 音频支持:为 NDI 视频传输添加音频支持,增强广播应用能力。
  • 2018.41570 版本(2018 年末):底层库更新

    • 多库升级:
      • 更新至 CUDA 9.2
      • 更新至 ffmpeg 4.0
      • 更新至 OpenEXR 2.3.0
      • 更新至 Alembic 1.7.9
      • 更新 FBX 至 2019.0
      • 以及其他多个 SDK 的更新
    • 性能优化:改进多线程处理和资源管理,提高大型项目的稳定性。
  • 2021.38110 版本(2021 年末):Vulkan 实验性支持

    • Vulkan 迁移开始:作为实验性特性引入 Vulkan 渲染引擎,开始 OpenGL 到 Vulkan 的过渡。
    • 高 DPI 支持:改进 UI 渲染,使用 Slug 库实现分辨率独立的文本渲染,解决高分辨率屏幕上 UI 模糊问题。
    • VST 音频支持:引入 VST3 音频插件支持,允许在 TouchDesigner 中加载和控制虚拟乐器和效果器。
    • 注释与标注系统:添加网络注释和标注功能,便于项目文档和协作。
  • 2022.20000 版本(2022 年):全面 Vulkan 化

    • 全面转向 Vulkan:彻底移除 OpenGL,完全迁移至 Vulkan API,带来性能提升和跨平台一致性。
    • 网络工具增强:添加新的网络工具,包括 Network Comments、Network Boxes 和 Annotate COMP,改善项目组织和文档。
    • DAT 查看器改进:添加 Python、GLSL、JSON 和 XML/HTML 的语法高亮,提升代码编辑体验。
    • 高 DPI 面板渲染:重写 UI 渲染架构,支持分辨率独立的面板组件,可在任何分辨率或显示缩放设置下完美呈现。
    • 新 Text COMP:使用 Slug 库直接渲染文本到屏幕,替代旧的 Field COMP 和部分 Text TOP 功能。
    • SDI 和视频管道升级:
      • 支持 12 位输入和输出格式,增强 HDR 和广色域支持
      • 新增对 Deltacast 采集卡的原生支持
      • 升级 Bluefish444 SDK,支持新的高带宽 Khronos 卡
    • Python 升级:核心 Python 升级到 3.9.5 版本,支持 f-strings 和 walrus 操作符等新特性。
    • ParGroups 功能:添加 ParGroups 和 ParGroup Execute DAT,更自然地处理相关参数组。
  • 2023 版本(2023 年 12 月):传感器与 AI 增强

    • 传感器支持扩展:
      • 新增对 OAK-D 相机(Luxonis)的支持
      • 支持 Orbbec Femto Mega 和 Bolt 相机
      • 添加 SICK LIDAR 传感器支持
      • 增强 ZED 传感器的全身跟踪能力
      • 支持 MoSys 相机跟踪系统
      • 实现 Leap Motion 在 macOS 上的支持
    • NVIDIA AI 功能:
      • 新增 Body Tracking CHOP,可在 RTX GPU 上实现最多 34 个关键点的 2D 和 3D 跟踪
      • 添加 NVIDIA Upscale TOP,利用 NVIDIA Maxine Video Effects SDK 提升视频分辨率
    • 专业视频支持:
      • 获得 Apple ProRes 编解码器认证,支持在 Windows 和 macOS 上使用 ProRes
      • 添加 Timecode CHOP,用于创建和管理 SMTPE 时间码
    • Python 升级:升级至 Python 3.11,带来 10-60% 的性能提升和更好的错误报告。
    • 新 TOP 组件:
      • Bloom TOP:添加辉光效果
      • GLSL COMP:使用 GLSL 着色器直接在面板中渲染图像
    • Engine COMP 增强:改进.tox 文件加载控制和引擎进程管理,添加初始化和播放控制参数页。

最后更新日期:持续演进的创作平台

TouchDesigner 保持着活跃的开发节奏,持续引入新功能和优化:

  • 当前官方版本:2023.12370,下载日期为 2025 年 5 月 21 日,检查日期:2025年10月5日。
  • 最近更新内容:
    • 2025 年 6 月 6 日:提供包含新 Point Operator 家族(POPs)的实验性构建
    • 2025 年 5 月 21 日:发布 2023.12370 官方版本
    • 2024 年 3 月 4 日:发布 2023.11600 官方版本
    • 2024 年 2 月 7 日:发布 2023.11510 稳定版本
  • 开发周期:TouchDesigner 通常每隔一个月发布一次新版本,频繁添加新功能和改进
  • 未来方向:从最近的更新可以看出,TouchDesigner 正在向以下方向发展:
    • 增强与专业视频和音频工作流程的集成
    • 深化与人工智能和机器学习技术的结合
    • 提升跨平台一致性和性能
    • 扩展对新兴硬件(如高级传感器和显示技术)的支持

Leave a Reply