本 Wiki 开启了 HTTPS。但由于同 IP 的 Blog 也开启了 HTTPS,因此本站必须要支持 SNI 的浏览器才能浏览。为了兼容一部分浏览器,本站保留了 HTTP 作为兼容。如果您的浏览器支持 SNI,请尽量通过 HTTPS 访问本站,谢谢!
这里会显示出您选择的修订版和当前版本之间的差别。
后一修订版 | 前一修订版 | ||
vfx:houdini:vex:references [2019/04/30 13:13] – 创建 codinghare | vfx:houdini:vex:references [2021/11/11 08:08] (当前版本) – codinghare | ||
---|---|---|---|
行 1: | 行 1: | ||
======VEX Concepts & Refs====== | ======VEX Concepts & Refs====== | ||
//VEX 的相关概念、基础知识、语法等// | //VEX 的相关概念、基础知识、语法等// | ||
- | ===== ===== | + | ---- |
====Basics==== | ====Basics==== | ||
===Intro=== | ===Intro=== | ||
- | VEX 是一种 类 C / C++ 的**编译型语言**,主要用于写 shader 和自定义节点。其主要的灵感来自于 C、C++ 和 RSL(尼玛这一块基本全是照搬啊)。详细的来说,在 Houdini 中,VEX 的主要用于以下几个方面: | + | VEX 是一种 类 C / C++ 的**编译型语言**,主要用于写 shader 和自定义节点。其主要的灵感来自于 C、C++ 和 RSL。详细的来说,在 Houdini 中,VEX 的主要用于以下几个方面: |
* Rendering:Mantra 实际上使用 VEX 进行 shading 的计算,包括灯光,surface, | * Rendering:Mantra 实际上使用 VEX 进行 shading 的计算,包括灯光,surface, | ||
* Compositing:使用 '' | * Compositing:使用 '' | ||
行 11: | 行 11: | ||
* CHOPS:VEX CHOP 可以自定义 CHOPS。 | * CHOPS:VEX CHOP 可以自定义 CHOPS。 | ||
* Fur:程序化毛发是用 VEX 实现的。 | * Fur:程序化毛发是用 VEX 实现的。 | ||
- | ===Contexts=== | + | ==Contexts== |
- | 通过上面的介绍可知, | + | 通过上面的介绍可知,VEX 实际上是为指定的 Contexts (也就是 SOP / DOP 等等)服务的。根据不同的使用场景(contexts),可供 VEX 调用的函数 / 全局变量 / 语句 等等也会有不同。 |
+ | \\ | ||
+ | \\ | ||
+ | SideFX 提供了关于 Context 的参考:[[https:// | ||
+ | ====Functions==== | ||
+ | ===导入外部自定义函数=== | ||
+ | Houdini 中,自定义 VEX 函数存储到外部的 '' | ||
+ | <code bash> | ||
+ | HOUDINI_VEX_PATH = ”your address of .h file“ | ||
+ | </ | ||
+ | 接下来在 Wrangle 节点中,包含对应的头文件即可。写法与 C 一致: | ||
+ | <code vex> | ||
+ | #include " | ||
+ | </ | ||
+ | Houdini 的 env 文件位置: | ||
+ | <code bash> | ||
+ | %HOME%/ | ||
+ | ~/ | ||
+ | ~/ | ||
+ | </ | ||