What & How & Why

差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录前一修订版
后一修订版
前一修订版
vfx:houdini:vex:references [2019/04/30 13:18] – [Contexts] codingharevfx: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, 置换 和 fog。   * Rendering:Mantra 实际上使用 VEX 进行 shading 的计算,包括灯光,surface, 置换 和 fog。
   * Compositing:使用 ''VEX Generator'' 和 ''VEX filter'' 可以自定义 COPS。   * Compositing:使用 ''VEX Generator'' 和 ''VEX filter'' 可以自定义 COPS。
行 16: 行 16:
 \\ \\
 SideFX 提供了关于 Context 的参考:[[https://www.sidefx.com/docs/houdini/vex/contexts/index.html|VEX contexts]] SideFX 提供了关于 Context 的参考:[[https://www.sidefx.com/docs/houdini/vex/contexts/index.html|VEX contexts]]
 +====Functions====
 +===导入外部自定义函数===
 +Houdini 中,自定义 VEX 函数存储到外部的 ''.h'' 文件中,然后在需要使用的时候导入并调用就可以。该过程分两部:\\ \\ 首先需要指定 ''.h'' 文件的位置。 Houdini 有一个专门的环境变量:''HOUDINI_VEX_PATH'' 来指定该地址,只需要在 ''houdini.env'' 中添加一行即可:
 +<code bash>
 +HOUDINI_VEX_PATH = ”your address of .h file“
 +</code>
 +接下来在 Wrangle 节点中,包含对应的头文件即可。写法与 C 一致:
 +<code vex>
 +#include "target.h"
 +</code>
 +Houdini 的 env 文件位置:
 +<code bash>
 +%HOME%/houdiniX.X/houdini.env. #Windows
 +~/Library/Preferences/houdini/X.X/houdini.env. #Mac
 +~/houdiniX.X/houdini.env. #Linux
 +</code>
 +
 +