What & How & Why

这是本文档旧的修订版!


VEX Concepts & Refs

VEX 的相关概念、基础知识、语法等

Basics

Intro

VEX 是一种 类 C / C++ 的编译型语言,主要用于写 shader 和自定义节点。其主要的灵感来自于 C、C++ 和 RSL。详细的来说,在 Houdini 中,VEX 的主要用于以下几个方面:

  • Rendering:Mantra 实际上使用 VEX 进行 shading 的计算,包括灯光,surface, 置换 和 fog。
  • Compositing:使用 VEX GeneratorVEX filter 可以自定义 COPS。
  • Particles:使用 VEX 基本可以做到 POPS 中的任何事情。VEX 可以将许多 POPS 中的操作整合到一起,因此通常也较普通的 POP 网络快。
  • Modeling:VEX SOP 可以方便的操控 point attributes,包括移动点、修改速度、修改颜色等等。VEX 也支持对点的编组。
  • CHOPS:VEX CHOP 可以自定义 CHOPS。
  • Fur:程序化毛发是用 VEX 实现的。
Contexts

通过上面的介绍可知,VEX 实际上是为指定的 Contexts (也就是 SOP / DOP 等等)服务的。根据不同的使用场景(contexts),可供 VEX 调用的函数 / 全局变量 / 语句 等等也会有不同。

SideFX 提供了关于 Context 的参考:VEX contexts

Functions

Geometry