diff --git a/CHANGELOG.md b/CHANGELOG.md
index fece1e6..7d43600 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,7 +1,24 @@
# Change Log
-All notable changes to the "vex" extension will be documented in this file.
+All notable changes to the "vscode-vex" extension will be documented in this file.
-Check [Keep a Changelog](http://keepachangelog.com/) for recommendations on how to structure this file.
-## [Unreleased]
-- Initial release
\ No newline at end of file
+## [0.5.0] - 2020-06-25
+### Added
+- H18 Support
+- Almost done with the language server.
+
+## [0.3.0] - 2017
+- Updated for **H16**.
+- **fix**: issue with single quotes.
+
+## [0.2.0] - 2017
+
+- Added functions snippets with description
+
+ ![](https://raw.githubusercontent.com/melMass/vscode-vex/master/images/function_descriptions.gif)
+
+## [0.1.0] - 2016
+
+- Initial release
+
+ ![](https://raw.githubusercontent.com/melMass/vscode-vex/master/images/basic_snippets.gif)
\ No newline at end of file
diff --git a/README.md b/README.md
index 9557bd4..de5f1e1 100644
--- a/README.md
+++ b/README.md
@@ -1,29 +1,35 @@
# VEX Syntax for VSCode
-**adapted to vscode from [Teared Sublime version.](https://github.com/teared/vex)**
+Hi all, I've just updated the extension for Houdini 18
-### Features
-![](https://raw.githubusercontent.com/melMass/vscode-vex/master/images/syntax.png)
-
-- VEX Language Support.
+# Features
+- VEX Language Support (Syntax).
- Base Snippets.
- Functions descriptions with attributes.
+![](https://raw.githubusercontent.com/melMass/vscode-vex/master/images/syntax.png)
+
#### Icon available in the [Material Icon Theme](https://github.com/PKief/vscode-material-icon-theme)
![](https://raw.githubusercontent.com/melMass/vscode-vex/master/images/files.png)
-### Releases
-#### 0.3.0
+### Show your support by [buying me a 🥐](https://gumroad.com/massadian#ZSpuE)
+
+
+# Releases
+## [0.5.0]
+- Updated for **H18**.
+
+## [0.3.0]
- Updated for **H16**.
- **fix**: issue with single quotes.
-#### 0.2.0
+## [0.2.0]
- Added functions snippets with description
![](https://raw.githubusercontent.com/melMass/vscode-vex/master/images/function_descriptions.gif)
-#### 0.1.0
+## [0.1.0]
- Initial release
@@ -31,4 +37,6 @@
### License
-© Public Domain.
\ No newline at end of file
+© Public Domain.
+
+
diff --git a/merge_desc.py b/merge_desc.py
deleted file mode 100644
index f42ef5a..0000000
--- a/merge_desc.py
+++ /dev/null
@@ -1,24 +0,0 @@
-import json
-from pprint import pprint
-
-def mergeDescriptions(descriptions,mainsnippets,outfile):
-
- with open(descriptions) as data_file:
- d = json.load(data_file)
-
- with open(mainsnippets) as data_file2:
- m = json.load(data_file2)
-
- for i in data.keys():
- m[i]["description"] = d[i]["description"]
-
- with open(outfile,"w") as out:
- json.dump(m,out,sort_keys=True,indent=4)
-
-
-descriptions = "./descriptionsh16.json"
-mainsnippets = "./functionsh16.json"
-outfile = "./h16.json"
-
-
-mergeDescriptions(descriptions,mainsnippets,outfile)
diff --git a/package.json b/package.json
index b63714a..bae1f7a 100644
--- a/package.json
+++ b/package.json
@@ -2,7 +2,7 @@
"name": "vex",
"displayName": "VEX",
"description": "Houdini VEX Support for VSCode",
- "version": "0.4.0",
+ "version": "0.5.0",
"publisher": "melmass",
"engines": {
"vscode": "^1.12.0"
diff --git a/snippets/snippets.json b/snippets/snippets.json
index 885e94c..21fa8e6 100644
--- a/snippets/snippets.json
+++ b/snippets/snippets.json
@@ -1,4314 +1,9146 @@
{
"if": {
- "prefix": "if",
- "body": "if ($1) {\n$2\n}",
- "description": "If Statement",
- "scope": "source.vex"
+ "prefix": "if",
+ "body": "if ($1) {\n$2\n}",
+ "description": "If Statement",
+ "scope": "source.vex"
},
"else": {
- "prefix": "else",
- "body": "else {\n$1\n}",
- "description": "Else Statement",
- "scope": "source.vex"
+ "prefix": "else",
+ "body": "else {\n$1\n}",
+ "description": "Else Statement",
+ "scope": "source.vex"
},
"while": {
- "prefix": "while",
- "body": "while ($1) {\n$2\n}",
- "description": "While Loop",
- "scope": "source.vex"
+ "prefix": "while",
+ "body": "while ($1) {\n$2\n}",
+ "description": "While Loop",
+ "scope": "source.vex"
},
"for": {
- "prefix": "for",
- "body": "for (int ${2:i} = 0; $2 < ${1:count}; ${3:++$2}){\n ${0:/* code */}\n}\n",
- "description": "For Loop (int)",
- "scope": "source.vex"
+ "prefix": "for",
+ "body": "for (int ${2:i} = 0; $2 < ${1:count}; ${3:++$2}){\n ${0:/* code */}\n}\n",
+ "description": "For Loop (int)",
+ "scope": "source.vex"
},
"foreach": {
- "prefix": "foreach",
- "body": "foreach (${1:item_type}; ${2:item}; ${3:array}){\n ${0:/* code */}\n}\n",
- "description": "Foreach Loop",
- "scope": "source.vex"
+ "prefix": "foreach",
+ "body": "foreach (${1:item_type}; ${2:item}; ${3:array}){\n ${0:/* code */}\n}\n",
+ "description": "Foreach Loop",
+ "scope": "source.vex"
},
- // Point Cloud Iterate (exclude).
"Point Cloud Iterate Excluding Search Point": {
- "prefix": "pce",
- "body": "float search_rad = ${1:10.0};\nint max_points = ${2:10};\n\nint handle = pcopen(@OpInput1, \"P\", @P, search_rad, max_points+1);\n\nint near_pt;\nvector near_p;\n\nwhile( pciterate(handle) ) {\n pcimport(handle, \"point:number\", near_pt);\n if (@ptnum != near_pt) {\n // found a nearby point that isn't the search position\n pcimport(handle, \"P\", near_p);\n }\n}\n\npcclose(handle);\n",
- "description": "Point Cloud Iterate Excluding Search Point (VEXpression)",
- "scope": "source.vex"
+ "prefix": "pce",
+ "body": "float search_rad = ${1:10.0};\nint max_points = ${2:10};\n\nint handle = pcopen(@OpInput1, \"P\", @P, search_rad, max_points+1);\n\nint near_pt;\nvector near_p;\n\nwhile( pciterate(handle) ) {\n pcimport(handle, \"point:number\", near_pt);\n if (@ptnum != near_pt) {\n // found a nearby point that isn't the search position\n pcimport(handle, \"P\", near_p);\n }\n}\n\npcclose(handle);\n",
+ "description": "Point Cloud Iterate Excluding Search Point (VEXpression)",
+ "scope": "source.vex"
},
- // Point Cloud Iterate.
"Point Cloud Iterate (VEXpression)": {
- "prefix": "pci",
- "body": "float search_rad = ${1:10.0};\nint max_points = ${2:10};\n\nint handle = pcopen(${3:0}, \"P\", @P, search_rad, max_points);\n\nvector near_p;\n\nwhile( pciterate(handle) ) {\n pcimport(handle, \"P\", near_p);\n}\n\npcclose(handle);\n",
- "description": "Point Cloud Iterate (VEXpression)",
- "scope": "source.vex"
- },
-
- // HOUDINI FUNCTIONS.
- "Du": {
- "body": "Du(${1:value}${2:, ...})",
- "description": "Takes the derivative of the given value with respect to U.",
- "prefix": "Du(value, ...)",
- "scope": "source.vex"
- },
- "Dv": {
- "body": "Dv(${1:value}${2:, ...})",
- "description": "Takes the derivative of the given value with respect to V.",
- "prefix": "Dv(value, ...)",
- "scope": "source.vex"
- },
- "Dw": {
- "body": "Dw(${1:p}${2:, ...})",
- "description": "Takes the derivative of the given value with respect to the 3rd axis, for volume rendering.",
- "prefix": "Dw(p, ...)",
- "scope": "source.vex"
- },
- "abs": {
- "body": "abs(${1:value})",
- "description": "Returns the absolute value of the argument.",
- "prefix": "abs(value)",
- "scope": "source.vex"
- },
- "accessframe": {
- "body": "accessframe(${1:frame})",
- "description": "",
- "prefix": "accessframe(frame)",
- "scope": "source.vex"
- },
- "acos": {
- "body": "acos(${1:v})",
- "description": "Returns the inverse cosine of the argument.",
- "prefix": "acos(v)",
- "scope": "source.vex"
- },
- "addattrib": {
- "body": "addattrib(${1:geohandle}, ${2:attribtype}, ${3:name}, ${4:defvalue})",
- "description": "Adds an attribute to a geometry.",
- "prefix": "addattrib(geohandle, attribtype, name, defvalue)",
- "scope": "source.vex"
- },
- "addattribute": {
- "body": "addattribute(${1:name}, ${2:values}, ${3:capacity}${4:, ...})",
- "prefix": "addattribute(name, values, capacity, ...)",
- "scope": "source.vex"
- },
- "adddetailattrib": {
- "body": "adddetailattrib(${1:geohandle}, ${2:name}, ${3:defvalue}, ${4:typeinfo=\"\"})",
- "description": "Adds an attribute to a geometry.",
- "prefix": "adddetailattrib(geohandle, name, defvalue, typeinfo=\"\")",
- "scope": "source.vex"
- },
- "addgroup": {
- "body": "addgroup(${1:group_name}, ${2:point_number})",
- "prefix": "addgroup(group_name, point_number)",
- "scope": "source.vex"
- },
- "addpoint": {
- "body": "addpoint(${1:geohandle}, ${2:pos})",
- "description": "Adds a point to the geometry.",
- "prefix": "addpoint(geohandle, pos)",
- "scope": "source.vex"
- },
- "addpointattrib": {
- "body": "addpointattrib(${1:geohandle}, ${2:name}, ${3:defvalue}, ${4:typeinfo=\"\"})",
- "description": "Adds an attribute to a geometry.",
- "prefix": "addpointattrib(geohandle, name, defvalue, typeinfo=\"\")",
- "scope": "source.vex"
- },
- "addprim": {
- "body": "addprim(${1:primnum}, ${2:geohandle}, ${3:type}, ${4:points}, ${5:vertices})",
- "description": "Adds a primitive to the geometry.",
- "prefix": "addprim(primnum, geohandle, type, points, vertices)",
- "scope": "source.vex"
- },
- "addprimattrib": {
- "body": "addprimattrib(${1:geohandle}, ${2:name}, ${3:defvalue}, ${4:typeinfo=\"\"})",
- "description": "Adds an attribute to a geometry.",
- "prefix": "addprimattrib(geohandle, name, defvalue, typeinfo=\"\")",
- "scope": "source.vex"
- },
- "addvariablename": {
- "body": "addvariablename(${1:aname}, ${2:vname})",
- "description": "Adds the mapping of the attribute aname to the local variable\nvname.",
- "prefix": "addvariablename(aname, vname)",
- "scope": "source.vex"
- },
- "addvertex": {
- "body": "addvertex(${1:geohandle}, ${2:prim}, ${3:point})",
- "description": "Adds a vertex to the geometry.",
- "prefix": "addvertex(geohandle, prim, point)",
- "scope": "source.vex"
- },
- "addvertexattrib": {
- "body": "addvertexattrib(${1:geohandle}, ${2:name}, ${3:defvalue}, ${4:typeinfo=\"\"})",
- "description": "Adds an attribute to a geometry.",
- "prefix": "addvertexattrib(geohandle, name, defvalue, typeinfo=\"\")",
- "scope": "source.vex"
- },
- "addvisualizer": {
- "body": "addvisualizer(${1:geohandle}, ${2:visualizer})",
- "description": "Appends to the visualizer detail attribute.",
- "prefix": "addvisualizer(geohandle, visualizer)",
- "scope": "source.vex"
- },
- "agentaddclip": {
- "body": "agentaddclip(${1:geohandle}, ${2:prim}, ${3:clipname}, ${4:clippath}, ${5:keepref})",
- "description": "Add a clip into an agent\u2019s definition.",
- "prefix": "agentaddclip(geohandle, prim, clipname, clippath, keepref)",
- "scope": "source.vex"
- },
- "agentclipcatalog": {
- "body": "agentclipcatalog(${1:geometry}, ${2:prim})",
- "description": "Returns all of the animation clips that have been loaded for an agent primitive.",
- "prefix": "agentclipcatalog(geometry, prim)",
- "scope": "source.vex"
- },
- "agentclipchannel": {
- "body": "agentclipchannel(${1:geometry}, ${2:prim}, ${3:clipname}, ${4:channel})",
- "description": "Finds the index of a channel in an agent\u2019s animation clip.",
- "prefix": "agentclipchannel(geometry, prim, clipname, channel)",
- "scope": "source.vex"
- },
- "agentcliplength": {
- "body": "agentcliplength(${1:geometry}, ${2:prim}, ${3:clipname})",
- "description": "Returns the length (in seconds) of an agent\u2019s animation clip.",
- "prefix": "agentcliplength(geometry, prim, clipname)",
- "scope": "source.vex"
- },
- "agentclipnames": {
- "body": "agentclipnames(${1:geometry}, ${2:prim})",
- "description": "Returns an agent primitive\u2019s current animation clips.",
- "prefix": "agentclipnames(geometry, prim)",
- "scope": "source.vex"
- },
- "agentclipsample": {
- "body": "agentclipsample(${1:geometry}, ${2:prim}, ${3:clipname}, ${4:time}, ${5:channel})",
- "description": "Samples a channel of an agent\u2019s clip at a specific time.",
- "prefix": "agentclipsample(geometry, prim, clipname, time, channel)",
- "scope": "source.vex"
- },
- "agentclipsamplelocal": {
- "body": "agentclipsamplelocal(${1:geometry}, ${2:prim}, ${3:clipname}, ${4:time})",
- "description": "Samples an agent\u2019s animation clip at a specific time.",
- "prefix": "agentclipsamplelocal(geometry, prim, clipname, time)",
- "scope": "source.vex"
- },
- "agentclipsamplerate": {
- "body": "agentclipsamplerate(${1:geometry}, ${2:prim}, ${3:clipname})",
- "description": "Returns the sample rate of an agent\u2019s animation clip.",
- "prefix": "agentclipsamplerate(geometry, prim, clipname)",
- "scope": "source.vex"
- },
- "agentclipsampleworld": {
- "body": "agentclipsampleworld(${1:geometry}, ${2:prim}, ${3:clipname}, ${4:time})",
- "description": "Samples an agent\u2019s animation clip at a specific time.",
- "prefix": "agentclipsampleworld(geometry, prim, clipname, time)",
- "scope": "source.vex"
- },
- "agentcliptimes": {
- "body": "agentcliptimes(${1:geometry}, ${2:prim})",
- "description": "Returns the current times for an agent primitive\u2019s animation clips.",
- "prefix": "agentcliptimes(geometry, prim)",
- "scope": "source.vex"
- },
- "agentcliptransformgroups": {
- "body": "agentcliptransformgroups(${1:geometry}, ${2:prim})",
- "description": "Returns the transform groups for an agent primitive\u2019s current animation clips.",
- "prefix": "agentcliptransformgroups(geometry, prim)",
- "scope": "source.vex"
- },
- "agentclipweights": {
- "body": "agentclipweights(${1:geometry}, ${2:prim})",
- "description": "Returns the blend weights for an agent primitive\u2019s animation clips.",
- "prefix": "agentclipweights(geometry, prim)",
- "scope": "source.vex"
- },
- "agentcollisionlayer": {
- "body": "agentcollisionlayer(${1:geometry}, ${2:prim})",
- "description": "Returns the name of the collision layer of an agent primitive.",
- "prefix": "agentcollisionlayer(geometry, prim)",
- "scope": "source.vex"
- },
- "agentcurrentlayer": {
- "body": "agentcurrentlayer(${1:geometry}, ${2:prim})",
- "description": "Returns the name of the current layer of an agent primitive.",
- "prefix": "agentcurrentlayer(geometry, prim)",
- "scope": "source.vex"
- },
- "agentlayerbindings": {
- "body": "agentlayerbindings(${1:geometry}, ${2:prim}, ${3:layername}, ${4:shapetype})",
- "description": "Returns the transform that each shape in an agent\u2019s layer is bound to.",
- "prefix": "agentlayerbindings(geometry, prim, layername, shapetype)",
- "scope": "source.vex"
- },
- "agentlayers": {
- "body": "agentlayers(${1:geometry}, ${2:prim})",
- "description": "Returns all of the layers that have been loaded for an agent primitive.",
- "prefix": "agentlayers(geometry, prim)",
- "scope": "source.vex"
- },
- "agentlayershapes": {
- "body": "agentlayershapes(${1:geometry}, ${2:prim}, ${3:layername}, ${4:shapetype})",
- "description": "Returns the names of the shapes referenced by an agent primitive\u2019s layer.",
- "prefix": "agentlayershapes(geometry, prim, layername, shapetype)",
- "scope": "source.vex"
- },
- "agentlocaltransform": {
- "body": "agentlocaltransform(${1:geometry}, ${2:prim}, ${3:transform})",
- "description": "Returns the current local space transform of an agent primitive\u2019s bone.",
- "prefix": "agentlocaltransform(geometry, prim, transform)",
- "scope": "source.vex"
- },
- "agentlocaltransforms": {
- "body": "agentlocaltransforms(${1:geometry}, ${2:prim})",
- "description": "Returns the current local space transforms of an agent primitive.",
- "prefix": "agentlocaltransforms(geometry, prim)",
- "scope": "source.vex"
- },
- "agentrigchildren": {
- "body": "agentrigchildren(${1:geometry}, ${2:prim}, ${3:transform})",
- "description": "Returns the child transforms of a transform in an agent primitive\u2019s rig.",
- "prefix": "agentrigchildren(geometry, prim, transform)",
- "scope": "source.vex"
- },
- "agentrigfind": {
- "body": "agentrigfind(${1:geometry}, ${2:prim}, ${3:transformname})",
- "description": "Finds the index of a transform in an agent primitive\u2019s rig.",
- "prefix": "agentrigfind(geometry, prim, transformname)",
- "scope": "source.vex"
- },
- "agentrigparent": {
- "body": "agentrigparent(${1:geometry}, ${2:prim}, ${3:transform})",
- "description": "Returns the parent transform of a transform in an agent primitive\u2019s rig.",
- "prefix": "agentrigparent(geometry, prim, transform)",
- "scope": "source.vex"
- },
- "agenttransformcount": {
- "body": "agenttransformcount(${1:geometry}, ${2:prim})",
- "description": "Returns the number of transforms in an agent primitive\u2019s rig.",
- "prefix": "agenttransformcount(geometry, prim)",
- "scope": "source.vex"
- },
- "agenttransformgroupmember": {
- "body": "agenttransformgroupmember(${1:geometry}, ${2:prim}, ${3:transformgroup}, ${4:transform})",
- "description": "Returns whether a transform is a member of the specified transform group.",
- "prefix": "agenttransformgroupmember(geometry, prim, transformgroup, transform)",
- "scope": "source.vex"
- },
- "agenttransformgroups": {
- "body": "agenttransformgroups(${1:geometry}, ${2:prim})",
- "description": "Returns the names of the transform groups in an agent\u2019s definition.",
- "prefix": "agenttransformgroups(geometry, prim)",
- "scope": "source.vex"
- },
- "agenttransformnames": {
- "body": "agenttransformnames(${1:geometry}, ${2:prim})",
- "description": "Returns the name of each transform in an agent primitive\u2019s rig.",
- "prefix": "agenttransformnames(geometry, prim)",
- "scope": "source.vex"
- },
- "agenttransformtolocal": {
- "body": "agenttransformtolocal(${1:geometry}, ${2:prim}, ${3:transforms})",
- "description": "Converts transforms from world space to local space for an agent primitive.",
- "prefix": "agenttransformtolocal(geometry, prim, transforms)",
- "scope": "source.vex"
- },
- "agenttransformtoworld": {
- "body": "agenttransformtoworld(${1:geometry}, ${2:prim}, ${3:transforms})",
- "description": "Converts transforms from local space to world space for an agent primitive.",
- "prefix": "agenttransformtoworld(geometry, prim, transforms)",
- "scope": "source.vex"
- },
- "agentworldtransform": {
- "body": "agentworldtransform(${1:geometry}, ${2:prim}, ${3:transform})",
- "description": "Returns the current world space transform of an agent primitive\u2019s bone.",
- "prefix": "agentworldtransform(geometry, prim, transform)",
- "scope": "source.vex"
- },
- "agentworldtransforms": {
- "body": "agentworldtransforms(${1:geometry}, ${2:prim})",
- "description": "Returns the current world space transforms of an agent primitive.",
- "prefix": "agentworldtransforms(geometry, prim)",
- "scope": "source.vex"
- },
- "albedo": {
- "body": "albedo(${1:b}${2:, ...})",
- "description": "Returns the albedo (percentage of reflected light) for a bsdf given the outgoing light direction.",
- "prefix": "albedo(b, ...)",
- "scope": "source.vex"
- },
- "alphaname": {
- "body": "alphaname()",
- "description": "Returns the default name of the alpha plane (as it appears in the\ncompositor preferences).",
- "prefix": "alphaname()",
- "scope": "source.vex"
- },
- "ambient": {
- "body": "ambient(${1:...})",
- "description": "Returns the color of ambient light in the scene.",
- "prefix": "ambient(...)",
- "scope": "source.vex"
- },
- "anoise": {
- "body": "anoise(${1:pos}, ${2:turbulence}, ${3:rough}, ${4:atten})",
- "description": "These functions are similar to the Worley noise functions listed\nabove.",
- "prefix": "anoise(pos, turbulence, rough, atten)",
- "scope": "source.vex"
- },
- "append": {
- "body": "append(${1:array}, ${2:value})",
- "description": "Adds an item to an array or string.",
- "prefix": "append(array, value)",
- "scope": "source.vex"
- },
- "area": {
- "body": "area(${1:p}${2:, ...})",
- "description": "Returns the area of the micropolygon containing a variable such as P.",
- "prefix": "area(p, ...)",
- "scope": "source.vex"
- },
- "argsort": {
- "body": "argsort(${1:value})",
- "description": "Returns the indices of a sorted version of an array.",
- "prefix": "argsort(value)",
- "scope": "source.vex"
- },
- "array": {
- "body": "array(${1:...})",
- "description": "Efficiently creates an array from its arguments.",
- "prefix": "array(...)",
- "scope": "source.vex"
- },
- "ashikhmin": {
- "body": "ashikhmin(${1:nml}, ${2:exponentx}, ${3:exponenty}, ${4:framex}, ${5:framey}${6:, ...})",
- "description": "Returns a specular BSDF using the Ashikhmin shading model",
- "prefix": "ashikhmin(nml, exponentx, exponenty, framex, framey, ...)",
- "scope": "source.vex"
- },
- "asin": {
- "body": "asin(${1:value})",
- "description": "Returns the inverse sine of the argument.",
- "prefix": "asin(value)",
- "scope": "source.vex"
- },
- "assert_enabled": {
- "body": "assert_enabled()",
- "description": "Returns 1 if the VEX assertions are enabled (see HOUDINI_VEX_ASSERT) or 0 if assertions are disabled.",
- "prefix": "assert_enabled()",
- "scope": "source.vex"
- },
- "assign": {
- "body": "assign(${1:c1}, ${2:c2}, ${3:source})",
- "description": "An efficient way of extracting the components of a vector, vector4,\nmatrix3 or matrix to float variables.",
- "prefix": "assign(c1, c2, source)",
- "scope": "source.vex"
- },
- "atan": {
- "body": "atan(${1:y}, ${2:x})",
- "description": "Returns the inverse tangent of the argument.",
- "prefix": "atan(y, x)",
- "scope": "source.vex"
- },
- "atan2": {
- "body": "atan2(${1:y}, ${2:x})",
- "description": "Returns the inverse tangent of y/x.",
- "prefix": "atan2(y, x)",
- "scope": "source.vex"
- },
- "atof": {
- "body": "atof(${1:str})",
- "description": "Converts a string to a float.",
- "prefix": "atof(str)",
- "scope": "source.vex"
- },
- "atoi": {
- "body": "atoi(${1:str})",
- "description": "Converts a string to an integer.",
- "prefix": "atoi(str)",
- "scope": "source.vex"
- },
- "atten": {
- "body": "atten(${1:attenuation}, ${2:distance})",
- "description": "Computes attenuated falloff.",
- "prefix": "atten(attenuation, distance)",
- "scope": "source.vex"
- },
- "attrib": {
- "body": "attrib(${1:geometry}, ${2:attribclass}, ${3:name}, ${4:elemnum})",
- "description": "Reads an attribute value from geometry.",
- "prefix": "attrib(geometry, attribclass, name, elemnum)",
- "scope": "source.vex"
- },
- "attribclass": {
- "body": "attribclass(${1:geometry}, ${2:attribute_name})",
- "description": "Returns the class of a geometry attribute.",
- "prefix": "attribclass(geometry, attribute_name)",
- "scope": "source.vex"
- },
- "attribsize": {
- "body": "attribsize(${1:geometry}, ${2:attribute_class}, ${3:attribute_name})",
- "description": "Returns the size of a geometry attribute.",
- "prefix": "attribsize(geometry, attribute_class, attribute_name)",
- "scope": "source.vex"
- },
- "attribtype": {
- "body": "attribtype(${1:geometry}, ${2:attribute_class}, ${3:attribute_name})",
- "description": "Returns the type of a geometry attribute.",
- "prefix": "attribtype(geometry, attribute_class, attribute_name)",
- "scope": "source.vex"
- },
- "attribtypeinfo": {
- "body": "attribtypeinfo(${1:geometry}, ${2:attribute_class}, ${3:attribute_name})",
- "description": "Returns the type info of a geometry attribute.",
- "prefix": "attribtypeinfo(geometry, attribute_class, attribute_name)",
- "scope": "source.vex"
- },
- "avg": {
- "body": "avg(${1:v})",
- "description": "Returns the average value of the input(s)",
- "prefix": "avg(v)",
- "scope": "source.vex"
- },
- "binput": {
- "body": "binput(${1:input}, ${2:plane}, ${3:array_index}, ${4:u}, ${5:v}, ${6:time}${7:, ...})",
- "description": "Returns bilinearly sampled input.",
- "prefix": "binput(input, plane, array_index, u, v, time, ...)",
- "scope": "source.vex"
- },
- "blackbody": {
- "body": "blackbody(${1:temperature}, ${2:luminance})",
- "description": "Compute the color value of an incandescent black body.",
- "prefix": "blackbody(temperature, luminance)",
- "scope": "source.vex"
- },
- "blinn": {
- "body": "blinn(${1:nml}, ${2:V}, ${3:roughness}${4:, ...})",
- "description": "Returns the illumination for specular highlights using the Blinn model.",
- "prefix": "blinn(nml, V, roughness, ...)",
- "scope": "source.vex"
- },
- "blinnBRDF": {
- "body": "blinnBRDF(${1:L}, ${2:N}, ${3:V}, ${4:rough})",
- "description": "",
- "prefix": "blinnBRDF(L, N, V, rough)",
- "scope": "source.vex"
- },
- "bouncelabel": {
- "body": "bouncelabel(${1:mask})",
- "description": "",
- "prefix": "bouncelabel(mask)",
- "scope": "source.vex"
- },
- "bouncemask": {
- "body": "bouncemask(${1:labels})",
- "description": "",
- "prefix": "bouncemask(labels)",
- "scope": "source.vex"
- },
- "bumpmap": {
- "body": "bumpmap(${1:filename}, ${2:du}, ${3:dv}, ${4:uvw})",
- "prefix": "bumpmap(filename, du, dv, uvw)",
- "scope": "source.vex"
- },
- "bumpmapA": {
- "body": "bumpmapA(${1:filename}, ${2:du}, ${3:dv}, ${4:uvw})",
- "prefix": "bumpmapA(filename, du, dv, uvw)",
- "scope": "source.vex"
- },
- "bumpmapB": {
- "body": "bumpmapB(${1:filename}, ${2:du}, ${3:dv}, ${4:uvw})",
- "prefix": "bumpmapB(filename, du, dv, uvw)",
- "scope": "source.vex"
- },
- "bumpmapG": {
- "body": "bumpmapG(${1:filename}, ${2:du}, ${3:dv}, ${4:uvw})",
- "prefix": "bumpmapG(filename, du, dv, uvw)",
- "scope": "source.vex"
- },
- "bumpmapL": {
- "body": "bumpmapL(${1:filename}, ${2:du}, ${3:dv}, ${4:uvw})",
- "prefix": "bumpmapL(filename, du, dv, uvw)",
- "scope": "source.vex"
- },
- "bumpmapR": {
- "body": "bumpmapR(${1:filename}, ${2:du}, ${3:dv}, ${4:uvw})",
- "prefix": "bumpmapR(filename, du, dv, uvw)",
- "scope": "source.vex"
- },
- "bumpname": {
- "body": "bumpname()",
- "description": "Returns the default name of the bump plane (as it appears in the\ncompositor preferences).",
- "prefix": "bumpname()",
- "scope": "source.vex"
- },
- "cbrt": {
- "body": "cbrt(${1:value})",
- "description": "Returns the cube root of the argument.",
- "prefix": "cbrt(value)",
- "scope": "source.vex"
- },
- "ceil": {
- "body": "ceil(${1:value})",
- "description": "Returns the smallest integer greater than or equal to the argument.",
- "prefix": "ceil(value)",
- "scope": "source.vex"
- },
- "ch": {
- "body": "ch(${1:channel}, ${2:time})",
- "description": "Evaluates a channel (or parameter) and return its value.",
- "prefix": "ch(channel, time)",
- "scope": "source.vex"
- },
- "ch3": {
- "body": "ch3(${1:channel}, ${2:time})",
- "description": "Evaluates a channel (or parameter) and return its value.",
- "prefix": "ch3(channel, time)",
- "scope": "source.vex"
- },
- "ch4": {
- "body": "ch4(${1:channel}, ${2:time})",
- "description": "Evaluates a channel (or parameter) and return its value.",
- "prefix": "ch4(channel, time)",
- "scope": "source.vex"
- },
- "chattr": {
- "body": "chattr(${1:input}, ${2:attrclass}, ${3:attrname}, ${4:track}, ${5:sample}, ${6:ret})",
- "description": "Reads an attribute value on Channels, Clips, Sample or Channel/Sample from a connected CHOP input.",
- "prefix": "chattr(input, attrclass, attrname, track, sample, ret)",
- "scope": "source.vex"
- },
- "chend": {
- "body": "chend(${1:input})",
- "description": "Returns the end sample of the input specified.",
- "prefix": "chend(input)",
- "scope": "source.vex"
- },
- "chendf": {
- "body": "chendf(${1:input})",
- "description": "Returns the frame corresponding to the last sample of the input specified.",
- "prefix": "chendf(input)",
- "scope": "source.vex"
- },
- "chendt": {
- "body": "chendt(${1:input})",
- "description": "Returns the time corresponding to the last sample of the input\nspecified.",
- "prefix": "chendt(input)",
- "scope": "source.vex"
- },
- "chf": {
- "body": "chf(${1:channel}, ${2:time})",
- "description": "Evaluates a channel (or parameter) and return its value.",
- "prefix": "chf(channel, time)",
- "scope": "source.vex"
- },
- "chi": {
- "body": "chi(${1:channel}, ${2:time})",
- "description": "Evaluates a channel (or parameter) and return its value.",
- "prefix": "chi(channel, time)",
- "scope": "source.vex"
- },
- "chindex": {
- "body": "chindex(${1:input}, ${2:name})",
- "description": "Returns the channel index from a input given a channel name.",
- "prefix": "chindex(input, name)",
- "scope": "source.vex"
- },
- "chinput": {
- "body": "chinput(${1:input}, ${2:channel}, ${3:sample})",
- "description": "Returns the value of a channel at the specified sample in an\ninput.",
- "prefix": "chinput(input, channel, sample)",
- "scope": "source.vex"
- },
- "chname": {
- "body": "chname(${1:planeindex}, ${2:chindex})",
- "description": "Returns the channel name of the indexed plane.",
- "prefix": "chname(planeindex, chindex)",
- "scope": "source.vex"
- },
- "chnumchan": {
- "body": "chnumchan(${1:input})",
- "description": "Returns the number of channels in the input specified.",
- "prefix": "chnumchan(input)",
- "scope": "source.vex"
- },
- "chp": {
- "body": "chp(${1:channel}, ${2:time})",
- "description": "Evaluates a channel (or parameter) and return its value.",
- "prefix": "chp(channel, time)",
- "scope": "source.vex"
- },
- "chr": {
- "body": "chr(${1:value})",
- "description": "Converts an unicode codepoint to a UTF8 string.",
- "prefix": "chr(value)",
- "scope": "source.vex"
- },
- "chramp": {
- "body": "chramp(${1:channel}, ${2:ramppos}, ${3:time})",
- "description": "Evaluates a ramp parameter and return its value.",
- "prefix": "chramp(channel, ramppos, time)",
- "scope": "source.vex"
- },
- "chrate": {
- "body": "chrate(${1:input})",
- "description": "Returns the sample rate of the input specified.",
- "prefix": "chrate(input)",
- "scope": "source.vex"
- },
- "chreadbuf": {
- "body": "chreadbuf(${1:index})",
- "description": "Returns the value of CHOP context temporary buffer at the specified index.",
- "prefix": "chreadbuf(index)",
- "scope": "source.vex"
- },
- "chresizebuf": {
- "body": "chresizebuf(${1:size})",
- "description": "Resize the CHOP context temporary buffer",
- "prefix": "chresizebuf(size)",
- "scope": "source.vex"
- },
- "chs": {
- "body": "chs(${1:channel}, ${2:time})",
- "description": "Evaluates a channel (or parameter) and return its value.",
- "prefix": "chs(channel, time)",
- "scope": "source.vex"
- },
- "chsetattr": {
- "body": "chsetattr(${1:attrclass}, ${2:attrname}, ${3:track}, ${4:sample}, ${5:value})",
- "description": "Writes an attribute value on Channels, Clips, Sample or Channel/Sample.",
- "prefix": "chsetattr(attrclass, attrname, track, sample, value)",
- "scope": "source.vex"
- },
- "chsraw": {
- "body": "chsraw(${1:channel})",
- "description": "Returns the raw string channel (or parameter).",
- "prefix": "chsraw(channel)",
- "scope": "source.vex"
- },
- "chstart": {
- "body": "chstart(${1:input})",
- "description": "Returns the start sample of the input specified.",
- "prefix": "chstart(input)",
- "scope": "source.vex"
- },
- "chstartf": {
- "body": "chstartf(${1:input})",
- "description": "Returns the frame corresponding to the first sample of the input\nspecified.",
- "prefix": "chstartf(input)",
- "scope": "source.vex"
- },
- "chstartt": {
- "body": "chstartt(${1:input})",
- "description": "Returns the time corresponding to the first sample of the input\nspecified.",
- "prefix": "chstartt(input)",
- "scope": "source.vex"
- },
- "chv": {
- "body": "chv(${1:channel}, ${2:time})",
- "description": "Evaluates a channel or parameter, and return its value.",
- "prefix": "chv(channel, time)",
- "scope": "source.vex"
- },
- "chwritebuf": {
- "body": "chwritebuf(${1:index}, ${2:value})",
- "description": "Writes a value of CHOP context temporary buffer at the specified index.",
- "prefix": "chwritebuf(index, value)",
- "scope": "source.vex"
- },
- "cinput": {
- "body": "cinput(${1:input_number}, ${2:planeindex}, ${3:arrayindex}, ${4:u}, ${5:v}, ${6:frame}${7:, ...})",
- "description": "Returns point sampled input.",
- "prefix": "cinput(input_number, planeindex, arrayindex, u, v, frame, ...)",
- "scope": "source.vex"
- },
- "ckspline": {
- "body": "ckspline(${1:t}, ${2:v0}, ${3:k0}${4:, ...})",
- "description": "Computes a Catmull-Rom (Cardinal) spline between the key points\nspecified.",
- "prefix": "ckspline(t, v0, k0, ...)",
- "scope": "source.vex"
- },
- "clamp": {
- "body": "clamp(${1:value}, ${2:min}, ${3:max})",
- "description": "Returns value clamped between min and max.",
- "prefix": "clamp(value, min, max)",
- "scope": "source.vex"
- },
- "clip": {
- "body": "clip(${1:result}, ${2:p0}, ${3:p1}, ${4:min}, ${5:max})",
- "description": "Clip the line segment between p0 and p1.",
- "prefix": "clip(result, p0, p1, min, max)",
- "scope": "source.vex"
- },
- "colormap": {
- "body": "colormap(${1:filename}, ${2:uv0}, ${3:uv1}, ${4:uv2}, ${5:uv3}, ${6:samples}${7:, ...})",
- "description": "Looks up a color from a disk image.",
- "prefix": "colormap(filename, uv0, uv1, uv2, uv3, samples, ...)",
- "scope": "source.vex"
- },
- "colorname": {
- "body": "colorname()",
- "description": "Returns the default name of the color plane (as it appears in the\ncompositor preferences).",
- "prefix": "colorname()",
- "scope": "source.vex"
- },
- "computenormal": {
- "body": "computenormal(${1:state})",
- "description": "In the POP and SOP contexts, sets how/whether to recompute normals.\nIn the shading contexts, computes normals.",
- "prefix": "computenormal(state)",
- "scope": "source.vex"
- },
- "concat": {
- "body": "concat(${1:s1}, ${2:s2}${3:, ...})",
- "description": "Concatenate all the strings specified to form a single string.",
- "prefix": "concat(s1, s2, ...)",
- "scope": "source.vex"
- },
- "cone": {
- "body": "cone(${1:foo}, ${2:bar}, ${3:baz}${4:, ...})",
- "description": "",
- "prefix": "cone(foo, bar, baz, ...)",
- "scope": "source.vex"
- },
- "cos": {
- "body": "cos(${1:value})",
- "description": "Returns the cosine of the argument.",
- "prefix": "cos(value)",
- "scope": "source.vex"
- },
- "cosh": {
- "body": "cosh(${1:value})",
- "description": "Returns the hyperbolic cosine of the argument.",
- "prefix": "cosh(value)",
- "scope": "source.vex"
- },
- "cracktransform": {
- "body": "cracktransform(${1:trs}, ${2:xyz}, ${3:c}, ${4:p}, ${5:xform})",
- "description": "Depending on the value of c, returns the translate (c=0), rotate\n(c=1), or scale (c=2) component of the transform (xform).",
- "prefix": "cracktransform(trs, xyz, c, p, xform)",
- "scope": "source.vex"
- },
- "create_cdf": {
- "body": "create_cdf(${1:pdf})",
- "description": "Creates a CDF from an array of input PDF values.",
- "prefix": "create_cdf(pdf)",
- "scope": "source.vex"
- },
- "create_pdf": {
- "body": "create_pdf(${1:values})",
- "description": "Creates a PDF from an array of input values.",
- "prefix": "create_pdf(values)",
- "scope": "source.vex"
- },
- "cross": {
- "body": "cross(${1:v1}, ${2:v2})",
- "description": "Returns the cross product between the two vectors.",
- "prefix": "cross(v1, v2)",
- "scope": "source.vex"
- },
- "cspline": {
- "body": "cspline(${1:t}, ${2:val1}${3:, ...})",
- "description": "Computes a Catmull-Rom (Cardinal) spline between the key points\nspecified.",
- "prefix": "cspline(t, val1, ...)",
- "scope": "source.vex"
- },
- "ctransform": {
- "body": "ctransform(${1:tospace}, ${2:clr})",
- "description": "Transforms between color spaces.",
- "prefix": "ctransform(tospace, clr)",
- "scope": "source.vex"
- },
- "curlnoise": {
- "body": "curlnoise(${1:xyz})",
- "description": "Computes divergence free noise based on Perlin noise.",
- "prefix": "curlnoise(xyz)",
- "scope": "source.vex"
- },
- "curlnoise2d": {
- "body": "curlnoise2d(${1:xyt})",
- "description": "Computes 2d divergence free noise based on Perlin noise.",
- "prefix": "curlnoise2d(xyt)",
- "scope": "source.vex"
- },
- "curlxnoise": {
- "body": "curlxnoise(${1:xyz})",
- "description": "Computes divergence free noise based on Simplex noise.",
- "prefix": "curlxnoise(xyz)",
- "scope": "source.vex"
- },
- "curlxnoise2d": {
- "body": "curlxnoise2d(${1:xyt})",
- "description": "Computes 2d divergence free noise based on simplex noise.",
- "prefix": "curlxnoise2d(xyt)",
- "scope": "source.vex"
- },
- "cvex_bsdf": {
- "body": "cvex_bsdf(${1:eval_cvex_shader}, ${2:sampler_cvex_shader}${3:, ...})",
- "description": "",
- "prefix": "cvex_bsdf(eval_cvex_shader, sampler_cvex_shader, ...)",
- "scope": "source.vex"
- },
- "degrees": {
- "body": "degrees(${1:angle})",
- "description": "Returns the argument from radians into degrees.",
- "prefix": "degrees(angle)",
- "scope": "source.vex"
- },
- "depthmap": {
- "body": "depthmap(${1:filename}, ${2:uvw})",
- "description": "The depthmap functions work on an image which was rendered as a\nz-depth image from mantra.",
- "prefix": "depthmap(filename, uvw)",
- "scope": "source.vex"
- },
- "depthname": {
- "body": "depthname()",
- "description": "Returns the default name of the depth plane (as it appears in the\ncompositor preferences).",
- "prefix": "depthname()",
- "scope": "source.vex"
- },
- "detail": {
- "body": "detail(${1:geometry}, ${2:attribute_name}, ${3:ignored})",
- "description": "Imports a detail attribute value from a geometry.",
- "prefix": "detail(geometry, attribute_name, ignored)",
- "scope": "source.vex"
- },
- "detailattrib": {
- "body": "detailattrib(${1:geometry}, ${2:attribute_name}, ${3:ignored}, ${4:success})",
- "description": "Imports a detail attribute value from a geometry.",
- "prefix": "detailattrib(geometry, attribute_name, ignored, success)",
- "scope": "source.vex"
- },
- "detailattribsize": {
- "body": "detailattribsize(${1:geometry}, ${2:attribute_name})",
- "description": "Returns the size of a geometry detail attribute.",
- "prefix": "detailattribsize(geometry, attribute_name)",
- "scope": "source.vex"
- },
- "detailattribtype": {
- "body": "detailattribtype(${1:geometry}, ${2:attribute_name})",
- "description": "Returns the type of a geometry detail attribute.",
- "prefix": "detailattribtype(geometry, attribute_name)",
- "scope": "source.vex"
- },
- "detailattribtypeinfo": {
- "body": "detailattribtypeinfo(${1:geometry}, ${2:attribute_name})",
- "description": "Returns the type info of a geometry attribute.",
- "prefix": "detailattribtypeinfo(geometry, attribute_name)",
- "scope": "source.vex"
- },
- "detailintrinsic": {
- "body": "detailintrinsic(${1:geometry}, ${2:intrinsic})",
- "description": "Imports a detail intrinsic from a geometry.",
- "prefix": "detailintrinsic(geometry, intrinsic)",
- "scope": "source.vex"
- },
- "determinant": {
- "body": "determinant(${1:mat})",
- "description": "Computes the determinant of the matrix.",
- "prefix": "determinant(mat)",
- "scope": "source.vex"
- },
- "diffuse": {
- "body": "diffuse(${1:...})",
- "description": "Returns the diffuse (Lambertian) illumination given the normalized\nsurface normal.",
- "prefix": "diffuse(...)",
- "scope": "source.vex"
- },
- "diffuseBRDF": {
- "body": "diffuseBRDF(${1:L}, ${2:N}, ${3:V}, ${4:rough})",
- "description": "",
- "prefix": "diffuseBRDF(L, N, V, rough)",
- "scope": "source.vex"
- },
- "dihedral": {
- "body": "dihedral(${1:a}, ${2:b})",
- "description": "Computes the rotation matrix or quaternion which rotates the vector a onto the vector b.",
- "prefix": "dihedral(a, b)",
- "scope": "source.vex"
- },
- "dimport": {
- "body": "dimport(${1:name}, ${2:value})",
- "description": "Imports a variable from the displacement shader for the surface.",
- "prefix": "dimport(name, value)",
- "scope": "source.vex"
- },
- "distance": {
- "body": "distance(${1:pos1}, ${2:pos2})",
- "description": "Returns the distance between the two 3 or 4 dimensional point\narguments.",
- "prefix": "distance(pos1, pos2)",
- "scope": "source.vex"
- },
- "distance2": {
- "body": "distance2(${1:pos1}, ${2:pos2})",
- "description": "Returns the squared distance between the two 3 or 4 dimensional point\narguments.",
- "prefix": "distance2(pos1, pos2)",
- "scope": "source.vex"
- },
- "dot": {
- "body": "dot(${1:a}, ${2:b})",
- "description": "Returns the dot product between the arguments.",
- "prefix": "dot(a, b)",
- "scope": "source.vex"
- },
- "dsmpixel": {
- "body": "dsmpixel(${1:map}, ${2:channel}, ${3:x}, ${4:y}, ${5:values})",
- "description": "Reads the z-records stored in a pixel of a deep shadow map\nor deep camera map.",
- "prefix": "dsmpixel(map, channel, x, y, values)",
- "scope": "source.vex"
- },
- "efit": {
- "body": "efit(${1:value}, ${2:omin}, ${3:omax}, ${4:nmin}, ${5:nmax})",
- "description": "Takes the value in the range (omin, omax) and shifts it to the corresponding value in the new range (nmin, nmax).",
- "prefix": "efit(value, omin, omax, nmin, nmax)",
- "scope": "source.vex"
- },
- "eigenvalues": {
- "body": "eigenvalues(${1:nroot}, ${2:mat}, ${3:real}, ${4:imaginary})",
- "description": "Computes the eigenvalues of a matrix.",
- "prefix": "eigenvalues(nroot, mat, real, imaginary)",
- "scope": "source.vex"
- },
- "endswith": {
- "body": "endswith(${1:haystack}, ${2:needle})",
- "description": "Indicates the string ends with the specified string.",
- "prefix": "endswith(haystack, needle)",
- "scope": "source.vex"
- },
- "environment": {
- "body": "environment(${1:texture_filename}, ${2:relect_dir0}, ${3:relect_dir1}, ${4:relect_dir2}, ${5:relect_dir3}${6:, ...})",
- "description": "Returns the color of the environment texture.",
- "prefix": "environment(texture_filename, relect_dir0, relect_dir1, relect_dir2, relect_dir3, ...)",
- "scope": "source.vex"
- },
- "erf": {
- "body": "erf(${1:v})",
- "description": "Gauss error function.",
- "prefix": "erf(v)",
- "scope": "source.vex"
- },
- "erf_inv": {
- "body": "erf_inv(${1:v})",
- "description": "Inverse Gauss error function.",
- "prefix": "erf_inv(v)",
- "scope": "source.vex"
- },
- "erfc": {
- "body": "erfc(${1:v})",
- "description": "Gauss error function\u2019s complement.",
- "prefix": "erfc(v)",
- "scope": "source.vex"
- },
- "error": {
- "body": "error(${1:format}${2:, ...})",
- "description": "Reports a custom runtime VEX error.",
- "prefix": "error(format, ...)",
- "scope": "source.vex"
- },
- "eulertoquaternion": {
- "body": "eulertoquaternion(${1:rotations}, ${2:order})",
- "description": "Creates a vector4 representing a quaternion from euler angles.",
- "prefix": "eulertoquaternion(rotations, order)",
- "scope": "source.vex"
- },
- "eval_bsdf": {
- "body": "eval_bsdf(${1:b}, ${2:viewer}, ${3:light}${4:, ...})",
- "description": "Evaluates a bsdf given two vectors.",
- "prefix": "eval_bsdf(b, viewer, light, ...)",
- "scope": "source.vex"
- },
- "exp": {
- "body": "exp(${1:value})",
- "description": "Returns the exponential function of the argument.",
- "prefix": "exp(value)",
- "scope": "source.vex"
- },
- "expand_udim": {
- "body": "expand_udim(${1:u}, ${2:v}, ${3:path}${4:, ...})",
- "description": "Perform UDIM or UVTILE texture filename expansion.",
- "prefix": "expand_udim(u, v, path, ...)",
- "scope": "source.vex"
- },
- "expandpointgroup": {
- "body": "expandpointgroup(${1:filename}, ${2:groupname})",
- "description": "",
- "prefix": "expandpointgroup(filename, groupname)",
- "scope": "source.vex"
- },
- "expandprimgroup": {
- "body": "expandprimgroup(${1:filename}, ${2:groupname})",
- "description": "",
- "prefix": "expandprimgroup(filename, groupname)",
- "scope": "source.vex"
- },
- "fastshadow": {
- "body": "fastshadow(${1:P}, ${2:D}, ${3:bias}${4:, ...})",
- "description": "Sends a ray from the position P along the direction specified by the\ndirection D.",
- "prefix": "fastshadow(P, D, bias, ...)",
- "scope": "source.vex"
- },
- "filamentsample": {
- "body": "filamentsample(${1:filename}, ${2:position})",
- "description": "Samples the velocity field defined by a set of ",
- "prefix": "filamentsample(filename, position)",
- "scope": "source.vex"
- },
- "file_stat": {
- "body": "file_stat(${1:filename}, ${2:stat_data}${3:, ...})",
- "description": "Returns file system status for a given file.",
- "prefix": "file_stat(filename, stat_data, ...)",
- "scope": "source.vex"
- },
- "filtershadow": {
- "body": "filtershadow(${1:P}, ${2:D}, ${3:bias}${4:, ...})",
- "description": "Sends a ray from the position P along direction D.",
- "prefix": "filtershadow(P, D, bias, ...)",
- "scope": "source.vex"
- },
- "filterstep": {
- "body": "filterstep(${1:edge}, ${2:x0}, ${3:x1}${4:, ...})",
- "description": "Returns the anti-aliased weight of the step function.",
- "prefix": "filterstep(edge, x0, x1, ...)",
- "scope": "source.vex"
- },
- "find": {
- "body": "find(${1:array}, ${2:search}, ${3:start}, ${4:end})",
- "description": "Finds an item in an array or string.",
- "prefix": "find(array, search, start, end)",
- "scope": "source.vex"
- },
- "findattribval": {
- "body": "findattribval(${1:file}, ${2:class}, ${3:attribute_name}, ${4:value}, ${5:which=0})",
- "description": "Returns element index where an integer or string attribute has a certain value.",
- "prefix": "findattribval(file, class, attribute_name, value, which=0)",
- "scope": "source.vex"
- },
- "findattribvalcount": {
- "body": "findattribvalcount(${1:file}, ${2:class}, ${3:attribute_name}, ${4:value})",
- "description": "Returns number of elements where an integer or string attribute has a certain value.",
- "prefix": "findattribvalcount(file, class, attribute_name, value)",
- "scope": "source.vex"
- },
- "finput": {
- "body": "finput(${1:input_number}, ${2:planeindex}, ${3:arrayindex}, ${4:u}, ${5:v}, ${6:frame}${7:, ...})",
- "description": "Returns fully filtered pixel input.",
- "prefix": "finput(input_number, planeindex, arrayindex, u, v, frame, ...)",
- "scope": "source.vex"
- },
- "fit": {
- "body": "fit(${1:value}, ${2:omin}, ${3:omax}, ${4:nmin}, ${5:nmax})",
- "description": "Takes the value in the range (omin, omax) and shifts it to the corresponding value in the new range (nmin, nmax).",
- "prefix": "fit(value, omin, omax, nmin, nmax)",
- "scope": "source.vex"
- },
- "fit01": {
- "body": "fit01(${1:value}, ${2:nmin}, ${3:nmax})",
- "description": "Takes the value in the range (0, 1) and shifts it to the corresponding value in the new range (",
- "prefix": "fit01(value, nmin, nmax)",
- "scope": "source.vex"
- },
- "fit10": {
- "body": "fit10(${1:value}, ${2:nmin}, ${3:nmax})",
- "description": "Takes the value in the range (1, 0) and shifts it to the corresponding value in the new range (",
- "prefix": "fit10(value, nmin, nmax)",
- "scope": "source.vex"
- },
- "fit11": {
- "body": "fit11(${1:value}, ${2:nmin}, ${3:nmax})",
- "description": "Takes the value in the range (-1, 1) and shifts it to the corresponding value in the new range (",
- "prefix": "fit11(value, nmin, nmax)",
- "scope": "source.vex"
- },
- "floor": {
- "body": "floor(${1:value})",
- "description": "Returns the largest integer less than or equal to the argument.",
- "prefix": "floor(value)",
- "scope": "source.vex"
- },
- "flownoise": {
- "body": "flownoise(${1:xyz}, ${2:flow})",
- "description": "Generates 1D and 3D Perlin Flow Noise from 3D and 4D data.",
- "prefix": "flownoise(xyz, flow)",
- "scope": "source.vex"
- },
- "flowpnoise": {
- "body": "flowpnoise(${1:xyz}, ${2:p}, ${3:flow})",
- "description": "There are two forms of Perlin-style noise: a non-periodic noise which\nchanges randomly throughout N-dimensional space, and a periodic form\nwhich repeats over a given range of space.",
- "prefix": "flowpnoise(xyz, p, flow)",
- "scope": "source.vex"
- },
- "frac": {
- "body": "frac(${1:value})",
- "description": "Returns the fractional component of the floating point number.",
- "prefix": "frac(value)",
- "scope": "source.vex"
- },
- "fresnel": {
- "body": "fresnel(${1:i}, ${2:n}, ${3:eta}, ${4:kr}, ${5:kt}, ${6:R}, ${7:T})",
- "description": "Computes the fresnel reflection/refraction contributions given an\nincoming vector, surface normal (both normalized), and an index of\nrefraction (eta).",
- "prefix": "fresnel(i, n, eta, kr, kt, R, T)",
- "scope": "source.vex"
- },
- "fromNDC": {
- "body": "fromNDC(${1:point})",
- "description": "Transforms a position from normal device coordinates to the\ncoordinates in the appropriate space.",
- "prefix": "fromNDC(point)",
- "scope": "source.vex"
- },
- "frontface": {
- "body": "frontface(${1:N}, ${2:I}, ${3:Nref})",
- "description": "If dot(I, Nref) is less than zero, N will be negated.",
- "prefix": "frontface(N, I, Nref)",
- "scope": "source.vex"
- },
- "fuzzify": {
- "body": "fuzzify(${1:ramp_basis}, ${2:ramp_values}, ${3:ramp_positions}, ${4:crisp_value}, ${5:min_value}, ${6:max_value})",
- "description": "",
- "prefix": "fuzzify(ramp_basis, ramp_values, ramp_positions, crisp_value, min_value, max_value)",
- "scope": "source.vex"
- },
- "fuzzy_and": {
- "body": "fuzzy_and(${1:v1}, ${2:v2}${3:, ...})",
- "description": "",
- "prefix": "fuzzy_and(v1, v2, ...)",
- "scope": "source.vex"
- },
- "fuzzy_defuzz_centroid": {
- "body": "fuzzy_defuzz_centroid(${1:aggregated_membership}, ${2:min_value}, ${3:max_value})",
- "description": "",
- "prefix": "fuzzy_defuzz_centroid(aggregated_membership, min_value, max_value)",
- "scope": "source.vex"
- },
- "fuzzy_nand": {
- "body": "fuzzy_nand(${1:v1}, ${2:v2}${3:, ...})",
- "description": "",
- "prefix": "fuzzy_nand(v1, v2, ...)",
- "scope": "source.vex"
- },
- "fuzzy_nor": {
- "body": "fuzzy_nor(${1:v1}, ${2:v2}${3:, ...})",
- "description": "",
- "prefix": "fuzzy_nor(v1, v2, ...)",
- "scope": "source.vex"
- },
- "fuzzy_not": {
- "body": "fuzzy_not(${1:v})",
- "description": "",
- "prefix": "fuzzy_not(v)",
- "scope": "source.vex"
- },
- "fuzzy_nxor": {
- "body": "fuzzy_nxor(${1:v1}, ${2:v2}${3:, ...})",
- "description": "",
- "prefix": "fuzzy_nxor(v1, v2, ...)",
- "scope": "source.vex"
- },
- "fuzzy_or": {
- "body": "fuzzy_or(${1:v1}, ${2:v2}${3:, ...})",
- "description": "",
- "prefix": "fuzzy_or(v1, v2, ...)",
- "scope": "source.vex"
- },
- "fuzzy_xor": {
- "body": "fuzzy_xor(${1:v1}, ${2:v2}${3:, ...})",
- "description": "",
- "prefix": "fuzzy_xor(v1, v2, ...)",
- "scope": "source.vex"
- },
- "geoself": {
- "body": "geoself()",
- "description": "Returns a handle to the current geometry.",
- "prefix": "geoself()",
- "scope": "source.vex"
- },
- "geounwrap": {
- "body": "geounwrap(${1:path}, ${2:unwrap_attribute})",
- "description": "Returns an oppath string to unwrap the geometry inplace.",
- "prefix": "geounwrap(path, unwrap_attribute)",
- "scope": "source.vex"
- },
- "getattrib": {
- "body": "getattrib(${1:geometry}, ${2:attribclass}, ${3:name}, ${4:elemnum}, ${5:success})",
- "description": "Reads an attribute value from geometry, with validity check.",
- "prefix": "getattrib(geometry, attribclass, name, elemnum, success)",
- "scope": "source.vex"
- },
- "getattribute": {
- "body": "getattribute(${1:geometry}, ${2:value}, ${3:attribute_class}, ${4:attribute_name}, ${5:number}, ${6:vertex_number})",
- "description": "Copies the value of a geometry attribute into a variable.",
- "prefix": "getattribute(geometry, value, attribute_class, attribute_name, number, vertex_number)",
- "scope": "source.vex"
- },
- "getbbox": {
- "body": "getbbox(${1:min}, ${2:max})",
- "description": "Sets two vectors to the minimum and maximum corners of the bounding box for the geometry.",
- "prefix": "getbbox(min, max)",
- "scope": "source.vex"
- },
- "getbbox_center": {
- "body": "getbbox_center(${1:filename}, ${2:primgroup})",
- "description": "Returns the center of the bounding box for the geometry.",
- "prefix": "getbbox_center(filename, primgroup)",
- "scope": "source.vex"
- },
- "getbbox_max": {
- "body": "getbbox_max(${1:filename}, ${2:primgroup})",
- "description": "Returns the maximum of the bounding box for the geometry.",
- "prefix": "getbbox_max(filename, primgroup)",
- "scope": "source.vex"
- },
- "getbbox_min": {
- "body": "getbbox_min(${1:filename}, ${2:primgroup})",
- "description": "Returns the minimum of the bounding box for the geometry.",
- "prefix": "getbbox_min(filename, primgroup)",
- "scope": "source.vex"
- },
- "getbbox_size": {
- "body": "getbbox_size(${1:filename}, ${2:primgroup})",
- "description": "Returns the size of the bounding box for the geometry.",
- "prefix": "getbbox_size(filename, primgroup)",
- "scope": "source.vex"
- },
- "getblurP": {
- "body": "getblurP(${1:delta})",
- "description": "Returns the blurred point position (",
- "prefix": "getblurP(delta)",
- "scope": "source.vex"
- },
- "getbounces": {
- "body": "getbounces(${1:b})",
- "description": "",
- "prefix": "getbounces(b)",
- "scope": "source.vex"
- },
- "getbounds": {
- "body": "getbounds(${1:filename}, ${2:min}, ${3:max})",
- "description": "Returns the bounding box of the geometry specified by the filename.",
- "prefix": "getbounds(filename, min, max)",
- "scope": "source.vex"
- },
- "getcomp": {
- "body": "getcomp(${1:vec}, ${2:index})",
- "description": "Extracts a single component of a vector type, matrix type, or array.",
- "prefix": "getcomp(vec, index)",
- "scope": "source.vex"
- },
- "getcomponents": {
- "body": "getcomponents()",
- "description": "",
- "prefix": "getcomponents()",
- "scope": "source.vex"
- },
- "getderiv": {
- "body": "getderiv(${1:attr}, ${2:attrName}, ${3:isVertexAttr}, ${4:s}, ${5:t}, ${6:du}, ${7:dv}${8:, ...})",
- "description": "Evaluates surface derivatives of an attribute.",
- "prefix": "getderiv(attr, attrName, isVertexAttr, s, t, du, dv, ...)",
- "scope": "source.vex"
- },
- "getfogname": {
- "body": "getfogname()",
- "description": "Returns the name of the current object whose shader is being run.",
- "prefix": "getfogname()",
- "scope": "source.vex"
- },
- "getglobalraylevel": {
- "body": "getglobalraylevel()",
- "description": "Returns the depth of the ray tree for computing global\nillumination.",
- "prefix": "getglobalraylevel()",
- "scope": "source.vex"
- },
- "getgroupid": {
- "body": "getgroupid()",
- "description": "Returns group id containing current primitive.",
- "prefix": "getgroupid()",
- "scope": "source.vex"
- },
- "getlight": {
- "body": "getlight(${1:lid})",
- "description": "Returns a light struct for the specified light identifier.",
- "prefix": "getlight(lid)",
- "scope": "source.vex"
- },
- "getlightid": {
- "body": "getlightid(${1:lightname})",
- "description": "Returns the light id for a named light (or -1 for an invalid name).",
- "prefix": "getlightid(lightname)",
- "scope": "source.vex"
- },
- "getlightname": {
- "body": "getlightname(${1:lightid})",
- "description": "Returns the name of the current light when called from within an illuminance loop, or converts an integer light ID into the light\u2019s name.",
- "prefix": "getlightname(lightid)",
- "scope": "source.vex"
- },
- "getlights": {
- "body": "getlights(${1:pos}${2:, ...})",
- "description": "Returns an array of light identifiers for the currently shaded surface.",
- "prefix": "getlights(pos, ...)",
- "scope": "source.vex"
- },
- "getlightscope": {
- "body": "getlightscope(${1:mat}, ${2:scope}, ${3:categories})",
- "description": "Returns a selection of lights that illuminate a given material.",
- "prefix": "getlightscope(mat, scope, categories)",
- "scope": "source.vex"
- },
- "getlocalcurvature": {
- "body": "getlocalcurvature(${1:s}, ${2:t})",
- "description": "Evaluates local curvature of primitive grid, using the same curvature evaluation method as Measure SOPs.",
- "prefix": "getlocalcurvature(s, t)",
- "scope": "source.vex"
- },
- "getmaterial": {
- "body": "getmaterial()",
- "description": "Returns a material struct for the current surface.",
- "prefix": "getmaterial()",
- "scope": "source.vex"
- },
- "getmaterialid": {
- "body": "getmaterialid()",
- "description": "Returns material id of shaded primitive.",
- "prefix": "getmaterialid()",
- "scope": "source.vex"
- },
- "getobjectid": {
- "body": "getobjectid()",
- "description": "Returns the object id for the current shading context.",
- "prefix": "getobjectid()",
- "scope": "source.vex"
- },
- "getobjectname": {
- "body": "getobjectname()",
- "description": "Returns the name of the current object whose shader is being run.",
- "prefix": "getobjectname()",
- "scope": "source.vex"
- },
- "getphotonlight": {
- "body": "getphotonlight()",
- "description": "Returns the integer ID of the light being used for photon shading.",
- "prefix": "getphotonlight()",
- "scope": "source.vex"
- },
- "getpointbbox": {
- "body": "getpointbbox(${1:geometry}, ${2:min}, ${3:max})",
- "description": "Sets two vectors to the minimum and maximum corners of the bounding box for the geometry.",
- "prefix": "getpointbbox(geometry, min, max)",
- "scope": "source.vex"
- },
- "getpointbbox_center": {
- "body": "getpointbbox_center(${1:filename}, ${2:primgroup})",
- "description": "Returns the center of the bounding box for the geometry.",
- "prefix": "getpointbbox_center(filename, primgroup)",
- "scope": "source.vex"
- },
- "getpointbbox_max": {
- "body": "getpointbbox_max(${1:filename}, ${2:primgroup})",
- "description": "Returns the maximum of the bounding box for the geometry.",
- "prefix": "getpointbbox_max(filename, primgroup)",
- "scope": "source.vex"
- },
- "getpointbbox_min": {
- "body": "getpointbbox_min(${1:filename}, ${2:primgroup})",
- "description": "Returns the minimum of the bounding box for the geometry.",
- "prefix": "getpointbbox_min(filename, primgroup)",
- "scope": "source.vex"
- },
- "getpointbbox_size": {
- "body": "getpointbbox_size(${1:filename}, ${2:primgroup})",
- "description": "Returns the size of the bounding box for the geometry.",
- "prefix": "getpointbbox_size(filename, primgroup)",
- "scope": "source.vex"
- },
- "getprimid": {
- "body": "getprimid()",
- "description": "Returns the number of the current primitive.",
- "prefix": "getprimid()",
- "scope": "source.vex"
- },
- "getptextureid": {
- "body": "getptextureid()",
- "description": "Returns the ptexture face id for the current primitive.",
- "prefix": "getptextureid()",
- "scope": "source.vex"
- },
- "getraylevel": {
- "body": "getraylevel()",
- "description": "Returns the depth of the ray tree for the current shading.",
- "prefix": "getraylevel()",
- "scope": "source.vex"
- },
- "getrayweight": {
- "body": "getrayweight()",
- "description": "Returns an approximation to the contribution of the ray to the final\npixel color.",
- "prefix": "getrayweight()",
- "scope": "source.vex"
- },
- "getsamplestore": {
- "body": "getsamplestore(${1:channel}, ${2:P}, ${3:value})",
- "description": "Looks up sample data in a channel, referenced by a point.",
- "prefix": "getsamplestore(channel, P, value)",
- "scope": "source.vex"
- },
- "getscope": {
- "body": "getscope(${1:mat}, ${2:raystyle}, ${3:scope}, ${4:categories})",
- "description": "Returns a selection of objects visible to rays for a given material.",
- "prefix": "getscope(mat, raystyle, scope, categories)",
- "scope": "source.vex"
- },
- "getsmoothP": {
- "body": "getsmoothP(${1:...})",
- "description": "Returns modified surface position based on a smoothing function.",
- "prefix": "getsmoothP(...)",
- "scope": "source.vex"
- },
- "getspace": {
- "body": "getspace(${1:fromspace}, ${2:tospace})",
- "description": "See getspace",
- "prefix": "getspace(fromspace, tospace)",
- "scope": "source.vex"
- },
- "getuvtangents": {
- "body": "getuvtangents(${1:objName}, ${2:P}, ${3:dir}, ${4:Tu}, ${5:Tv}, ${6:Tn})",
- "description": "Evaluates UV tangents at a point on an arbitrary object.",
- "prefix": "getuvtangents(objName, P, dir, Tu, Tv, Tn)",
- "scope": "source.vex"
- },
- "gradient": {
- "body": "gradient(${1:P}, ${2:val}${3:, ...})",
- "description": "Returns the gradient of a field.",
- "prefix": "gradient(P, val, ...)",
- "scope": "source.vex"
- },
- "hair": {
- "body": "hair(${1:N}, ${2:tip}, ${3:lobe_shift}, ${4:lobe_width_lon}${5:, ...})",
- "description": "",
- "prefix": "hair(N, tip, lobe_shift, lobe_width_lon, ...)",
- "scope": "source.vex"
- },
- "hasattrib": {
- "body": "hasattrib(${1:geometry}, ${2:attribute_class}, ${3:attribute_name})",
- "description": "Checks whether a geometry attribute exists.",
- "prefix": "hasattrib(geometry, attribute_class, attribute_name)",
- "scope": "source.vex"
- },
- "hasdetailattrib": {
- "body": "hasdetailattrib(${1:geometry}, ${2:attribute_name})",
- "description": "Returns if a geometry detail attribute exists.",
- "prefix": "hasdetailattrib(geometry, attribute_name)",
- "scope": "source.vex"
- },
- "haslight": {
- "body": "haslight(${1:mat}, ${2:P}, ${3:light}${4:, ...})",
- "description": "Returns whether a light illuminates the given material.",
- "prefix": "haslight(mat, P, light, ...)",
- "scope": "source.vex"
- },
- "hasmetadata": {
- "body": "hasmetadata(${1:opinput}, ${2:name})",
- "description": "Queries if metadata exists on a composite operator.",
- "prefix": "hasmetadata(opinput, name)",
- "scope": "source.vex"
- },
- "hasplane": {
- "body": "hasplane(${1:planename})",
- "description": "Returns 1 if the plane specified by the parameter exists in this\nCOP.",
- "prefix": "hasplane(planename)",
- "scope": "source.vex"
- },
- "haspointattrib": {
- "body": "haspointattrib(${1:geometry}, ${2:attribute_name})",
- "description": "Returns if a geometry point attribute exists.",
- "prefix": "haspointattrib(geometry, attribute_name)",
- "scope": "source.vex"
- },
- "hasprimattrib": {
- "body": "hasprimattrib(${1:geometry}, ${2:attribute_name})",
- "description": "Returns if a geometry prim attribute exists.",
- "prefix": "hasprimattrib(geometry, attribute_name)",
- "scope": "source.vex"
- },
- "hasvertexattrib": {
- "body": "hasvertexattrib(${1:geometry}, ${2:attribute_name})",
- "description": "Returns if a geometry vertex attribute exists.",
- "prefix": "hasvertexattrib(geometry, attribute_name)",
- "scope": "source.vex"
- },
- "hedge_dstpoint": {
- "body": "hedge_dstpoint(${1:geometry}, ${2:hedge})",
- "description": "Returns the destination point of a half-edge.",
- "prefix": "hedge_dstpoint(geometry, hedge)",
- "scope": "source.vex"
- },
- "hedge_dstvertex": {
- "body": "hedge_dstvertex(${1:geometry}, ${2:hedge})",
- "description": "Returns the destination vertex of a half-edge.",
- "prefix": "hedge_dstvertex(geometry, hedge)",
- "scope": "source.vex"
- },
- "hedge_equivcount": {
- "body": "hedge_equivcount(${1:geometry}, ${2:hedge})",
- "description": "Returns the number of half-edges equivalent to a given half-edge.",
- "prefix": "hedge_equivcount(geometry, hedge)",
- "scope": "source.vex"
- },
- "hedge_isequiv": {
- "body": "hedge_isequiv(${1:geometry}, ${2:hedge1}, ${3:hedge2})",
- "description": "Determines whether a two half-edges are equivalent (represent the same edge).",
- "prefix": "hedge_isequiv(geometry, hedge1, hedge2)",
- "scope": "source.vex"
- },
- "hedge_isprimary": {
- "body": "hedge_isprimary(${1:geometry}, ${2:hedge})",
- "description": "Determines whether a half-edge number corresponds to a primary half-edge.",
- "prefix": "hedge_isprimary(geometry, hedge)",
- "scope": "source.vex"
- },
- "hedge_isvalid": {
- "body": "hedge_isvalid(${1:geometry}, ${2:hedge})",
- "description": "Determines whether a half-edge number corresponds to a valid half-edge.",
- "prefix": "hedge_isvalid(geometry, hedge)",
- "scope": "source.vex"
- },
- "hedge_next": {
- "body": "hedge_next(${1:geometry}, ${2:hedge})",
- "description": "Returns the half-edge that follows a given half-edge in its polygon.",
- "prefix": "hedge_next(geometry, hedge)",
- "scope": "source.vex"
- },
- "hedge_nextequiv": {
- "body": "hedge_nextequiv(${1:geometry}, ${2:hedge})",
- "description": "Returns the next half-edges equivalent to a given half-edge.",
- "prefix": "hedge_nextequiv(geometry, hedge)",
- "scope": "source.vex"
- },
- "hedge_postdstpoint": {
- "body": "hedge_postdstpoint(${1:geometry}, ${2:hedge})",
- "description": "Returns the point into which the vertex following the destination vertex of a half-edge in its primitive is wired.",
- "prefix": "hedge_postdstpoint(geometry, hedge)",
- "scope": "source.vex"
- },
- "hedge_postdstvertex": {
- "body": "hedge_postdstvertex(${1:geometry}, ${2:hedge})",
- "description": "Returns the vertex following the destination vertex of a half-edge in its primitive.",
- "prefix": "hedge_postdstvertex(geometry, hedge)",
- "scope": "source.vex"
- },
- "hedge_presrcpoint": {
- "body": "hedge_presrcpoint(${1:geometry}, ${2:hedge})",
- "description": "Returns the point into which the vertex that precedes the source vertex of a half-edge in its primitive is wired.",
- "prefix": "hedge_presrcpoint(geometry, hedge)",
- "scope": "source.vex"
- },
- "hedge_presrcvertex": {
- "body": "hedge_presrcvertex(${1:geometry}, ${2:hedge})",
- "description": "Returns the vertex that precedes the source vertex of a half-edge in its primitive.",
- "prefix": "hedge_presrcvertex(geometry, hedge)",
- "scope": "source.vex"
- },
- "hedge_prev": {
- "body": "hedge_prev(${1:geometry}, ${2:hedge})",
- "description": "Returns the half-edge that precedes a given half-edge in its polygon.",
- "prefix": "hedge_prev(geometry, hedge)",
- "scope": "source.vex"
- },
- "hedge_prim": {
- "body": "hedge_prim(${1:geometry}, ${2:hedge})",
- "description": "Returns the primitive that contains a half-edge.",
- "prefix": "hedge_prim(geometry, hedge)",
- "scope": "source.vex"
- },
- "hedge_primary": {
- "body": "hedge_primary(${1:geometry}, ${2:hedge})",
- "description": "Returns the primary half-edge equivalent to a given half-edge.",
- "prefix": "hedge_primary(geometry, hedge)",
- "scope": "source.vex"
- },
- "hedge_srcpoint": {
- "body": "hedge_srcpoint(${1:geometry}, ${2:hedge})",
- "description": "Returns the source point of a half-edge.",
- "prefix": "hedge_srcpoint(geometry, hedge)",
- "scope": "source.vex"
- },
- "hedge_srcvertex": {
- "body": "hedge_srcvertex(${1:geometry}, ${2:hedge})",
- "description": "Returns the source vertex of a half-edge.",
- "prefix": "hedge_srcvertex(geometry, hedge)",
- "scope": "source.vex"
- },
- "henyeygreenstein": {
- "body": "henyeygreenstein(${1:anisotropic_bias}${2:, ...})",
- "description": "Returns an anisotropic volumetric bsdf, which can scatter light forward or backward.",
- "prefix": "henyeygreenstein(anisotropic_bias, ...)",
- "scope": "source.vex"
- },
- "hscript_noise": {
- "body": "hscript_noise(${1:pos})",
- "description": "Mimics the Houdini expression functions noise(), snoise(), turb(), and\nsturb().",
- "prefix": "hscript_noise(pos)",
- "scope": "source.vex"
- },
- "hscript_rand": {
- "body": "hscript_rand(${1:seed})",
- "description": "Produces the exact same results as the Houdini expression function of\nthe same name.",
- "prefix": "hscript_rand(seed)",
- "scope": "source.vex"
- },
- "hscript_snoise": {
- "body": "hscript_snoise(${1:pos})",
- "description": "",
- "prefix": "hscript_snoise(pos)",
- "scope": "source.vex"
- },
- "hscript_sturb": {
- "body": "hscript_sturb(${1:pos}, ${2:turbulence})",
- "description": "",
- "prefix": "hscript_sturb(pos, turbulence)",
- "scope": "source.vex"
- },
- "hscript_turb": {
- "body": "hscript_turb(${1:pos}, ${2:turbulence})",
- "description": "",
- "prefix": "hscript_turb(pos, turbulence)",
- "scope": "source.vex"
- },
- "hsvtorgb": {
- "body": "hsvtorgb(${1:hsv})",
- "description": "Convert HSV color space into RGB color space.",
- "prefix": "hsvtorgb(hsv)",
- "scope": "source.vex"
- },
- "iaspect": {
- "body": "iaspect(${1:input_number})",
- "description": "Returns the aspect ratio of the specified input.",
- "prefix": "iaspect(input_number)",
- "scope": "source.vex"
- },
- "ichname": {
- "body": "ichname(${1:planeindex}, ${2:chindex}, ${3:input})",
- "description": "Returns the channel name of the indexed plane of the given input (e.",
- "prefix": "ichname(planeindex, chindex, input)",
- "scope": "source.vex"
- },
- "ident": {
- "body": "ident()",
- "description": "Return an identity matrix.",
- "prefix": "ident()",
- "scope": "source.vex"
- },
- "idtopoint": {
- "body": "idtopoint(${1:file}, ${2:id})",
- "description": "Looks up a point number by an id attribute.",
- "prefix": "idtopoint(file, id)",
- "scope": "source.vex"
- },
- "idtoprim": {
- "body": "idtoprim(${1:file}, ${2:id})",
- "description": "Looks up a primitive number by an id attribute.",
- "prefix": "idtoprim(file, id)",
- "scope": "source.vex"
- },
- "iend": {
- "body": "iend(${1:input_number})",
- "description": "Returns the last frame of the specified input.",
- "prefix": "iend(input_number)",
- "scope": "source.vex"
- },
- "iendtime": {
- "body": "iendtime(${1:input_number})",
- "description": "Returns the end time of the specified input.",
- "prefix": "iendtime(input_number)",
- "scope": "source.vex"
- },
- "ihasplane": {
- "body": "ihasplane(${1:input_number}, ${2:planename})",
- "description": "Returns 1 if the specified input has a plane named ",
- "prefix": "ihasplane(input_number, planename)",
- "scope": "source.vex"
- },
- "import": {
- "body": "import(${1:attrib_name}, ${2:values}, ${3:input}, ${4:pt_num})",
- "prefix": "import(attrib_name, values, input, pt_num)",
- "scope": "source.vex"
- },
- "ingroup": {
- "body": "ingroup(${1:group_name}, ${2:point_number})",
- "prefix": "ingroup(group_name, point_number)",
- "scope": "source.vex"
- },
- "inpointgroup": {
- "body": "inpointgroup(${1:filename}, ${2:groupname}, ${3:pointnum})",
- "description": "Returns 1 if the point specified by the point number is in the group specified by the string.",
- "prefix": "inpointgroup(filename, groupname, pointnum)",
- "scope": "source.vex"
- },
- "inprimgroup": {
- "body": "inprimgroup(${1:filename}, ${2:groupname}, ${3:primnum})",
- "description": "Returns 1 if the primitive specified by the primitive number is in the group specified by the string.",
- "prefix": "inprimgroup(filename, groupname, primnum)",
- "scope": "source.vex"
- },
- "insert": {
- "body": "insert(${1:str}, ${2:index}, ${3:value})",
- "description": "Inserts an item, array, or string into an array or string.",
- "prefix": "insert(str, index, value)",
- "scope": "source.vex"
- },
- "instance": {
- "body": "instance(${1:P}, ${2:N}, ${3:scale}, ${4:pivot})",
- "description": "Creates an instance transform matrix.",
- "prefix": "instance(P, N, scale, pivot)",
- "scope": "source.vex"
- },
- "interpolate": {
- "body": "interpolate(${1:val}, ${2:sx}, ${3:sy})",
- "description": "Interpolates a value across the currently shaded micropolygon.",
- "prefix": "interpolate(val, sx, sy)",
- "scope": "source.vex"
- },
- "intersect": {
- "body": "intersect(${1:filename}, ${2:orig}, ${3:dir}, ${4:p}, ${5:uvw})",
- "description": "This function computes the intersection of the specified ray with the geometry.",
- "prefix": "intersect(filename, orig, dir, p, uvw)",
- "scope": "source.vex"
- },
- "intersect_all": {
- "body": "intersect_all(${1:filename}, ${2:orig}, ${3:dir}, ${4:pos}, ${5:prim}, ${6:uvw}, ${7:tol=0.01}, ${8:ttol=0.01})",
- "description": "This function computes all intersections of the specified ray with the geometry.",
- "prefix": "intersect_all(filename, orig, dir, pos, prim, uvw, tol=0.01, ttol=0.01)",
- "scope": "source.vex"
- },
- "intersect_lights": {
- "body": "intersect_lights(${1:lightids}, ${2:pos}, ${3:dir}, ${4:time}, ${5:idx}, ${6:dist}, ${7:clr}, ${8:scale}${9:, ...})",
- "description": "Finds the nearest intersection of a ray with any of a list of (area) lights and runs the light shader at the intersection point.",
- "prefix": "intersect_lights(lightids, pos, dir, time, idx, dist, clr, scale, ...)",
- "scope": "source.vex"
- },
- "inumplanes": {
- "body": "inumplanes(${1:input_number})",
- "description": "Returns the number of planes in the given input.",
- "prefix": "inumplanes(input_number)",
- "scope": "source.vex"
- },
- "invert": {
- "body": "invert(${1:mat})",
- "description": "Inverts the matrix.",
- "prefix": "invert(mat)",
- "scope": "source.vex"
- },
- "invertexgroup": {
- "body": "invertexgroup(${1:filename}, ${2:groupname}, ${3:vertexnum})",
- "description": "Returns 1 if the vertex specified by the vertex number is in the group specified by the string.",
- "prefix": "invertexgroup(filename, groupname, vertexnum)",
- "scope": "source.vex"
- },
- "iplaneindex": {
- "body": "iplaneindex(${1:input_number}, ${2:planename})",
- "description": "Returns the index of the plane named 'planename' in the specified input.",
- "prefix": "iplaneindex(input_number, planename)",
- "scope": "source.vex"
- },
- "iplanename": {
- "body": "iplanename(${1:input_number}, ${2:planeindex})",
- "description": "Returns the name of the plane specified by the planeindex of the given input",
- "prefix": "iplanename(input_number, planeindex)",
- "scope": "source.vex"
- },
- "iplanesize": {
- "body": "iplanesize(${1:input_number}, ${2:planeindex})",
- "description": "Returns the number of components in the plane named ",
- "prefix": "iplanesize(input_number, planeindex)",
- "scope": "source.vex"
- },
- "irate": {
- "body": "irate(${1:input_number})",
- "description": "Returns the frame rate of the specified input.",
- "prefix": "irate(input_number)",
- "scope": "source.vex"
- },
- "irradiance": {
- "body": "irradiance(${1:P}, ${2:N}${3:, ...})",
- "description": "Computes irradiance (global illumination) at the point P with the\nnormal N.",
- "prefix": "irradiance(P, N, ...)",
- "scope": "source.vex"
- },
- "isalpha": {
- "body": "isalpha(${1:str})",
- "description": "Returns 1 if all the characters in the string are alphabetic",
- "prefix": "isalpha(str)",
- "scope": "source.vex"
- },
- "isbound": {
- "body": "isbound(${1:variable_name})",
- "description": "Parameters in VEX can be overridden by geometry attributes (if the attributes exist on the surface being rendered).",
- "prefix": "isbound(variable_name)",
- "scope": "source.vex"
- },
- "isconnected": {
- "body": "isconnected(${1:input_number})",
- "description": "Returns 1 if input_number is connected, or 0 if the input is not connected.",
- "prefix": "isconnected(input_number)",
- "scope": "source.vex"
- },
- "isdigit": {
- "body": "isdigit(${1:str})",
- "description": "Returns 1 if all the characters in the string are numeric",
- "prefix": "isdigit(str)",
- "scope": "source.vex"
- },
- "isfinite": {
- "body": "isfinite(${1:x})",
- "description": "Checks whether a value is a normal finite number.",
- "prefix": "isfinite(x)",
- "scope": "source.vex"
- },
- "isfogray": {
- "body": "isfogray()",
- "description": "Returns 1 if the shader is being called to evaluate illumination for\nfog objects, or 0 if the light or shadow shader is being called to\nevaluate surface illumination.",
- "prefix": "isfogray()",
- "scope": "source.vex"
- },
- "isframes": {
- "body": "isframes()",
- "description": "Returns 1 if the Vex CHOP\u2019s Unit Menu is currently set to 'frames', 0\notherwise.",
- "prefix": "isframes()",
- "scope": "source.vex"
- },
- "isnan": {
- "body": "isnan(${1:x})",
- "description": "Checks whether a value is not a number.",
- "prefix": "isnan(x)",
- "scope": "source.vex"
- },
- "isotropic": {
- "body": "isotropic(${1:...})",
- "description": "Returns an isotropic bsdf, which scatters light equally in all directions.",
- "prefix": "isotropic(...)",
- "scope": "source.vex"
- },
- "israytracing": {
- "body": "israytracing()",
- "description": "Indicates whether a shader is being executed for ray tracing.",
- "prefix": "israytracing()",
- "scope": "source.vex"
- },
- "issamples": {
- "body": "issamples()",
- "description": "Returns 1 if the Vex CHOP\u2019s Unit Menu is currently set to 'samples',\n0 otherwise.",
- "prefix": "issamples()",
- "scope": "source.vex"
- },
- "isseconds": {
- "body": "isseconds()",
- "description": "Returns 1 if the Vex CHOP\u2019s Unit Menu is currently set to 'seconds',\n0 otherwise.",
- "prefix": "isseconds()",
- "scope": "source.vex"
- },
- "isshadowray": {
- "body": "isshadowray()",
- "description": "Returns 1 if the shader is being called to evaluate opacity for\nshadow rays, or 0 if the shader is being called to evaluate for surface\ncolor.",
- "prefix": "isshadowray()",
- "scope": "source.vex"
- },
- "istart": {
- "body": "istart(${1:input_number})",
- "description": "Returns the starting frame of the specified input.",
- "prefix": "istart(input_number)",
- "scope": "source.vex"
- },
- "istarttime": {
- "body": "istarttime(${1:input_number})",
- "description": "Returns the start time of the specified input.",
- "prefix": "istarttime(input_number)",
- "scope": "source.vex"
- },
- "isuvrendering": {
- "body": "isuvrendering()",
- "description": "Indicats whether the shader is being evaulated while doing UV rendering (e.g. texture unwrapping)",
- "prefix": "isuvrendering()",
- "scope": "source.vex"
- },
- "isvalidindex": {
- "body": "isvalidindex(${1:str}, ${2:index})",
- "description": "Checks if the index given is valid for the array or string given.",
- "prefix": "isvalidindex(str, index)",
- "scope": "source.vex"
- },
- "isvarying": {
- "body": "isvarying(${1:variable})",
- "description": "Check whether a VEX variable is varying or uniform.",
- "prefix": "isvarying(variable)",
- "scope": "source.vex"
- },
- "itoa": {
- "body": "itoa(${1:number})",
- "description": "Converts an integer to a string.",
- "prefix": "itoa(number)",
- "scope": "source.vex"
- },
- "ixres": {
- "body": "ixres(${1:input_number})",
- "description": "Returns the X resolution of the specified input.",
- "prefix": "ixres(input_number)",
- "scope": "source.vex"
- },
- "iyres": {
- "body": "iyres(${1:input_number})",
- "description": "Returns the Y resolution of the specified input.",
- "prefix": "iyres(input_number)",
- "scope": "source.vex"
- },
- "join": {
- "body": "join(${1:s}, ${2:spacer})",
- "description": "Concatenate all the strings of an array inserting a common spacer.",
- "prefix": "join(s, spacer)",
- "scope": "source.vex"
- },
- "kspline": {
- "body": "kspline(${1:basis}, ${2:t}, ${3:v0}, ${4:k0}${5:, ...})",
- "description": "Returns an interpolated value along a spline curve.",
- "prefix": "kspline(basis, t, v0, k0, ...)",
- "scope": "source.vex"
- },
- "len": {
- "body": "len(${1:array})",
- "description": "Returns the length of an array.",
- "prefix": "len(array)",
- "scope": "source.vex"
- },
- "length": {
- "body": "length(${1:vec})",
- "description": "Returns the length of the vector or vector4.",
- "prefix": "length(vec)",
- "scope": "source.vex"
- },
- "length2": {
- "body": "length2(${1:vec})",
- "description": "Returns the squared distance of the vector or vector4.",
- "prefix": "length2(vec)",
- "scope": "source.vex"
- },
- "lerp": {
- "body": "lerp(${1:value1}, ${2:value2}, ${3:amount})",
- "description": "Performs bilinear interpolation between the values.",
- "prefix": "lerp(value1, value2, amount)",
- "scope": "source.vex"
- },
- "lightbounces": {
- "body": "lightbounces(${1:lp})",
- "description": "Returns the bounce mask for a light struct.",
- "prefix": "lightbounces(lp)",
- "scope": "source.vex"
- },
- "lightid": {
- "body": "lightid(${1:lp})",
- "description": "Returns the light id for a light struct.",
- "prefix": "lightid(lp)",
- "scope": "source.vex"
- },
- "limit_sample_space": {
- "body": "limit_sample_space(${1:minu}, ${2:maxu}, ${3:u})",
- "description": "Limits u in ",
- "prefix": "limit_sample_space(minu, maxu, u)",
- "scope": "source.vex"
- },
- "limport": {
- "body": "limport(${1:name}, ${2:value})",
- "description": "Imports a variable from the light shader for the surface.",
- "prefix": "limport(name, value)",
- "scope": "source.vex"
- },
- "lkspline": {
- "body": "lkspline(${1:t}, ${2:v1}, ${3:k1}${4:, ...})",
- "description": "Computes a linear spline between the key points.",
- "prefix": "lkspline(t, v1, k1, ...)",
- "scope": "source.vex"
- },
- "log": {
- "body": "log(${1:value})",
- "description": "Returns the natural logarithm of the argument.",
- "prefix": "log(value)",
- "scope": "source.vex"
- },
- "log10": {
- "body": "log10(${1:value})",
- "description": "Returns the logarithm (base 10) of the argument.",
- "prefix": "log10(value)",
- "scope": "source.vex"
- },
- "lookat": {
- "body": "lookat(${1:from}, ${2:to}, ${3:up}, ${4:xyz})",
- "description": "Computes a rotation matrix or angles to orient the z-axis along the vector\n(to-from) under the transformation.",
- "prefix": "lookat(from, to, up, xyz)",
- "scope": "source.vex"
- },
- "lspline": {
- "body": "lspline(${1:t}, ${2:val1}${3:, ...})",
- "description": "Computes a linear spline between the key points.",
- "prefix": "lspline(t, val1, ...)",
- "scope": "source.vex"
- },
- "lstrip": {
- "body": "lstrip(${1:value}, ${2:whitespace})",
- "description": "Strips leading whitespace from a string.",
- "prefix": "lstrip(value, whitespace)",
- "scope": "source.vex"
- },
- "luminance": {
- "body": "luminance(${1:vec})",
- "description": "Compute the luminance of the RGB color specified by the parameters.",
- "prefix": "luminance(vec)",
- "scope": "source.vex"
- },
- "lumname": {
- "body": "lumname()",
- "description": "Returns the default name of the luminence plane (as it appears in the\ncompositor preferences).",
- "prefix": "lumname()",
- "scope": "source.vex"
- },
- "makebasis": {
- "body": "makebasis(${1:xaxis}, ${2:yaxis}, ${3:zaxis}, ${4:u})",
- "description": "Creates an orthonormal basis given a z-axis vector.",
- "prefix": "makebasis(xaxis, yaxis, zaxis, u)",
- "scope": "source.vex"
- },
- "maketransform": {
- "body": "maketransform(${1:zaxis}, ${2:yaxis}, ${3:translate})",
- "description": "Builds a 3\u00d73 or 4\u00d74 transform matrix.",
- "prefix": "maketransform(zaxis, yaxis, translate)",
- "scope": "source.vex"
- },
- "maskname": {
- "body": "maskname()",
- "description": "Returns the default name of the mask plane (as it appears in the\ncompositor preferences).",
- "prefix": "maskname()",
- "scope": "source.vex"
- },
- "match": {
- "body": "match(${1:pattern}, ${2:subject})",
- "description": "This function returns 1 if the subject matches the pattern specified,\nor 0 if the subject doesn\u2019t match.",
- "prefix": "match(pattern, subject)",
- "scope": "source.vex"
- },
- "matchvex_blinn": {
- "body": "matchvex_blinn(${1:nml}, ${2:exponent}${3:, ...})",
- "description": "",
- "prefix": "matchvex_blinn(nml, exponent, ...)",
- "scope": "source.vex"
- },
- "matchvex_specular": {
- "body": "matchvex_specular(${1:nml}, ${2:exponent}${3:, ...})",
- "description": "",
- "prefix": "matchvex_specular(nml, exponent, ...)",
- "scope": "source.vex"
- },
- "mattrib": {
- "body": "mattrib(${1:name}, ${2:P})",
- "description": "Returns the value of the point attribute for the metaballs if\nmetaball geometry is specified to i3dgen.",
- "prefix": "mattrib(name, P)",
- "scope": "source.vex"
- },
- "max": {
- "body": "max(${1:value1}, ${2:value2}${3:, ...})",
- "description": "",
- "prefix": "max(value1, value2, ...)",
- "scope": "source.vex"
- },
- "mdensity": {
- "body": "mdensity(${1:P})",
- "description": "Returns the density of the metaball field if metaball geometry is\nspecified to i3dgen.",
- "prefix": "mdensity(P)",
- "scope": "source.vex"
- },
- "metadata": {
- "body": "metadata(${1:opinput}, ${2:name}, ${3:index})",
- "description": "Returns a metadata value from a composite operator.",
- "prefix": "metadata(opinput, name, index)",
- "scope": "source.vex"
- },
- "metaimport": {
- "body": "metaimport(${1:geometry}, ${2:attribute_name}, ${3:pos})",
- "description": "Once you get a handle to a metaball using metastart and metanext, you\ncan query attributes of the metaball with metaimport.",
- "prefix": "metaimport(geometry, attribute_name, pos)",
- "scope": "source.vex"
- },
- "metamarch": {
- "body": "metamarch(${1:index}, ${2:filename}, ${3:p0}, ${4:p1}, ${5:displace_bound})",
- "description": "Takes the ray defined by p0 and p1 and partitions it into zero or\nmore sub-intervals where each interval intersects a cluster of metaballs\nfrom filename.",
- "prefix": "metamarch(index, filename, p0, p1, displace_bound)",
- "scope": "source.vex"
- },
- "metanext": {
- "body": "metanext(${1:handle})",
- "description": "Iterate to the next metaball in the list of metaballs returned by the ",
- "prefix": "metanext(handle)",
- "scope": "source.vex"
- },
- "metastart": {
- "body": "metastart(${1:filename}, ${2:p})",
- "description": "Open a geometry file and return a \"handle\" for the metaballs of\ninterest, at the position p.",
- "prefix": "metastart(filename, p)",
- "scope": "source.vex"
- },
- "metaweight": {
- "body": "metaweight(${1:filename}, ${2:p})",
- "description": "Returns the metaweight of the geometry at position p.",
- "prefix": "metaweight(filename, p)",
- "scope": "source.vex"
- },
- "min": {
- "body": "min(${1:value1}, ${2:value2}${3:, ...})",
- "description": "",
- "prefix": "min(value1, value2, ...)",
- "scope": "source.vex"
- },
- "minpos": {
- "body": "minpos(${1:geometry}, ${2:pt}, ${3:maxdist})",
- "description": "Finds the closest position on the surface of a geometry.",
- "prefix": "minpos(geometry, pt, maxdist)",
- "scope": "source.vex"
- },
- "mspace": {
- "body": "mspace(${1:P})",
- "description": "Transforms the position specified into the \"local\" space of the\nmetaball.",
- "prefix": "mspace(P)",
- "scope": "source.vex"
- },
- "nametopoint": {
- "body": "nametopoint(${1:file}, ${2:name})",
- "description": "Looks up a point number by a name attribute.",
- "prefix": "nametopoint(file, name)",
- "scope": "source.vex"
- },
- "nametoprim": {
- "body": "nametoprim(${1:geometry}, ${2:name})",
- "description": "Looks up a primitive number by a name attribute.",
- "prefix": "nametoprim(geometry, name)",
- "scope": "source.vex"
- },
- "nbouncetypes": {
- "body": "nbouncetypes()",
- "description": "",
- "prefix": "nbouncetypes()",
- "scope": "source.vex"
- },
- "nearpoint": {
- "body": "nearpoint(${1:geometry}, ${2:pt}, ${3:maxdist})",
- "description": "Finds the closest point in a geometry.",
- "prefix": "nearpoint(geometry, pt, maxdist)",
- "scope": "source.vex"
- },
- "nearpoints": {
- "body": "nearpoints(${1:geometry}, ${2:pt}, ${3:maxdist}, ${4:maxpts})",
- "description": "Finds the all the closest point in a geometry.",
- "prefix": "nearpoints(geometry, pt, maxdist, maxpts)",
- "scope": "source.vex"
- },
- "neighbour": {
- "body": "neighbour(${1:filename}, ${2:ptnum}, ${3:neighbournum})",
- "description": "Returns the point index of the neighbour of the point.",
- "prefix": "neighbour(filename, ptnum, neighbournum)",
- "scope": "source.vex"
- },
- "neighbourcount": {
- "body": "neighbourcount(${1:filename}, ${2:ptnum})",
- "description": "Returns the number of points that are connected to the specified point.",
- "prefix": "neighbourcount(filename, ptnum)",
- "scope": "source.vex"
- },
- "neighbours": {
- "body": "neighbours(${1:filename}, ${2:ptnum})",
- "description": "Returns an array of the point numbers of the neighbours of a point.",
- "prefix": "neighbours(filename, ptnum)",
- "scope": "source.vex"
- },
- "newgroup": {
- "body": "newgroup(${1:group_name})",
- "prefix": "newgroup(group_name)",
- "scope": "source.vex"
- },
- "newsampler": {
- "body": "newsampler(${1:seed}${2:, ...})",
- "description": "",
- "prefix": "newsampler(seed, ...)",
- "scope": "source.vex"
- },
- "nextsample": {
- "body": "nextsample(${1:sid}, ${2:svec}${3:, ...})",
- "description": "",
- "prefix": "nextsample(sid, svec, ...)",
- "scope": "source.vex"
- },
- "ninput": {
- "body": "ninput(${1:input_number}, ${2:planeindex}, ${3:arrayindex}, ${4:component}, ${5:u}, ${6:v}, ${7:frame}${8:, ...})",
- "description": "Reads a pixel and its eight neighbors into a 3\u00d73 matrix.",
- "prefix": "ninput(input_number, planeindex, arrayindex, component, u, v, frame, ...)",
- "scope": "source.vex"
- },
- "ninputs": {
- "body": "ninputs()",
- "description": "Returns the number of inputs.",
- "prefix": "ninputs()",
- "scope": "source.vex"
- },
- "noise": {
- "body": "noise(${1:xyz})",
- "description": "There are two forms of Perlin-style noise: a non-periodic noise which\nchanges randomly throughout N-dimensional space, and a periodic form\nwhich repeats over a given range of space.",
- "prefix": "noise(xyz)",
- "scope": "source.vex"
- },
- "noised": {
- "body": "noised(${1:xyz}, ${2:v}, ${3:dvdx}, ${4:dvdy}, ${5:dvdz})",
- "description": "Derivatives of Perlin Noise.",
- "prefix": "noised(xyz, v, dvdx, dvdy, dvdz)",
- "scope": "source.vex"
- },
- "normal_bsdf": {
- "body": "normal_bsdf(${1:b})",
- "description": "Returns the normal for the diffuse component of a bsdf.",
- "prefix": "normal_bsdf(b)",
- "scope": "source.vex"
- },
- "normalize": {
- "body": "normalize(${1:v})",
- "description": "Returns the normalized vector.",
- "prefix": "normalize(v)",
- "scope": "source.vex"
- },
- "normalname": {
- "body": "normalname()",
- "description": "Returns the default name of the normal plane (as it appears in the\ncompositor preferences).",
- "prefix": "normalname()",
- "scope": "source.vex"
- },
- "npoints": {
- "body": "npoints(${1:filename})",
- "description": "Returns the number of points in the input or geometry file.",
- "prefix": "npoints(filename)",
- "scope": "source.vex"
- },
- "npointsgroup": {
- "body": "npointsgroup(${1:filename}, ${2:groupname})",
- "description": "Returns the number of points in the group.",
- "prefix": "npointsgroup(filename, groupname)",
- "scope": "source.vex"
- },
- "nprimitives": {
- "body": "nprimitives(${1:filename})",
- "description": "Returns the number of primitives in the input or geometry file.",
- "prefix": "nprimitives(filename)",
- "scope": "source.vex"
- },
- "nprimitivesgroup": {
- "body": "nprimitivesgroup(${1:filename}, ${2:groupname})",
- "description": "Returns the number of primitives in the group.",
- "prefix": "nprimitivesgroup(filename, groupname)",
- "scope": "source.vex"
- },
- "nrandom": {
- "body": "nrandom(${1:x}, ${2:y}${3:, ...})",
- "description": "The nrandom() functions are non-deterministic random number\ngenerators for VEX.",
- "prefix": "nrandom(x, y, ...)",
- "scope": "source.vex"
- },
- "ntransform": {
- "body": "ntransform(${1:n}, ${2:transform_matrix})",
- "description": "See ptransform.",
- "prefix": "ntransform(n, transform_matrix)",
- "scope": "source.vex"
- },
- "nuniqueval": {
- "body": "nuniqueval(${1:file}, ${2:class}, ${3:attribute_name})",
- "description": "Returns the number of unique values from an integer or string attribute.",
- "prefix": "nuniqueval(file, class, attribute_name)",
- "scope": "source.vex"
- },
- "nvertices": {
- "body": "nvertices(${1:filename})",
- "description": "Returns the number of vertices in the input or geometry file.",
- "prefix": "nvertices(filename)",
- "scope": "source.vex"
- },
- "nverticesgroup": {
- "body": "nverticesgroup(${1:filename}, ${2:groupname})",
- "description": "Returns the number of vertices in the group.",
- "prefix": "nverticesgroup(filename, groupname)",
- "scope": "source.vex"
- },
- "occlusion": {
- "body": "occlusion(${1:P}, ${2:N}${3:, ...})",
- "description": "Computes ambient occlusion.",
- "prefix": "occlusion(P, N, ...)",
- "scope": "source.vex"
- },
- "ocean_sample": {
- "body": "ocean_sample(${1:geometry}, ${2:phase}, ${3:frequency}, ${4:amplitude}, ${5:hscale}, ${6:time}, ${7:mode}, ${8:downsample}, ${9:pos})",
- "description": "Evaluates an ocean spectrum and samples the result at a given time and location.",
- "prefix": "ocean_sample(geometry, phase, frequency, amplitude, hscale, time, mode, downsample, pos)",
- "scope": "source.vex"
- },
- "ocio_import": {
- "body": "ocio_import(${1:space}, ${2:property}, ${3:value})",
- "description": "Imports attributes from OpenColorIO spaces.",
- "prefix": "ocio_import(space, property, value)",
- "scope": "source.vex"
- },
- "ocio_spaces": {
- "body": "ocio_spaces()",
- "description": "Returns the names of color spaces supported in Open Color IO",
- "prefix": "ocio_spaces()",
- "scope": "source.vex"
- },
- "ocio_transform": {
- "body": "ocio_transform(${1:src}, ${2:dest}, ${3:clr})",
- "description": "Transform colors using Open Color IO",
- "prefix": "ocio_transform(src, dest, clr)",
- "scope": "source.vex"
- },
- "onoise": {
- "body": "onoise(${1:pos}, ${2:turbulence}, ${3:rough}, ${4:atten})",
- "description": "These functions are similar to wnoise and vnoise.",
- "prefix": "onoise(pos, turbulence, rough, atten)",
- "scope": "source.vex"
- },
- "opdigits": {
- "body": "opdigits(${1:str})",
- "description": "Returns the integer value of the last sequence of digits of a string",
- "prefix": "opdigits(str)",
- "scope": "source.vex"
- },
- "opend": {
- "body": "opend(${1:operation_id})",
- "description": "End a long operation.",
- "prefix": "opend(operation_id)",
- "scope": "source.vex"
- },
- "opfullpath": {
- "body": "opfullpath(${1:relative_path})",
- "description": "Returns the full path for the given relative path",
- "prefix": "opfullpath(relative_path)",
- "scope": "source.vex"
- },
- "opparentbonetransform": {
- "body": "opparentbonetransform(${1:path}, ${2:time})",
- "description": "Returns the parent bone transform associated with an OP.",
- "prefix": "opparentbonetransform(path, time)",
- "scope": "source.vex"
- },
- "opparenttransform": {
- "body": "opparenttransform(${1:path}, ${2:time})",
- "description": "Returns the parent transform associated with an OP.",
- "prefix": "opparenttransform(path, time)",
- "scope": "source.vex"
- },
- "opparmtransform": {
- "body": "opparmtransform(${1:path}, ${2:time})",
- "description": "Returns the parm transform associated with an OP.",
- "prefix": "opparmtransform(path, time)",
- "scope": "source.vex"
- },
- "oppreconstrainttransform": {
- "body": "oppreconstrainttransform(${1:path}, ${2:time})",
- "description": "Returns the preconstraint transform associated with an OP.",
- "prefix": "oppreconstrainttransform(path, time)",
- "scope": "source.vex"
- },
- "oppretransform": {
- "body": "oppretransform(${1:path}, ${2:time})",
- "description": "Returns the pretransform associated with an OP.",
- "prefix": "oppretransform(path, time)",
- "scope": "source.vex"
- },
- "opstart": {
- "body": "opstart(${1:message})",
- "description": "Start a long operation.",
- "prefix": "opstart(message)",
- "scope": "source.vex"
- },
- "optransform": {
- "body": "optransform(${1:path}, ${2:time})",
- "description": "Returns the transform associated with an OP.",
- "prefix": "optransform(path, time)",
- "scope": "source.vex"
- },
- "ord": {
- "body": "ord(${1:value})",
- "description": "Converts an UTF8 string into a codepoint.",
- "prefix": "ord(value)",
- "scope": "source.vex"
- },
- "osd_facecount": {
- "body": "osd_facecount(${1:filename})",
- "description": "",
- "prefix": "osd_facecount(filename)",
- "scope": "source.vex"
- },
- "osd_firstpatch": {
- "body": "osd_firstpatch(${1:geometry}, ${2:face_id})",
- "description": "",
- "prefix": "osd_firstpatch(geometry, face_id)",
- "scope": "source.vex"
- },
- "osd_limitsurface": {
- "body": "osd_limitsurface(${1:geometry}, ${2:attribute_name}, ${3:face_id}, ${4:u}, ${5:v}, ${6:result})",
- "description": "Evaluates an attribute at the subdivision limit surface using Open Subdiv.",
- "prefix": "osd_limitsurface(geometry, attribute_name, face_id, u, v, result)",
- "scope": "source.vex"
- },
- "osd_limitsurfacevertex": {
- "body": "osd_limitsurfacevertex(${1:geometry}, ${2:attribute_name}, ${3:face_id}, ${4:u}, ${5:v}, ${6:result})",
- "description": "",
- "prefix": "osd_limitsurfacevertex(geometry, attribute_name, face_id, u, v, result)",
- "scope": "source.vex"
- },
- "osd_patchcount": {
- "body": "osd_patchcount(${1:filename}, ${2:face_id})",
- "description": "",
- "prefix": "osd_patchcount(filename, face_id)",
- "scope": "source.vex"
- },
- "osd_patches": {
- "body": "osd_patches(${1:filename}, ${2:face_id})",
- "description": "",
- "prefix": "osd_patches(filename, face_id)",
- "scope": "source.vex"
- },
- "outerproduct": {
- "body": "outerproduct(${1:vec1}, ${2:vec2})",
- "description": "Returns the outer product between the arguments.",
- "prefix": "outerproduct(vec1, vec2)",
- "scope": "source.vex"
- },
- "ow_nspace": {
- "body": "ow_nspace(${1:n})",
- "description": "Transforms a normal vector from Object to World space.",
- "prefix": "ow_nspace(n)",
- "scope": "source.vex"
- },
- "ow_space": {
- "body": "ow_space(${1:v})",
- "description": "Transforms a position value from Object to World space.",
- "prefix": "ow_space(v)",
- "scope": "source.vex"
- },
- "ow_vspace": {
- "body": "ow_vspace(${1:v})",
- "description": "Transforms a direction vector from Object to World space.",
- "prefix": "ow_vspace(v)",
- "scope": "source.vex"
- },
- "pack_inttosafefloat": {
- "body": "pack_inttosafefloat(${1:value})",
- "description": "Reversibly packs an integer into a finite, non-denormal float.",
- "prefix": "pack_inttosafefloat(value)",
- "scope": "source.vex"
- },
- "pathtrace": {
- "body": "pathtrace(${1:P}, ${2:N}${3:, ...})",
- "description": "",
- "prefix": "pathtrace(P, N, ...)",
- "scope": "source.vex"
- },
- "pcclose": {
- "body": "pcclose(${1:handle})",
- "description": "This function closes the handle associated with a pcopen\nfunction.",
- "prefix": "pcclose(handle)",
- "scope": "source.vex"
- },
- "pcconvex": {
- "body": "pcconvex(${1:handle}, ${2:channel}, ${3:N})",
- "description": "",
- "prefix": "pcconvex(handle, channel, N)",
- "scope": "source.vex"
- },
- "pcexport": {
- "body": "pcexport(${1:handle}, ${2:channel_name}, ${3:value}, ${4:radius}${5:, ...})",
- "description": "Writes data to a point cloud inside a\n",
- "prefix": "pcexport(handle, channel_name, value, radius, ...)",
- "scope": "source.vex"
- },
- "pcfarthest": {
- "body": "pcfarthest(${1:handle})",
- "description": "Returns the distance to the farthest point found in the search\nperformed by pcopen.",
- "prefix": "pcfarthest(handle)",
- "scope": "source.vex"
- },
- "pcfilter": {
- "body": "pcfilter(${1:handle}, ${2:channel_name}${3:, ...})",
- "description": "Filters the points found by ",
- "prefix": "pcfilter(handle, channel_name, ...)",
- "scope": "source.vex"
- },
- "pcfind": {
- "body": "pcfind(${1:filename}, ${2:Pchannel}, ${3:P}, ${4:radius}, ${5:maxpoints})",
- "description": "Returns a list of closest points from a file.",
- "prefix": "pcfind(filename, Pchannel, P, radius, maxpoints)",
- "scope": "source.vex"
- },
- "pcfind_radius": {
- "body": "pcfind_radius(${1:filename}, ${2:ptgroup}, ${3:Pchannel}, ${4:RadChannel}, ${5:radscale}, ${6:P}, ${7:radius}, ${8:maxpoints})",
- "description": "Returns a list of closest points from a file taking into account their radii.",
- "prefix": "pcfind_radius(filename, ptgroup, Pchannel, RadChannel, radscale, P, radius, maxpoints)",
- "scope": "source.vex"
- },
- "pcgenerate": {
- "body": "pcgenerate(${1:filename}, ${2:npoints})",
- "description": "Generates a point cloud.",
- "prefix": "pcgenerate(filename, npoints)",
- "scope": "source.vex"
- },
- "pcimport": {
- "body": "pcimport(${1:handle}, ${2:channel_name}, ${3:value})",
- "description": "Imports channel data from a point cloud inside a\n",
- "prefix": "pcimport(handle, channel_name, value)",
- "scope": "source.vex"
- },
- "pcimportbyidx3": {
- "body": "pcimportbyidx3(${1:handle}, ${2:channel_name}, ${3:idx})",
- "description": "Imports channel data from a point cloud outside a ",
- "prefix": "pcimportbyidx3(handle, channel_name, idx)",
- "scope": "source.vex"
- },
- "pcimportbyidx4": {
- "body": "pcimportbyidx4(${1:handle}, ${2:channel_name}, ${3:idx})",
- "description": "Imports channel data from a point cloud outside a ",
- "prefix": "pcimportbyidx4(handle, channel_name, idx)",
- "scope": "source.vex"
- },
- "pcimportbyidxf": {
- "body": "pcimportbyidxf(${1:handle}, ${2:channel_name}, ${3:idx})",
- "description": "Imports channel data from a point cloud outside a ",
- "prefix": "pcimportbyidxf(handle, channel_name, idx)",
- "scope": "source.vex"
- },
- "pcimportbyidxi": {
- "body": "pcimportbyidxi(${1:handle}, ${2:channel_name}, ${3:idx})",
- "description": "Imports channel data from a point cloud outside a ",
- "prefix": "pcimportbyidxi(handle, channel_name, idx)",
- "scope": "source.vex"
- },
- "pcimportbyidxp": {
- "body": "pcimportbyidxp(${1:handle}, ${2:channel_name}, ${3:idx})",
- "description": "Imports channel data from a point cloud outside a ",
- "prefix": "pcimportbyidxp(handle, channel_name, idx)",
- "scope": "source.vex"
- },
- "pcimportbyidxs": {
- "body": "pcimportbyidxs(${1:handle}, ${2:channel_name}, ${3:idx})",
- "description": "Imports channel data from a point cloud outside a ",
- "prefix": "pcimportbyidxs(handle, channel_name, idx)",
- "scope": "source.vex"
- },
- "pcimportbyidxv": {
- "body": "pcimportbyidxv(${1:handle}, ${2:channel_name}, ${3:idx})",
- "description": "Imports channel data from a point cloud outside a ",
- "prefix": "pcimportbyidxv(handle, channel_name, idx)",
- "scope": "source.vex"
- },
- "pciterate": {
- "body": "pciterate(${1:handle})",
- "description": "This function can be used to iterate over all the points which were\nfound in the pcopen query.",
- "prefix": "pciterate(handle)",
- "scope": "source.vex"
- },
- "pcnumfound": {
- "body": "pcnumfound(${1:handle})",
- "description": "This node returns the number of points found by pcopen.",
- "prefix": "pcnumfound(handle)",
- "scope": "source.vex"
- },
- "pcopen": {
- "body": "pcopen(${1:filename}, ${2:Pchannel}, ${3:P}, ${4:Nchannel}, ${5:N}, ${6:radius}, ${7:maxpoints}${8:, ...})",
- "description": "Returns a handle to a point cloud file.",
- "prefix": "pcopen(filename, Pchannel, P, Nchannel, N, radius, maxpoints, ...)",
- "scope": "source.vex"
- },
- "pcopenlod": {
- "body": "pcopenlod(${1:filename}, ${2:Pchannel}, ${3:P}, ${4:min_pts}${5:, ...})",
- "description": "Returns a handle to a point cloud file.",
- "prefix": "pcopenlod(filename, Pchannel, P, min_pts, ...)",
- "scope": "source.vex"
- },
- "pcsampleleaf": {
- "body": "pcsampleleaf(${1:handle}, ${2:sample})",
- "description": "Changes the current iteration point to a leaf descendant of the current aggregate point.",
- "prefix": "pcsampleleaf(handle, sample)",
- "scope": "source.vex"
- },
- "pcsize": {
- "body": "pcsize(${1:handle})",
- "description": "",
- "prefix": "pcsize(handle)",
- "scope": "source.vex"
- },
- "pcunshaded": {
- "body": "pcunshaded(${1:handle}, ${2:channel_name})",
- "description": "Iterate over all of the points of a read-write channel which haven\u2019t\nhad any data written to the channel yet.",
- "prefix": "pcunshaded(handle, channel_name)",
- "scope": "source.vex"
- },
- "pcwrite": {
- "body": "pcwrite(${1:filename}${2:, ...})",
- "description": "Writes data to a point cloud file.",
- "prefix": "pcwrite(filename, ...)",
- "scope": "source.vex"
- },
- "pgfind": {
- "body": "pgfind(${1:filename}, ${2:P}, ${3:radius}, ${4:maxpoints}, ${5:divsize})",
- "description": "Returns a list of closest points from a file.",
- "prefix": "pgfind(filename, P, radius, maxpoints, divsize)",
- "scope": "source.vex"
- },
- "phong": {
- "body": "phong(${1:nml}, ${2:V}, ${3:shinyness}${4:, ...})",
- "description": "Returns the illumination for specular highlights using different lighting models.",
- "prefix": "phong(nml, V, shinyness, ...)",
- "scope": "source.vex"
- },
- "phongBRDF": {
- "body": "phongBRDF(${1:L}, ${2:N}, ${3:V}, ${4:rough})",
- "description": "",
- "prefix": "phongBRDF(L, N, V, rough)",
- "scope": "source.vex"
- },
- "phonglobe": {
- "body": "phonglobe(${1:nml}, ${2:dir}, ${3:exponent}${4:, ...})",
- "description": "",
- "prefix": "phonglobe(nml, dir, exponent, ...)",
- "scope": "source.vex"
- },
- "photonmap": {
- "body": "photonmap(${1:mapname}, ${2:P}, ${3:N}, ${4:clr}, ${5:area}${6:, ...})",
- "description": "The photonmap function will evaluate a photon map and return the\nresulting color information.",
- "prefix": "photonmap(mapname, P, N, clr, area, ...)",
- "scope": "source.vex"
- },
- "planeindex": {
- "body": "planeindex(${1:planename})",
- "description": "Returns the index of the plane specified by the parameter, starting\nat zero.",
- "prefix": "planeindex(planename)",
- "scope": "source.vex"
- },
- "planename": {
- "body": "planename(${1:planeindex})",
- "description": "Returns the name of the plane specified by the index (e.",
- "prefix": "planename(planeindex)",
- "scope": "source.vex"
- },
- "planepointdistance": {
- "body": "planepointdistance(${1:plane_pos}, ${2:plane_normal}, ${3:point_pos}, ${4:intersect_pos})",
- "description": "Computes the distance and closest point of a point to an infinite plane.",
- "prefix": "planepointdistance(plane_pos, plane_normal, point_pos, intersect_pos)",
- "scope": "source.vex"
- },
- "planesize": {
- "body": "planesize(${1:planeindex})",
- "description": "Returns the number of components in the plane (1 for scalar planes\nand up to 4 for vector planes).",
- "prefix": "planesize(planeindex)",
- "scope": "source.vex"
- },
- "planesphereintersect": {
- "body": "planesphereintersect(${1:plane_pos}, ${2:plane_normal}, ${3:sphere_pos}, ${4:sphere_radius}, ${5:intersect_pos}, ${6:intersect_radius}, ${7:intersect_distance})",
- "description": "Computes the intersection of a 3D sphere and an infinite 3D plane.",
- "prefix": "planesphereintersect(plane_pos, plane_normal, sphere_pos, sphere_radius, intersect_pos, intersect_radius, intersect_distance)",
- "scope": "source.vex"
- },
- "pluralize": {
- "body": "pluralize(${1:noun})",
- "description": "Converts an English noun to its plural.",
- "prefix": "pluralize(noun)",
- "scope": "source.vex"
- },
- "pnoise": {
- "body": "pnoise(${1:pos}, ${2:period})",
- "description": "There are two forms of Perlin-style noise: a non-periodic noise which\nchanges randomly throughout N-dimensional space, and a periodic form\nwhich repeats over a given range of space.",
- "prefix": "pnoise(pos, period)",
- "scope": "source.vex"
- },
- "point": {
- "body": "point(${1:geometry}, ${2:attribute_name}, ${3:pointnumber})",
- "description": "Imports a point attribute value from a geometry.",
- "prefix": "point(geometry, attribute_name, pointnumber)",
- "scope": "source.vex"
- },
- "pointattrib": {
- "body": "pointattrib(${1:geometry}, ${2:attribute_name}, ${3:pointnumber}, ${4:success})",
- "description": "Imports a point attribute value from a geometry.",
- "prefix": "pointattrib(geometry, attribute_name, pointnumber, success)",
- "scope": "source.vex"
- },
- "pointattribsize": {
- "body": "pointattribsize(${1:geometry}, ${2:attribute_name})",
- "description": "Returns the size of a geometry point attribute.",
- "prefix": "pointattribsize(geometry, attribute_name)",
- "scope": "source.vex"
- },
- "pointattribtype": {
- "body": "pointattribtype(${1:geometry}, ${2:attribute_name})",
- "description": "Returns the type of a geometry point attribute.",
- "prefix": "pointattribtype(geometry, attribute_name)",
- "scope": "source.vex"
- },
- "pointattribtypeinfo": {
- "body": "pointattribtypeinfo(${1:geometry}, ${2:attribute_name})",
- "description": "Returns the type info of a geometry attribute.",
- "prefix": "pointattribtypeinfo(geometry, attribute_name)",
- "scope": "source.vex"
- },
- "pointedge": {
- "body": "pointedge(${1:geometry}, ${2:point1}, ${3:point2})",
- "description": "Finds and returns a half-edge with the given endpoints.",
- "prefix": "pointedge(geometry, point1, point2)",
- "scope": "source.vex"
- },
- "pointhedge": {
- "body": "pointhedge(${1:geometry}, ${2:srcpoint}, ${3:dstpoint})",
- "description": "Finds and returns a half-edge with a given source point or with given source and destination points.",
- "prefix": "pointhedge(geometry, srcpoint, dstpoint)",
- "scope": "source.vex"
- },
- "pointhedgenext": {
- "body": "pointhedgenext(${1:geometry}, ${2:hedge})",
- "description": "Returns the ",
- "prefix": "pointhedgenext(geometry, hedge)",
- "scope": "source.vex"
- },
- "pointname": {
- "body": "pointname()",
- "description": "Returns the default name of the point plane (as it appears in the\ncompositor preferences).",
- "prefix": "pointname()",
- "scope": "source.vex"
- },
- "pointprims": {
- "body": "pointprims(${1:geometry}, ${2:ptnum})",
- "description": "Returns the list of primitives containing a point.",
- "prefix": "pointprims(geometry, ptnum)",
- "scope": "source.vex"
- },
- "pointvertex": {
- "body": "pointvertex(${1:geometry}, ${2:pointindex})",
- "description": "Returns a linear vertex number of a point in a geometry.",
- "prefix": "pointvertex(geometry, pointindex)",
- "scope": "source.vex"
- },
- "pointvertices": {
- "body": "pointvertices(${1:geometry}, ${2:ptnum})",
- "description": "Returns the list of vertices connected to a point.",
- "prefix": "pointvertices(geometry, ptnum)",
- "scope": "source.vex"
- },
- "polardecomp": {
- "body": "polardecomp(${1:transform})",
- "description": "Computes the polar decomposition of a matrix.",
- "prefix": "polardecomp(transform)",
- "scope": "source.vex"
- },
- "pop": {
- "body": "pop(${1:array}, ${2:index})",
- "description": "Removes the last element of an array and returns it.",
- "prefix": "pop(array, index)",
- "scope": "source.vex"
- },
- "pow": {
- "body": "pow(${1:value}, ${2:power})",
- "description": "Raises the first argument to the power of the second argument.",
- "prefix": "pow(value, power)",
- "scope": "source.vex"
- },
- "predicate_incircle": {
- "body": "predicate_incircle(${1:a}, ${2:b}, ${3:c}, ${4:d})",
- "description": "Determines if a point is inside or outside a triangle circumcircle.",
- "prefix": "predicate_incircle(a, b, c, d)",
- "scope": "source.vex"
- },
- "predicate_insphere": {
- "body": "predicate_insphere(${1:a}, ${2:b}, ${3:c}, ${4:d}, ${5:e})",
- "description": "Determines if a point is inside or outside a tetrahedron circumsphere.",
- "prefix": "predicate_insphere(a, b, c, d, e)",
- "scope": "source.vex"
- },
- "predicate_orient2d": {
- "body": "predicate_orient2d(${1:a}, ${2:b}, ${3:c})",
- "description": "Determines the orientation of a point with respect to a line.",
- "prefix": "predicate_orient2d(a, b, c)",
- "scope": "source.vex"
- },
- "predicate_orient3d": {
- "body": "predicate_orient3d(${1:a}, ${2:b}, ${3:c}, ${4:d})",
- "description": "Determines the orientation of a point with respect to a plane.",
- "prefix": "predicate_orient3d(a, b, c, d)",
- "scope": "source.vex"
- },
- "prim": {
- "body": "prim(${1:geometry}, ${2:attribute_name}, ${3:prim})",
- "description": "Imports a primitive attribute value from a geometry.",
- "prefix": "prim(geometry, attribute_name, prim)",
- "scope": "source.vex"
- },
- "prim_attribute": {
- "body": "prim_attribute(${1:path}, ${2:value}, ${3:attribute}, ${4:prim_number}, ${5:u}, ${6:v})",
- "description": "Copies the value of a primitive attribute at a certain parametric (u, v) position into a variable.",
- "prefix": "prim_attribute(path, value, attribute, prim_number, u, v)",
- "scope": "source.vex"
- },
- "prim_normal": {
- "body": "prim_normal(${1:filename}, ${2:prim_number}, ${3:uvw})",
- "description": "Returns the normal of the primitive (prim_number) at parametric location u, v.",
- "prefix": "prim_normal(filename, prim_number, uvw)",
- "scope": "source.vex"
- },
- "primarclen": {
- "body": "primarclen(${1:filename}, ${2:uv0}, ${3:uv1}, ${4:pn})",
- "description": "Evaluates an the length of an arc on curves using parametric uv coordinates.",
- "prefix": "primarclen(filename, uv0, uv1, pn)",
- "scope": "source.vex"
- },
- "primattrib": {
- "body": "primattrib(${1:geometry}, ${2:attribute_name}, ${3:prim}, ${4:success})",
- "description": "Imports a primitive attribute value from a geometry.",
- "prefix": "primattrib(geometry, attribute_name, prim, success)",
- "scope": "source.vex"
- },
- "primattribsize": {
- "body": "primattribsize(${1:geometry}, ${2:attribute_name})",
- "description": "Returns the size of a geometry prim attribute.",
- "prefix": "primattribsize(geometry, attribute_name)",
- "scope": "source.vex"
- },
- "primattribtype": {
- "body": "primattribtype(${1:geometry}, ${2:attribute_name})",
- "description": "Returns the type of a geometry prim attribute.",
- "prefix": "primattribtype(geometry, attribute_name)",
- "scope": "source.vex"
- },
- "primattribtypeinfo": {
- "body": "primattribtypeinfo(${1:geometry}, ${2:attribute_name})",
- "description": "Returns the type info of a geometry attribute.",
- "prefix": "primattribtypeinfo(geometry, attribute_name)",
- "scope": "source.vex"
- },
- "primduv": {
- "body": "primduv(${1:filename}, ${2:pn}, ${3:uv}, ${4:du}, ${5:dv})",
- "description": "Evaluates position derivative on a primitive at a certain parametric (u, v) position into a variable.",
- "prefix": "primduv(filename, pn, uv, du, dv)",
- "scope": "source.vex"
- },
- "primfind": {
- "body": "primfind(${1:geometry}, ${2:min}, ${3:max})",
- "description": "Returns a list of primitives potentially intersecting a given bounding box.",
- "prefix": "primfind(geometry, min, max)",
- "scope": "source.vex"
- },
- "primhedge": {
- "body": "primhedge(${1:geometry}, ${2:prim})",
- "description": "Returns ",
- "prefix": "primhedge(geometry, prim)",
- "scope": "source.vex"
- },
- "primintrinsic": {
- "body": "primintrinsic(${1:geometry}, ${2:intrinsic}, ${3:prim})",
- "description": "Imports a primitive intrinsic from a geometry.",
- "prefix": "primintrinsic(geometry, intrinsic, prim)",
- "scope": "source.vex"
- },
- "primpoint": {
- "body": "primpoint(${1:geometry}, ${2:primnum}, ${3:vertex})",
- "description": "Converts a primitive/vertex pair into a point number.",
- "prefix": "primpoint(geometry, primnum, vertex)",
- "scope": "source.vex"
- },
- "primpoints": {
- "body": "primpoints(${1:geometry}, ${2:primnum})",
- "description": "Returns the list of points on a primitive.",
- "prefix": "primpoints(geometry, primnum)",
- "scope": "source.vex"
- },
- "primuv": {
- "body": "primuv(${1:filename}, ${2:att}, ${3:pn}, ${4:uv})",
- "description": "Evaluates an attribute on a primitive at a certain parametric (u, v) position into a variable.",
- "prefix": "primuv(filename, att, pn, uv)",
- "scope": "source.vex"
- },
- "primuvconvert": {
- "body": "primuvconvert(${1:filename}, ${2:uv}, ${3:pn}, ${4:mode})",
- "description": "Convert parametric UV locations on curve primitives.",
- "prefix": "primuvconvert(filename, uv, pn, mode)",
- "scope": "source.vex"
- },
- "primvertex": {
- "body": "primvertex(${1:geometry}, ${2:primnum}, ${3:vertex})",
- "description": "Converts a primitive/vertex pair into a linear vertex.",
- "prefix": "primvertex(geometry, primnum, vertex)",
- "scope": "source.vex"
- },
- "primvertexcount": {
- "body": "primvertexcount(${1:geometry}, ${2:primindex})",
- "description": "Returns number of vertices in a primitive in a geometry.",
- "prefix": "primvertexcount(geometry, primindex)",
- "scope": "source.vex"
- },
- "primvertices": {
- "body": "primvertices(${1:geometry}, ${2:primnum})",
- "description": "Returns the list of vertices on a primitive.",
- "prefix": "primvertices(geometry, primnum)",
- "scope": "source.vex"
- },
- "print_once": {
- "body": "print_once(${1:msg}${2:, ...})",
- "description": "Prints string arguments exactly one time.",
- "prefix": "print_once(msg, ...)",
- "scope": "source.vex"
- },
- "printf": {
- "body": "printf(${1:format}${2:, ...})",
- "description": "Prints values to the console which started the VEX program.",
- "prefix": "printf(format, ...)",
- "scope": "source.vex"
- },
- "product": {
- "body": "product(${1:v})",
- "description": "Returns the product of the vector\u2019s components.",
- "prefix": "product(v)",
- "scope": "source.vex"
- },
- "ptexture": {
- "body": "ptexture(${1:map}, ${2:face_id}, ${3:s}, ${4:t}${5:, ...})",
- "description": "Computes a filtered sample from a ptex texture map.",
- "prefix": "ptexture(map, face_id, s, t, ...)",
- "scope": "source.vex"
- },
- "ptlined": {
- "body": "ptlined(${1:P0}, ${2:P1}, ${3:Q})",
- "description": "This function returns the closest distance between the point Q and a\nfinite line segment between points P0 and P1.",
- "prefix": "ptlined(P0, P1, Q)",
- "scope": "source.vex"
- },
- "ptransform": {
- "body": "ptransform(${1:tospace}, ${2:v})",
- "description": "Transforms a vector from one space to another.",
- "prefix": "ptransform(tospace, v)",
- "scope": "source.vex"
- },
- "push": {
- "body": "push(${1:array}, ${2:values})",
- "description": "Adds an item to an array.",
- "prefix": "push(array, values)",
- "scope": "source.vex"
- },
- "qconvert": {
- "body": "qconvert(${1:quaternion})",
- "description": "Converts a quaternion represented by a vector4 to a matrix3 representation.",
- "prefix": "qconvert(quaternion)",
- "scope": "source.vex"
- },
- "qdistance": {
- "body": "qdistance(${1:q1}, ${2:q2})",
- "description": "Finds distance between two quaternions.",
- "prefix": "qdistance(q1, q2)",
- "scope": "source.vex"
- },
- "qinvert": {
- "body": "qinvert(${1:quaternion})",
- "description": "Inverts a quaternion rotation.",
- "prefix": "qinvert(quaternion)",
- "scope": "source.vex"
- },
- "qmultiply": {
- "body": "qmultiply(${1:q1}, ${2:q2})",
- "description": "Multiplies two quaternions and returns the result.",
- "prefix": "qmultiply(q1, q2)",
- "scope": "source.vex"
- },
- "qrotate": {
- "body": "qrotate(${1:quaternion}, ${2:a})",
- "description": "Rotates a vector by a quaternion.",
- "prefix": "qrotate(quaternion, a)",
- "scope": "source.vex"
- },
- "quaternion": {
- "body": "quaternion(${1:angleaxis})",
- "description": "Creates a vector4 representing a quaternion.",
- "prefix": "quaternion(angleaxis)",
- "scope": "source.vex"
- },
- "radians": {
- "body": "radians(${1:degrees})",
- "description": "Converts the argument from degrees into radians.",
- "prefix": "radians(degrees)",
- "scope": "source.vex"
- },
- "rand": {
- "body": "rand(${1:seed}, ${2:seed2})",
- "description": "Creates a random number between 0 and 1 from a seed.",
- "prefix": "rand(seed, seed2)",
- "scope": "source.vex"
- },
- "random": {
- "body": "random(${1:xpos}, ${2:ypos})",
- "description": "Generate a random number based on the position in N dimensional space\n(where N is 1 to 4 dimensions).",
- "prefix": "random(xpos, ypos)",
- "scope": "source.vex"
- },
- "random_fhash": {
- "body": "random_fhash(${1:seed}, ${2:seed2})",
- "description": "Hashes floating point numbers to integers.",
- "prefix": "random_fhash(seed, seed2)",
- "scope": "source.vex"
- },
- "random_ihash": {
- "body": "random_ihash(${1:seed})",
- "description": "Hashes integer numbers to integers.",
- "prefix": "random_ihash(seed)",
- "scope": "source.vex"
- },
- "random_shash": {
- "body": "random_shash(${1:seed})",
- "description": "Hashes string to integers.",
- "prefix": "random_shash(seed)",
- "scope": "source.vex"
- },
- "random_sobol": {
- "body": "random_sobol(${1:seed}, ${2:offset})",
- "description": "Generate a uniformly distributed random number.",
- "prefix": "random_sobol(seed, offset)",
- "scope": "source.vex"
- },
- "rawbumpmap": {
- "body": "rawbumpmap(${1:filename}, ${2:du}, ${3:dv}, ${4:uvw})",
- "prefix": "rawbumpmap(filename, du, dv, uvw)",
- "scope": "source.vex"
- },
- "rawbumpmapA": {
- "body": "rawbumpmapA(${1:filename}, ${2:du}, ${3:dv}, ${4:uvw})",
- "prefix": "rawbumpmapA(filename, du, dv, uvw)",
- "scope": "source.vex"
- },
- "rawbumpmapB": {
- "body": "rawbumpmapB(${1:filename}, ${2:du}, ${3:dv}, ${4:uvw})",
- "prefix": "rawbumpmapB(filename, du, dv, uvw)",
- "scope": "source.vex"
- },
- "rawbumpmapG": {
- "body": "rawbumpmapG(${1:filename}, ${2:du}, ${3:dv}, ${4:uvw})",
- "prefix": "rawbumpmapG(filename, du, dv, uvw)",
- "scope": "source.vex"
- },
- "rawbumpmapL": {
- "body": "rawbumpmapL(${1:filename}, ${2:du}, ${3:dv}, ${4:uvw})",
- "prefix": "rawbumpmapL(filename, du, dv, uvw)",
- "scope": "source.vex"
- },
- "rawbumpmapR": {
- "body": "rawbumpmapR(${1:filename}, ${2:du}, ${3:dv}, ${4:uvw})",
- "prefix": "rawbumpmapR(filename, du, dv, uvw)",
- "scope": "source.vex"
- },
- "rawcolormap": {
- "body": "rawcolormap(${1:filename}, ${2:uv0}, ${3:uv1}, ${4:uv2}, ${5:uv3}, ${6:samples}${7:, ...})",
- "description": "",
- "prefix": "rawcolormap(filename, uv0, uv1, uv2, uv3, samples, ...)",
- "scope": "source.vex"
- },
- "rayhittest": {
- "body": "rayhittest(${1:P}, ${2:D}, ${3:pHit}, ${4:nHit}, ${5:bias}${6:, ...})",
- "description": "Sends a ray from the position P along the direction D.",
- "prefix": "rayhittest(P, D, pHit, nHit, bias, ...)",
- "scope": "source.vex"
- },
- "rayimport": {
- "body": "rayimport(${1:name}, ${2:value})",
- "description": "Imports a value sent by a shader in a gather loop.",
- "prefix": "rayimport(name, value)",
- "scope": "source.vex"
- },
- "re_find": {
- "body": "re_find(${1:start_pos}, ${2:end_pos}, ${3:regex}, ${4:input}, ${5:start}, ${6:end})",
- "description": "Finds the given regular expression in the string",
- "prefix": "re_find(start_pos, end_pos, regex, input, start, end)",
- "scope": "source.vex"
- },
- "re_findall": {
- "body": "re_findall(${1:regex}, ${2:input}, ${3:start}, ${4:end})",
- "description": "Finds all instances of the given regular expression in the string",
- "prefix": "re_findall(regex, input, start, end)",
- "scope": "source.vex"
- },
- "re_match": {
- "body": "re_match(${1:regex}, ${2:input})",
- "description": "Returns 1 if the entire input string matches the expression",
- "prefix": "re_match(regex, input)",
- "scope": "source.vex"
- },
- "re_replace": {
- "body": "re_replace(${1:regex_find}, ${2:regex_replace}, ${3:input}, ${4:maxreplace})",
- "description": "Replaces instances of regex_find with regex_replace",
- "prefix": "re_replace(regex_find, regex_replace, input, maxreplace)",
- "scope": "source.vex"
- },
- "re_split": {
- "body": "re_split(${1:regex}, ${2:input}, ${3:maxsplits})",
- "description": "Splits the given string based on regex match.",
- "prefix": "re_split(regex, input, maxsplits)",
- "scope": "source.vex"
- },
- "reflect": {
- "body": "reflect(${1:direction}, ${2:normal})",
- "description": "Returns the vector representing the reflection of the direction\nagainst the normal.",
- "prefix": "reflect(direction, normal)",
- "scope": "source.vex"
- },
- "reflectlight": {
- "body": "reflectlight(${1:P}, ${2:N}, ${3:I}, ${4:bias}, ${5:max_contrib}${6:, ...})",
- "description": "Computes the amount of reflected light which hits the surface.",
- "prefix": "reflectlight(P, N, I, bias, max_contrib, ...)",
- "scope": "source.vex"
- },
- "refract": {
- "body": "refract(${1:direction}, ${2:normal}, ${3:index})",
- "description": "Returns the refraction ray given an incoming direction, the\nnormalized normal and an index of refraction.",
- "prefix": "refract(direction, normal, index)",
- "scope": "source.vex"
- },
- "refractlight": {
- "body": "refractlight(${1:cf}, ${2:of}, ${3:af}, ${4:P}, ${5:N}, ${6:I}, ${7:eta}, ${8:bias}, ${9:max_contrib}${10:, ...})",
- "description": "Computes the illumination of surfaces refracted by the current\nsurface.",
- "prefix": "refractlight(cf, of, af, P, N, I, eta, bias, max_contrib, ...)",
- "scope": "source.vex"
- },
- "relativepath": {
- "body": "relativepath(${1:src}, ${2:dest})",
- "description": "Computes the relative path for two full paths.",
- "prefix": "relativepath(src, dest)",
- "scope": "source.vex"
- },
- "relbbox": {
- "body": "relbbox(${1:position})",
- "description": "Returns the relative position of the point given with respect to the bounding box of the geometry.",
- "prefix": "relbbox(position)",
- "scope": "source.vex"
- },
- "relpointbbox": {
- "body": "relpointbbox(${1:filename}, ${2:position})",
- "description": "Returns the relative position of the point given with respect to the bounding box of the geometry.",
- "prefix": "relpointbbox(filename, position)",
- "scope": "source.vex"
- },
- "removegroup": {
- "body": "removegroup(${1:group_name}, ${2:point_number})",
- "prefix": "removegroup(group_name, point_number)",
- "scope": "source.vex"
- },
- "removeindex": {
- "body": "removeindex(${1:array}, ${2:index})",
- "description": "Removes an item at the given index from an array.",
- "prefix": "removeindex(array, index)",
- "scope": "source.vex"
- },
- "removepoint": {
- "body": "removepoint(${1:geohandle}, ${2:point_number})",
- "description": "Removes a point from the geometry.",
- "prefix": "removepoint(geohandle, point_number)",
- "scope": "source.vex"
- },
- "removeprim": {
- "body": "removeprim(${1:geohandle}, ${2:prim_number}, ${3:andpoints})",
- "description": "Removes a primitive from the geometry.",
- "prefix": "removeprim(geohandle, prim_number, andpoints)",
- "scope": "source.vex"
- },
- "removevalue": {
- "body": "removevalue(${1:array}, ${2:value})",
- "description": "Removes an item from an array.",
- "prefix": "removevalue(array, value)",
- "scope": "source.vex"
- },
- "renderstate": {
- "body": "renderstate(${1:query}, ${2:value})",
- "description": "Queries the renderer for a named property.",
- "prefix": "renderstate(query, value)",
- "scope": "source.vex"
- },
- "reorder": {
- "body": "reorder(${1:value}, ${2:indices})",
- "description": "Reorders items in an array or string.",
- "prefix": "reorder(value, indices)",
- "scope": "source.vex"
- },
- "resample_linear": {
- "body": "resample_linear(${1:input}, ${2:new_length})",
- "description": "",
- "prefix": "resample_linear(input, new_length)",
- "scope": "source.vex"
- },
- "resize": {
- "body": "resize(${1:array}, ${2:size})",
- "description": "Sets the length of an array.",
- "prefix": "resize(array, size)",
- "scope": "source.vex"
- },
- "resolvemissedray": {
- "body": "resolvemissedray(${1:dir}, ${2:time}, ${3:mask}${4:, ...})",
- "description": "Returns the background color for rays that exit the scene.",
- "prefix": "resolvemissedray(dir, time, mask, ...)",
- "scope": "source.vex"
- },
- "reverse": {
- "body": "reverse(${1:value})",
- "description": "Returns an array or string in reverse order.",
- "prefix": "reverse(value)",
- "scope": "source.vex"
- },
- "rgbtohsv": {
- "body": "rgbtohsv(${1:hsv})",
- "description": "Convert RGB color space to HSV color space.",
- "prefix": "rgbtohsv(hsv)",
- "scope": "source.vex"
- },
- "rgbtoxyz": {
- "body": "rgbtoxyz(${1:rgb})",
- "description": "Convert a linear sRGB triplet to CIE XYZ tristimulus values.",
- "prefix": "rgbtoxyz(rgb)",
- "scope": "source.vex"
- },
- "rint": {
- "body": "rint(${1:value})",
- "description": "Rounds the number to the closest integer.",
- "prefix": "rint(value)",
- "scope": "source.vex"
- },
- "rotate": {
- "body": "rotate(${1:mat}, ${2:amount}, ${3:axis})",
- "description": "Applies a rotation to the given matrix.",
- "prefix": "rotate(mat, amount, axis)",
- "scope": "source.vex"
- },
- "rotate_x_to": {
- "body": "rotate_x_to(${1:direction}, ${2:v})",
- "description": "Rotates a vector by a rotation that would bring the x-axis to a given direction.",
- "prefix": "rotate_x_to(direction, v)",
- "scope": "source.vex"
- },
- "rstrip": {
- "body": "rstrip(${1:value}, ${2:whitespace})",
- "description": "Strips trailing whitespace from a string.",
- "prefix": "rstrip(value, whitespace)",
- "scope": "source.vex"
- },
- "sample_bsdf": {
- "body": "sample_bsdf(${1:b}, ${2:viewer}, ${3:out_vector}, ${4:eval}, ${5:type}, ${6:sx}, ${7:sy}${8:, ...})",
- "description": "Samples a bsdf.",
- "prefix": "sample_bsdf(b, viewer, out_vector, eval, type, sx, sy, ...)",
- "scope": "source.vex"
- },
- "sample_cauchy": {
- "body": "sample_cauchy(${1:origscale}, ${2:minvalue}, ${3:maxvalue}, ${4:u})",
- "description": "Samples the Cauchy (Lorentz) distribution.",
- "prefix": "sample_cauchy(origscale, minvalue, maxvalue, u)",
- "scope": "source.vex"
- },
- "sample_cdf": {
- "body": "sample_cdf(${1:cdf}, ${2:u}, ${3:index}, ${4:x}, ${5:pdf})",
- "description": "Samples a CDF based on a random variable.",
- "prefix": "sample_cdf(cdf, u, index, x, pdf)",
- "scope": "source.vex"
- },
- "sample_circle_arc": {
- "body": "sample_circle_arc(${1:center}, ${2:maxangle}, ${3:u})",
- "description": "Generates a uniform unit vector2, within maxangle of center, given a uniform number between 0 and 1.",
- "prefix": "sample_circle_arc(center, maxangle, u)",
- "scope": "source.vex"
- },
- "sample_circle_edge_uniform": {
- "body": "sample_circle_edge_uniform(${1:u})",
- "description": "Generates a uniform unit vector2, given a uniform number between 0 and 1.",
- "prefix": "sample_circle_edge_uniform(u)",
- "scope": "source.vex"
- },
- "sample_circle_slice": {
- "body": "sample_circle_slice(${1:center}, ${2:maxangle}, ${3:u})",
- "description": "Generates a uniform vector2 with length < 1, within maxangle of center, given a vector2 of uniform numbers between 0 and 1.",
- "prefix": "sample_circle_slice(center, maxangle, u)",
- "scope": "source.vex"
- },
- "sample_circle_uniform": {
- "body": "sample_circle_uniform(${1:u})",
- "description": "Generates a uniform vector2 with length < 1, given a vector2 of uniform numbers between 0 and 1.",
- "prefix": "sample_circle_uniform(u)",
- "scope": "source.vex"
- },
- "sample_direction_cone": {
- "body": "sample_direction_cone(${1:center}, ${2:maxangle}, ${3:u})",
- "description": "Generates a uniform unit vector, within maxangle of center, given a vector2 of uniform numbers between 0 and 1.",
- "prefix": "sample_direction_cone(center, maxangle, u)",
- "scope": "source.vex"
- },
- "sample_direction_uniform": {
- "body": "sample_direction_uniform(${1:u})",
- "description": "Generates a uniform unit vector, given a vector2 of uniform numbers between 0 and 1.",
- "prefix": "sample_direction_uniform(u)",
- "scope": "source.vex"
- },
- "sample_discrete": {
- "body": "sample_discrete(${1:weights}, ${2:u})",
- "description": "Returns an integer, either uniform or weighted, given a uniform number between 0 and 1.",
- "prefix": "sample_discrete(weights, u)",
- "scope": "source.vex"
- },
- "sample_exponential": {
- "body": "sample_exponential(${1:origmean}, ${2:maxvalue}, ${3:u})",
- "description": "Samples the exponential distribution.",
- "prefix": "sample_exponential(origmean, maxvalue, u)",
- "scope": "source.vex"
- },
- "sample_geometry": {
- "body": "sample_geometry(${1:origin}, ${2:sample}, ${3:time}${4:, ...})",
- "description": "Samples geometry in the scene and returns information from the shaders of surfaces that were sampled.",
- "prefix": "sample_geometry(origin, sample, time, ...)",
- "scope": "source.vex"
- },
- "sample_hemisphere": {
- "body": "sample_hemisphere(${1:center}, ${2:u})",
- "description": "Generates a unit vector, optionally biased, within a hemisphere, given a vector2 of uniform numbers between 0 and 1.",
- "prefix": "sample_hemisphere(center, u)",
- "scope": "source.vex"
- },
- "sample_hypersphere_cone": {
- "body": "sample_hypersphere_cone(${1:center}, ${2:maxangle}, ${3:u})",
- "description": "Generates a uniform vector4 with length < 1, within maxangle of center, given a vector4 of uniform numbers between 0 and 1.",
- "prefix": "sample_hypersphere_cone(center, maxangle, u)",
- "scope": "source.vex"
- },
- "sample_hypersphere_uniform": {
- "body": "sample_hypersphere_uniform(${1:u})",
- "description": "Generates a uniform vector4 with length < 1, given a vector4 of uniform numbers between 0 and 1.",
- "prefix": "sample_hypersphere_uniform(u)",
- "scope": "source.vex"
- },
- "sample_light": {
- "body": "sample_light(${1:lightid}, ${2:pos}, ${3:sam}, ${4:time}, ${5:pos}, ${6:clr}, ${7:scale}${8:, ...})",
- "description": "Samples a 3D position on a light source and runs the light shader at that point.",
- "prefix": "sample_light(lightid, pos, sam, time, pos, clr, scale, ...)",
- "scope": "source.vex"
- },
- "sample_lognormal": {
- "body": "sample_lognormal(${1:mu}, ${2:sigma}, ${3:minvalue}, ${4:maxvalue}, ${5:u})",
- "description": "Samples the log-normal distribution based on parameters of the underlying normal distribution.",
- "prefix": "sample_lognormal(mu, sigma, minvalue, maxvalue, u)",
- "scope": "source.vex"
- },
- "sample_lognormal_by_median": {
- "body": "sample_lognormal_by_median(${1:origmedian}, ${2:origstddev}, ${3:minvalue}, ${4:maxvalue}, ${5:u})",
- "description": "Samples the log-normal distribution based on median and standard deviation.",
- "prefix": "sample_lognormal_by_median(origmedian, origstddev, minvalue, maxvalue, u)",
- "scope": "source.vex"
- },
- "sample_normal": {
- "body": "sample_normal(${1:origmean}, ${2:origstddev}, ${3:minvalue}, ${4:maxvalue}, ${5:u})",
- "description": "Samples the normal (Gaussian) distribution.",
- "prefix": "sample_normal(origmean, origstddev, minvalue, maxvalue, u)",
- "scope": "source.vex"
- },
- "sample_orientation_cone": {
- "body": "sample_orientation_cone(${1:center}, ${2:maxangle}, ${3:u})",
- "description": "Generates a uniform unit vector4, within maxangle of center, given a vector of uniform numbers between 0 and 1.",
- "prefix": "sample_orientation_cone(center, maxangle, u)",
- "scope": "source.vex"
- },
- "sample_orientation_uniform": {
- "body": "sample_orientation_uniform(${1:u})",
- "description": "Generates a uniform unit vector4, given a vector of uniform numbers between 0 and 1.",
- "prefix": "sample_orientation_uniform(u)",
- "scope": "source.vex"
- },
- "sample_photon": {
- "body": "sample_photon(${1:lp}, ${2:pos}, ${3:dir}, ${4:scale}, ${5:time})",
- "description": "Samples a 3D position on a light source and runs the light shader at that point.",
- "prefix": "sample_photon(lp, pos, dir, scale, time)",
- "scope": "source.vex"
- },
- "sample_sphere_cone": {
- "body": "sample_sphere_cone(${1:center}, ${2:maxangle}, ${3:u})",
- "description": "Generates a uniform vector with length < 1, within maxangle of center, given a vector of uniform numbers between 0 and 1.",
- "prefix": "sample_sphere_cone(center, maxangle, u)",
- "scope": "source.vex"
- },
- "sample_sphere_uniform": {
- "body": "sample_sphere_uniform(${1:u})",
- "description": "Generates a uniform vector with length < 1, given a vector of uniform numbers between 0 and 1.",
- "prefix": "sample_sphere_uniform(u)",
- "scope": "source.vex"
- },
- "sampledisk": {
- "body": "sampledisk(${1:x}, ${2:y}, ${3:sx}, ${4:sy})",
- "description": "Warps uniform random samples to a disk.",
- "prefix": "sampledisk(x, y, sx, sy)",
- "scope": "source.vex"
- },
- "scale": {
- "body": "scale(${1:mat}, ${2:scale_vector})",
- "description": "Scales the given matrix in three directions simultaneously (X, Y, Z -\ngiven by the components of the scale_vector).",
- "prefix": "scale(mat, scale_vector)",
- "scope": "source.vex"
- },
- "scatter": {
- "body": "scatter(${1:ipoint}, ${2:inormal}, ${3:idirection}, ${4:idistribution}, ${5:time}, ${6:maxdist}, ${7:opoint}, ${8:onormal}, ${9:odirection})",
- "description": "Evaluates a scattering event through the domain of a geometric object.",
- "prefix": "scatter(ipoint, inormal, idirection, idistribution, time, maxdist, opoint, onormal, odirection)",
- "scope": "source.vex"
- },
- "select": {
- "body": "select(${1:conditional}, ${2:a}, ${3:b})",
- "description": "Returns one of two parameters based on a conditional.",
- "prefix": "select(conditional, a, b)",
- "scope": "source.vex"
- },
- "sensor_panorama_create": {
- "body": "sensor_panorama_create(${1:time}, ${2:pos}, ${3:size}, ${4:near}, ${5:far}, ${6:candidateobj}, ${7:includeobj}, ${8:excludeobj}, ${9:uselit})",
- "description": "Sensor function to render GL scene and query the result.",
- "prefix": "sensor_panorama_create(time, pos, size, near, far, candidateobj, includeobj, excludeobj, uselit)",
- "scope": "source.vex"
- },
- "sensor_panorama_getcolor": {
- "body": "sensor_panorama_getcolor(${1:handle}, ${2:dir})",
- "description": "Sensor function query a rendered GL scene.",
- "prefix": "sensor_panorama_getcolor(handle, dir)",
- "scope": "source.vex"
- },
- "sensor_panorama_getcone": {
- "body": "sensor_panorama_getcone(${1:handle}, ${2:lookodir}, ${3:angle}, ${4:colormin}, ${5:colormax}, ${6:depthmin}, ${7:depthmax}, ${8:strength}, ${9:dir}, ${10:color}, ${11:depth})",
- "description": "Sensor function to query average values from rendered GL scene.",
- "prefix": "sensor_panorama_getcone(handle, lookodir, angle, colormin, colormax, depthmin, depthmax, strength, dir, color, depth)",
- "scope": "source.vex"
- },
- "sensor_panorama_getdepth": {
- "body": "sensor_panorama_getdepth(${1:handle}, ${2:dir})",
- "description": "Sensor function query a rendered GL scene.",
- "prefix": "sensor_panorama_getdepth(handle, dir)",
- "scope": "source.vex"
- },
- "sensor_save": {
- "body": "sensor_save(${1:handle}, ${2:colorfile}, ${3:depthfile})",
- "description": "Sensor function to save a rendered GL scene.",
- "prefix": "sensor_save(handle, colorfile, depthfile)",
- "scope": "source.vex"
- },
- "serialize": {
- "body": "serialize(${1:array})",
- "description": "Flattens an array of vector or matrix types into an array of floats.",
- "prefix": "serialize(array)",
- "scope": "source.vex"
- },
- "set": {
- "body": "set(${1:x}, ${2:y}, ${3:z})",
- "description": "These two functions provide a very efficient way of creating a\nvector/vector4.",
- "prefix": "set(x, y, z)",
- "scope": "source.vex"
- },
- "setagentclipnames": {
- "body": "setagentclipnames(${1:geohandle}, ${2:prim}, ${3:clipnames})",
- "description": "Sets the current animation clips for an agent primitive.",
- "prefix": "setagentclipnames(geohandle, prim, clipnames)",
- "scope": "source.vex"
- },
- "setagentclips": {
- "body": "setagentclips(${1:geohandle}, ${2:prim}, ${3:clip_names}, ${4:clip_times}, ${5:clip_weights}, ${6:clip_transform_groups}, ${7:clip_layer_ids}, ${8:layer_blend_modes}, ${9:layer_weights}, ${10:layer_parent_ids})",
- "description": "Sets the animation clips that an agent should use to compute its transforms.",
- "prefix": "setagentclips(geohandle, prim, clip_names, clip_times, clip_weights, clip_transform_groups, clip_layer_ids, layer_blend_modes, layer_weights, layer_parent_ids)",
- "scope": "source.vex"
- },
- "setagentcliptimes": {
- "body": "setagentcliptimes(${1:geohandle}, ${2:prim}, ${3:cliptimes})",
- "description": "Sets the current times for an agent primitive\u2019s animation clips.",
- "prefix": "setagentcliptimes(geohandle, prim, cliptimes)",
- "scope": "source.vex"
- },
- "setagentclipweights": {
- "body": "setagentclipweights(${1:geohandle}, ${2:prim}, ${3:clipweights})",
- "description": "Sets the blend weights for an agent primitive\u2019s animation clips.",
- "prefix": "setagentclipweights(geohandle, prim, clipweights)",
- "scope": "source.vex"
- },
- "setagentcollisionlayer": {
- "body": "setagentcollisionlayer(${1:geohandle}, ${2:prim}, ${3:layername})",
- "description": "Sets the collision layer of an agent primitive.",
- "prefix": "setagentcollisionlayer(geohandle, prim, layername)",
- "scope": "source.vex"
- },
- "setagentcurrentlayer": {
- "body": "setagentcurrentlayer(${1:geohandle}, ${2:prim}, ${3:layername})",
- "description": "Sets the current layer of an agent primitive.",
- "prefix": "setagentcurrentlayer(geohandle, prim, layername)",
- "scope": "source.vex"
- },
- "setagentlocaltransform": {
- "body": "setagentlocaltransform(${1:geohandle}, ${2:prim}, ${3:transform}, ${4:index})",
- "description": "Overrides the local space transform of an agent primitive\u2019s bone.",
- "prefix": "setagentlocaltransform(geohandle, prim, transform, index)",
- "scope": "source.vex"
- },
- "setagentlocaltransforms": {
- "body": "setagentlocaltransforms(${1:geohandle}, ${2:prim}, ${3:transforms})",
- "description": "Overrides the local space transforms of an agent primitive.",
- "prefix": "setagentlocaltransforms(geohandle, prim, transforms)",
- "scope": "source.vex"
- },
- "setagentworldtransform": {
- "body": "setagentworldtransform(${1:geohandle}, ${2:prim}, ${3:transform}, ${4:index})",
- "description": "Overrides the world space transform of an agent primitive\u2019s bone.",
- "prefix": "setagentworldtransform(geohandle, prim, transform, index)",
- "scope": "source.vex"
- },
- "setagentworldtransforms": {
- "body": "setagentworldtransforms(${1:geohandle}, ${2:prim}, ${3:transforms})",
- "description": "Overrides the world space transforms of an agent primitive.",
- "prefix": "setagentworldtransforms(geohandle, prim, transforms)",
- "scope": "source.vex"
- },
- "setattrib": {
- "body": "setattrib(${1:geohandle}, ${2:attribclass}, ${3:name}, ${4:elemnum}, ${5:vtxofprim}, ${6:value}, ${7:mode=\"set\"})",
- "description": "Writes an attribute value to geometry.",
- "prefix": "setattrib(geohandle, attribclass, name, elemnum, vtxofprim, value, mode=\"set\")",
- "scope": "source.vex"
- },
- "setattribtypeinfo": {
- "body": "setattribtypeinfo(${1:geohandle}, ${2:attribtype}, ${3:name}, ${4:typeinfo})",
- "description": "Sets the meaning of an attribute in geometry.",
- "prefix": "setattribtypeinfo(geohandle, attribtype, name, typeinfo)",
- "scope": "source.vex"
- },
- "setcomp": {
- "body": "setcomp(${1:target}, ${2:value}, ${3:index})",
- "description": "Sets a single component of a vector type, matrix type, or array.",
- "prefix": "setcomp(target, value, index)",
- "scope": "source.vex"
- },
- "setcurrentlight": {
- "body": "setcurrentlight(${1:lightid})",
- "description": "Sets the current light",
- "prefix": "setcurrentlight(lightid)",
- "scope": "source.vex"
- },
- "setdetailattrib": {
- "body": "setdetailattrib(${1:geohandle}, ${2:name}, ${3:value}, ${4:mode=\"set\"})",
- "description": "Sets a detail attribute in a geometry.",
- "prefix": "setdetailattrib(geohandle, name, value, mode=\"set\")",
- "scope": "source.vex"
- },
- "setpointattrib": {
- "body": "setpointattrib(${1:geohandle}, ${2:name}, ${3:pt}, ${4:value}, ${5:mode=\"set\"})",
- "description": "Sets a point attribute in a geometry.",
- "prefix": "setpointattrib(geohandle, name, pt, value, mode=\"set\")",
- "scope": "source.vex"
- },
- "setpointgroup": {
- "body": "setpointgroup(${1:geohandle}, ${2:name}, ${3:pt}, ${4:value}, ${5:mode=\"set\"})",
- "description": "Sets point group membership in a geometry.",
- "prefix": "setpointgroup(geohandle, name, pt, value, mode=\"set\")",
- "scope": "source.vex"
- },
- "setprimattrib": {
- "body": "setprimattrib(${1:geohandle}, ${2:name}, ${3:prim}, ${4:value}, ${5:mode=\"set\"})",
- "description": "Sets a primitive attribute in a geometry.",
- "prefix": "setprimattrib(geohandle, name, prim, value, mode=\"set\")",
- "scope": "source.vex"
- },
- "setprimgroup": {
- "body": "setprimgroup(${1:geohandle}, ${2:name}, ${3:prim}, ${4:value}, ${5:mode=\"set\"})",
- "description": "Sets primitive group membership in a geometry.",
- "prefix": "setprimgroup(geohandle, name, prim, value, mode=\"set\")",
- "scope": "source.vex"
- },
- "setprimintrinsic": {
- "body": "setprimintrinsic(${1:geohandle}, ${2:name}, ${3:prim}, ${4:value}, ${5:mode=\"set\"})",
- "description": "Sets a primitive intrinsic value in a geometry.",
- "prefix": "setprimintrinsic(geohandle, name, prim, value, mode=\"set\")",
- "scope": "source.vex"
- },
- "setprimvertex": {
- "body": "setprimvertex(${1:geohandle}, ${2:prim}, ${3:vtxofprim}, ${4:pt})",
- "description": "Rewires a vertex in the geometry to a different point.",
- "prefix": "setprimvertex(geohandle, prim, vtxofprim, pt)",
- "scope": "source.vex"
- },
- "setsamplestore": {
- "body": "setsamplestore(${1:channel}, ${2:P}, ${3:value})",
- "description": "Stores sample data in a channel, referenced by a point.",
- "prefix": "setsamplestore(channel, P, value)",
- "scope": "source.vex"
- },
- "setvertexattrib": {
- "body": "setvertexattrib(${1:geohandle}, ${2:name}, ${3:elemnum}, ${4:vtxofprim}, ${5:value}, ${6:mode=\"set\"})",
- "description": "Sets a vertex attribute in a geometry.",
- "prefix": "setvertexattrib(geohandle, name, elemnum, vtxofprim, value, mode=\"set\")",
- "scope": "source.vex"
- },
- "setvertexgroup": {
- "body": "setvertexgroup(${1:geohandle}, ${2:name}, ${3:elemnum}, ${4:vtxofprim}, ${5:value}, ${6:mode=\"set\"})",
- "description": "Sets vertex group membership in a geometry.",
- "prefix": "setvertexgroup(geohandle, name, elemnum, vtxofprim, value, mode=\"set\")",
- "scope": "source.vex"
- },
- "setvertexpoint": {
- "body": "setvertexpoint(${1:geohandle}, ${2:prim}, ${3:vtxofprim}, ${4:pt})",
- "description": "Rewires a vertex in the geometry to a different point.",
- "prefix": "setvertexpoint(geohandle, prim, vtxofprim, pt)",
- "scope": "source.vex"
- },
- "shadow": {
- "body": "shadow(${1:Cl}, ${2:P}, ${3:L})",
- "description": "Calls shadow shaders for the current light source.",
- "prefix": "shadow(Cl, P, L)",
- "scope": "source.vex"
- },
- "shadow_light": {
- "body": "shadow_light(${1:lightid}, ${2:pos}, ${3:dir}, ${4:time}${5:, ...})",
- "description": "Executes the shadow shader for a given light and returns the amount of shadowing as a multiplier of the shaded color.",
- "prefix": "shadow_light(lightid, pos, dir, time, ...)",
- "scope": "source.vex"
- },
- "shadowmap": {
- "body": "shadowmap(${1:filename}, ${2:rect1}, ${3:rect2}, ${4:rect3}, ${5:rect4}, ${6:spread}, ${7:bias}, ${8:quality}${9:, ...})",
- "description": "The shadowmap function will treat the shadow map as if the image were\nrendered from a light source.",
- "prefix": "shadowmap(filename, rect1, rect2, rect3, rect4, spread, bias, quality, ...)",
- "scope": "source.vex"
- },
- "shimport": {
- "body": "shimport(${1:name}, ${2:value})",
- "description": "Imports a variable from the shadow shader for the surface.",
- "prefix": "shimport(name, value)",
- "scope": "source.vex"
- },
- "shl": {
- "body": "shl(${1:a}, ${2:bits})",
- "description": "Bit-shifts an integer left.",
- "prefix": "shl(a, bits)",
- "scope": "source.vex"
- },
- "shr": {
- "body": "shr(${1:a}, ${2:bits})",
- "description": "Bit-shifts an integer right.",
- "prefix": "shr(a, bits)",
- "scope": "source.vex"
- },
- "shrz": {
- "body": "shrz(${1:a}, ${2:bits})",
- "description": "Bit-shifts an integer right.",
- "prefix": "shrz(a, bits)",
- "scope": "source.vex"
- },
- "sign": {
- "body": "sign(${1:value})",
- "description": "Returns the sign of the argument.",
- "prefix": "sign(value)",
- "scope": "source.vex"
- },
- "simport": {
- "body": "simport(${1:name}, ${2:value})",
- "description": "Imports a variable sent by a surface shader in an illuminance loop.",
- "prefix": "simport(name, value)",
- "scope": "source.vex"
- },
- "sin": {
- "body": "sin(${1:value})",
- "description": "Returns the sine of the argument.",
- "prefix": "sin(value)",
- "scope": "source.vex"
- },
- "sinh": {
- "body": "sinh(${1:value})",
- "description": "Returns the hyperbolic sine of the argument.",
- "prefix": "sinh(value)",
- "scope": "source.vex"
- },
- "sleep": {
- "body": "sleep(${1:milliseconds})",
- "description": "Yields processing for a certain number of milliseconds.",
- "prefix": "sleep(milliseconds)",
- "scope": "source.vex"
- },
- "slerp": {
- "body": "slerp(${1:q1}, ${2:q2}, ${3:bias})",
- "description": "Quaternion blend between q1 and q2 based on the bias.",
- "prefix": "slerp(q1, q2, bias)",
- "scope": "source.vex"
- },
- "slice": {
- "body": "slice(${1:s}, ${2:hasstart}, ${3:start}, ${4:hasend}, ${5:end}, ${6:hasstep}, ${7:step})",
- "description": "Slices a sub-string or sub-array of a string or array.",
- "prefix": "slice(s, hasstart, start, hasend, end, hasstep, step)",
- "scope": "source.vex"
- },
- "slideframe": {
- "body": "slideframe(${1:x0}, ${2:t0}, ${3:n0}, ${4:x1}, ${5:t1})",
- "description": "Finds the normal component of frame slid along a curve. ",
- "prefix": "slideframe(x0, t0, n0, x1, t1)",
- "scope": "source.vex"
- },
- "smooth": {
- "body": "smooth(${1:value1}, ${2:value2}, ${3:amount}, ${4:rolloff})",
- "description": "Computes a number between zero and one.",
- "prefix": "smooth(value1, value2, amount, rolloff)",
- "scope": "source.vex"
- },
- "smoothrotation": {
- "body": "smoothrotation(${1:order}, ${2:r}, ${3:r_reference})",
- "description": "Returns the closest equivalent Euler rotations to a reference rotation.",
- "prefix": "smoothrotation(order, r, r_reference)",
- "scope": "source.vex"
- },
- "snoise": {
- "body": "snoise(${1:pos}, ${2:turbulence}, ${3:rough}, ${4:atten})",
- "description": "These functions are similar to wnoise.",
- "prefix": "snoise(pos, turbulence, rough, atten)",
- "scope": "source.vex"
- },
- "solid_angle": {
- "body": "solid_angle(${1:b}, ${2:mask})",
- "description": "Computes the solid angle (in steradians) a bsdf\u2019s function subtends.",
- "prefix": "solid_angle(b, mask)",
- "scope": "source.vex"
- },
- "solvecubic": {
- "body": "solvecubic(${1:a}, ${2:b}, ${3:c}, ${4:d}, ${5:t1}, ${6:t2}, ${7:t3})",
- "description": "Solves a cubic function returning the number of real roots.",
- "prefix": "solvecubic(a, b, c, d, t1, t2, t3)",
- "scope": "source.vex"
- },
- "solvepoly": {
- "body": "solvepoly(${1:coef}, ${2:root}, ${3:maxiter})",
- "description": "Finds the real roots of a polynomial.",
- "prefix": "solvepoly(coef, root, maxiter)",
- "scope": "source.vex"
- },
- "solvequadratic": {
- "body": "solvequadratic(${1:a}, ${2:b}, ${3:c}, ${4:t1}, ${5:t2})",
- "description": "Solves a quadratic function returning the number of real roots.",
- "prefix": "solvequadratic(a, b, c, t1, t2)",
- "scope": "source.vex"
- },
- "sort": {
- "body": "sort(${1:value})",
- "description": "Returns the array sorted in increasing order.",
- "prefix": "sort(value)",
- "scope": "source.vex"
- },
- "specular": {
- "body": "specular(${1:nml}, ${2:V}, ${3:roughness}${4:, ...})",
- "description": "Returns the illumination for specular highlights using different lighting models.",
- "prefix": "specular(nml, V, roughness, ...)",
- "scope": "source.vex"
- },
- "specularBRDF": {
- "body": "specularBRDF(${1:L}, ${2:N}, ${3:V}, ${4:rough})",
- "description": "Returns the computed BRDFs for the different lighting models used in VEX shading.",
- "prefix": "specularBRDF(L, N, V, rough)",
- "scope": "source.vex"
- },
- "spline": {
- "body": "spline(${1:bases}, ${2:coord}, ${3:values}, ${4:knots}${5:, ...})",
- "description": "Returns an interpolated value along a polyline or spline curve.",
- "prefix": "spline(bases, coord, values, knots, ...)",
- "scope": "source.vex"
- },
- "split": {
- "body": "split(${1:s}, ${2:separators}, ${3:maxsplits})",
- "description": "Splits a string into tokens.",
- "prefix": "split(s, separators, maxsplits)",
- "scope": "source.vex"
- },
- "split_bsdf": {
- "body": "split_bsdf(${1:lobes}, ${2:b}, ${3:weights})",
- "description": "Splits a bsdf into it\u2019s component lobes.",
- "prefix": "split_bsdf(lobes, b, weights)",
- "scope": "source.vex"
- },
- "splitpath": {
- "body": "splitpath(${1:fullpath}, ${2:dir}, ${3:name})",
- "description": "Splits a file path into the directory and name parts.",
- "prefix": "splitpath(fullpath, dir, name)",
- "scope": "source.vex"
- },
- "sprintf": {
- "body": "sprintf(${1:format}${2:, ...})",
- "description": "Formats a string like printf but returns the result as a string\ninstead of printing it.",
- "prefix": "sprintf(format, ...)",
- "scope": "source.vex"
- },
- "sqrt": {
- "body": "sqrt(${1:value})",
- "description": "Returns the square root of the argument.",
- "prefix": "sqrt(value)",
- "scope": "source.vex"
- },
- "sssapprox": {
- "body": "sssapprox(${1:albedo}, ${2:meanFreePath}, ${3:roughness}, ${4:scale}${5:, ...})",
- "description": "Creates an approximate SSS BSDF.",
- "prefix": "sssapprox(albedo, meanFreePath, roughness, scale, ...)",
- "scope": "source.vex"
- },
- "startswith": {
- "body": "startswith(${1:str}, ${2:startswith})",
- "description": "Returns 1 if the string starts with the specified string.",
- "prefix": "startswith(str, startswith)",
- "scope": "source.vex"
- },
- "storelightexport": {
- "body": "storelightexport(${1:lightname}, ${2:exportname}, ${3:value})",
- "description": "Stores exported data for a light.",
- "prefix": "storelightexport(lightname, exportname, value)",
- "scope": "source.vex"
- },
- "strip": {
- "body": "strip(${1:value}, ${2:whitespace})",
- "description": "Strips leading and trailing whitespace from a string.",
- "prefix": "strip(value, whitespace)",
- "scope": "source.vex"
- },
- "strlen": {
- "body": "strlen(${1:string})",
- "description": "Returns the length of the string.",
- "prefix": "strlen(string)",
- "scope": "source.vex"
- },
- "sum": {
- "body": "sum(${1:v})",
- "description": "Returns the sum of the vector\u2019s components.",
- "prefix": "sum(v)",
- "scope": "source.vex"
- },
- "switch": {
- "body": "switch(${1:direct}, ${2:indirect})",
- "description": "Use a different bsdf for direct or indirect lighting.",
- "prefix": "switch(direct, indirect)",
- "scope": "source.vex"
- },
- "swizzle": {
- "body": "swizzle(${1:xyz}, ${2:i0}, ${3:i1}, ${4:i2})",
- "description": "Rearranges components of a vector.",
- "prefix": "swizzle(xyz, i0, i1, i2)",
- "scope": "source.vex"
- },
- "tan": {
- "body": "tan(${1:value})",
- "description": "Returns the trigonometric tangent of the argument",
- "prefix": "tan(value)",
- "scope": "source.vex"
- },
- "tanh": {
- "body": "tanh(${1:value})",
- "description": "Returns the hyperbolic tangent of the argument",
- "prefix": "tanh(value)",
- "scope": "source.vex"
- },
- "tet_adjacent": {
- "body": "tet_adjacent(${1:geometry}, ${2:primindex}, ${3:faceno})",
- "description": "Returns primitive number of an adjacent tetrahedron.",
- "prefix": "tet_adjacent(geometry, primindex, faceno)",
- "scope": "source.vex"
- },
- "tet_faceindex": {
- "body": "tet_faceindex(${1:faceno}, ${2:vtxno})",
- "description": "Returns vertex indices of each face of a tetrahedron.",
- "prefix": "tet_faceindex(faceno, vtxno)",
- "scope": "source.vex"
- },
- "teximport": {
- "body": "teximport(${1:map}, ${2:attribute}, ${3:value})",
- "description": "Imports attributes from texture files.",
- "prefix": "teximport(map, attribute, value)",
- "scope": "source.vex"
- },
- "texprintf": {
- "body": "texprintf(${1:u}, ${2:v}, ${3:format}${4:, ...})",
- "description": "Similar to sprintf, but does expansion of UDIM or UVTILE texture filename expansion.",
- "prefix": "texprintf(u, v, format, ...)",
- "scope": "source.vex"
- },
- "texture": {
- "body": "texture(${1:map}, ${2:s0}, ${3:t0}, ${4:s1}, ${5:t1}, ${6:s2}, ${7:t2}, ${8:s3}, ${9:t3}${10:, ...})",
- "description": "Computes a filtered sample of the texture map specified.",
- "prefix": "texture(map, s0, t0, s1, t1, s2, t2, s3, t3, ...)",
- "scope": "source.vex"
- },
- "texture3d": {
- "body": "texture3d(${1:filename}, ${2:channel}, ${3:P}${4:, ...})",
- "description": "Returns the value of the 3d image at the position specified by P.",
- "prefix": "texture3d(filename, channel, P, ...)",
- "scope": "source.vex"
- },
- "texture3dBox": {
- "body": "texture3dBox(${1:filename}, ${2:channel}, ${3:min}, ${4:max}${5:, ...})",
- "description": "This function queries the 3D texture map specified and returns the\nbounding box information of the file.",
- "prefix": "texture3dBox(filename, channel, min, max, ...)",
- "scope": "source.vex"
- },
- "titlecase": {
- "body": "titlecase(${1:str})",
- "description": "Returns a string that is the titlecase version of the input string.",
- "prefix": "titlecase(str)",
- "scope": "source.vex"
- },
- "toNDC": {
- "body": "toNDC(${1:point})",
- "description": "Transforms a position into normal device coordinates.",
- "prefix": "toNDC(point)",
- "scope": "source.vex"
- },
- "tolower": {
- "body": "tolower(${1:str})",
- "description": "Converts all charactors in string to lower case",
- "prefix": "tolower(str)",
- "scope": "source.vex"
- },
- "toupper": {
- "body": "toupper(${1:str})",
- "description": "Convers all charactors in string to upper case",
- "prefix": "toupper(str)",
- "scope": "source.vex"
- },
- "trace": {
- "body": "trace(${1:cv}, ${2:of}, ${3:af}, ${4:P}, ${5:D}, ${6:shadow_bias}, ${7:max_contrib}${8:, ...})",
- "description": "Sends a ray from P along the normalized vector D.",
- "prefix": "trace(cv, of, af, P, D, shadow_bias, max_contrib, ...)",
- "scope": "source.vex"
- },
- "translate": {
- "body": "translate(${1:mat}, ${2:amount})",
- "description": "Translates the given matrix.",
- "prefix": "translate(mat, amount)",
- "scope": "source.vex"
- },
- "translucent": {
- "body": "translucent(${1:nml}, ${2:ng}${3:, ...})",
- "description": "Returns the lambertian translucence given the surface normal.",
- "prefix": "translucent(nml, ng, ...)",
- "scope": "source.vex"
- },
- "transpose": {
- "body": "transpose(${1:mat})",
- "description": "Transposes the given matrix.",
- "prefix": "transpose(mat)",
- "scope": "source.vex"
- },
- "trunc": {
- "body": "trunc(${1:x})",
- "description": "If the argument is negative, this returns ceil(x), otherwise it returns floor(x).",
- "prefix": "trunc(x)",
- "scope": "source.vex"
- },
- "tw_nspace": {
- "body": "tw_nspace(${1:n})",
- "description": "Transforms a normal vector from Texture to World space.",
- "prefix": "tw_nspace(n)",
- "scope": "source.vex"
- },
- "tw_space": {
- "body": "tw_space(${1:v})",
- "description": "Transforms a position value from Texture to World space.",
- "prefix": "tw_space(v)",
- "scope": "source.vex"
- },
- "tw_vspace": {
- "body": "tw_vspace(${1:v})",
- "description": "Transforms a direction vector from Texture to World space.",
- "prefix": "tw_vspace(v)",
- "scope": "source.vex"
- },
- "uniqueval": {
- "body": "uniqueval(${1:file}, ${2:class}, ${3:attribute_name}, ${4:which})",
- "description": "Returns a unique value from an integer or string attribute.",
- "prefix": "uniqueval(file, class, attribute_name, which)",
- "scope": "source.vex"
- },
- "unpack_intfromsafefloat": {
- "body": "unpack_intfromsafefloat(${1:value})",
- "description": "Reverses the packing of pack_inttosafefloat to get back the original integer.",
- "prefix": "unpack_intfromsafefloat(value)",
- "scope": "source.vex"
- },
- "unserialize": {
- "body": "unserialize(${1:array})",
- "description": "Turns a flat array of floats into an array of vectors or matrices.",
- "prefix": "unserialize(array)",
- "scope": "source.vex"
- },
- "upush": {
- "body": "upush(${1:array}, ${2:value})",
- "description": "Adds a uniform item to an array.",
- "prefix": "upush(array, value)",
- "scope": "source.vex"
- },
- "uvdist": {
- "body": "uvdist(${1:geometry}, ${2:uvname}, ${3:uv}, ${4:prim}, ${5:primuv}, ${6:maxdist})",
- "description": "Finds the distance of a uv coordinate to a geometry in uv space.",
- "prefix": "uvdist(geometry, uvname, uv, prim, primuv, maxdist)",
- "scope": "source.vex"
- },
- "uvintersect": {
- "body": "uvintersect(${1:filename}, ${2:uvname}, ${3:orig}, ${4:dir}, ${5:pos}, ${6:primuv})",
- "description": "This function computes the intersection of the specified ray with the geometry in uv space.",
- "prefix": "uvintersect(filename, uvname, orig, dir, pos, primuv)",
- "scope": "source.vex"
- },
- "uvsample": {
- "body": "uvsample(${1:filename}, ${2:att}, ${3:uvname}, ${4:uv})",
- "description": "Evaluates an attribute on a geometry using a uv attribute name and value.",
- "prefix": "uvsample(filename, att, uvname, uv)",
- "scope": "source.vex"
- },
- "uvunwrap": {
- "body": "uvunwrap(${1:undocumented}, ${2:u}, ${3:v}, ${4:time}, ${5:undocumented}, ${6:undocumented}, ${7:undocumented}, ${8:undocumented})",
- "description": "Computes the position and normal of an object given a (u, v) coordinate",
- "prefix": "uvunwrap(undocumented, u, v, time, undocumented, undocumented, undocumented, undocumented)",
- "scope": "source.vex"
- },
- "variance": {
- "body": "variance(${1:variable}, ${2:mean}, ${3:sample_size})",
- "description": "Computes the mean value and variance for a value.",
- "prefix": "variance(variable, mean, sample_size)",
- "scope": "source.vex"
- },
- "velocityname": {
- "body": "velocityname()",
- "description": "Returns the default name of the velocity plane (as it appears in the\ncompositor preferences).",
- "prefix": "velocityname()",
- "scope": "source.vex"
- },
- "vertex": {
- "body": "vertex(${1:geometry}, ${2:attribute_name}, ${3:prim}, ${4:vertex})",
- "description": "Imports a vertex attribute value from a geometry.",
- "prefix": "vertex(geometry, attribute_name, prim, vertex)",
- "scope": "source.vex"
- },
- "vertexattrib": {
- "body": "vertexattrib(${1:geometry}, ${2:attribute_name}, ${3:linearvertex}, ${4:success})",
- "description": "Imports a vertex attribute value from a geometry.",
- "prefix": "vertexattrib(geometry, attribute_name, linearvertex, success)",
- "scope": "source.vex"
- },
- "vertexattribsize": {
- "body": "vertexattribsize(${1:geometry}, ${2:attribute_name})",
- "description": "Returns the size of a geometry vertex attribute.",
- "prefix": "vertexattribsize(geometry, attribute_name)",
- "scope": "source.vex"
- },
- "vertexattribtype": {
- "body": "vertexattribtype(${1:geometry}, ${2:attribute_name})",
- "description": "Returns the type of a geometry vertex attribute.",
- "prefix": "vertexattribtype(geometry, attribute_name)",
- "scope": "source.vex"
- },
- "vertexattribtypeinfo": {
- "body": "vertexattribtypeinfo(${1:geometry}, ${2:attribute_name})",
- "description": "Returns the type info of a geometry attribute.",
- "prefix": "vertexattribtypeinfo(geometry, attribute_name)",
- "scope": "source.vex"
- },
- "vertexhedge": {
- "body": "vertexhedge(${1:geometry}, ${2:vertex})",
- "description": "Returns the half-edge which has a vertex as source.",
- "prefix": "vertexhedge(geometry, vertex)",
- "scope": "source.vex"
- },
- "vertexindex": {
- "body": "vertexindex(${1:geometry}, ${2:primnum}, ${3:vertex})",
- "description": "Converts a primitive/vertex pair into a linear vertex.",
- "prefix": "vertexindex(geometry, primnum, vertex)",
- "scope": "source.vex"
- },
- "vertexnext": {
- "body": "vertexnext(${1:geometry}, ${2:linearvertex})",
- "description": "Returns the linear vertex number of next shared vertex in a geometry.",
- "prefix": "vertexnext(geometry, linearvertex)",
- "scope": "source.vex"
- },
- "vertexpoint": {
- "body": "vertexpoint(${1:geometry}, ${2:linearvertex})",
- "description": "Returns the point number of linear vertex in a geometry.",
- "prefix": "vertexpoint(geometry, linearvertex)",
- "scope": "source.vex"
- },
- "vertexprev": {
- "body": "vertexprev(${1:geometry}, ${2:linearvertex})",
- "description": "Returns the linear vertex number of previous shared vertex in a geometry.",
- "prefix": "vertexprev(geometry, linearvertex)",
- "scope": "source.vex"
- },
- "vertexprim": {
- "body": "vertexprim(${1:geometry}, ${2:linearvertex})",
- "description": "Returns the primitive number of a linear vertex in a geometry.",
- "prefix": "vertexprim(geometry, linearvertex)",
- "scope": "source.vex"
- },
- "vertexprimindex": {
- "body": "vertexprimindex(${1:geometry}, ${2:linearvertexnum})",
- "description": "Converts a linear vertex number into a vertex number within that primitive.",
- "prefix": "vertexprimindex(geometry, linearvertexnum)",
- "scope": "source.vex"
- },
- "vnoise": {
- "body": "vnoise(${1:position}, ${2:jitter}, ${3:seed}, ${4:f1}, ${5:f2}, ${6:pos1}, ${7:pos1}, ${8:period})",
- "description": "Voronoi noise gives almost identical results to the Worley noise\nfunctions.",
- "prefix": "vnoise(position, jitter, seed, f1, f2, pos1, pos1, period)",
- "scope": "source.vex"
- },
- "volume": {
- "body": "volume(${1:pos}${2:, ...})",
- "description": "Returns the volume of the microvoxel containing a variable such as P.",
- "prefix": "volume(pos, ...)",
- "scope": "source.vex"
- },
- "volumegradient": {
- "body": "volumegradient(${1:filename}, ${2:volumename}, ${3:pos})",
- "description": "Calculates the volume primitive\u2019s gradient.",
- "prefix": "volumegradient(filename, volumename, pos)",
- "scope": "source.vex"
- },
- "volumeindex": {
- "body": "volumeindex(${1:filename}, ${2:volumename}, ${3:voxel})",
- "description": "Gets the value of a specific voxel.",
- "prefix": "volumeindex(filename, volumename, voxel)",
- "scope": "source.vex"
- },
- "volumeindexorigin": {
- "body": "volumeindexorigin(${1:filename}, ${2:volumename})",
- "description": "Gets the index of the bottom left of a volume primitive.",
- "prefix": "volumeindexorigin(filename, volumename)",
- "scope": "source.vex"
- },
- "volumeindextopos": {
- "body": "volumeindextopos(${1:filename}, ${2:volumename}, ${3:voxel})",
- "description": "Converts a volume voxel index into a position.",
- "prefix": "volumeindextopos(filename, volumename, voxel)",
- "scope": "source.vex"
- },
- "volumeindexv": {
- "body": "volumeindexv(${1:filename}, ${2:volumename}, ${3:voxel})",
- "description": "Gets the vector value of a specific voxel.",
- "prefix": "volumeindexv(filename, volumename, voxel)",
- "scope": "source.vex"
- },
- "volumepostoindex": {
- "body": "volumepostoindex(${1:filename}, ${2:volumename}, ${3:position})",
- "description": "Converts a position into a volume voxel index.",
- "prefix": "volumepostoindex(filename, volumename, position)",
- "scope": "source.vex"
- },
- "volumeres": {
- "body": "volumeres(${1:filename}, ${2:volumename})",
- "description": "Gets the resolution of a volume primitive.",
- "prefix": "volumeres(filename, volumename)",
- "scope": "source.vex"
- },
- "volumesample": {
- "body": "volumesample(${1:filename}, ${2:volumename}, ${3:pos})",
- "description": "Samples the volume primitive\u2019s value.",
- "prefix": "volumesample(filename, volumename, pos)",
- "scope": "source.vex"
- },
- "volumesamplev": {
- "body": "volumesamplev(${1:filename}, ${2:volumename}, ${3:pos})",
- "description": "Samples the volume primitive\u2019s vector value.",
- "prefix": "volumesamplev(filename, volumename, pos)",
- "scope": "source.vex"
- },
- "volumevoxeldiameter": {
- "body": "volumevoxeldiameter(${1:geofile}, ${2:primname})",
- "description": "Computes the approximate diameter of a voxel.",
- "prefix": "volumevoxeldiameter(geofile, primname)",
- "scope": "source.vex"
- },
- "vtransform": {
- "body": "vtransform(${1:v}, ${2:transform_matrix})",
- "description": "See ptransform.",
- "prefix": "vtransform(v, transform_matrix)",
- "scope": "source.vex"
- },
- "warning": {
- "body": "warning(${1:format}${2:, ...})",
- "description": "Reports a custom runtime VEX warning.",
- "prefix": "warning(format, ...)",
- "scope": "source.vex"
- },
- "wireblinn": {
- "body": "wireblinn(${1:tangent}, ${2:exponent}${3:, ...})",
- "description": "",
- "prefix": "wireblinn(tangent, exponent, ...)",
- "scope": "source.vex"
- },
- "wirediffuse": {
- "body": "wirediffuse(${1:tangent}${2:, ...})",
- "description": "",
- "prefix": "wirediffuse(tangent, ...)",
- "scope": "source.vex"
- },
- "wnoise": {
- "body": "wnoise(${1:position}, ${2:seed}, ${3:f1}, ${4:f2}, ${5:period_x}, ${6:period_y}, ${7:period_z})",
- "description": "Worley noise scatters points randomly through space (according to a\nnice Poisson distribution).",
- "prefix": "wnoise(position, seed, f1, f2, period_x, period_y, period_z)",
- "scope": "source.vex"
- },
- "wo_nspace": {
- "body": "wo_nspace(${1:n})",
- "description": "Transforms a normal vector from World to Object space.",
- "prefix": "wo_nspace(n)",
- "scope": "source.vex"
- },
- "wo_space": {
- "body": "wo_space(${1:v})",
- "description": "Transforms a position value from World to Object space.",
- "prefix": "wo_space(v)",
- "scope": "source.vex"
- },
- "wo_vspace": {
- "body": "wo_vspace(${1:v})",
- "description": "Transforms a direction vector from World to Object space.",
- "prefix": "wo_vspace(v)",
- "scope": "source.vex"
- },
- "writepixel": {
- "body": "writepixel(${1:channel}, ${2:ndc_x}, ${3:ndc_y}, ${4:clr})",
- "description": "Writes color information to a pixel in the output image ",
- "prefix": "writepixel(channel, ndc_x, ndc_y, clr)",
- "scope": "source.vex"
- },
- "wt_nspace": {
- "body": "wt_nspace(${1:n})",
- "description": "Transforms a normal vector from World to Texture space.",
- "prefix": "wt_nspace(n)",
- "scope": "source.vex"
- },
- "wt_space": {
- "body": "wt_space(${1:v})",
- "description": "Transforms a position value from World to Texture space.",
- "prefix": "wt_space(v)",
- "scope": "source.vex"
- },
- "wt_vspace": {
- "body": "wt_vspace(${1:v})",
- "description": "Transforms a direction vector from World to Texture space.",
- "prefix": "wt_vspace(v)",
- "scope": "source.vex"
- },
- "xnoise": {
- "body": "xnoise(${1:xyz})",
- "description": "Simplex noise is very close to Perlin noise, except with the samples on a simplex mesh rather than a grid. This results in less grid artifacts. It also uses a higher order bspline to provide better derivatives.",
- "prefix": "xnoise(xyz)",
- "scope": "source.vex"
- },
- "xnoised": {
- "body": "xnoised(${1:xyz}, ${2:v}, ${3:dvdx}, ${4:dvdy}, ${5:dvdz})",
- "description": "Derivatives of Simplex Noise.",
- "prefix": "xnoised(xyz, v, dvdx, dvdy, dvdz)",
- "scope": "source.vex"
- },
- "xyzdist": {
- "body": "xyzdist(${1:geometry}, ${2:pt}, ${3:prim}, ${4:uv}, ${5:maxdist})",
- "description": "Finds the distance of a point to a geometry.",
- "prefix": "xyzdist(geometry, pt, prim, uv, maxdist)",
- "scope": "source.vex"
- },
- "xyztorgb": {
- "body": "xyztorgb(${1:xyz})",
- "description": "Convert CIE XYZ tristimulus values to a linear sRGB triplet.",
- "prefix": "xyztorgb(xyz)",
- "scope": "source.vex"
+ "prefix": "pci",
+ "body": "float search_rad = ${1:10.0};\nint max_points = ${2:10};\n\nint handle = pcopen(${3:0}, \"P\", @P, search_rad, max_points);\n\nvector near_p;\n\nwhile( pciterate(handle) ) {\n pcimport(handle, \"P\", near_p);\n}\n\npcclose(handle);\n",
+ "description": "Point Cloud Iterate (VEXpression)",
+ "scope": "source.vex"
+ },
+ "usd_blockprimvar: stagehandle primpath name": {
+ "prefix": "usd_blockprimvar(stagehandle, primpath, name)",
+ "body": "usd_blockprimvar(${1:stagehandle}, ${2:primpath}, ${3:name})",
+ "scope": "source.vex",
+ "description": "Blocks the primvar."
+ },
+ "interpolate: val sx sy": {
+ "prefix": "interpolate(val, sx, sy)",
+ "body": "interpolate(${1:val}, ${2:sx}, ${3:sy})",
+ "scope": "source.vex",
+ "description": "Interpolates a value across the currently shaded micropolygon."
+ },
+ "cregioncapturetransform: path": {
+ "prefix": "cregioncapturetransform(path)",
+ "body": "cregioncapturetransform(${1:path})",
+ "scope": "source.vex",
+ "description": "Returns the capture transform associated with a Capture Region SOP."
+ },
+ "cregioncapturetransform: path time": {
+ "prefix": "cregioncapturetransform(path, time)",
+ "body": "cregioncapturetransform(${1:path}, ${2:time})",
+ "scope": "source.vex",
+ "description": "Returns the capture transform associated with a Capture Region SOP."
+ },
+ "cregioncapturetransform: op_id": {
+ "prefix": "cregioncapturetransform(op_id)",
+ "body": "cregioncapturetransform(${1:op_id})",
+ "scope": "source.vex",
+ "description": "Returns the capture transform associated with a Capture Region SOP."
+ },
+ "cregioncapturetransform: op_id time": {
+ "prefix": "cregioncapturetransform(op_id, time)",
+ "body": "cregioncapturetransform(${1:op_id}, ${2:time})",
+ "scope": "source.vex",
+ "description": "Returns the capture transform associated with a Capture Region SOP."
+ },
+ "chexpr: channel new_expr_function": {
+ "prefix": "chexpr(channel, new_expr_function)",
+ "body": "chexpr(${1:channel}, ${2:new_expr_function})",
+ "scope": "source.vex",
+ "description": "Evaluates a channel with a new segment expression."
+ },
+ "fastshadow: P D bias ...": {
+ "prefix": "fastshadow(P, D, bias, ...)",
+ "body": "fastshadow(${1:P}, ${2:D}, ${3:bias}, ${4:...})",
+ "scope": "source.vex",
+ "description": "Sends a ray from the position P along the direction specified by the\ndirection D."
+ },
+ "hasprimattrib: geometry attribute_name": {
+ "prefix": "hasprimattrib(geometry, attribute_name)",
+ "body": "hasprimattrib(${1:geometry}, ${2:attribute_name})",
+ "scope": "source.vex",
+ "description": "Returns if a geometry prim attribute exists."
+ },
+ "random_sobol: seed offset": {
+ "prefix": "random_sobol(seed, offset)",
+ "body": "random_sobol(${1:seed}, ${2:offset})",
+ "scope": "source.vex",
+ "description": "Generate a uniformly distributed random number."
+ },
+ "primfind: geometry min max": {
+ "prefix": "primfind(geometry, min, max)",
+ "body": "primfind(${1:geometry}, ${2:min}, ${3:max})",
+ "scope": "source.vex",
+ "description": "Returns a list of primitives potentially intersecting a given bounding box."
+ },
+ "primfind: geometry group min max": {
+ "prefix": "primfind(geometry, group, min, max)",
+ "body": "primfind(${1:geometry}, ${2:group}, ${3:min}, ${4:max})",
+ "scope": "source.vex",
+ "description": "Returns a list of primitives potentially intersecting a given bounding box."
+ },
+ "usd_transformsuffix: name": {
+ "prefix": "usd_transformsuffix(name)",
+ "body": "usd_transformsuffix(${1:name})",
+ "scope": "source.vex",
+ "description": "Extracts the transform operation suffix from the full name"
+ },
+ "sample_hypersphere_uniform: u": {
+ "prefix": "sample_hypersphere_uniform(u)",
+ "body": "sample_hypersphere_uniform(${1:u})",
+ "scope": "source.vex",
+ "description": "Generates a uniform vector4 with length < 1, given a vector4 of uniform numbers between 0 and 1."
+ },
+ "getprimid: ": {
+ "prefix": "getprimid()",
+ "body": "getprimid()",
+ "scope": "source.vex",
+ "description": "Returns the number of the current primitive."
+ },
+ "detailattribsize: geometry attribute_name": {
+ "prefix": "detailattribsize(geometry, attribute_name)",
+ "body": "detailattribsize(${1:geometry}, ${2:attribute_name})",
+ "scope": "source.vex",
+ "description": "Returns the size of a geometry detail attribute."
+ },
+ "chrampderiv: channel ramppos": {
+ "prefix": "chrampderiv(channel, ramppos)",
+ "body": "chrampderiv(${1:channel}, ${2:ramppos})",
+ "scope": "source.vex",
+ "description": "Evaluates the derivative of a parm parameter with respect to position."
+ },
+ "chrampderiv: channel ramppos time": {
+ "prefix": "chrampderiv(channel, ramppos, time)",
+ "body": "chrampderiv(${1:channel}, ${2:ramppos}, ${3:time})",
+ "scope": "source.vex",
+ "description": "Evaluates the derivative of a parm parameter with respect to position."
+ },
+ "getmaterialid: ": {
+ "prefix": "getmaterialid()",
+ "body": "getmaterialid()",
+ "scope": "source.vex",
+ "description": "Returns material id of shaded primitive."
+ },
+ "usd_isvisible: stage primpath": {
+ "prefix": "usd_isvisible(stage, primpath)",
+ "body": "usd_isvisible(${1:stage}, ${2:primpath})",
+ "scope": "source.vex",
+ "description": "Checks if the primitive is visible."
+ },
+ "usd_isvisible: stage primpath timecode": {
+ "prefix": "usd_isvisible(stage, primpath, timecode)",
+ "body": "usd_isvisible(${1:stage}, ${2:primpath}, ${3:timecode})",
+ "scope": "source.vex",
+ "description": "Checks if the primitive is visible."
+ },
+ "tw_vspace: v": {
+ "prefix": "tw_vspace(v)",
+ "body": "tw_vspace(${1:v})",
+ "scope": "source.vex",
+ "description": "Transforms a direction vector from Texture to World space."
+ },
+ "usd_transformname: transformtype suffix": {
+ "prefix": "usd_transformname(transformtype, suffix)",
+ "body": "usd_transformname(${1:transformtype}, ${2:suffix})",
+ "scope": "source.vex",
+ "description": "Constructs a full name of a transform operation"
+ },
+ "atof: str": {
+ "prefix": "atof(str)",
+ "body": "atof(${1:str})",
+ "scope": "source.vex",
+ "description": "Converts a string to a float."
+ },
+ "usd_setprimvarelementsize: stagehandle primpath name size": {
+ "prefix": "usd_setprimvarelementsize(stagehandle, primpath, name, size)",
+ "body": "usd_setprimvarelementsize(${1:stagehandle}, ${2:primpath}, ${3:name}, ${4:size})",
+ "scope": "source.vex",
+ "description": "Sets the element size of a primvar."
+ },
+ "agentcollisionlayer: geometry prim": {
+ "prefix": "agentcollisionlayer(geometry, prim)",
+ "body": "agentcollisionlayer(${1:geometry}, ${2:prim})",
+ "scope": "source.vex",
+ "description": "Returns the name of the collision layer of an agent primitive."
+ },
+ "shl: a bits": {
+ "prefix": "shl(a, bits)",
+ "body": "shl(${1:a}, ${2:bits})",
+ "scope": "source.vex",
+ "description": "Bit-shifts an integer left."
+ },
+ "rayhittest: P D bias ...": {
+ "prefix": "rayhittest(P, D, bias, ...)",
+ "body": "rayhittest(${1:P}, ${2:D}, ${3:bias}, ${4:...})",
+ "scope": "source.vex",
+ "description": "Sends a ray from the position P along the direction D."
+ },
+ "rayhittest: P D pHit nHit bias ...": {
+ "prefix": "rayhittest(P, D, pHit, nHit, bias, ...)",
+ "body": "rayhittest(${1:P}, ${2:D}, ${3:pHit}, ${4:nHit}, ${5:bias}, ${6:...})",
+ "scope": "source.vex",
+ "description": "Sends a ray from the position P along the direction D."
+ },
+ "shadowmap: filename Pndc spread bias quality ...": {
+ "prefix": "shadowmap(filename, Pndc, spread, bias, quality, ...)",
+ "body": "shadowmap(${1:filename}, ${2:Pndc}, ${3:spread}, ${4:bias}, ${5:quality}, ${6:...})",
+ "scope": "source.vex",
+ "description": "The shadowmap function will treat the shadow map as if the image were\nrendered from a light source."
+ },
+ "shadowmap: filename Pndc1 Pndc2 Pndc3 Pndc4 spread bias quality ...": {
+ "prefix": "shadowmap(filename, Pndc1, Pndc2, Pndc3, Pndc4, spread, bias, quality, ...)",
+ "body": "shadowmap(${1:filename}, ${2:Pndc1}, ${3:Pndc2}, ${4:Pndc3}, ${5:Pndc4}, ${6:spread}, ${7:bias}, ${8:quality}, ${9:...})",
+ "scope": "source.vex",
+ "description": "The shadowmap function will treat the shadow map as if the image were\nrendered from a light source."
+ },
+ "pcimportbyidxi: handle channel_name idx": {
+ "prefix": "pcimportbyidxi(handle, channel_name, idx)",
+ "body": "pcimportbyidxi(${1:handle}, ${2:channel_name}, ${3:idx})",
+ "scope": "source.vex",
+ "description": "Imports channel data from a point cloud outside a pciterate or a pcunshaded loop."
+ },
+ "sample_orientation_cone: center maxangle u": {
+ "prefix": "sample_orientation_cone(center, maxangle, u)",
+ "body": "sample_orientation_cone(${1:center}, ${2:maxangle}, ${3:u})",
+ "scope": "source.vex",
+ "description": "Generates a uniform unit vector4, within maxangle of center, given a vector of uniform numbers between 0 and 1."
+ },
+ "fuzzy_xor: a b ...": {
+ "prefix": "fuzzy_xor(a, b, ...)",
+ "body": "fuzzy_xor(${1:a}, ${2:b}, ${3:...})",
+ "scope": "source.vex",
+ "description": ""
+ },
+ "usd_isarraymetadata: stage path name": {
+ "prefix": "usd_isarraymetadata(stage, path, name)",
+ "body": "usd_isarraymetadata(${1:stage}, ${2:path}, ${3:name})",
+ "scope": "source.vex",
+ "description": "Checks if the given metadata is an array."
+ },
+ "chopt: filename channel sample time": {
+ "prefix": "chopt(filename, channel, sample, time)",
+ "body": "chopt(${1:filename}, ${2:channel}, ${3:sample}, ${4:time})",
+ "scope": "source.vex",
+ "description": "Returns the value of a CHOP channel at the specified sample and evaluation time."
+ },
+ "primvertexcount: geometry prim_num": {
+ "prefix": "primvertexcount(geometry, prim_num)",
+ "body": "primvertexcount(${1:geometry}, ${2:prim_num})",
+ "scope": "source.vex",
+ "description": "Returns number of vertices in a primitive in a geometry."
+ },
+ "pointvertices: geometry ptnum": {
+ "prefix": "pointvertices(geometry, ptnum)",
+ "body": "pointvertices(${1:geometry}, ${2:ptnum})",
+ "scope": "source.vex",
+ "description": "Returns the list of vertices connected to a point."
+ },
+ "chsop: channel": {
+ "prefix": "chsop(channel)",
+ "body": "chsop(${1:channel})",
+ "scope": "source.vex",
+ "description": "Evaluates an operator path parameter and return the path to the operator."
+ },
+ "chsop: channel time": {
+ "prefix": "chsop(channel, time)",
+ "body": "chsop(${1:channel}, ${2:time})",
+ "scope": "source.vex",
+ "description": "Evaluates an operator path parameter and return the path to the operator."
+ },
+ "refractlight: cf of af P D bias max_contrib ...": {
+ "prefix": "refractlight(cf, of, af, P, D, bias, max_contrib, ...)",
+ "body": "refractlight(${1:cf}, ${2:of}, ${3:af}, ${4:P}, ${5:D}, ${6:bias}, ${7:max_contrib}, ${8:...})",
+ "scope": "source.vex",
+ "description": "Computes the illumination of surfaces refracted by the current\nsurface."
+ },
+ "refractlight: cf of af P N I eta bias max_contrib ...": {
+ "prefix": "refractlight(cf, of, af, P, N, I, eta, bias, max_contrib, ...)",
+ "body": "refractlight(${1:cf}, ${2:of}, ${3:af}, ${4:P}, ${5:N}, ${6:I}, ${7:eta}, ${8:bias}, ${9:max_contrib}, ${10:...})",
+ "scope": "source.vex",
+ "description": "Computes the illumination of surfaces refracted by the current\nsurface."
+ },
+ "pcopenlod: filename Pchannel P min_pts ...": {
+ "prefix": "pcopenlod(filename, Pchannel, P, min_pts, ...)",
+ "body": "pcopenlod(${1:filename}, ${2:Pchannel}, ${3:P}, ${4:min_pts}, ${5:...})",
+ "scope": "source.vex",
+ "description": "Returns a handle to a point cloud file."
+ },
+ "setagentcollisionlayer: geohandle prim layername": {
+ "prefix": "setagentcollisionlayer(geohandle, prim, layername)",
+ "body": "setagentcollisionlayer(${1:geohandle}, ${2:prim}, ${3:layername})",
+ "scope": "source.vex",
+ "description": "Sets the collision layer of an agent primitive."
+ },
+ "random_shash: seed": {
+ "prefix": "random_shash(seed)",
+ "body": "random_shash(${1:seed})",
+ "scope": "source.vex",
+ "description": "Hashes a string to an integer."
+ },
+ "sample_normal: u": {
+ "prefix": "sample_normal(u)",
+ "body": "sample_normal(${1:u})",
+ "scope": "source.vex",
+ "description": "Samples the normal (Gaussian) distribution."
+ },
+ "sample_normal: mean stddev u": {
+ "prefix": "sample_normal(mean, stddev, u)",
+ "body": "sample_normal(${1:mean}, ${2:stddev}, ${3:u})",
+ "scope": "source.vex",
+ "description": "Samples the normal (Gaussian) distribution."
+ },
+ "sample_normal: origmean origstddev minvalue maxvalue u": {
+ "prefix": "sample_normal(origmean, origstddev, minvalue, maxvalue, u)",
+ "body": "sample_normal(${1:origmean}, ${2:origstddev}, ${3:minvalue}, ${4:maxvalue}, ${5:u})",
+ "scope": "source.vex",
+ "description": "Samples the normal (Gaussian) distribution."
+ },
+ "qrotate: quaternion v": {
+ "prefix": "qrotate(quaternion, v)",
+ "body": "qrotate(${1:quaternion}, ${2:v})",
+ "scope": "source.vex",
+ "description": "Rotates a vector by a quaternion."
+ },
+ "qmultiply: q1 q2": {
+ "prefix": "qmultiply(q1, q2)",
+ "body": "qmultiply(${1:q1}, ${2:q2})",
+ "scope": "source.vex",
+ "description": "Multiplies two quaternions and returns the result."
+ },
+ "chid: channel_path op_id parm_index vector_index": {
+ "prefix": "chid(channel_path, op_id, parm_index, vector_index)",
+ "body": "chid(${1:channel_path}, ${2:op_id}, ${3:parm_index}, ${4:vector_index})",
+ "scope": "source.vex",
+ "description": "Resolves a channel string (or parameter) and return op_id, parm_index and vector_index."
+ },
+ "chid: op_path channel_name op_id parm_index vector_index": {
+ "prefix": "chid(op_path, channel_name, op_id, parm_index, vector_index)",
+ "body": "chid(${1:op_path}, ${2:channel_name}, ${3:op_id}, ${4:parm_index}, ${5:vector_index})",
+ "scope": "source.vex",
+ "description": "Resolves a channel string (or parameter) and return op_id, parm_index and vector_index."
+ },
+ "chid: op_id parm_index vector_index": {
+ "prefix": "chid(op_id, parm_index, vector_index)",
+ "body": "chid(${1:op_id}, ${2:parm_index}, ${3:vector_index})",
+ "scope": "source.vex",
+ "description": "Resolves a channel string (or parameter) and return op_id, parm_index and vector_index."
+ },
+ "setprimgroup: geohandle name prim_num value mode": {
+ "prefix": "setprimgroup(geohandle, name, prim_num, value, mode)",
+ "body": "setprimgroup(${1:geohandle}, ${2:name}, ${3:prim_num}, ${4:value}, ${5:mode})",
+ "scope": "source.vex",
+ "description": "Adds or removes a primitive to/from a group in a geometry."
+ },
+ "choplocalt: filename channel sample time": {
+ "prefix": "choplocalt(filename, channel, sample, time)",
+ "body": "choplocalt(${1:filename}, ${2:channel}, ${3:sample}, ${4:time})",
+ "scope": "source.vex",
+ "description": "Returns the value of a CHOP local transform channel at the specified sample and evaluation time."
+ },
+ "detailattribtype: geometry attribute_name": {
+ "prefix": "detailattribtype(geometry, attribute_name)",
+ "body": "detailattribtype(${1:geometry}, ${2:attribute_name})",
+ "scope": "source.vex",
+ "description": "Returns the type of a geometry detail attribute."
+ },
+ "ambient: ...": {
+ "prefix": "ambient(...)",
+ "body": "ambient(${1:...})",
+ "scope": "source.vex",
+ "description": "Returns the color of ambient light in the scene."
+ },
+ "usd_pointinstance_getbbox_size: stage primpath instance_index purpose": {
+ "prefix": "usd_pointinstance_getbbox_size(stage, primpath, instance_index, purpose)",
+ "body": "usd_pointinstance_getbbox_size(${1:stage}, ${2:primpath}, ${3:instance_index}, ${4:purpose})",
+ "scope": "source.vex",
+ "description": "Returns the size of the bounding box for the instance inside a point instancer primitive."
+ },
+ "primvertices: geometry primnum": {
+ "prefix": "primvertices(geometry, primnum)",
+ "body": "primvertices(${1:geometry}, ${2:primnum})",
+ "scope": "source.vex",
+ "description": "Returns the list of vertices on a primitive."
+ },
+ "addvertexattrib: geohandle name defvalue": {
+ "prefix": "addvertexattrib(geohandle, name, defvalue)",
+ "body": "addvertexattrib(${1:geohandle}, ${2:name}, ${3:defvalue})",
+ "scope": "source.vex",
+ "description": "Adds a vertex attribute to a geometry."
+ },
+ "addvertexattrib: geohandle name defvalue typeinfo": {
+ "prefix": "addvertexattrib(geohandle, name, defvalue, typeinfo)",
+ "body": "addvertexattrib(${1:geohandle}, ${2:name}, ${3:defvalue}, ${4:typeinfo})",
+ "scope": "source.vex",
+ "description": "Adds a vertex attribute to a geometry."
+ },
+ "len: v": {
+ "prefix": "len(v)",
+ "body": "len(${1:v})",
+ "scope": "source.vex",
+ "description": "Returns the length of an array."
+ },
+ "len: m": {
+ "prefix": "len(m)",
+ "body": "len(${1:m})",
+ "scope": "source.vex",
+ "description": "Returns the length of an array."
+ },
+ "len: array": {
+ "prefix": "len(array)",
+ "body": "len(${1:array})",
+ "scope": "source.vex",
+ "description": "Returns the length of an array."
+ },
+ "len: s": {
+ "prefix": "len(s)",
+ "body": "len(${1:s})",
+ "scope": "source.vex",
+ "description": "Returns the length of an array."
+ },
+ "random_fhash: seed": {
+ "prefix": "random_fhash(seed)",
+ "body": "random_fhash(${1:seed})",
+ "scope": "source.vex",
+ "description": "Hashes floating point numbers to integers."
+ },
+ "random_fhash: seed seed2": {
+ "prefix": "random_fhash(seed, seed2)",
+ "body": "random_fhash(${1:seed}, ${2:seed2})",
+ "scope": "source.vex",
+ "description": "Hashes floating point numbers to integers."
+ },
+ "frac: n": {
+ "prefix": "frac(n)",
+ "body": "frac(${1:n})",
+ "scope": "source.vex",
+ "description": "Returns the fractional component of the floating point number."
+ },
+ "frac: v": {
+ "prefix": "frac(v)",
+ "body": "frac(${1:v})",
+ "scope": "source.vex",
+ "description": "Returns the fractional component of the floating point number."
+ },
+ "cspline: t val1 ...": {
+ "prefix": "cspline(t, val1, ...)",
+ "body": "cspline(${1:t}, ${2:val1}, ${3:...})",
+ "scope": "source.vex",
+ "description": "Samples a Catmull-Rom (Cardinal) spline defined by uniformly spaced keys."
+ },
+ "rand: seed": {
+ "prefix": "rand(seed)",
+ "body": "rand(${1:seed})",
+ "scope": "source.vex",
+ "description": "Creates a random number between 0 and 1 from a seed."
+ },
+ "rand: seed seed2": {
+ "prefix": "rand(seed, seed2)",
+ "body": "rand(${1:seed}, ${2:seed2})",
+ "scope": "source.vex",
+ "description": "Creates a random number between 0 and 1 from a seed."
+ },
+ "ocio_import: space property value": {
+ "prefix": "ocio_import(space, property, value)",
+ "body": "ocio_import(${1:space}, ${2:property}, ${3:value})",
+ "scope": "source.vex",
+ "description": "Imports attributes from OpenColorIO spaces."
+ },
+ "pointname: ": {
+ "prefix": "pointname()",
+ "body": "pointname()",
+ "scope": "source.vex",
+ "description": "Returns the default name of the point plane (as it appears in the\ncompositor preferences)."
+ },
+ "chattr: attrname success": {
+ "prefix": "chattr(attrname, success)",
+ "body": "chattr(${1:attrname}, ${2:success})",
+ "scope": "source.vex",
+ "description": "Reads from a CHOP attribute."
+ },
+ "chattr: opinput attrname success": {
+ "prefix": "chattr(opinput, attrname, success)",
+ "body": "chattr(${1:opinput}, ${2:attrname}, ${3:success})",
+ "scope": "source.vex",
+ "description": "Reads from a CHOP attribute."
+ },
+ "chattr: attrname channel success": {
+ "prefix": "chattr(attrname, channel, success)",
+ "body": "chattr(${1:attrname}, ${2:channel}, ${3:success})",
+ "scope": "source.vex",
+ "description": "Reads from a CHOP attribute."
+ },
+ "chattr: opinput attrname channel success": {
+ "prefix": "chattr(opinput, attrname, channel, success)",
+ "body": "chattr(${1:opinput}, ${2:attrname}, ${3:channel}, ${4:success})",
+ "scope": "source.vex",
+ "description": "Reads from a CHOP attribute."
+ },
+ "chattr: attrname channel sample success": {
+ "prefix": "chattr(attrname, channel, sample, success)",
+ "body": "chattr(${1:attrname}, ${2:channel}, ${3:sample}, ${4:success})",
+ "scope": "source.vex",
+ "description": "Reads from a CHOP attribute."
+ },
+ "chattr: opinput attrname channel sample success": {
+ "prefix": "chattr(opinput, attrname, channel, sample, success)",
+ "body": "chattr(${1:opinput}, ${2:attrname}, ${3:channel}, ${4:sample}, ${5:success})",
+ "scope": "source.vex",
+ "description": "Reads from a CHOP attribute."
+ },
+ "chattr: attrclass attrname channel sample success": {
+ "prefix": "chattr(attrclass, attrname, channel, sample, success)",
+ "body": "chattr(${1:attrclass}, ${2:attrname}, ${3:channel}, ${4:sample}, ${5:success})",
+ "scope": "source.vex",
+ "description": "Reads from a CHOP attribute."
+ },
+ "chattr: opinput attribclass attrname channel sample success": {
+ "prefix": "chattr(opinput, attribclass, attrname, channel, sample, success)",
+ "body": "chattr(${1:opinput}, ${2:attribclass}, ${3:attrname}, ${4:channel}, ${5:sample}, ${6:success})",
+ "scope": "source.vex",
+ "description": "Reads from a CHOP attribute."
+ },
+ "tw_space: ": {
+ "prefix": "tw_space()",
+ "body": "tw_space()",
+ "scope": "source.vex",
+ "description": "Transforms a position value from Texture to World space."
+ },
+ "tw_space: v": {
+ "prefix": "tw_space(v)",
+ "body": "tw_space(${1:v})",
+ "scope": "source.vex",
+ "description": "Transforms a position value from Texture to World space."
+ },
+ "usd_pointinstancetransform: stage primpath index": {
+ "prefix": "usd_pointinstancetransform(stage, primpath, index)",
+ "body": "usd_pointinstancetransform(${1:stage}, ${2:primpath}, ${3:index})",
+ "scope": "source.vex",
+ "description": "Obtains the transform for the given point instance"
+ },
+ "usd_pointinstancetransform: stage primpath index timecode": {
+ "prefix": "usd_pointinstancetransform(stage, primpath, index, timecode)",
+ "body": "usd_pointinstancetransform(${1:stage}, ${2:primpath}, ${3:index}, ${4:timecode})",
+ "scope": "source.vex",
+ "description": "Obtains the transform for the given point instance"
+ },
+ "addvisualizer: geohandle op_url": {
+ "prefix": "addvisualizer(geohandle, op_url)",
+ "body": "addvisualizer(${1:geohandle}, ${2:op_url})",
+ "scope": "source.vex",
+ "description": "Appends to a geometry\u2019s visualizer detail attribute."
+ },
+ "hedge_dstvertex: geometry hedge": {
+ "prefix": "hedge_dstvertex(geometry, hedge)",
+ "body": "hedge_dstvertex(${1:geometry}, ${2:hedge})",
+ "scope": "source.vex",
+ "description": "Returns the destination vertex of a half-edge."
+ },
+ "usd_setmetadataelement: stagehandle path name index value": {
+ "prefix": "usd_setmetadataelement(stagehandle, path, name, index, value)",
+ "body": "usd_setmetadataelement(${1:stagehandle}, ${2:path}, ${3:name}, ${4:index}, ${5:value})",
+ "scope": "source.vex",
+ "description": "Sets the value of an element in an array metadata."
+ },
+ "sample_circle_ring_uniform: u alpha": {
+ "prefix": "sample_circle_ring_uniform(u, alpha)",
+ "body": "sample_circle_ring_uniform(${1:u}, ${2:alpha})",
+ "scope": "source.vex",
+ "description": "Generates a uniform vector2 with alpha < length < 1, where 0 < alpha < 1, given a vector2 of uniform numbers between 0 and 1."
+ },
+ "getbounces: b": {
+ "prefix": "getbounces(b)",
+ "body": "getbounces(${1:b})",
+ "scope": "source.vex",
+ "description": ""
+ },
+ "teximport: map attribute value": {
+ "prefix": "teximport(map, attribute, value)",
+ "body": "teximport(${1:map}, ${2:attribute}, ${3:value})",
+ "scope": "source.vex",
+ "description": "Imports attributes from texture files."
+ },
+ "teximport: map token values": {
+ "prefix": "teximport(map, token, values)",
+ "body": "teximport(${1:map}, ${2:token}, ${3:values})",
+ "scope": "source.vex",
+ "description": "Imports attributes from texture files."
+ },
+ "agentlayerbindings: geometry prim layername shapetype": {
+ "prefix": "agentlayerbindings(geometry, prim, layername, shapetype)",
+ "body": "agentlayerbindings(${1:geometry}, ${2:prim}, ${3:layername}, ${4:shapetype})",
+ "scope": "source.vex",
+ "description": "Returns the transform that each shape in an agent\u2019s layer is bound to."
+ },
+ "usd_makepropertypath: stage primpath name": {
+ "prefix": "usd_makepropertypath(stage, primpath, name)",
+ "body": "usd_makepropertypath(${1:stage}, ${2:primpath}, ${3:name})",
+ "scope": "source.vex",
+ "description": "Constructs an property path from a primitive path and an property name."
+ },
+ "findattribval: geometry attribclass attribute_name value which": {
+ "prefix": "findattribval(geometry, attribclass, attribute_name, value, which)",
+ "body": "findattribval(${1:geometry}, ${2:attribclass}, ${3:attribute_name}, ${4:value}, ${5:which})",
+ "scope": "source.vex",
+ "description": "Finds a primitive/point/vertex that has a certain attribute value."
+ },
+ "findattribval: geometry attribclass attribute_name value": {
+ "prefix": "findattribval(geometry, attribclass, attribute_name, value)",
+ "body": "findattribval(${1:geometry}, ${2:attribclass}, ${3:attribute_name}, ${4:value})",
+ "scope": "source.vex",
+ "description": "Finds a primitive/point/vertex that has a certain attribute value."
+ },
+ "dsmpixel: map channel x y values": {
+ "prefix": "dsmpixel(map, channel, x, y, values)",
+ "body": "dsmpixel(${1:map}, ${2:channel}, ${3:x}, ${4:y}, ${5:values})",
+ "scope": "source.vex",
+ "description": "Reads the z-records stored in a pixel of a deep shadow map\nor deep camera map."
+ },
+ "getsamplestore: channel P value": {
+ "prefix": "getsamplestore(channel, P, value)",
+ "body": "getsamplestore(${1:channel}, ${2:P}, ${3:value})",
+ "scope": "source.vex",
+ "description": "Looks up sample data in a channel, referenced by a point."
+ },
+ "newsampler: ...": {
+ "prefix": "newsampler(...)",
+ "body": "newsampler(${1:...})",
+ "scope": "source.vex",
+ "description": "Initializes a sampling sequence for the nextsample function."
+ },
+ "newsampler: seed ...": {
+ "prefix": "newsampler(seed, ...)",
+ "body": "newsampler(${1:seed}, ${2:...})",
+ "scope": "source.vex",
+ "description": "Initializes a sampling sequence for the nextsample function."
+ },
+ "ocio_transform: dest clr": {
+ "prefix": "ocio_transform(dest, clr)",
+ "body": "ocio_transform(${1:dest}, ${2:clr})",
+ "scope": "source.vex",
+ "description": "Transform colors using Open Color IO"
+ },
+ "ocio_transform: src dest clr": {
+ "prefix": "ocio_transform(src, dest, clr)",
+ "body": "ocio_transform(${1:src}, ${2:dest}, ${3:clr})",
+ "scope": "source.vex",
+ "description": "Transform colors using Open Color IO"
+ },
+ "ocio_transform: src dest looks clr": {
+ "prefix": "ocio_transform(src, dest, looks, clr)",
+ "body": "ocio_transform(${1:src}, ${2:dest}, ${3:looks}, ${4:clr})",
+ "scope": "source.vex",
+ "description": "Transform colors using Open Color IO"
+ },
+ "getptextureid: ": {
+ "prefix": "getptextureid()",
+ "body": "getptextureid()",
+ "scope": "source.vex",
+ "description": "Returns the ptexture face id for the current primitive."
+ },
+ "usd_istype: stage primpath type": {
+ "prefix": "usd_istype(stage, primpath, type)",
+ "body": "usd_istype(${1:stage}, ${2:primpath}, ${3:type})",
+ "scope": "source.vex",
+ "description": "Checks if the primitive is of a given type."
+ },
+ "setprimattrib: geohandle name prim_num value mode": {
+ "prefix": "setprimattrib(geohandle, name, prim_num, value, mode)",
+ "body": "setprimattrib(${1:geohandle}, ${2:name}, ${3:prim_num}, ${4:value}, ${5:mode})",
+ "scope": "source.vex",
+ "description": "Sets a primitive attribute in a geometry."
+ },
+ "hasattrib: geometry attribclass attribute_name": {
+ "prefix": "hasattrib(geometry, attribclass, attribute_name)",
+ "body": "hasattrib(${1:geometry}, ${2:attribclass}, ${3:attribute_name})",
+ "scope": "source.vex",
+ "description": "Checks whether a geometry attribute exists."
+ },
+ "usd_transformorder: stage primpath": {
+ "prefix": "usd_transformorder(stage, primpath)",
+ "body": "usd_transformorder(${1:stage}, ${2:primpath})",
+ "scope": "source.vex",
+ "description": "Obtains the primitive\u2019s transform order"
+ },
+ "solid_angle: b mask": {
+ "prefix": "solid_angle(b, mask)",
+ "body": "solid_angle(${1:b}, ${2:mask})",
+ "scope": "source.vex",
+ "description": "Computes the solid angle (in steradians) a BSDF function subtends."
+ },
+ "usd_attribtimesamples: stage primpath name": {
+ "prefix": "usd_attribtimesamples(stage, primpath, name)",
+ "body": "usd_attribtimesamples(${1:stage}, ${2:primpath}, ${3:name})",
+ "scope": "source.vex",
+ "description": "Returns the time codes at which the attribute values are authored."
+ },
+ "chrename: channel_index new_name": {
+ "prefix": "chrename(channel_index, new_name)",
+ "body": "chrename(${1:channel_index}, ${2:new_name})",
+ "scope": "source.vex",
+ "description": "Renames a CHOP channel."
+ },
+ "chrename: channel_name new_name": {
+ "prefix": "chrename(channel_name, new_name)",
+ "body": "chrename(${1:channel_name}, ${2:new_name})",
+ "scope": "source.vex",
+ "description": "Renames a CHOP channel."
+ },
+ "nametopoint: geometry name": {
+ "prefix": "nametopoint(geometry, name)",
+ "body": "nametopoint(${1:geometry}, ${2:name})",
+ "scope": "source.vex",
+ "description": "Finds a point by its name attribute."
+ },
+ "prim_normal: geometry prim_number uvw": {
+ "prefix": "prim_normal(geometry, prim_number, uvw)",
+ "body": "prim_normal(${1:geometry}, ${2:prim_number}, ${3:uvw})",
+ "scope": "source.vex",
+ "description": "Returns the normal of the primitive (prim_number) at parametric location u, v."
+ },
+ "prim_normal: geometry prim_number u v": {
+ "prefix": "prim_normal(geometry, prim_number, u, v)",
+ "body": "prim_normal(${1:geometry}, ${2:prim_number}, ${3:u}, ${4:v})",
+ "scope": "source.vex",
+ "description": "Returns the normal of the primitive (prim_number) at parametric location u, v."
+ },
+ "prim_normal: geometry prim_number u v w": {
+ "prefix": "prim_normal(geometry, prim_number, u, v, w)",
+ "body": "prim_normal(${1:geometry}, ${2:prim_number}, ${3:u}, ${4:v}, ${5:w})",
+ "scope": "source.vex",
+ "description": "Returns the normal of the primitive (prim_number) at parametric location u, v."
+ },
+ "setsamplestore: channel P value": {
+ "prefix": "setsamplestore(channel, P, value)",
+ "body": "setsamplestore(${1:channel}, ${2:P}, ${3:value})",
+ "scope": "source.vex",
+ "description": "Stores sample data in a channel, referenced by a point."
+ },
+ "atan: n": {
+ "prefix": "atan(n)",
+ "body": "atan(${1:n})",
+ "scope": "source.vex",
+ "description": "Returns the inverse tangent of the argument."
+ },
+ "atan: y x": {
+ "prefix": "atan(y, x)",
+ "body": "atan(${1:y}, ${2:x})",
+ "scope": "source.vex",
+ "description": "Returns the inverse tangent of the argument."
+ },
+ "atan: v": {
+ "prefix": "atan(v)",
+ "body": "atan(${1:v})",
+ "scope": "source.vex",
+ "description": "Returns the inverse tangent of the argument."
+ },
+ "usd_isstage: stage": {
+ "prefix": "usd_isstage(stage)",
+ "body": "usd_isstage(${1:stage})",
+ "scope": "source.vex",
+ "description": "Checks if the stage is valid."
+ },
+ "sampledisk: x y sx sy": {
+ "prefix": "sampledisk(x, y, sx, sy)",
+ "body": "sampledisk(${1:x}, ${2:y}, ${3:sx}, ${4:sy})",
+ "scope": "source.vex",
+ "description": "Warps uniform random samples to a disk."
+ },
+ "usd_ismetadata: stage path name": {
+ "prefix": "usd_ismetadata(stage, path, name)",
+ "body": "usd_ismetadata(${1:stage}, ${2:path}, ${3:name})",
+ "scope": "source.vex",
+ "description": "Checks if the primitive has metadata by the given name."
+ },
+ "getbbox_center: geometry": {
+ "prefix": "getbbox_center(geometry)",
+ "body": "getbbox_center(${1:geometry})",
+ "scope": "source.vex",
+ "description": "Returns the center of the bounding box for the geometry."
+ },
+ "getbbox_center: geometry primgroup": {
+ "prefix": "getbbox_center(geometry, primgroup)",
+ "body": "getbbox_center(${1:geometry}, ${2:primgroup})",
+ "scope": "source.vex",
+ "description": "Returns the center of the bounding box for the geometry."
+ },
+ "primpoint: geometry primnum vertex": {
+ "prefix": "primpoint(geometry, primnum, vertex)",
+ "body": "primpoint(${1:geometry}, ${2:primnum}, ${3:vertex})",
+ "scope": "source.vex",
+ "description": "Converts a primitive/vertex pair into a point number."
+ },
+ "flownoise: xyz flow": {
+ "prefix": "flownoise(xyz, flow)",
+ "body": "flownoise(${1:xyz}, ${2:flow})",
+ "scope": "source.vex",
+ "description": "Generates 1D and 3D Perlin Flow Noise from 3D and 4D data."
+ },
+ "flownoise: xyzt flow": {
+ "prefix": "flownoise(xyzt, flow)",
+ "body": "flownoise(${1:xyzt}, ${2:flow})",
+ "scope": "source.vex",
+ "description": "Generates 1D and 3D Perlin Flow Noise from 3D and 4D data."
+ },
+ "flownoise: x y flow": {
+ "prefix": "flownoise(x, y, flow)",
+ "body": "flownoise(${1:x}, ${2:y}, ${3:flow})",
+ "scope": "source.vex",
+ "description": "Generates 1D and 3D Perlin Flow Noise from 3D and 4D data."
+ },
+ "usd_variants: stage primpath variantset": {
+ "prefix": "usd_variants(stage, primpath, variantset)",
+ "body": "usd_variants(${1:stage}, ${2:primpath}, ${3:variantset})",
+ "scope": "source.vex",
+ "description": "Returns the variants belonging to the given variant set on a primitive."
+ },
+ "haslight: mat P light ...": {
+ "prefix": "haslight(mat, P, light, ...)",
+ "body": "haslight(${1:mat}, ${2:P}, ${3:light}, ${4:...})",
+ "scope": "source.vex",
+ "description": "Returns whether a light illuminates the given material."
+ },
+ "ctransform: fromspace tospace clr": {
+ "prefix": "ctransform(fromspace, tospace, clr)",
+ "body": "ctransform(${1:fromspace}, ${2:tospace}, ${3:clr})",
+ "scope": "source.vex",
+ "description": "Transforms between color spaces."
+ },
+ "ctransform: tospace clr": {
+ "prefix": "ctransform(tospace, clr)",
+ "body": "ctransform(${1:tospace}, ${2:clr})",
+ "scope": "source.vex",
+ "description": "Transforms between color spaces."
+ },
+ "primduv: geometry prim_number uv du dv": {
+ "prefix": "primduv(geometry, prim_number, uv, du, dv)",
+ "body": "primduv(${1:geometry}, ${2:prim_number}, ${3:uv}, ${4:du}, ${5:dv})",
+ "scope": "source.vex",
+ "description": "Returns position derivative on a primitive at a certain parametric (u, v) position."
+ },
+ "encodeparm: str": {
+ "prefix": "encodeparm(str)",
+ "body": "encodeparm(${1:str})",
+ "scope": "source.vex",
+ "description": "Encodes any string into a valid node parameter name."
+ },
+ "usd_relationshiptargets: stage primpath name": {
+ "prefix": "usd_relationshiptargets(stage, primpath, name)",
+ "body": "usd_relationshiptargets(${1:stage}, ${2:primpath}, ${3:name})",
+ "scope": "source.vex",
+ "description": "Obtains the relationship targets."
+ },
+ "mattrib: name P": {
+ "prefix": "mattrib(name, P)",
+ "body": "mattrib(${1:name}, ${2:P})",
+ "scope": "source.vex",
+ "description": "Returns the value of the point attribute for the metaballs if\nmetaball geometry is specified to i3dgen."
+ },
+ "agentcurrentlayer: geometry prim": {
+ "prefix": "agentcurrentlayer(geometry, prim)",
+ "body": "agentcurrentlayer(${1:geometry}, ${2:prim})",
+ "scope": "source.vex",
+ "description": "Returns the name of the current layer of an agent primitive."
+ },
+ "usd_typename: stage primpath": {
+ "prefix": "usd_typename(stage, primpath)",
+ "body": "usd_typename(${1:stage}, ${2:primpath})",
+ "scope": "source.vex",
+ "description": "Returns the name of the primitive\u2019s type."
+ },
+ "predicate_incircle: a b c d": {
+ "prefix": "predicate_incircle(a, b, c, d)",
+ "body": "predicate_incircle(${1:a}, ${2:b}, ${3:c}, ${4:d})",
+ "scope": "source.vex",
+ "description": "Determines if a point is inside or outside a triangle circumcircle."
+ },
+ "abs: n": {
+ "prefix": "abs(n)",
+ "body": "abs(${1:n})",
+ "scope": "source.vex",
+ "description": "Returns the absolute value of the argument."
+ },
+ "abs: v": {
+ "prefix": "abs(v)",
+ "body": "abs(${1:v})",
+ "scope": "source.vex",
+ "description": "Returns the absolute value of the argument."
+ },
+ "depthname: ": {
+ "prefix": "depthname()",
+ "body": "depthname()",
+ "scope": "source.vex",
+ "description": "Returns the default name of the depth plane (as it appears in the\ncompositor preferences)."
+ },
+ "rotate: m amount": {
+ "prefix": "rotate(m, amount)",
+ "body": "rotate(${1:m}, ${2:amount})",
+ "scope": "source.vex",
+ "description": "Applies a rotation to the given matrix."
+ },
+ "rotate: m amount axis": {
+ "prefix": "rotate(m, amount, axis)",
+ "body": "rotate(${1:m}, ${2:amount}, ${3:axis})",
+ "scope": "source.vex",
+ "description": "Applies a rotation to the given matrix."
+ },
+ "rotate: m angles xyz": {
+ "prefix": "rotate(m, angles, xyz)",
+ "body": "rotate(${1:m}, ${2:angles}, ${3:xyz})",
+ "scope": "source.vex",
+ "description": "Applies a rotation to the given matrix."
+ },
+ "rotate: m angle axis": {
+ "prefix": "rotate(m, angle, axis)",
+ "body": "rotate(${1:m}, ${2:angle}, ${3:axis})",
+ "scope": "source.vex",
+ "description": "Applies a rotation to the given matrix."
+ },
+ "usd_pointinstance_getbbox: stage primpath instance_index purpose min max": {
+ "prefix": "usd_pointinstance_getbbox(stage, primpath, instance_index, purpose, min, max)",
+ "body": "usd_pointinstance_getbbox(${1:stage}, ${2:primpath}, ${3:instance_index}, ${4:purpose}, ${5:min}, ${6:max})",
+ "scope": "source.vex",
+ "description": "Sets two vectors to the minimum and maximum corners of the bounding box for the given instance inside point instancer."
+ },
+ "sample_direction_uniform: u": {
+ "prefix": "sample_direction_uniform(u)",
+ "body": "sample_direction_uniform(${1:u})",
+ "scope": "source.vex",
+ "description": "Generates a uniform unit vector, given a vector2 of uniform numbers between 0 and 1."
+ },
+ "cone: normal dir angle ...": {
+ "prefix": "cone(normal, dir, angle, ...)",
+ "body": "cone(${1:normal}, ${2:dir}, ${3:angle}, ${4:...})",
+ "scope": "source.vex",
+ "description": "Returns a cone reflection BSDF."
+ },
+ "cone: dir angle ...": {
+ "prefix": "cone(dir, angle, ...)",
+ "body": "cone(${1:dir}, ${2:angle}, ${3:...})",
+ "scope": "source.vex",
+ "description": "Returns a cone reflection BSDF."
+ },
+ "flowpnoise: xyz p flow": {
+ "prefix": "flowpnoise(xyz, p, flow)",
+ "body": "flowpnoise(${1:xyz}, ${2:p}, ${3:flow})",
+ "scope": "source.vex",
+ "description": "There are two forms of Perlin-style noise: a non-periodic noise which\nchanges randomly throughout N-dimensional space, and a periodic form\nwhich repeats over a given range of space."
+ },
+ "flowpnoise: xyzt p flow": {
+ "prefix": "flowpnoise(xyzt, p, flow)",
+ "body": "flowpnoise(${1:xyzt}, ${2:p}, ${3:flow})",
+ "scope": "source.vex",
+ "description": "There are two forms of Perlin-style noise: a non-periodic noise which\nchanges randomly throughout N-dimensional space, and a periodic form\nwhich repeats over a given range of space."
+ },
+ "flowpnoise: x y px py flow": {
+ "prefix": "flowpnoise(x, y, px, py, flow)",
+ "body": "flowpnoise(${1:x}, ${2:y}, ${3:px}, ${4:py}, ${5:flow})",
+ "scope": "source.vex",
+ "description": "There are two forms of Perlin-style noise: a non-periodic noise which\nchanges randomly throughout N-dimensional space, and a periodic form\nwhich repeats over a given range of space."
+ },
+ "flowpnoise: xyz px py pz flow": {
+ "prefix": "flowpnoise(xyz, px, py, pz, flow)",
+ "body": "flowpnoise(${1:xyz}, ${2:px}, ${3:py}, ${4:pz}, ${5:flow})",
+ "scope": "source.vex",
+ "description": "There are two forms of Perlin-style noise: a non-periodic noise which\nchanges randomly throughout N-dimensional space, and a periodic form\nwhich repeats over a given range of space."
+ },
+ "flowpnoise: xyzt px py pz pt flow": {
+ "prefix": "flowpnoise(xyzt, px, py, pz, pt, flow)",
+ "body": "flowpnoise(${1:xyzt}, ${2:px}, ${3:py}, ${4:pz}, ${5:pt}, ${6:flow})",
+ "scope": "source.vex",
+ "description": "There are two forms of Perlin-style noise: a non-periodic noise which\nchanges randomly throughout N-dimensional space, and a periodic form\nwhich repeats over a given range of space."
+ },
+ "nuniqueval: geometry attribclass attribute_name": {
+ "prefix": "nuniqueval(geometry, attribclass, attribute_name)",
+ "body": "nuniqueval(${1:geometry}, ${2:attribclass}, ${3:attribute_name})",
+ "scope": "source.vex",
+ "description": "Returns the number of unique values from an integer or string attribute."
+ },
+ "attribdataid: geometry attribclass attribute_name": {
+ "prefix": "attribdataid(geometry, attribclass, attribute_name)",
+ "body": "attribdataid(${1:geometry}, ${2:attribclass}, ${3:attribute_name})",
+ "scope": "source.vex",
+ "description": "Returns the data id of a geometry attribute."
+ },
+ "setagentchannelvalues: geohandle prim values": {
+ "prefix": "setagentchannelvalues(geohandle, prim, values)",
+ "body": "setagentchannelvalues(${1:geohandle}, ${2:prim}, ${3:values})",
+ "scope": "source.vex",
+ "description": "Overrides the values of an agent primitive\u2019s channels."
+ },
+ "isdigit: str": {
+ "prefix": "isdigit(str)",
+ "body": "isdigit(${1:str})",
+ "scope": "source.vex",
+ "description": "Returns 1 if all the characters in the string are numeric"
+ },
+ "addpoint: geohandle point_number": {
+ "prefix": "addpoint(geohandle, point_number)",
+ "body": "addpoint(${1:geohandle}, ${2:point_number})",
+ "scope": "source.vex",
+ "description": "Adds a point to the geometry."
+ },
+ "addpoint: geohandle pos": {
+ "prefix": "addpoint(geohandle, pos)",
+ "body": "addpoint(${1:geohandle}, ${2:pos})",
+ "scope": "source.vex",
+ "description": "Adds a point to the geometry."
+ },
+ "usd_primvarsize: stage primpath name": {
+ "prefix": "usd_primvarsize(stage, primpath, name)",
+ "body": "usd_primvarsize(${1:stage}, ${2:primpath}, ${3:name})",
+ "scope": "source.vex",
+ "description": "Returns the tuple size of the primvar."
+ },
+ "array: ...": {
+ "prefix": "array(...)",
+ "body": "array(${1:...})",
+ "scope": "source.vex",
+ "description": "Efficiently creates an array from its arguments."
+ },
+ "hsvtorgb: hsv": {
+ "prefix": "hsvtorgb(hsv)",
+ "body": "hsvtorgb(${1:hsv})",
+ "scope": "source.vex",
+ "description": "Convert HSV color space into RGB color space."
+ },
+ "hsvtorgb: hue sat val": {
+ "prefix": "hsvtorgb(hue, sat, val)",
+ "body": "hsvtorgb(${1:hue}, ${2:sat}, ${3:val})",
+ "scope": "source.vex",
+ "description": "Convert HSV color space into RGB color space."
+ },
+ "distance: a b": {
+ "prefix": "distance(a, b)",
+ "body": "distance(${1:a}, ${2:b})",
+ "scope": "source.vex",
+ "description": "Returns the distance between two points."
+ },
+ "hasdetailattrib: geometry attribute_name": {
+ "prefix": "hasdetailattrib(geometry, attribute_name)",
+ "body": "hasdetailattrib(${1:geometry}, ${2:attribute_name})",
+ "scope": "source.vex",
+ "description": "Returns if a geometry detail attribute exists."
+ },
+ "hedge_primary: geometry hedge": {
+ "prefix": "hedge_primary(geometry, hedge)",
+ "body": "hedge_primary(${1:geometry}, ${2:hedge})",
+ "scope": "source.vex",
+ "description": "Returns the primary half-edge equivalent to a given half-edge."
+ },
+ "translate: m amount": {
+ "prefix": "translate(m, amount)",
+ "body": "translate(${1:m}, ${2:amount})",
+ "scope": "source.vex",
+ "description": "Translates a matrix by a vector."
+ },
+ "pcimport: handle channel_name value": {
+ "prefix": "pcimport(handle, channel_name, value)",
+ "body": "pcimport(${1:handle}, ${2:channel_name}, ${3:value})",
+ "scope": "source.vex",
+ "description": "Imports channel data from a point cloud inside a pciterate or a pcunshaded loop."
+ },
+ "agentclipstarttime: geometry prim clipname": {
+ "prefix": "agentclipstarttime(geometry, prim, clipname)",
+ "body": "agentclipstarttime(${1:geometry}, ${2:prim}, ${3:clipname})",
+ "scope": "source.vex",
+ "description": "Returns the start time (in seconds) of an agent\u2019s animation clip."
+ },
+ "volumeres: geometry primnum": {
+ "prefix": "volumeres(geometry, primnum)",
+ "body": "volumeres(${1:geometry}, ${2:primnum})",
+ "scope": "source.vex",
+ "description": "Gets the resolution of a volume primitive."
+ },
+ "volumeres: geometry volumename": {
+ "prefix": "volumeres(geometry, volumename)",
+ "body": "volumeres(${1:geometry}, ${2:volumename})",
+ "scope": "source.vex",
+ "description": "Gets the resolution of a volume primitive."
+ },
+ "intersect_lights: lightids pos dir time idx dist clr scale ...": {
+ "prefix": "intersect_lights(lightids, pos, dir, time, idx, dist, clr, scale, ...)",
+ "body": "intersect_lights(${1:lightids}, ${2:pos}, ${3:dir}, ${4:time}, ${5:idx}, ${6:dist}, ${7:clr}, ${8:scale}, ${9:...})",
+ "scope": "source.vex",
+ "description": "Finds the nearest intersection of a ray with any of a list of (area) lights and runs the light shader at the intersection point."
+ },
+ "sample_cdf: cdf uniform_rand": {
+ "prefix": "sample_cdf(cdf, uniform_rand)",
+ "body": "sample_cdf(${1:cdf}, ${2:uniform_rand})",
+ "scope": "source.vex",
+ "description": "Samples a CDF."
+ },
+ "sample_cdf: cdf uniform_rand index x": {
+ "prefix": "sample_cdf(cdf, uniform_rand, index, x)",
+ "body": "sample_cdf(${1:cdf}, ${2:uniform_rand}, ${3:index}, ${4:x})",
+ "scope": "source.vex",
+ "description": "Samples a CDF."
+ },
+ "sample_cdf: cdf uniform_rand index x pdf": {
+ "prefix": "sample_cdf(cdf, uniform_rand, index, x, pdf)",
+ "body": "sample_cdf(${1:cdf}, ${2:uniform_rand}, ${3:index}, ${4:x}, ${5:pdf})",
+ "scope": "source.vex",
+ "description": "Samples a CDF."
+ },
+ "usd_worldtransform: stage primpath": {
+ "prefix": "usd_worldtransform(stage, primpath)",
+ "body": "usd_worldtransform(${1:stage}, ${2:primpath})",
+ "scope": "source.vex",
+ "description": "Obtains the primitive\u2019s world transform"
+ },
+ "usd_worldtransform: stage primpath timecode": {
+ "prefix": "usd_worldtransform(stage, primpath, timecode)",
+ "body": "usd_worldtransform(${1:stage}, ${2:primpath}, ${3:timecode})",
+ "scope": "source.vex",
+ "description": "Obtains the primitive\u2019s world transform"
+ },
+ "cvex_bsdf: eval_cvex_shader sampler_cvex_shader ...": {
+ "prefix": "cvex_bsdf(eval_cvex_shader, sampler_cvex_shader, ...)",
+ "body": "cvex_bsdf(${1:eval_cvex_shader}, ${2:sampler_cvex_shader}, ${3:...})",
+ "scope": "source.vex",
+ "description": "Creates a bsdf object from two CVEX shader strings."
+ },
+ "quaternion: rotations": {
+ "prefix": "quaternion(rotations)",
+ "body": "quaternion(${1:rotations})",
+ "scope": "source.vex",
+ "description": "Creates a vector4 representing a quaternion."
+ },
+ "quaternion: angle axis": {
+ "prefix": "quaternion(angle, axis)",
+ "body": "quaternion(${1:angle}, ${2:axis})",
+ "scope": "source.vex",
+ "description": "Creates a vector4 representing a quaternion."
+ },
+ "quaternion: angleaxis": {
+ "prefix": "quaternion(angleaxis)",
+ "body": "quaternion(${1:angleaxis})",
+ "scope": "source.vex",
+ "description": "Creates a vector4 representing a quaternion."
+ },
+ "planesize: planeindex": {
+ "prefix": "planesize(planeindex)",
+ "body": "planesize(${1:planeindex})",
+ "scope": "source.vex",
+ "description": "Returns the number of components in the plane (1 for scalar planes\nand up to 4 for vector planes)."
+ },
+ "chramp: channel ramppos": {
+ "prefix": "chramp(channel, ramppos)",
+ "body": "chramp(${1:channel}, ${2:ramppos})",
+ "scope": "source.vex",
+ "description": "Evaluates a ramp parameter and return its value."
+ },
+ "chramp: channel ramppos time": {
+ "prefix": "chramp(channel, ramppos, time)",
+ "body": "chramp(${1:channel}, ${2:ramppos}, ${3:time})",
+ "scope": "source.vex",
+ "description": "Evaluates a ramp parameter and return its value."
+ },
+ "fuzzy_or: a b ...": {
+ "prefix": "fuzzy_or(a, b, ...)",
+ "body": "fuzzy_or(${1:a}, ${2:b}, ${3:...})",
+ "scope": "source.vex",
+ "description": ""
+ },
+ "fromNDC: v": {
+ "prefix": "fromNDC(v)",
+ "body": "fromNDC(${1:v})",
+ "scope": "source.vex",
+ "description": "Transforms a position from normal device coordinates to the\ncoordinates in the appropriate space."
+ },
+ "fromNDC: space v": {
+ "prefix": "fromNDC(space, v)",
+ "body": "fromNDC(${1:space}, ${2:v})",
+ "scope": "source.vex",
+ "description": "Transforms a position from normal device coordinates to the\ncoordinates in the appropriate space."
+ },
+ "nprimitivesgroup: geometry groupname": {
+ "prefix": "nprimitivesgroup(geometry, groupname)",
+ "body": "nprimitivesgroup(${1:geometry}, ${2:groupname})",
+ "scope": "source.vex",
+ "description": "Returns the number of primitives in the group."
+ },
+ "isuvrendering: ": {
+ "prefix": "isuvrendering()",
+ "body": "isuvrendering()",
+ "scope": "source.vex",
+ "description": "Indicates whether the shader is being evaluated while doing UV rendering (e.g. texture unwrapping)"
+ },
+ "agentcliplength: geometry prim clipname": {
+ "prefix": "agentcliplength(geometry, prim, clipname)",
+ "body": "agentcliplength(${1:geometry}, ${2:prim}, ${3:clipname})",
+ "scope": "source.vex",
+ "description": "Returns the length (in seconds) of an agent\u2019s animation clip."
+ },
+ "osd_limitsurfacevertex: geometry attrib_name face_id u v result": {
+ "prefix": "osd_limitsurfacevertex(geometry, attrib_name, face_id, u, v, result)",
+ "body": "osd_limitsurfacevertex(${1:geometry}, ${2:attrib_name}, ${3:face_id}, ${4:u}, ${5:v}, ${6:result})",
+ "scope": "source.vex",
+ "description": "Evaluates a vertex attribute at the subdivision limit surface using Open Subdiv."
+ },
+ "fuzzy_and: a b ...": {
+ "prefix": "fuzzy_and(a, b, ...)",
+ "body": "fuzzy_and(${1:a}, ${2:b}, ${3:...})",
+ "scope": "source.vex",
+ "description": ""
+ },
+ "chrate: ": {
+ "prefix": "chrate()",
+ "body": "chrate()",
+ "scope": "source.vex",
+ "description": "Returns the sample rate of the input specified."
+ },
+ "chrate: opinput": {
+ "prefix": "chrate(opinput)",
+ "body": "chrate(${1:opinput})",
+ "scope": "source.vex",
+ "description": "Returns the sample rate of the input specified."
+ },
+ "snoise: pos": {
+ "prefix": "snoise(pos)",
+ "body": "snoise(${1:pos})",
+ "scope": "source.vex",
+ "description": "These functions are similar to wnoise."
+ },
+ "snoise: pos turbulence rough atten": {
+ "prefix": "snoise(pos, turbulence, rough, atten)",
+ "body": "snoise(${1:pos}, ${2:turbulence}, ${3:rough}, ${4:atten})",
+ "scope": "source.vex",
+ "description": "These functions are similar to wnoise."
+ },
+ "snoise: pos periodX periodY periodZ": {
+ "prefix": "snoise(pos, periodX, periodY, periodZ)",
+ "body": "snoise(${1:pos}, ${2:periodX}, ${3:periodY}, ${4:periodZ})",
+ "scope": "source.vex",
+ "description": "These functions are similar to wnoise."
+ },
+ "snoise: pos periodX periodY periodZ turbulence rough atten": {
+ "prefix": "snoise(pos, periodX, periodY, periodZ, turbulence, rough, atten)",
+ "body": "snoise(${1:pos}, ${2:periodX}, ${3:periodY}, ${4:periodZ}, ${5:turbulence}, ${6:rough}, ${7:atten})",
+ "scope": "source.vex",
+ "description": "These functions are similar to wnoise."
+ },
+ "re_match: regex input": {
+ "prefix": "re_match(regex, input)",
+ "body": "re_match(${1:regex}, ${2:input})",
+ "scope": "source.vex",
+ "description": "Returns 1 if the entire input string matches the expression"
+ },
+ "sssapprox: albedo meanFreePath roughness scale ...": {
+ "prefix": "sssapprox(albedo, meanFreePath, roughness, scale, ...)",
+ "body": "sssapprox(${1:albedo}, ${2:meanFreePath}, ${3:roughness}, ${4:scale}, ${5:...})",
+ "scope": "source.vex",
+ "description": "Creates an approximate SSS BSDF."
+ },
+ "usd_clearmetadata: stagehandle path name": {
+ "prefix": "usd_clearmetadata(stagehandle, path, name)",
+ "body": "usd_clearmetadata(${1:stagehandle}, ${2:path}, ${3:name})",
+ "scope": "source.vex",
+ "description": "Clears the value of the metadata."
+ },
+ "hscript_sturb: pos turbulence": {
+ "prefix": "hscript_sturb(pos, turbulence)",
+ "body": "hscript_sturb(${1:pos}, ${2:turbulence})",
+ "scope": "source.vex",
+ "description": ""
+ },
+ "clip: result p0 p1 plane": {
+ "prefix": "clip(result, p0, p1, plane)",
+ "body": "clip(${1:result}, ${2:p0}, ${3:p1}, ${4:plane})",
+ "scope": "source.vex",
+ "description": "Clip the line segment between p0 and p1."
+ },
+ "clip: result p0 p1 min max": {
+ "prefix": "clip(result, p0, p1, min, max)",
+ "body": "clip(${1:result}, ${2:p0}, ${3:p1}, ${4:min}, ${5:max})",
+ "scope": "source.vex",
+ "description": "Clip the line segment between p0 and p1."
+ },
+ "split_bsdf: lobes source weights": {
+ "prefix": "split_bsdf(lobes, source, weights)",
+ "body": "split_bsdf(${1:lobes}, ${2:source}, ${3:weights})",
+ "scope": "source.vex",
+ "description": "Splits a bsdf into its component lobes."
+ },
+ "split_bsdf: lobes source weights mask": {
+ "prefix": "split_bsdf(lobes, source, weights, mask)",
+ "body": "split_bsdf(${1:lobes}, ${2:source}, ${3:weights}, ${4:mask})",
+ "scope": "source.vex",
+ "description": "Splits a bsdf into its component lobes."
+ },
+ "split_bsdf: lobes source weights mask type": {
+ "prefix": "split_bsdf(lobes, source, weights, mask, type)",
+ "body": "split_bsdf(${1:lobes}, ${2:source}, ${3:weights}, ${4:mask}, ${5:type})",
+ "scope": "source.vex",
+ "description": "Splits a bsdf into its component lobes."
+ },
+ "split_bsdf: lobes source weights mask type u": {
+ "prefix": "split_bsdf(lobes, source, weights, mask, type, u)",
+ "body": "split_bsdf(${1:lobes}, ${2:source}, ${3:weights}, ${4:mask}, ${5:type}, ${6:u})",
+ "scope": "source.vex",
+ "description": "Splits a bsdf into its component lobes."
+ },
+ "split_bsdf: lobes source weights mask type u cdf": {
+ "prefix": "split_bsdf(lobes, source, weights, mask, type, u, cdf)",
+ "body": "split_bsdf(${1:lobes}, ${2:source}, ${3:weights}, ${4:mask}, ${5:type}, ${6:u}, ${7:cdf})",
+ "scope": "source.vex",
+ "description": "Splits a bsdf into its component lobes."
+ },
+ "ashikhmin: exponentx exponenty framex framey ...": {
+ "prefix": "ashikhmin(exponentx, exponenty, framex, framey, ...)",
+ "body": "ashikhmin(${1:exponentx}, ${2:exponenty}, ${3:framex}, ${4:framey}, ${5:...})",
+ "scope": "source.vex",
+ "description": "Returns a specular BSDF using the Ashikhmin shading model."
+ },
+ "ashikhmin: nml exponentx exponenty framex framey ...": {
+ "prefix": "ashikhmin(nml, exponentx, exponenty, framex, framey, ...)",
+ "body": "ashikhmin(${1:nml}, ${2:exponentx}, ${3:exponenty}, ${4:framex}, ${5:framey}, ${6:...})",
+ "scope": "source.vex",
+ "description": "Returns a specular BSDF using the Ashikhmin shading model."
+ },
+ "getraylevel: ": {
+ "prefix": "getraylevel()",
+ "body": "getraylevel()",
+ "scope": "source.vex",
+ "description": "Returns the depth of the ray tree for the current shading."
+ },
+ "usd_isprim: stage primpath": {
+ "prefix": "usd_isprim(stage, primpath)",
+ "body": "usd_isprim(${1:stage}, ${2:primpath})",
+ "scope": "source.vex",
+ "description": "Checks if the path refers to a valid primitive."
+ },
+ "sin: n": {
+ "prefix": "sin(n)",
+ "body": "sin(${1:n})",
+ "scope": "source.vex",
+ "description": "Returns the sine of the argument."
+ },
+ "cos: n": {
+ "prefix": "cos(n)",
+ "body": "cos(${1:n})",
+ "scope": "source.vex",
+ "description": "Returns the cosine of the argument."
+ },
+ "metadata: opinput name": {
+ "prefix": "metadata(opinput, name)",
+ "body": "metadata(${1:opinput}, ${2:name})",
+ "scope": "source.vex",
+ "description": "Returns a metadata value from a composite operator."
+ },
+ "metadata: opinput name index": {
+ "prefix": "metadata(opinput, name, index)",
+ "body": "metadata(${1:opinput}, ${2:name}, ${3:index})",
+ "scope": "source.vex",
+ "description": "Returns a metadata value from a composite operator."
+ },
+ "hedge_postdstvertex: geometry hedge": {
+ "prefix": "hedge_postdstvertex(geometry, hedge)",
+ "body": "hedge_postdstvertex(${1:geometry}, ${2:hedge})",
+ "scope": "source.vex",
+ "description": "Returns the vertex following the destination vertex of a half-edge in its primitive."
+ },
+ "iendtime: opinput": {
+ "prefix": "iendtime(opinput)",
+ "body": "iendtime(${1:opinput})",
+ "scope": "source.vex",
+ "description": "Returns the end time of the specified input."
+ },
+ "re_find: regex input": {
+ "prefix": "re_find(regex, input)",
+ "body": "re_find(${1:regex}, ${2:input})",
+ "scope": "source.vex",
+ "description": "Matches a regular expression in a string"
+ },
+ "re_find: regex input start": {
+ "prefix": "re_find(regex, input, start)",
+ "body": "re_find(${1:regex}, ${2:input}, ${3:start})",
+ "scope": "source.vex",
+ "description": "Matches a regular expression in a string"
+ },
+ "re_find: regex input start end": {
+ "prefix": "re_find(regex, input, start, end)",
+ "body": "re_find(${1:regex}, ${2:input}, ${3:start}, ${4:end})",
+ "scope": "source.vex",
+ "description": "Matches a regular expression in a string"
+ },
+ "re_find: start_pos end_pos regex input": {
+ "prefix": "re_find(start_pos, end_pos, regex, input)",
+ "body": "re_find(${1:start_pos}, ${2:end_pos}, ${3:regex}, ${4:input})",
+ "scope": "source.vex",
+ "description": "Matches a regular expression in a string"
+ },
+ "re_find: start_pos end_pos regex input start": {
+ "prefix": "re_find(start_pos, end_pos, regex, input, start)",
+ "body": "re_find(${1:start_pos}, ${2:end_pos}, ${3:regex}, ${4:input}, ${5:start})",
+ "scope": "source.vex",
+ "description": "Matches a regular expression in a string"
+ },
+ "re_find: start_pos end_pos regex input start end": {
+ "prefix": "re_find(start_pos, end_pos, regex, input, start, end)",
+ "body": "re_find(${1:start_pos}, ${2:end_pos}, ${3:regex}, ${4:input}, ${5:start}, ${6:end})",
+ "scope": "source.vex",
+ "description": "Matches a regular expression in a string"
+ },
+ "reflectlight: bias max_contrib ...": {
+ "prefix": "reflectlight(bias, max_contrib, ...)",
+ "body": "reflectlight(${1:bias}, ${2:max_contrib}, ${3:...})",
+ "scope": "source.vex",
+ "description": "Computes the amount of reflected light which hits the surface."
+ },
+ "reflectlight: P D bias max_contrib ...": {
+ "prefix": "reflectlight(P, D, bias, max_contrib, ...)",
+ "body": "reflectlight(${1:P}, ${2:D}, ${3:bias}, ${4:max_contrib}, ${5:...})",
+ "scope": "source.vex",
+ "description": "Computes the amount of reflected light which hits the surface."
+ },
+ "reflectlight: P N I bias max_contrib ...": {
+ "prefix": "reflectlight(P, N, I, bias, max_contrib, ...)",
+ "body": "reflectlight(${1:P}, ${2:N}, ${3:I}, ${4:bias}, ${5:max_contrib}, ${6:...})",
+ "scope": "source.vex",
+ "description": "Computes the amount of reflected light which hits the surface."
+ },
+ "agenttransformgroups: geometry prim": {
+ "prefix": "agenttransformgroups(geometry, prim)",
+ "body": "agenttransformgroups(${1:geometry}, ${2:prim})",
+ "scope": "source.vex",
+ "description": "Returns the names of the transform groups in an agent\u2019s definition."
+ },
+ "curlxnoise: xyz": {
+ "prefix": "curlxnoise(xyz)",
+ "body": "curlxnoise(${1:xyz})",
+ "scope": "source.vex",
+ "description": "Computes divergence free noise based on Simplex noise."
+ },
+ "curlxnoise: xyzt": {
+ "prefix": "curlxnoise(xyzt)",
+ "body": "curlxnoise(${1:xyzt})",
+ "scope": "source.vex",
+ "description": "Computes divergence free noise based on Simplex noise."
+ },
+ "getpointbbox_min: geometry": {
+ "prefix": "getpointbbox_min(geometry)",
+ "body": "getpointbbox_min(${1:geometry})",
+ "scope": "source.vex",
+ "description": "Returns the minimum of the bounding box for the geometry."
+ },
+ "getpointbbox_min: geometry pointgroup": {
+ "prefix": "getpointbbox_min(geometry, pointgroup)",
+ "body": "getpointbbox_min(${1:geometry}, ${2:pointgroup})",
+ "scope": "source.vex",
+ "description": "Returns the minimum of the bounding box for the geometry."
+ },
+ "usd_addrotate: stagehandle primpath suffix axis angle": {
+ "prefix": "usd_addrotate(stagehandle, primpath, suffix, axis, angle)",
+ "body": "usd_addrotate(${1:stagehandle}, ${2:primpath}, ${3:suffix}, ${4:axis}, ${5:angle})",
+ "scope": "source.vex",
+ "description": "Applies a rotation to the primitive"
+ },
+ "usd_addrotate: stagehandle primpath suffix xyz angles": {
+ "prefix": "usd_addrotate(stagehandle, primpath, suffix, xyz, angles)",
+ "body": "usd_addrotate(${1:stagehandle}, ${2:primpath}, ${3:suffix}, ${4:xyz}, ${5:angles})",
+ "scope": "source.vex",
+ "description": "Applies a rotation to the primitive"
+ },
+ "cbrt: n": {
+ "prefix": "cbrt(n)",
+ "body": "cbrt(${1:n})",
+ "scope": "source.vex",
+ "description": "Returns the cube root of the argument."
+ },
+ "cbrt: v": {
+ "prefix": "cbrt(v)",
+ "body": "cbrt(${1:v})",
+ "scope": "source.vex",
+ "description": "Returns the cube root of the argument."
+ },
+ "pcconvex: handle channel N": {
+ "prefix": "pcconvex(handle, channel, N)",
+ "body": "pcconvex(${1:handle}, ${2:channel}, ${3:N})",
+ "scope": "source.vex",
+ "description": ""
+ },
+ "usd_iskind: stage primpath kind": {
+ "prefix": "usd_iskind(stage, primpath, kind)",
+ "body": "usd_iskind(${1:stage}, ${2:primpath}, ${3:kind})",
+ "scope": "source.vex",
+ "description": "Checks if the primitive is of a given kind."
+ },
+ "removeindex: array index": {
+ "prefix": "removeindex(array, index)",
+ "body": "removeindex(${1:array}, ${2:index})",
+ "scope": "source.vex",
+ "description": "Removes an item at the given index from an array."
+ },
+ "ocio_spaces: ": {
+ "prefix": "ocio_spaces()",
+ "body": "ocio_spaces()",
+ "scope": "source.vex",
+ "description": "Returns the names of color spaces supported in Open Color IO."
+ },
+ "removevertex: geohandle linear_vertex_index": {
+ "prefix": "removevertex(geohandle, linear_vertex_index)",
+ "body": "removevertex(${1:geohandle}, ${2:linear_vertex_index})",
+ "scope": "source.vex",
+ "description": "Removes a vertex from the geometry."
+ },
+ "ixres: opinput": {
+ "prefix": "ixres(opinput)",
+ "body": "ixres(${1:opinput})",
+ "scope": "source.vex",
+ "description": "Returns the X resolution of the specified input."
+ },
+ "agentrigfind: geometry prim transformname": {
+ "prefix": "agentrigfind(geometry, prim, transformname)",
+ "body": "agentrigfind(${1:geometry}, ${2:prim}, ${3:transformname})",
+ "scope": "source.vex",
+ "description": "Finds the index of a transform in an agent primitive\u2019s rig."
+ },
+ "decode: str": {
+ "prefix": "decode(str)",
+ "body": "decode(${1:str})",
+ "scope": "source.vex",
+ "description": "Decodes a variable name that was previously encoded."
+ },
+ "strlen: string": {
+ "prefix": "strlen(string)",
+ "body": "strlen(${1:string})",
+ "scope": "source.vex",
+ "description": "Returns the length of the string."
+ },
+ "isconnected: opinput": {
+ "prefix": "isconnected(opinput)",
+ "body": "isconnected(${1:opinput})",
+ "scope": "source.vex",
+ "description": "Returns 1 if input_number is connected, or 0 if the input is not connected."
+ },
+ "volumeindexorigin: geometry primnum": {
+ "prefix": "volumeindexorigin(geometry, primnum)",
+ "body": "volumeindexorigin(${1:geometry}, ${2:primnum})",
+ "scope": "source.vex",
+ "description": "Gets the index of the bottom left of a volume primitive."
+ },
+ "volumeindexorigin: geometry volumename": {
+ "prefix": "volumeindexorigin(geometry, volumename)",
+ "body": "volumeindexorigin(${1:geometry}, ${2:volumename})",
+ "scope": "source.vex",
+ "description": "Gets the index of the bottom left of a volume primitive."
+ },
+ "getspace: fromspace tospace": {
+ "prefix": "getspace(fromspace, tospace)",
+ "body": "getspace(${1:fromspace}, ${2:tospace})",
+ "scope": "source.vex",
+ "description": "Returns a transform from one space to another."
+ },
+ "upush: array value": {
+ "prefix": "upush(array, value)",
+ "body": "upush(${1:array}, ${2:value})",
+ "scope": "source.vex",
+ "description": "Adds a uniform item to an array."
+ },
+ "hedge_presrcvertex: geometry hedge": {
+ "prefix": "hedge_presrcvertex(geometry, hedge)",
+ "body": "hedge_presrcvertex(${1:geometry}, ${2:hedge})",
+ "scope": "source.vex",
+ "description": "Returns the vertex that precedes the source vertex of a half-edge in its primitive."
+ },
+ "irate: opinput": {
+ "prefix": "irate(opinput)",
+ "body": "irate(${1:opinput})",
+ "scope": "source.vex",
+ "description": "Returns the frame rate of the specified input."
+ },
+ "wt_space: ": {
+ "prefix": "wt_space()",
+ "body": "wt_space()",
+ "scope": "source.vex",
+ "description": "Transforms a position value from World to Texture space."
+ },
+ "wt_space: v": {
+ "prefix": "wt_space(v)",
+ "body": "wt_space(${1:v})",
+ "scope": "source.vex",
+ "description": "Transforms a position value from World to Texture space."
+ },
+ "solvecubic: a b c d t1 t2 t3": {
+ "prefix": "solvecubic(a, b, c, d, t1, t2, t3)",
+ "body": "solvecubic(${1:a}, ${2:b}, ${3:c}, ${4:d}, ${5:t1}, ${6:t2}, ${7:t3})",
+ "scope": "source.vex",
+ "description": "Solves a cubic function returning the number of real roots."
+ },
+ "sample_geometry: origin sample time ...": {
+ "prefix": "sample_geometry(origin, sample, time, ...)",
+ "body": "sample_geometry(${1:origin}, ${2:sample}, ${3:time}, ${4:...})",
+ "scope": "source.vex",
+ "description": "Samples geometry in the scene and returns information from the shaders of surfaces that were sampled."
+ },
+ "hasmetadata: opinput name": {
+ "prefix": "hasmetadata(opinput, name)",
+ "body": "hasmetadata(${1:opinput}, ${2:name})",
+ "scope": "source.vex",
+ "description": "Queries if metadata exists on a composite operator."
+ },
+ "setagentchannelvalue: geohandle prim value channel": {
+ "prefix": "setagentchannelvalue(geohandle, prim, value, channel)",
+ "body": "setagentchannelvalue(${1:geohandle}, ${2:prim}, ${3:value}, ${4:channel})",
+ "scope": "source.vex",
+ "description": "Overrides the value of an agent primitive\u2019s channel."
+ },
+ "usd_primvarindices: stage primpath name": {
+ "prefix": "usd_primvarindices(stage, primpath, name)",
+ "body": "usd_primvarindices(${1:stage}, ${2:primpath}, ${3:name})",
+ "scope": "source.vex",
+ "description": "Returns the index array of an indexed primvar."
+ },
+ "usd_primvarindices: stage primpath name timecode": {
+ "prefix": "usd_primvarindices(stage, primpath, name, timecode)",
+ "body": "usd_primvarindices(${1:stage}, ${2:primpath}, ${3:name}, ${4:timecode})",
+ "scope": "source.vex",
+ "description": "Returns the index array of an indexed primvar."
+ },
+ "usd_relbbox: stage primpath purpose position": {
+ "prefix": "usd_relbbox(stage, primpath, purpose, position)",
+ "body": "usd_relbbox(${1:stage}, ${2:primpath}, ${3:purpose}, ${4:position})",
+ "scope": "source.vex",
+ "description": "Returns the relative position of the point given with respect to the bounding box of the geometry."
+ },
+ "isframes: ": {
+ "prefix": "isframes()",
+ "body": "isframes()",
+ "scope": "source.vex",
+ "description": "Returns 1 if the Vex CHOP\u2019s Unit Menu is currently set to 'frames', 0\notherwise."
+ },
+ "ocio_roles: ": {
+ "prefix": "ocio_roles()",
+ "body": "ocio_roles()",
+ "scope": "source.vex",
+ "description": "Returns the names of roles supported in Open Color IO"
+ },
+ "alphaname: ": {
+ "prefix": "alphaname()",
+ "body": "alphaname()",
+ "scope": "source.vex",
+ "description": "Returns the default name of the alpha plane (as it appears in the\ncompositor preferences)."
+ },
+ "xnoise: x": {
+ "prefix": "xnoise(x)",
+ "body": "xnoise(${1:x})",
+ "scope": "source.vex",
+ "description": "Simplex noise is very close to Perlin noise, except with the samples on a simplex mesh rather than a grid. This results in less grid artifacts. It also uses a higher order bspline to provide better derivatives."
+ },
+ "xnoise: x y": {
+ "prefix": "xnoise(x, y)",
+ "body": "xnoise(${1:x}, ${2:y})",
+ "scope": "source.vex",
+ "description": "Simplex noise is very close to Perlin noise, except with the samples on a simplex mesh rather than a grid. This results in less grid artifacts. It also uses a higher order bspline to provide better derivatives."
+ },
+ "xnoise: xyz": {
+ "prefix": "xnoise(xyz)",
+ "body": "xnoise(${1:xyz})",
+ "scope": "source.vex",
+ "description": "Simplex noise is very close to Perlin noise, except with the samples on a simplex mesh rather than a grid. This results in less grid artifacts. It also uses a higher order bspline to provide better derivatives."
+ },
+ "xnoise: xyzt": {
+ "prefix": "xnoise(xyzt)",
+ "body": "xnoise(${1:xyzt})",
+ "scope": "source.vex",
+ "description": "Simplex noise is very close to Perlin noise, except with the samples on a simplex mesh rather than a grid. This results in less grid artifacts. It also uses a higher order bspline to provide better derivatives."
+ },
+ "cracktransform: trs xyz c pivot pivot_rotate xform": {
+ "prefix": "cracktransform(trs, xyz, c, pivot, pivot_rotate, xform)",
+ "body": "cracktransform(${1:trs}, ${2:xyz}, ${3:c}, ${4:pivot}, ${5:pivot_rotate}, ${6:xform})",
+ "scope": "source.vex",
+ "description": "Depending on the value of c, returns the translate (c=0), rotate\n(c=1), scale (c=2), or shears (c=3) component of the transform (xform)."
+ },
+ "cracktransform: trs xyz c pivot xform": {
+ "prefix": "cracktransform(trs, xyz, c, pivot, xform)",
+ "body": "cracktransform(${1:trs}, ${2:xyz}, ${3:c}, ${4:pivot}, ${5:xform})",
+ "scope": "source.vex",
+ "description": "Depending on the value of c, returns the translate (c=0), rotate\n(c=1), scale (c=2), or shears (c=3) component of the transform (xform)."
+ },
+ "cracktransform: trs xyz pivot pivot_rotate xform t r s shears": {
+ "prefix": "cracktransform(trs, xyz, pivot, pivot_rotate, xform, t, r, s, shears)",
+ "body": "cracktransform(${1:trs}, ${2:xyz}, ${3:pivot}, ${4:pivot_rotate}, ${5:xform}, ${6:t}, ${7:r}, ${8:s}, ${9:shears})",
+ "scope": "source.vex",
+ "description": "Depending on the value of c, returns the translate (c=0), rotate\n(c=1), scale (c=2), or shears (c=3) component of the transform (xform)."
+ },
+ "cracktransform: trs xyz pivot xform t r s": {
+ "prefix": "cracktransform(trs, xyz, pivot, xform, t, r, s)",
+ "body": "cracktransform(${1:trs}, ${2:xyz}, ${3:pivot}, ${4:xform}, ${5:t}, ${6:r}, ${7:s})",
+ "scope": "source.vex",
+ "description": "Depending on the value of c, returns the translate (c=0), rotate\n(c=1), scale (c=2), or shears (c=3) component of the transform (xform)."
+ },
+ "qdistance: q1 q2": {
+ "prefix": "qdistance(q1, q2)",
+ "body": "qdistance(${1:q1}, ${2:q2})",
+ "scope": "source.vex",
+ "description": "Finds distance between two quaternions."
+ },
+ "pcsegment_radius: geometry PChannel RadChannel radscale P0 P1 max_distance maxpoints": {
+ "prefix": "pcsegment_radius(geometry, PChannel, RadChannel, radscale, P0, P1, max_distance, maxpoints)",
+ "body": "pcsegment_radius(${1:geometry}, ${2:PChannel}, ${3:RadChannel}, ${4:radscale}, ${5:P0}, ${6:P1}, ${7:max_distance}, ${8:maxpoints})",
+ "scope": "source.vex",
+ "description": "Returns a list of closest points to a line segment from a specified file"
+ },
+ "pcsegment_radius: geometry ptgroup PChannel RadChannel radscale P0 P1 max_distance maxpoints": {
+ "prefix": "pcsegment_radius(geometry, ptgroup, PChannel, RadChannel, radscale, P0, P1, max_distance, maxpoints)",
+ "body": "pcsegment_radius(${1:geometry}, ${2:ptgroup}, ${3:PChannel}, ${4:RadChannel}, ${5:radscale}, ${6:P0}, ${7:P1}, ${8:max_distance}, ${9:maxpoints})",
+ "scope": "source.vex",
+ "description": "Returns a list of closest points to a line segment from a specified file"
+ },
+ "pcsegment_radius: geometry PChannel RadChannel radscale P0 P1 max_distance maxpoints distances": {
+ "prefix": "pcsegment_radius(geometry, PChannel, RadChannel, radscale, P0, P1, max_distance, maxpoints, distances)",
+ "body": "pcsegment_radius(${1:geometry}, ${2:PChannel}, ${3:RadChannel}, ${4:radscale}, ${5:P0}, ${6:P1}, ${7:max_distance}, ${8:maxpoints}, ${9:distances})",
+ "scope": "source.vex",
+ "description": "Returns a list of closest points to a line segment from a specified file"
+ },
+ "pcsegment_radius: geometry ptgroup PChannel RadChannel radscale P0 P1 max_distance maxpoints distances": {
+ "prefix": "pcsegment_radius(geometry, ptgroup, PChannel, RadChannel, radscale, P0, P1, max_distance, maxpoints, distances)",
+ "body": "pcsegment_radius(${1:geometry}, ${2:ptgroup}, ${3:PChannel}, ${4:RadChannel}, ${5:radscale}, ${6:P0}, ${7:P1}, ${8:max_distance}, ${9:maxpoints}, ${10:distances})",
+ "scope": "source.vex",
+ "description": "Returns a list of closest points to a line segment from a specified file"
+ },
+ "qconvert: quaternion": {
+ "prefix": "qconvert(quaternion)",
+ "body": "qconvert(${1:quaternion})",
+ "scope": "source.vex",
+ "description": "Converts a quaternion represented by a vector4 to a matrix3 representation."
+ },
+ "qconvert: quaternion offset": {
+ "prefix": "qconvert(quaternion, offset)",
+ "body": "qconvert(${1:quaternion}, ${2:offset})",
+ "scope": "source.vex",
+ "description": "Converts a quaternion represented by a vector4 to a matrix3 representation."
+ },
+ "usd_metadatalen: stage path name": {
+ "prefix": "usd_metadatalen(stage, path, name)",
+ "body": "usd_metadatalen(${1:stage}, ${2:path}, ${3:name})",
+ "scope": "source.vex",
+ "description": "Returns the length of the array metadata."
+ },
+ "chattrnames: opinput attribclass": {
+ "prefix": "chattrnames(opinput, attribclass)",
+ "body": "chattrnames(${1:opinput}, ${2:attribclass})",
+ "scope": "source.vex",
+ "description": "Reads CHOP attribute names of a given attribute class from a CHOP input."
+ },
+ "chattrnames: attrclass": {
+ "prefix": "chattrnames(attrclass)",
+ "body": "chattrnames(${1:attrclass})",
+ "scope": "source.vex",
+ "description": "Reads CHOP attribute names of a given attribute class from a CHOP input."
+ },
+ "sign: n": {
+ "prefix": "sign(n)",
+ "body": "sign(${1:n})",
+ "scope": "source.vex",
+ "description": "Returns -1, 0, or 1 depending on the sign of the argument."
+ },
+ "sign: v": {
+ "prefix": "sign(v)",
+ "body": "sign(${1:v})",
+ "scope": "source.vex",
+ "description": "Returns -1, 0, or 1 depending on the sign of the argument."
+ },
+ "matchvex_specular: exponent ...": {
+ "prefix": "matchvex_specular(exponent, ...)",
+ "body": "matchvex_specular(${1:exponent}, ${2:...})",
+ "scope": "source.vex",
+ "description": "Returns a BSDF that matches the output of the traditional VEX specular function."
+ },
+ "matchvex_specular: nml exponent ...": {
+ "prefix": "matchvex_specular(nml, exponent, ...)",
+ "body": "matchvex_specular(${1:nml}, ${2:exponent}, ${3:...})",
+ "scope": "source.vex",
+ "description": "Returns a BSDF that matches the output of the traditional VEX specular function."
+ },
+ "usd_setkind: stagehandle primpath kind": {
+ "prefix": "usd_setkind(stagehandle, primpath, kind)",
+ "body": "usd_setkind(${1:stagehandle}, ${2:primpath}, ${3:kind})",
+ "scope": "source.vex",
+ "description": "Sets the primitive\u2019s kind."
+ },
+ "chwritebuf: index value": {
+ "prefix": "chwritebuf(index, value)",
+ "body": "chwritebuf(${1:index}, ${2:value})",
+ "scope": "source.vex",
+ "description": "Writes a value of CHOP context temporary buffer at the specified index."
+ },
+ "chwritebuf: index t r s": {
+ "prefix": "chwritebuf(index, t, r, s)",
+ "body": "chwritebuf(${1:index}, ${2:t}, ${3:r}, ${4:s})",
+ "scope": "source.vex",
+ "description": "Writes a value of CHOP context temporary buffer at the specified index."
+ },
+ "osd_limitsurface: geometry attrib_name patch_id u v result": {
+ "prefix": "osd_limitsurface(geometry, attrib_name, patch_id, u, v, result)",
+ "body": "osd_limitsurface(${1:geometry}, ${2:attrib_name}, ${3:patch_id}, ${4:u}, ${5:v}, ${6:result})",
+ "scope": "source.vex",
+ "description": "Evaluates a point attribute at the subdivision limit surface using Open Subdiv."
+ },
+ "usd_setrelationshiptargets: stagehandle primpath name targets": {
+ "prefix": "usd_setrelationshiptargets(stagehandle, primpath, name, targets)",
+ "body": "usd_setrelationshiptargets(${1:stagehandle}, ${2:primpath}, ${3:name}, ${4:targets})",
+ "scope": "source.vex",
+ "description": "Sets the targets in the primitive\u2019s relationship"
+ },
+ "getglobalraylevel: ": {
+ "prefix": "getglobalraylevel()",
+ "body": "getglobalraylevel()",
+ "scope": "source.vex",
+ "description": "Returns the depth of the ray tree for computing global\nillumination."
+ },
+ "setcurrentlight: lightid": {
+ "prefix": "setcurrentlight(lightid)",
+ "body": "setcurrentlight(${1:lightid})",
+ "scope": "source.vex",
+ "description": "Sets the current light"
+ },
+ "surfacedist: geometry ptgroup P_attribute search_pt closest_pt distance_metric": {
+ "prefix": "surfacedist(geometry, ptgroup, P_attribute, search_pt, closest_pt, distance_metric)",
+ "body": "surfacedist(${1:geometry}, ${2:ptgroup}, ${3:P_attribute}, ${4:search_pt}, ${5:closest_pt}, ${6:distance_metric})",
+ "scope": "source.vex",
+ "description": "Finds the distance of a point to a group of points along the surface of a geometry."
+ },
+ "surfacedist: geometry ptgroup P_attribute search_pt max_radius closest_pt distance_metric": {
+ "prefix": "surfacedist(geometry, ptgroup, P_attribute, search_pt, max_radius, closest_pt, distance_metric)",
+ "body": "surfacedist(${1:geometry}, ${2:ptgroup}, ${3:P_attribute}, ${4:search_pt}, ${5:max_radius}, ${6:closest_pt}, ${7:distance_metric})",
+ "scope": "source.vex",
+ "description": "Finds the distance of a point to a group of points along the surface of a geometry."
+ },
+ "cregiondeformtransform: path": {
+ "prefix": "cregiondeformtransform(path)",
+ "body": "cregiondeformtransform(${1:path})",
+ "scope": "source.vex",
+ "description": "Returns the deform transform associated with a Capture Region SOP."
+ },
+ "cregiondeformtransform: path time": {
+ "prefix": "cregiondeformtransform(path, time)",
+ "body": "cregiondeformtransform(${1:path}, ${2:time})",
+ "scope": "source.vex",
+ "description": "Returns the deform transform associated with a Capture Region SOP."
+ },
+ "cregiondeformtransform: op_id": {
+ "prefix": "cregiondeformtransform(op_id)",
+ "body": "cregiondeformtransform(${1:op_id})",
+ "scope": "source.vex",
+ "description": "Returns the deform transform associated with a Capture Region SOP."
+ },
+ "cregiondeformtransform: op_id time": {
+ "prefix": "cregiondeformtransform(op_id, time)",
+ "body": "cregiondeformtransform(${1:op_id}, ${2:time})",
+ "scope": "source.vex",
+ "description": "Returns the deform transform associated with a Capture Region SOP."
+ },
+ "lightid: lp": {
+ "prefix": "lightid(lp)",
+ "body": "lightid(${1:lp})",
+ "scope": "source.vex",
+ "description": "Returns the light id for a light struct."
+ },
+ "usd_name: stage primpath": {
+ "prefix": "usd_name(stage, primpath)",
+ "body": "usd_name(${1:stage}, ${2:primpath})",
+ "scope": "source.vex",
+ "description": "Returns the name of the primitive."
+ },
+ "metamarch: index filename p0 p1 displace_bound": {
+ "prefix": "metamarch(index, filename, p0, p1, displace_bound)",
+ "body": "metamarch(${1:index}, ${2:filename}, ${3:p0}, ${4:p1}, ${5:displace_bound})",
+ "scope": "source.vex",
+ "description": "Takes the ray defined by p0 and p1 and partitions it into zero or\nmore sub-intervals where each interval intersects a cluster of metaballs\nfrom filename."
+ },
+ "expand_udim: u v path ...": {
+ "prefix": "expand_udim(u, v, path, ...)",
+ "body": "expand_udim(${1:u}, ${2:v}, ${3:path}, ${4:...})",
+ "scope": "source.vex",
+ "description": "Perform UDIM or UVTILE texture filename expansion."
+ },
+ "pcfind: geometry Pchannel P radius maxpoints": {
+ "prefix": "pcfind(geometry, Pchannel, P, radius, maxpoints)",
+ "body": "pcfind(${1:geometry}, ${2:Pchannel}, ${3:P}, ${4:radius}, ${5:maxpoints})",
+ "scope": "source.vex",
+ "description": "Returns a list of closest points from a file."
+ },
+ "pcfind: geometry ptgroup Pchannel P radius maxpoints": {
+ "prefix": "pcfind(geometry, ptgroup, Pchannel, P, radius, maxpoints)",
+ "body": "pcfind(${1:geometry}, ${2:ptgroup}, ${3:Pchannel}, ${4:P}, ${5:radius}, ${6:maxpoints})",
+ "scope": "source.vex",
+ "description": "Returns a list of closest points from a file."
+ },
+ "pcfind: geometry Pchannel P radius maxpoints distances": {
+ "prefix": "pcfind(geometry, Pchannel, P, radius, maxpoints, distances)",
+ "body": "pcfind(${1:geometry}, ${2:Pchannel}, ${3:P}, ${4:radius}, ${5:maxpoints}, ${6:distances})",
+ "scope": "source.vex",
+ "description": "Returns a list of closest points from a file."
+ },
+ "pcfind: geometry ptgroup Pchannel P radius maxpoints distances": {
+ "prefix": "pcfind(geometry, ptgroup, Pchannel, P, radius, maxpoints, distances)",
+ "body": "pcfind(${1:geometry}, ${2:ptgroup}, ${3:Pchannel}, ${4:P}, ${5:radius}, ${6:maxpoints}, ${7:distances})",
+ "scope": "source.vex",
+ "description": "Returns a list of closest points from a file."
+ },
+ "titlecase: str": {
+ "prefix": "titlecase(str)",
+ "body": "titlecase(${1:str})",
+ "scope": "source.vex",
+ "description": "Returns a string that is the titlecase version of the input string."
+ },
+ "ow_space: ": {
+ "prefix": "ow_space()",
+ "body": "ow_space()",
+ "scope": "source.vex",
+ "description": "Transforms a position value from Object to World space."
+ },
+ "ow_space: v": {
+ "prefix": "ow_space(v)",
+ "body": "ow_space(${1:v})",
+ "scope": "source.vex",
+ "description": "Transforms a position value from Object to World space."
+ },
+ "oppretransform: path": {
+ "prefix": "oppretransform(path)",
+ "body": "oppretransform(${1:path})",
+ "scope": "source.vex",
+ "description": "Returns the pretransform associated with an OP."
+ },
+ "oppretransform: path time": {
+ "prefix": "oppretransform(path, time)",
+ "body": "oppretransform(${1:path}, ${2:time})",
+ "scope": "source.vex",
+ "description": "Returns the pretransform associated with an OP."
+ },
+ "oppretransform: opid": {
+ "prefix": "oppretransform(opid)",
+ "body": "oppretransform(${1:opid})",
+ "scope": "source.vex",
+ "description": "Returns the pretransform associated with an OP."
+ },
+ "oppretransform: opid time": {
+ "prefix": "oppretransform(opid, time)",
+ "body": "oppretransform(${1:opid}, ${2:time})",
+ "scope": "source.vex",
+ "description": "Returns the pretransform associated with an OP."
+ },
+ "haspointattrib: geometry attribute_name": {
+ "prefix": "haspointattrib(geometry, attribute_name)",
+ "body": "haspointattrib(${1:geometry}, ${2:attribute_name})",
+ "scope": "source.vex",
+ "description": "Returns if a geometry point attribute exists."
+ },
+ "relpointbbox: geometry position": {
+ "prefix": "relpointbbox(geometry, position)",
+ "body": "relpointbbox(${1:geometry}, ${2:position})",
+ "scope": "source.vex",
+ "description": "Returns the relative position of the point given with respect to the bounding box of the geometry."
+ },
+ "relpointbbox: geometry pointgroup position": {
+ "prefix": "relpointbbox(geometry, pointgroup, position)",
+ "body": "relpointbbox(${1:geometry}, ${2:pointgroup}, ${3:position})",
+ "scope": "source.vex",
+ "description": "Returns the relative position of the point given with respect to the bounding box of the geometry."
+ },
+ "point: geometry attribute_name pointnumber": {
+ "prefix": "point(geometry, attribute_name, pointnumber)",
+ "body": "point(${1:geometry}, ${2:attribute_name}, ${3:pointnumber})",
+ "scope": "source.vex",
+ "description": "Reads a point attribute value from a geometry."
+ },
+ "agentclipnames: geometry prim": {
+ "prefix": "agentclipnames(geometry, prim)",
+ "body": "agentclipnames(${1:geometry}, ${2:prim})",
+ "scope": "source.vex",
+ "description": "Returns an agent primitive\u2019s current animation clips."
+ },
+ "idtopoint: geometry id": {
+ "prefix": "idtopoint(geometry, id)",
+ "body": "idtopoint(${1:geometry}, ${2:id})",
+ "scope": "source.vex",
+ "description": "Finds a point by its id attribute."
+ },
+ "avg: a": {
+ "prefix": "avg(a)",
+ "body": "avg(${1:a})",
+ "scope": "source.vex",
+ "description": "Returns the average value of the input(s)"
+ },
+ "avg: a b ...": {
+ "prefix": "avg(a, b, ...)",
+ "body": "avg(${1:a}, ${2:b}, ${3:...})",
+ "scope": "source.vex",
+ "description": "Returns the average value of the input(s)"
+ },
+ "avg: v": {
+ "prefix": "avg(v)",
+ "body": "avg(${1:v})",
+ "scope": "source.vex",
+ "description": "Returns the average value of the input(s)"
+ },
+ "avg: arr": {
+ "prefix": "avg(arr)",
+ "body": "avg(${1:arr})",
+ "scope": "source.vex",
+ "description": "Returns the average value of the input(s)"
+ },
+ "agentrigchildren: geometry prim transform": {
+ "prefix": "agentrigchildren(geometry, prim, transform)",
+ "body": "agentrigchildren(${1:geometry}, ${2:prim}, ${3:transform})",
+ "scope": "source.vex",
+ "description": "Returns the child transforms of a transform in an agent primitive\u2019s rig."
+ },
+ "clamp: value min max": {
+ "prefix": "clamp(value, min, max)",
+ "body": "clamp(${1:value}, ${2:min}, ${3:max})",
+ "scope": "source.vex",
+ "description": "Returns value clamped between min and max."
+ },
+ "isbound: variable_name": {
+ "prefix": "isbound(variable_name)",
+ "body": "isbound(${1:variable_name})",
+ "scope": "source.vex",
+ "description": "Parameters in VEX can be overridden by geometry attributes (if the attributes exist on the surface being rendered)."
+ },
+ "setdetailattrib: geohandle name value mode": {
+ "prefix": "setdetailattrib(geohandle, name, value, mode)",
+ "body": "setdetailattrib(${1:geohandle}, ${2:name}, ${3:value}, ${4:mode})",
+ "scope": "source.vex",
+ "description": "Sets a detail attribute in a geometry."
+ },
+ "detailattribtypeinfo: geometry attribute_name": {
+ "prefix": "detailattribtypeinfo(geometry, attribute_name)",
+ "body": "detailattribtypeinfo(${1:geometry}, ${2:attribute_name})",
+ "scope": "source.vex",
+ "description": "Returns the type info of a geometry attribute."
+ },
+ "blackbody: temperature luminance": {
+ "prefix": "blackbody(temperature, luminance)",
+ "body": "blackbody(${1:temperature}, ${2:luminance})",
+ "scope": "source.vex",
+ "description": "Compute the color value of an incandescent black body."
+ },
+ "normalname: ": {
+ "prefix": "normalname()",
+ "body": "normalname()",
+ "scope": "source.vex",
+ "description": "Returns the default name of the normal plane (as it appears in the\ncompositor preferences)."
+ },
+ "fit: value omin omax nmin nmax": {
+ "prefix": "fit(value, omin, omax, nmin, nmax)",
+ "body": "fit(${1:value}, ${2:omin}, ${3:omax}, ${4:nmin}, ${5:nmax})",
+ "scope": "source.vex",
+ "description": "Takes the value in one range and shifts it to the corresponding value in a new range."
+ },
+ "vertexprim: geometry linearvertex": {
+ "prefix": "vertexprim(geometry, linearvertex)",
+ "body": "vertexprim(${1:geometry}, ${2:linearvertex})",
+ "scope": "source.vex",
+ "description": "Returns the number of the primitive containing a given vertex."
+ },
+ "curlnoise2d: x y": {
+ "prefix": "curlnoise2d(x, y)",
+ "body": "curlnoise2d(${1:x}, ${2:y})",
+ "scope": "source.vex",
+ "description": "Computes 2d divergence free noise based on Perlin noise."
+ },
+ "curlnoise2d: xyt": {
+ "prefix": "curlnoise2d(xyt)",
+ "body": "curlnoise2d(${1:xyt})",
+ "scope": "source.vex",
+ "description": "Computes 2d divergence free noise based on Perlin noise."
+ },
+ "getlocalcurvature: s t": {
+ "prefix": "getlocalcurvature(s, t)",
+ "body": "getlocalcurvature(${1:s}, ${2:t})",
+ "scope": "source.vex",
+ "description": "Evaluates local curvature of primitive grid, using the same curvature evaluation method as Measure SOPs."
+ },
+ "usd_parentpath: stage primpath": {
+ "prefix": "usd_parentpath(stage, primpath)",
+ "body": "usd_parentpath(${1:stage}, ${2:primpath})",
+ "scope": "source.vex",
+ "description": "Returns the path of the primitive\u2019s parent."
+ },
+ "pcline_radius: geometry PChannel RadChannel radscale P dir max_distance maxpoints": {
+ "prefix": "pcline_radius(geometry, PChannel, RadChannel, radscale, P, dir, max_distance, maxpoints)",
+ "body": "pcline_radius(${1:geometry}, ${2:PChannel}, ${3:RadChannel}, ${4:radscale}, ${5:P}, ${6:dir}, ${7:max_distance}, ${8:maxpoints})",
+ "scope": "source.vex",
+ "description": "Returns a list of closest points to an infinite line from a specified file"
+ },
+ "pcline_radius: geometry ptgroup PChannel RadChannel radscale P dir max_distance maxpoints": {
+ "prefix": "pcline_radius(geometry, ptgroup, PChannel, RadChannel, radscale, P, dir, max_distance, maxpoints)",
+ "body": "pcline_radius(${1:geometry}, ${2:ptgroup}, ${3:PChannel}, ${4:RadChannel}, ${5:radscale}, ${6:P}, ${7:dir}, ${8:max_distance}, ${9:maxpoints})",
+ "scope": "source.vex",
+ "description": "Returns a list of closest points to an infinite line from a specified file"
+ },
+ "solveik: lengths targetpos twistpos twist twistflag dampen resiststraight trackingthres relmat constraints": {
+ "prefix": "solveik(lengths, targetpos, twistpos, twist, twistflag, dampen, resiststraight, trackingthres, relmat, constraints)",
+ "body": "solveik(${1:lengths}, ${2:targetpos}, ${3:twistpos}, ${4:twist}, ${5:twistflag}, ${6:dampen}, ${7:resiststraight}, ${8:trackingthres}, ${9:relmat}, ${10:constraints})",
+ "scope": "source.vex",
+ "description": "Applies an inverse kinematics algorithm to a skeleton."
+ },
+ "addvariablename: aname vname": {
+ "prefix": "addvariablename(aname, vname)",
+ "body": "addvariablename(${1:aname}, ${2:vname})",
+ "scope": "source.vex",
+ "description": "Adds a mapping for an attribute to a local variable."
+ },
+ "addvariablename: geohandle aname vname": {
+ "prefix": "addvariablename(geohandle, aname, vname)",
+ "body": "addvariablename(${1:geohandle}, ${2:aname}, ${3:vname})",
+ "scope": "source.vex",
+ "description": "Adds a mapping for an attribute to a local variable."
+ },
+ "primpoints: geometry primnum": {
+ "prefix": "primpoints(geometry, primnum)",
+ "body": "primpoints(${1:geometry}, ${2:primnum})",
+ "scope": "source.vex",
+ "description": "Returns the list of points on a primitive."
+ },
+ "chindex: opinput name": {
+ "prefix": "chindex(opinput, name)",
+ "body": "chindex(${1:opinput}, ${2:name})",
+ "scope": "source.vex",
+ "description": "Returns the channel index from a input given a channel name."
+ },
+ "chindex: name": {
+ "prefix": "chindex(name)",
+ "body": "chindex(${1:name})",
+ "scope": "source.vex",
+ "description": "Returns the channel index from a input given a channel name."
+ },
+ "chindex: names": {
+ "prefix": "chindex(names)",
+ "body": "chindex(${1:names})",
+ "scope": "source.vex",
+ "description": "Returns the channel index from a input given a channel name."
+ },
+ "nametoprim: geometry name": {
+ "prefix": "nametoprim(geometry, name)",
+ "body": "nametoprim(${1:geometry}, ${2:name})",
+ "scope": "source.vex",
+ "description": "Finds a primitive by its name attribute."
+ },
+ "quaterniontoeuler: orient order": {
+ "prefix": "quaterniontoeuler(orient, order)",
+ "body": "quaterniontoeuler(${1:orient}, ${2:order})",
+ "scope": "source.vex",
+ "description": "Creates a euler angle representing a quaternion."
+ },
+ "osd_facecount: geometry": {
+ "prefix": "osd_facecount(geometry)",
+ "body": "osd_facecount(${1:geometry})",
+ "scope": "source.vex",
+ "description": ""
+ },
+ "getlightscope: mat scope categories": {
+ "prefix": "getlightscope(mat, scope, categories)",
+ "body": "getlightscope(${1:mat}, ${2:scope}, ${3:categories})",
+ "scope": "source.vex",
+ "description": "Returns a selection of lights that illuminate a given material."
+ },
+ "hedge_dstpoint: geometry hedge": {
+ "prefix": "hedge_dstpoint(geometry, hedge)",
+ "body": "hedge_dstpoint(${1:geometry}, ${2:hedge})",
+ "scope": "source.vex",
+ "description": "Returns the destination point of a half-edge."
+ },
+ "isfogray: ": {
+ "prefix": "isfogray()",
+ "body": "isfogray()",
+ "scope": "source.vex",
+ "description": "Returns 1 if the shader is being called to evaluate illumination for\nfog objects, or 0 if the light or shadow shader is being called to\nevaluate surface illumination."
+ },
+ "setedgegroup: geohandle name pt0 pt1 value": {
+ "prefix": "setedgegroup(geohandle, name, pt0, pt1, value)",
+ "body": "setedgegroup(${1:geohandle}, ${2:name}, ${3:pt0}, ${4:pt1}, ${5:value})",
+ "scope": "source.vex",
+ "description": "Sets edge group membership in a geometry."
+ },
+ "warning: format ...": {
+ "prefix": "warning(format, ...)",
+ "body": "warning(${1:format}, ${2:...})",
+ "scope": "source.vex",
+ "description": "Reports a custom runtime VEX warning."
+ },
+ "metanext: handle": {
+ "prefix": "metanext(handle)",
+ "body": "metanext(${1:handle})",
+ "scope": "source.vex",
+ "description": "Iterate to the next metaball in the list of metaballs returned by the metastart() function."
+ },
+ "ihasplane: opinput planename": {
+ "prefix": "ihasplane(opinput, planename)",
+ "body": "ihasplane(${1:opinput}, ${2:planename})",
+ "scope": "source.vex",
+ "description": "Returns 1 if the specified input has a plane named planename."
+ },
+ "itoa: number": {
+ "prefix": "itoa(number)",
+ "body": "itoa(${1:number})",
+ "scope": "source.vex",
+ "description": "Converts an integer to a string."
+ },
+ "opid: op_path": {
+ "prefix": "opid(op_path)",
+ "body": "opid(${1:op_path})",
+ "scope": "source.vex",
+ "description": "Resolves an operator path string and return its op_id."
+ },
+ "opid: op_id": {
+ "prefix": "opid(op_id)",
+ "body": "opid(${1:op_id})",
+ "scope": "source.vex",
+ "description": "Resolves an operator path string and return its op_id."
+ },
+ "ggx: ng nn xg yg F0 F90 alphax alphay masking fresblend eta reflect refract reflectmask refractmask dispersion ...": {
+ "prefix": "ggx(ng, nn, xg, yg, F0, F90, alphax, alphay, masking, fresblend, eta, reflect, refract, reflectmask, refractmask, dispersion, ...)",
+ "body": "ggx(${1:ng}, ${2:nn}, ${3:xg}, ${4:yg}, ${5:F0}, ${6:F90}, ${7:alphax}, ${8:alphay}, ${9:masking}, ${10:fresblend}, ${11:eta}, ${12:reflect}, ${13:refract}, ${14:reflectmask}, ${15:refractmask}, ${16:dispersion}, ${17:...})",
+ "scope": "source.vex",
+ "description": "Returns a ggx BSDF."
+ },
+ "agentchannelvalues: geometry prim": {
+ "prefix": "agentchannelvalues(geometry, prim)",
+ "body": "agentchannelvalues(${1:geometry}, ${2:prim})",
+ "scope": "source.vex",
+ "description": "Returns the current values of an agent primitive\u2019s channels."
+ },
+ "gradient: val ...": {
+ "prefix": "gradient(val, ...)",
+ "body": "gradient(${1:val}, ${2:...})",
+ "scope": "source.vex",
+ "description": "Returns the gradient of a field."
+ },
+ "gradient: P val ...": {
+ "prefix": "gradient(P, val, ...)",
+ "body": "gradient(${1:P}, ${2:val}, ${3:...})",
+ "scope": "source.vex",
+ "description": "Returns the gradient of a field."
+ },
+ "usd_metadatanames: stage path": {
+ "prefix": "usd_metadatanames(stage, path)",
+ "body": "usd_metadatanames(${1:stage}, ${2:path})",
+ "scope": "source.vex",
+ "description": "Returns the names of the metadata available on the object."
+ },
+ "degrees: num_in_rads": {
+ "prefix": "degrees(num_in_rads)",
+ "body": "degrees(${1:num_in_rads})",
+ "scope": "source.vex",
+ "description": "Converts the argument from radians into degrees."
+ },
+ "degrees: nums_in_rads": {
+ "prefix": "degrees(nums_in_rads)",
+ "body": "degrees(${1:nums_in_rads})",
+ "scope": "source.vex",
+ "description": "Converts the argument from radians into degrees."
+ },
+ "vertexattribsize: geometry attribute_name": {
+ "prefix": "vertexattribsize(geometry, attribute_name)",
+ "body": "vertexattribsize(${1:geometry}, ${2:attribute_name})",
+ "scope": "source.vex",
+ "description": "Returns the size of a geometry vertex attribute."
+ },
+ "usd_localtransform: stage primpath": {
+ "prefix": "usd_localtransform(stage, primpath)",
+ "body": "usd_localtransform(${1:stage}, ${2:primpath})",
+ "scope": "source.vex",
+ "description": "Obtains the primitive\u2019s local transform"
+ },
+ "usd_localtransform: stage primpath timecode": {
+ "prefix": "usd_localtransform(stage, primpath, timecode)",
+ "body": "usd_localtransform(${1:stage}, ${2:primpath}, ${3:timecode})",
+ "scope": "source.vex",
+ "description": "Obtains the primitive\u2019s local transform"
+ },
+ "expandpointgroup: geometry groupname": {
+ "prefix": "expandpointgroup(geometry, groupname)",
+ "body": "expandpointgroup(${1:geometry}, ${2:groupname})",
+ "scope": "source.vex",
+ "description": "Returns an array of point numbers corresponding to a group string."
+ },
+ "iplanesize: opinput planeindex": {
+ "prefix": "iplanesize(opinput, planeindex)",
+ "body": "iplanesize(${1:opinput}, ${2:planeindex})",
+ "scope": "source.vex",
+ "description": "Returns the number of components in the plane named planename in\nthe specified input."
+ },
+ "uvunwrap: object_path u v time P I": {
+ "prefix": "uvunwrap(object_path, u, v, time, P, I)",
+ "body": "uvunwrap(${1:object_path}, ${2:u}, ${3:v}, ${4:time}, ${5:P}, ${6:I})",
+ "scope": "source.vex",
+ "description": "Computes the position and normal at given (u, v) coordinates."
+ },
+ "uvunwrap: object_path u v time P I mikkelsenUtan mikkelsenVtan": {
+ "prefix": "uvunwrap(object_path, u, v, time, P, I, mikkelsenUtan, mikkelsenVtan)",
+ "body": "uvunwrap(${1:object_path}, ${2:u}, ${3:v}, ${4:time}, ${5:P}, ${6:I}, ${7:mikkelsenUtan}, ${8:mikkelsenVtan})",
+ "scope": "source.vex",
+ "description": "Computes the position and normal at given (u, v) coordinates."
+ },
+ "lightbounces: lp": {
+ "prefix": "lightbounces(lp)",
+ "body": "lightbounces(${1:lp})",
+ "scope": "source.vex",
+ "description": "Returns the bounce mask for a light struct."
+ },
+ "usd_attriblen: stage primpath name": {
+ "prefix": "usd_attriblen(stage, primpath, name)",
+ "body": "usd_attriblen(${1:stage}, ${2:primpath}, ${3:name})",
+ "scope": "source.vex",
+ "description": "Returns the length of the array attribute."
+ },
+ "usd_attriblen: stage primpath name timecode": {
+ "prefix": "usd_attriblen(stage, primpath, name, timecode)",
+ "body": "usd_attriblen(${1:stage}, ${2:primpath}, ${3:name}, ${4:timecode})",
+ "scope": "source.vex",
+ "description": "Returns the length of the array attribute."
+ },
+ "diagonalizesymmetric: symmat diag": {
+ "prefix": "diagonalizesymmetric(symmat, diag)",
+ "body": "diagonalizesymmetric(${1:symmat}, ${2:diag})",
+ "scope": "source.vex",
+ "description": "Diagonalizes Symmetric Matrices."
+ },
+ "volumesamplev: geometry primnum pos": {
+ "prefix": "volumesamplev(geometry, primnum, pos)",
+ "body": "volumesamplev(${1:geometry}, ${2:primnum}, ${3:pos})",
+ "scope": "source.vex",
+ "description": "Samples the volume primitive\u2019s vector value."
+ },
+ "volumesamplev: geometry volumename pos": {
+ "prefix": "volumesamplev(geometry, volumename, pos)",
+ "body": "volumesamplev(${1:geometry}, ${2:volumename}, ${3:pos})",
+ "scope": "source.vex",
+ "description": "Samples the volume primitive\u2019s vector value."
+ },
+ "sample_direction_cone: center maxangle u": {
+ "prefix": "sample_direction_cone(center, maxangle, u)",
+ "body": "sample_direction_cone(${1:center}, ${2:maxangle}, ${3:u})",
+ "scope": "source.vex",
+ "description": "Generates a uniform unit vector, within maxangle of center, given a vector2 of uniform numbers between 0 and 1."
+ },
+ "chsraw: channel": {
+ "prefix": "chsraw(channel)",
+ "body": "chsraw(${1:channel})",
+ "scope": "source.vex",
+ "description": "Returns the raw string channel (or parameter)."
+ },
+ "xyzdist: geometry origin": {
+ "prefix": "xyzdist(geometry, origin)",
+ "body": "xyzdist(${1:geometry}, ${2:origin})",
+ "scope": "source.vex",
+ "description": "Finds the distance of a point to a geometry."
+ },
+ "xyzdist: geometry origin prim uv": {
+ "prefix": "xyzdist(geometry, origin, prim, uv)",
+ "body": "xyzdist(${1:geometry}, ${2:origin}, ${3:prim}, ${4:uv})",
+ "scope": "source.vex",
+ "description": "Finds the distance of a point to a geometry."
+ },
+ "xyzdist: geometry origin prim uv maxdist": {
+ "prefix": "xyzdist(geometry, origin, prim, uv, maxdist)",
+ "body": "xyzdist(${1:geometry}, ${2:origin}, ${3:prim}, ${4:uv}, ${5:maxdist})",
+ "scope": "source.vex",
+ "description": "Finds the distance of a point to a geometry."
+ },
+ "xyzdist: geometry primgroup origin": {
+ "prefix": "xyzdist(geometry, primgroup, origin)",
+ "body": "xyzdist(${1:geometry}, ${2:primgroup}, ${3:origin})",
+ "scope": "source.vex",
+ "description": "Finds the distance of a point to a geometry."
+ },
+ "xyzdist: geometry primgroup origin prim uv": {
+ "prefix": "xyzdist(geometry, primgroup, origin, prim, uv)",
+ "body": "xyzdist(${1:geometry}, ${2:primgroup}, ${3:origin}, ${4:prim}, ${5:uv})",
+ "scope": "source.vex",
+ "description": "Finds the distance of a point to a geometry."
+ },
+ "xyzdist: geometry primgroup origin prim uv maxdist": {
+ "prefix": "xyzdist(geometry, primgroup, origin, prim, uv, maxdist)",
+ "body": "xyzdist(${1:geometry}, ${2:primgroup}, ${3:origin}, ${4:prim}, ${5:uv}, ${6:maxdist})",
+ "scope": "source.vex",
+ "description": "Finds the distance of a point to a geometry."
+ },
+ "usd_uniquetransformname: stage primpath transformtype suffix": {
+ "prefix": "usd_uniquetransformname(stage, primpath, transformtype, suffix)",
+ "body": "usd_uniquetransformname(${1:stage}, ${2:primpath}, ${3:transformtype}, ${4:suffix})",
+ "scope": "source.vex",
+ "description": "Constructs a unique full name of a transform operation"
+ },
+ "chnames: ": {
+ "prefix": "chnames()",
+ "body": "chnames()",
+ "scope": "source.vex",
+ "description": "Returns all the CHOP channel names of a given CHOP input."
+ },
+ "chnames: opinput": {
+ "prefix": "chnames(opinput)",
+ "body": "chnames(${1:opinput})",
+ "scope": "source.vex",
+ "description": "Returns all the CHOP channel names of a given CHOP input."
+ },
+ "chs: channel": {
+ "prefix": "chs(channel)",
+ "body": "chs(${1:channel})",
+ "scope": "source.vex",
+ "description": "Evaluates a channel (or parameter) and return its value."
+ },
+ "chs: channel time": {
+ "prefix": "chs(channel, time)",
+ "body": "chs(${1:channel}, ${2:time})",
+ "scope": "source.vex",
+ "description": "Evaluates a channel (or parameter) and return its value."
+ },
+ "ch2: channel": {
+ "prefix": "ch2(channel)",
+ "body": "ch2(${1:channel})",
+ "scope": "source.vex",
+ "description": "Evaluates a channel (or parameter) and return its value."
+ },
+ "ch2: channel time": {
+ "prefix": "ch2(channel, time)",
+ "body": "ch2(${1:channel}, ${2:time})",
+ "scope": "source.vex",
+ "description": "Evaluates a channel (or parameter) and return its value."
+ },
+ "ch3: channel": {
+ "prefix": "ch3(channel)",
+ "body": "ch3(${1:channel})",
+ "scope": "source.vex",
+ "description": "Evaluates a channel (or parameter) and return its value."
+ },
+ "ch3: channel time": {
+ "prefix": "ch3(channel, time)",
+ "body": "ch3(${1:channel}, ${2:time})",
+ "scope": "source.vex",
+ "description": "Evaluates a channel (or parameter) and return its value."
+ },
+ "chr: value": {
+ "prefix": "chr(value)",
+ "body": "chr(${1:value})",
+ "scope": "source.vex",
+ "description": "Converts an unicode codepoint to a UTF8 string."
+ },
+ "min: value1 value2 ...": {
+ "prefix": "min(value1, value2, ...)",
+ "body": "min(${1:value1}, ${2:value2}, ${3:...})",
+ "scope": "source.vex",
+ "description": ""
+ },
+ "min: values": {
+ "prefix": "min(values)",
+ "body": "min(${1:values})",
+ "scope": "source.vex",
+ "description": ""
+ },
+ "min: v": {
+ "prefix": "min(v)",
+ "body": "min(${1:v})",
+ "scope": "source.vex",
+ "description": ""
+ },
+ "min: value": {
+ "prefix": "min(value)",
+ "body": "min(${1:value})",
+ "scope": "source.vex",
+ "description": ""
+ },
+ "irradiance: P N ...": {
+ "prefix": "irradiance(P, N, ...)",
+ "body": "irradiance(${1:P}, ${2:N}, ${3:...})",
+ "scope": "source.vex",
+ "description": "Computes irradiance (global illumination) at the point P with the normal N."
+ },
+ "opparenttransform: path": {
+ "prefix": "opparenttransform(path)",
+ "body": "opparenttransform(${1:path})",
+ "scope": "source.vex",
+ "description": "Returns the parent transform associated with an OP."
+ },
+ "opparenttransform: path time": {
+ "prefix": "opparenttransform(path, time)",
+ "body": "opparenttransform(${1:path}, ${2:time})",
+ "scope": "source.vex",
+ "description": "Returns the parent transform associated with an OP."
+ },
+ "opparenttransform: opid": {
+ "prefix": "opparenttransform(opid)",
+ "body": "opparenttransform(${1:opid})",
+ "scope": "source.vex",
+ "description": "Returns the parent transform associated with an OP."
+ },
+ "opparenttransform: opid time": {
+ "prefix": "opparenttransform(opid, time)",
+ "body": "opparenttransform(${1:opid}, ${2:time})",
+ "scope": "source.vex",
+ "description": "Returns the parent transform associated with an OP."
+ },
+ "hasvertexattrib: geometry attribute_name": {
+ "prefix": "hasvertexattrib(geometry, attribute_name)",
+ "body": "hasvertexattrib(${1:geometry}, ${2:attribute_name})",
+ "scope": "source.vex",
+ "description": "Returns if a geometry vertex attribute exists."
+ },
+ "curlnoise: xyz": {
+ "prefix": "curlnoise(xyz)",
+ "body": "curlnoise(${1:xyz})",
+ "scope": "source.vex",
+ "description": "Computes divergence free noise based on Perlin noise."
+ },
+ "curlnoise: xyzt": {
+ "prefix": "curlnoise(xyzt)",
+ "body": "curlnoise(${1:xyzt})",
+ "scope": "source.vex",
+ "description": "Computes divergence free noise based on Perlin noise."
+ },
+ "vertexattribtypeinfo: geometry attribute_name": {
+ "prefix": "vertexattribtypeinfo(geometry, attribute_name)",
+ "body": "vertexattribtypeinfo(${1:geometry}, ${2:attribute_name})",
+ "scope": "source.vex",
+ "description": "Returns the type info of a geometry attribute."
+ },
+ "vertexattribtype: geometry attribute_name": {
+ "prefix": "vertexattribtype(geometry, attribute_name)",
+ "body": "vertexattribtype(${1:geometry}, ${2:attribute_name})",
+ "scope": "source.vex",
+ "description": "Returns the type of a geometry vertex attribute."
+ },
+ "optransform: path": {
+ "prefix": "optransform(path)",
+ "body": "optransform(${1:path})",
+ "scope": "source.vex",
+ "description": "Returns the transform associated with an OP."
+ },
+ "optransform: path time": {
+ "prefix": "optransform(path, time)",
+ "body": "optransform(${1:path}, ${2:time})",
+ "scope": "source.vex",
+ "description": "Returns the transform associated with an OP."
+ },
+ "optransform: op_id": {
+ "prefix": "optransform(op_id)",
+ "body": "optransform(${1:op_id})",
+ "scope": "source.vex",
+ "description": "Returns the transform associated with an OP."
+ },
+ "optransform: op_id time": {
+ "prefix": "optransform(op_id, time)",
+ "body": "optransform(${1:op_id}, ${2:time})",
+ "scope": "source.vex",
+ "description": "Returns the transform associated with an OP."
+ },
+ "agenttransformtoworld: geometry prim transforms": {
+ "prefix": "agenttransformtoworld(geometry, prim, transforms)",
+ "body": "agenttransformtoworld(${1:geometry}, ${2:prim}, ${3:transforms})",
+ "scope": "source.vex",
+ "description": "Converts transforms from local space to world space for an agent primitive."
+ },
+ "usd_getbbox_max: stage primpath purpose": {
+ "prefix": "usd_getbbox_max(stage, primpath, purpose)",
+ "body": "usd_getbbox_max(${1:stage}, ${2:primpath}, ${3:purpose})",
+ "scope": "source.vex",
+ "description": "Returns the maximum of the bounding box for the primitive."
+ },
+ "usd_makecollectionpath: stage primpath name": {
+ "prefix": "usd_makecollectionpath(stage, primpath, name)",
+ "body": "usd_makecollectionpath(${1:stage}, ${2:primpath}, ${3:name})",
+ "scope": "source.vex",
+ "description": "Constructs a collection path from a primitive path and a collection name."
+ },
+ "variance: variable mean sample_size": {
+ "prefix": "variance(variable, mean, sample_size)",
+ "body": "variance(${1:variable}, ${2:mean}, ${3:sample_size})",
+ "scope": "source.vex",
+ "description": "Computes the mean value and variance for a value."
+ },
+ "chremoveattr: attrclass attrname": {
+ "prefix": "chremoveattr(attrclass, attrname)",
+ "body": "chremoveattr(${1:attrclass}, ${2:attrname})",
+ "scope": "source.vex",
+ "description": "Removes a CHOP attribute."
+ },
+ "chremoveattr: attrclass attrnames": {
+ "prefix": "chremoveattr(attrclass, attrnames)",
+ "body": "chremoveattr(${1:attrclass}, ${2:attrnames})",
+ "scope": "source.vex",
+ "description": "Removes a CHOP attribute."
+ },
+ "chremoveattr: attrname": {
+ "prefix": "chremoveattr(attrname)",
+ "body": "chremoveattr(${1:attrname})",
+ "scope": "source.vex",
+ "description": "Removes a CHOP attribute."
+ },
+ "chremoveattr: attrnames": {
+ "prefix": "chremoveattr(attrnames)",
+ "body": "chremoveattr(${1:attrnames})",
+ "scope": "source.vex",
+ "description": "Removes a CHOP attribute."
+ },
+ "chop: filename channel sample": {
+ "prefix": "chop(filename, channel, sample)",
+ "body": "chop(${1:filename}, ${2:channel}, ${3:sample})",
+ "scope": "source.vex",
+ "description": "Returns the value of a CHOP channel at the specified sample."
+ },
+ "sprintf: format ...": {
+ "prefix": "sprintf(format, ...)",
+ "body": "sprintf(${1:format}, ${2:...})",
+ "scope": "source.vex",
+ "description": "Formats a string like printf but returns the result as a string\ninstead of printing it."
+ },
+ "usd_setmetadata: stagehandle path name value": {
+ "prefix": "usd_setmetadata(stagehandle, path, name, value)",
+ "body": "usd_setmetadata(${1:stagehandle}, ${2:path}, ${3:name}, ${4:value})",
+ "scope": "source.vex",
+ "description": "Sets the value of an metadata."
+ },
+ "pretranslate: m amount": {
+ "prefix": "pretranslate(m, amount)",
+ "body": "pretranslate(${1:m}, ${2:amount})",
+ "scope": "source.vex",
+ "description": "Pretranslates a matrix by a vector."
+ },
+ "nvertices: geometry": {
+ "prefix": "nvertices(geometry)",
+ "body": "nvertices(${1:geometry})",
+ "scope": "source.vex",
+ "description": "Returns the number of vertices in the input or geometry file."
+ },
+ "area: p ...": {
+ "prefix": "area(p, ...)",
+ "body": "area(${1:p}, ${2:...})",
+ "scope": "source.vex",
+ "description": "Returns the area of the micropolygon containing a variable such as P."
+ },
+ "usd_relationshipforwardedtargets: stage primpath name": {
+ "prefix": "usd_relationshipforwardedtargets(stage, primpath, name)",
+ "body": "usd_relationshipforwardedtargets(${1:stage}, ${2:primpath}, ${3:name})",
+ "scope": "source.vex",
+ "description": "Obtains the relationship forwarded targets."
+ },
+ "bouncemask: labels": {
+ "prefix": "bouncemask(labels)",
+ "body": "bouncemask(${1:labels})",
+ "scope": "source.vex",
+ "description": ""
+ },
+ "scale: m scale_vector": {
+ "prefix": "scale(m, scale_vector)",
+ "body": "scale(${1:m}, ${2:scale_vector})",
+ "scope": "source.vex",
+ "description": "Scales the given matrix in three directions simultaneously (X, Y, Z -\ngiven by the components of the scale_vector)."
+ },
+ "usd_primvarelementsize: stage primpath name": {
+ "prefix": "usd_primvarelementsize(stage, primpath, name)",
+ "body": "usd_primvarelementsize(${1:stage}, ${2:primpath}, ${3:name})",
+ "scope": "source.vex",
+ "description": "Returns the element size of the primvar."
+ },
+ "setagentclipnames: geohandle prim clipnames": {
+ "prefix": "setagentclipnames(geohandle, prim, clipnames)",
+ "body": "setagentclipnames(${1:geohandle}, ${2:prim}, ${3:clipnames})",
+ "scope": "source.vex",
+ "description": "Sets the current animation clips for an agent primitive."
+ },
+ "insert: str index value": {
+ "prefix": "insert(str, index, value)",
+ "body": "insert(${1:str}, ${2:index}, ${3:value})",
+ "scope": "source.vex",
+ "description": "Inserts an item, array, or string into an array or string."
+ },
+ "insert: array index value": {
+ "prefix": "insert(array, index, value)",
+ "body": "insert(${1:array}, ${2:index}, ${3:value})",
+ "scope": "source.vex",
+ "description": "Inserts an item, array, or string into an array or string."
+ },
+ "insert: array index values": {
+ "prefix": "insert(array, index, values)",
+ "body": "insert(${1:array}, ${2:index}, ${3:values})",
+ "scope": "source.vex",
+ "description": "Inserts an item, array, or string into an array or string."
+ },
+ "smoothrotation: order r r_reference": {
+ "prefix": "smoothrotation(order, r, r_reference)",
+ "body": "smoothrotation(${1:order}, ${2:r}, ${3:r_reference})",
+ "scope": "source.vex",
+ "description": "Returns the closest equivalent Euler rotations to a reference rotation."
+ },
+ "usd_drawmode: stage primpath": {
+ "prefix": "usd_drawmode(stage, primpath)",
+ "body": "usd_drawmode(${1:stage}, ${2:primpath})",
+ "scope": "source.vex",
+ "description": "Returns the primitive\u2019s draw mode."
+ },
+ "isvalidindex: array index": {
+ "prefix": "isvalidindex(array, index)",
+ "body": "isvalidindex(${1:array}, ${2:index})",
+ "scope": "source.vex",
+ "description": "Checks if the index given is valid for the array or string given."
+ },
+ "isvalidindex: str index": {
+ "prefix": "isvalidindex(str, index)",
+ "body": "isvalidindex(${1:str}, ${2:index})",
+ "scope": "source.vex",
+ "description": "Checks if the index given is valid for the array or string given."
+ },
+ "solvefbik: xforms parents targets targetxforms iters": {
+ "prefix": "solvefbik(xforms, parents, targets, targetxforms, iters)",
+ "body": "solvefbik(${1:xforms}, ${2:parents}, ${3:targets}, ${4:targetxforms}, ${5:iters})",
+ "scope": "source.vex",
+ "description": "Applies a full-body inverse kinematics algorithm to a skeleton."
+ },
+ "solvefbik: xforms parents targets targetxforms iters tolerance pinroot": {
+ "prefix": "solvefbik(xforms, parents, targets, targetxforms, iters, tolerance, pinroot)",
+ "body": "solvefbik(${1:xforms}, ${2:parents}, ${3:targets}, ${4:targetxforms}, ${5:iters}, ${6:tolerance}, ${7:pinroot})",
+ "scope": "source.vex",
+ "description": "Applies a full-body inverse kinematics algorithm to a skeleton."
+ },
+ "solvefbik: xforms parents targets targetxforms iters tolerance pinroot targetweights targetpriorities targetdepths": {
+ "prefix": "solvefbik(xforms, parents, targets, targetxforms, iters, tolerance, pinroot, targetweights, targetpriorities, targetdepths)",
+ "body": "solvefbik(${1:xforms}, ${2:parents}, ${3:targets}, ${4:targetxforms}, ${5:iters}, ${6:tolerance}, ${7:pinroot}, ${8:targetweights}, ${9:targetpriorities}, ${10:targetdepths})",
+ "scope": "source.vex",
+ "description": "Applies a full-body inverse kinematics algorithm to a skeleton."
+ },
+ "solvefbik: xforms parents targets targetxforms iters tolerance pinroot targetweights targetpriorities targetdepths targettypes targetoffsets": {
+ "prefix": "solvefbik(xforms, parents, targets, targetxforms, iters, tolerance, pinroot, targetweights, targetpriorities, targetdepths, targettypes, targetoffsets)",
+ "body": "solvefbik(${1:xforms}, ${2:parents}, ${3:targets}, ${4:targetxforms}, ${5:iters}, ${6:tolerance}, ${7:pinroot}, ${8:targetweights}, ${9:targetpriorities}, ${10:targetdepths}, ${11:targettypes}, ${12:targetoffsets})",
+ "scope": "source.vex",
+ "description": "Applies a full-body inverse kinematics algorithm to a skeleton."
+ },
+ "solvefbik: xforms parents targets targetxforms iters tolerance pinroot targetweights targetpriorities targetdepths goalxforms constrainedxforms jointlimits": {
+ "prefix": "solvefbik(xforms, parents, targets, targetxforms, iters, tolerance, pinroot, targetweights, targetpriorities, targetdepths, goalxforms, constrainedxforms, jointlimits)",
+ "body": "solvefbik(${1:xforms}, ${2:parents}, ${3:targets}, ${4:targetxforms}, ${5:iters}, ${6:tolerance}, ${7:pinroot}, ${8:targetweights}, ${9:targetpriorities}, ${10:targetdepths}, ${11:goalxforms}, ${12:constrainedxforms}, ${13:jointlimits})",
+ "scope": "source.vex",
+ "description": "Applies a full-body inverse kinematics algorithm to a skeleton."
+ },
+ "solvefbik: xforms parents targets targetxforms iters tolerance pinroot targetweights targetpriorities targetdepths targettypes targetoffsets goalxforms constrainedxforms jointlimits": {
+ "prefix": "solvefbik(xforms, parents, targets, targetxforms, iters, tolerance, pinroot, targetweights, targetpriorities, targetdepths, targettypes, targetoffsets, goalxforms, constrainedxforms, jointlimits)",
+ "body": "solvefbik(${1:xforms}, ${2:parents}, ${3:targets}, ${4:targetxforms}, ${5:iters}, ${6:tolerance}, ${7:pinroot}, ${8:targetweights}, ${9:targetpriorities}, ${10:targetdepths}, ${11:targettypes}, ${12:targetoffsets}, ${13:goalxforms}, ${14:constrainedxforms}, ${15:jointlimits})",
+ "scope": "source.vex",
+ "description": "Applies a full-body inverse kinematics algorithm to a skeleton."
+ },
+ "pcunshaded: handle channel_name": {
+ "prefix": "pcunshaded(handle, channel_name)",
+ "body": "pcunshaded(${1:handle}, ${2:channel_name})",
+ "scope": "source.vex",
+ "description": "Iterate over all of the points of a read-write channel which haven\u2019t\nhad any data written to the channel yet."
+ },
+ "usd_blockattrib: stagehandle primpath name": {
+ "prefix": "usd_blockattrib(stagehandle, primpath, name)",
+ "body": "usd_blockattrib(${1:stagehandle}, ${2:primpath}, ${3:name})",
+ "scope": "source.vex",
+ "description": "Blocks the attribute."
+ },
+ "attribtype: geometry attribclass attribute_name": {
+ "prefix": "attribtype(geometry, attribclass, attribute_name)",
+ "body": "attribtype(${1:geometry}, ${2:attribclass}, ${3:attribute_name})",
+ "scope": "source.vex",
+ "description": "Returns the type of a geometry attribute."
+ },
+ "objectstate: query value": {
+ "prefix": "objectstate(query, value)",
+ "body": "objectstate(${1:query}, ${2:value})",
+ "scope": "source.vex",
+ "description": "Queries the renderer for a named property."
+ },
+ "neighbours: geometry ptnum": {
+ "prefix": "neighbours(geometry, ptnum)",
+ "body": "neighbours(${1:geometry}, ${2:ptnum})",
+ "scope": "source.vex",
+ "description": "Returns an array of the point numbers of the neighbours of a point."
+ },
+ "pcexport: handle channel_name value ...": {
+ "prefix": "pcexport(handle, channel_name, value, ...)",
+ "body": "pcexport(${1:handle}, ${2:channel_name}, ${3:value}, ${4:...})",
+ "scope": "source.vex",
+ "description": "Writes data to a point cloud inside a pciterate or a pcunshaded loop."
+ },
+ "pcexport: handle channel_name value radius ...": {
+ "prefix": "pcexport(handle, channel_name, value, radius, ...)",
+ "body": "pcexport(${1:handle}, ${2:channel_name}, ${3:value}, ${4:radius}, ${5:...})",
+ "scope": "source.vex",
+ "description": "Writes data to a point cloud inside a pciterate or a pcunshaded loop."
+ },
+ "sample_circle_slice: center maxangle u": {
+ "prefix": "sample_circle_slice(center, maxangle, u)",
+ "body": "sample_circle_slice(${1:center}, ${2:maxangle}, ${3:u})",
+ "scope": "source.vex",
+ "description": "Generates a uniform vector2 with length < 1, within maxangle of center, given a vector2 of uniform numbers between 0 and 1."
+ },
+ "prim: geometry attribute_name primnumber": {
+ "prefix": "prim(geometry, attribute_name, primnumber)",
+ "body": "prim(${1:geometry}, ${2:attribute_name}, ${3:primnumber})",
+ "scope": "source.vex",
+ "description": "Reads a primitive attribute value from a geometry."
+ },
+ "setvertexattrib: geohandle name prim_num vertex_num value mode": {
+ "prefix": "setvertexattrib(geohandle, name, prim_num, vertex_num, value, mode)",
+ "body": "setvertexattrib(${1:geohandle}, ${2:name}, ${3:prim_num}, ${4:vertex_num}, ${5:value}, ${6:mode})",
+ "scope": "source.vex",
+ "description": "Sets a vertex attribute in a geometry."
+ },
+ "vertexhedge: geometry vertex": {
+ "prefix": "vertexhedge(geometry, vertex)",
+ "body": "vertexhedge(${1:geometry}, ${2:vertex})",
+ "scope": "source.vex",
+ "description": "Returns the half-edge which has a vertex as source."
+ },
+ "setdetailintrinsic: geohandle name value mode": {
+ "prefix": "setdetailintrinsic(geohandle, name, value, mode)",
+ "body": "setdetailintrinsic(${1:geohandle}, ${2:name}, ${3:value}, ${4:mode})",
+ "scope": "source.vex",
+ "description": "Sets the value of a writeable detail intrinsic attribute."
+ },
+ "usd_findtransformname: stage primpath suffix": {
+ "prefix": "usd_findtransformname(stage, primpath, suffix)",
+ "body": "usd_findtransformname(${1:stage}, ${2:primpath}, ${3:suffix})",
+ "scope": "source.vex",
+ "description": "Retrurns primitive\u2019s transform operation full name for given the transform operation suffix"
+ },
+ "hair: N tip lobe_shift lobe_width_lon ...": {
+ "prefix": "hair(N, tip, lobe_shift, lobe_width_lon, ...)",
+ "body": "hair(${1:N}, ${2:tip}, ${3:lobe_shift}, ${4:lobe_width_lon}, ${5:...})",
+ "scope": "source.vex",
+ "description": "Returns a BSDF for shading hair."
+ },
+ "hair: N tip lobe_shift lobe_width_lon lobe_with_azi ...": {
+ "prefix": "hair(N, tip, lobe_shift, lobe_width_lon, lobe_with_azi, ...)",
+ "body": "hair(${1:N}, ${2:tip}, ${3:lobe_shift}, ${4:lobe_width_lon}, ${5:lobe_with_azi}, ${6:...})",
+ "scope": "source.vex",
+ "description": "Returns a BSDF for shading hair."
+ },
+ "hair: N tip lobe_shift lobe_width_lon lobe_with_azi glint_shift glint_intensity ...": {
+ "prefix": "hair(N, tip, lobe_shift, lobe_width_lon, lobe_with_azi, glint_shift, glint_intensity, ...)",
+ "body": "hair(${1:N}, ${2:tip}, ${3:lobe_shift}, ${4:lobe_width_lon}, ${5:lobe_with_azi}, ${6:glint_shift}, ${7:glint_intensity}, ${8:...})",
+ "scope": "source.vex",
+ "description": "Returns a BSDF for shading hair."
+ },
+ "rstrip: value": {
+ "prefix": "rstrip(value)",
+ "body": "rstrip(${1:value})",
+ "scope": "source.vex",
+ "description": "Strips trailing whitespace from a string."
+ },
+ "rstrip: value whitespace": {
+ "prefix": "rstrip(value, whitespace)",
+ "body": "rstrip(${1:value}, ${2:whitespace})",
+ "scope": "source.vex",
+ "description": "Strips trailing whitespace from a string."
+ },
+ "usd_collectionexpansionrule: stage collectionpath": {
+ "prefix": "usd_collectionexpansionrule(stage, collectionpath)",
+ "body": "usd_collectionexpansionrule(${1:stage}, ${2:collectionpath})",
+ "scope": "source.vex",
+ "description": "Obtains the collection\u2019s expansion rule"
+ },
+ "ocean_sample: geometry phase frequency amplitude hscale time mode downsample pos": {
+ "prefix": "ocean_sample(geometry, phase, frequency, amplitude, hscale, time, mode, downsample, pos)",
+ "body": "ocean_sample(${1:geometry}, ${2:phase}, ${3:frequency}, ${4:amplitude}, ${5:hscale}, ${6:time}, ${7:mode}, ${8:downsample}, ${9:pos})",
+ "scope": "source.vex",
+ "description": "Evaluates an ocean spectrum and samples the result at a given time and location."
+ },
+ "ord: value": {
+ "prefix": "ord(value)",
+ "body": "ord(${1:value})",
+ "scope": "source.vex",
+ "description": "Converts an UTF8 string into a codepoint."
+ },
+ "chp: channel": {
+ "prefix": "chp(channel)",
+ "body": "chp(${1:channel})",
+ "scope": "source.vex",
+ "description": "Evaluates a channel (or parameter) and return its value."
+ },
+ "chp: channel time": {
+ "prefix": "chp(channel, time)",
+ "body": "chp(${1:channel}, ${2:time})",
+ "scope": "source.vex",
+ "description": "Evaluates a channel (or parameter) and return its value."
+ },
+ "ichname: inputnum plane_index component_index": {
+ "prefix": "ichname(inputnum, plane_index, component_index)",
+ "body": "ichname(${1:inputnum}, ${2:plane_index}, ${3:component_index})",
+ "scope": "source.vex",
+ "description": "Returns the channel name of the indexed plane of the given input."
+ },
+ "pointattribtypeinfo: geometry attribute_name": {
+ "prefix": "pointattribtypeinfo(geometry, attribute_name)",
+ "body": "pointattribtypeinfo(${1:geometry}, ${2:attribute_name})",
+ "scope": "source.vex",
+ "description": "Returns the type info of a geometry attribute."
+ },
+ "create_cdf: pdf": {
+ "prefix": "create_cdf(pdf)",
+ "body": "create_cdf(${1:pdf})",
+ "scope": "source.vex",
+ "description": "Creates a CDF from an array of input PDF values."
+ },
+ "solvepoly: coef roots maxiter": {
+ "prefix": "solvepoly(coef, roots, maxiter)",
+ "body": "solvepoly(${1:coef}, ${2:roots}, ${3:maxiter})",
+ "scope": "source.vex",
+ "description": "Finds the real roots of a polynomial."
+ },
+ "chf: channel": {
+ "prefix": "chf(channel)",
+ "body": "chf(${1:channel})",
+ "scope": "source.vex",
+ "description": "Evaluates a channel (or parameter) and return its value."
+ },
+ "chf: channel time_in_sec": {
+ "prefix": "chf(channel, time_in_sec)",
+ "body": "chf(${1:channel}, ${2:time_in_sec})",
+ "scope": "source.vex",
+ "description": "Evaluates a channel (or parameter) and return its value."
+ },
+ "chf: op_id parm_index vector_index": {
+ "prefix": "chf(op_id, parm_index, vector_index)",
+ "body": "chf(${1:op_id}, ${2:parm_index}, ${3:vector_index})",
+ "scope": "source.vex",
+ "description": "Evaluates a channel (or parameter) and return its value."
+ },
+ "chf: op_id parm_index vector_index time_in_sec": {
+ "prefix": "chf(op_id, parm_index, vector_index, time_in_sec)",
+ "body": "chf(${1:op_id}, ${2:parm_index}, ${3:vector_index}, ${4:time_in_sec})",
+ "scope": "source.vex",
+ "description": "Evaluates a channel (or parameter) and return its value."
+ },
+ "agentclipsample: geometry prim clipname time channel_index": {
+ "prefix": "agentclipsample(geometry, prim, clipname, time, channel_index)",
+ "body": "agentclipsample(${1:geometry}, ${2:prim}, ${3:clipname}, ${4:time}, ${5:channel_index})",
+ "scope": "source.vex",
+ "description": "Samples a channel of an agent\u2019s clip at a specific time."
+ },
+ "agentclipsample: geometry prim clipname time channel": {
+ "prefix": "agentclipsample(geometry, prim, clipname, time, channel)",
+ "body": "agentclipsample(${1:geometry}, ${2:prim}, ${3:clipname}, ${4:time}, ${5:channel})",
+ "scope": "source.vex",
+ "description": "Samples a channel of an agent\u2019s clip at a specific time."
+ },
+ "instance: P N": {
+ "prefix": "instance(P, N)",
+ "body": "instance(${1:P}, ${2:N})",
+ "scope": "source.vex",
+ "description": "Creates an instance transform matrix."
+ },
+ "instance: P N scale": {
+ "prefix": "instance(P, N, scale)",
+ "body": "instance(${1:P}, ${2:N}, ${3:scale})",
+ "scope": "source.vex",
+ "description": "Creates an instance transform matrix."
+ },
+ "instance: P N scale pivot": {
+ "prefix": "instance(P, N, scale, pivot)",
+ "body": "instance(${1:P}, ${2:N}, ${3:scale}, ${4:pivot})",
+ "scope": "source.vex",
+ "description": "Creates an instance transform matrix."
+ },
+ "instance: P N scale rotate up": {
+ "prefix": "instance(P, N, scale, rotate, up)",
+ "body": "instance(${1:P}, ${2:N}, ${3:scale}, ${4:rotate}, ${5:up})",
+ "scope": "source.vex",
+ "description": "Creates an instance transform matrix."
+ },
+ "instance: P N scale rotate up pivot": {
+ "prefix": "instance(P, N, scale, rotate, up, pivot)",
+ "body": "instance(${1:P}, ${2:N}, ${3:scale}, ${4:rotate}, ${5:up}, ${6:pivot})",
+ "scope": "source.vex",
+ "description": "Creates an instance transform matrix."
+ },
+ "instance: P N scale rotate orient": {
+ "prefix": "instance(P, N, scale, rotate, orient)",
+ "body": "instance(${1:P}, ${2:N}, ${3:scale}, ${4:rotate}, ${5:orient})",
+ "scope": "source.vex",
+ "description": "Creates an instance transform matrix."
+ },
+ "instance: P N scale rotate orient pivot": {
+ "prefix": "instance(P, N, scale, rotate, orient, pivot)",
+ "body": "instance(${1:P}, ${2:N}, ${3:scale}, ${4:rotate}, ${5:orient}, ${6:pivot})",
+ "scope": "source.vex",
+ "description": "Creates an instance transform matrix."
+ },
+ "agentcliptransformgroups: geometry prim": {
+ "prefix": "agentcliptransformgroups(geometry, prim)",
+ "body": "agentcliptransformgroups(${1:geometry}, ${2:prim})",
+ "scope": "source.vex",
+ "description": "Returns the transform groups for an agent primitive\u2019s current animation clips."
+ },
+ "chexprf: channel new_expr_function frame": {
+ "prefix": "chexprf(channel, new_expr_function, frame)",
+ "body": "chexprf(${1:channel}, ${2:new_expr_function}, ${3:frame})",
+ "scope": "source.vex",
+ "description": "Evaluates a channel with a new segment expression at a given frame."
+ },
+ "metaimport: handle attrib P value": {
+ "prefix": "metaimport(handle, attrib, P, value)",
+ "body": "metaimport(${1:handle}, ${2:attrib}, ${3:P}, ${4:value})",
+ "scope": "source.vex",
+ "description": "Once you get a handle to a metaball using metastart and metanext, you\ncan query attributes of the metaball with metaimport."
+ },
+ "metaimport: file attribute P": {
+ "prefix": "metaimport(file, attribute, P)",
+ "body": "metaimport(${1:file}, ${2:attribute}, ${3:P})",
+ "scope": "source.vex",
+ "description": "Once you get a handle to a metaball using metastart and metanext, you\ncan query attributes of the metaball with metaimport."
+ },
+ "metastart: filename p": {
+ "prefix": "metastart(filename, p)",
+ "body": "metastart(${1:filename}, ${2:p})",
+ "scope": "source.vex",
+ "description": "Open a geometry file and return a \"handle\" for the metaballs of\ninterest, at the position p."
+ },
+ "encode: str": {
+ "prefix": "encode(str)",
+ "body": "encode(${1:str})",
+ "scope": "source.vex",
+ "description": "Encodes any string into a valid variable name."
+ },
+ "luminance: rgb": {
+ "prefix": "luminance(rgb)",
+ "body": "luminance(${1:rgb})",
+ "scope": "source.vex",
+ "description": "Compute the luminance of the RGB color specified by the parameters."
+ },
+ "luminance: r g b": {
+ "prefix": "luminance(r, g, b)",
+ "body": "luminance(${1:r}, ${2:g}, ${3:b})",
+ "scope": "source.vex",
+ "description": "Compute the luminance of the RGB color specified by the parameters."
+ },
+ "mwnoise: position seed f1 f2": {
+ "prefix": "mwnoise(position, seed, f1, f2)",
+ "body": "mwnoise(${1:position}, ${2:seed}, ${3:f1}, ${4:f2})",
+ "scope": "source.vex",
+ "description": "Generates Worley (cellular) noise using a Manhattan distance metric."
+ },
+ "mwnoise: position seed f1 f2 f3 f4": {
+ "prefix": "mwnoise(position, seed, f1, f2, f3, f4)",
+ "body": "mwnoise(${1:position}, ${2:seed}, ${3:f1}, ${4:f2}, ${5:f3}, ${6:f4})",
+ "scope": "source.vex",
+ "description": "Generates Worley (cellular) noise using a Manhattan distance metric."
+ },
+ "mwnoise: position seed f1 f2 peiod": {
+ "prefix": "mwnoise(position, seed, f1, f2, peiod)",
+ "body": "mwnoise(${1:position}, ${2:seed}, ${3:f1}, ${4:f2}, ${5:peiod})",
+ "scope": "source.vex",
+ "description": "Generates Worley (cellular) noise using a Manhattan distance metric."
+ },
+ "mwnoise: position seed f1 f2 f4 f4 period": {
+ "prefix": "mwnoise(position, seed, f1, f2, f4, f4, period)",
+ "body": "mwnoise(${1:position}, ${2:seed}, ${3:f1}, ${4:f2}, ${5:f4}, ${6:f4}, ${7:period})",
+ "scope": "source.vex",
+ "description": "Generates Worley (cellular) noise using a Manhattan distance metric."
+ },
+ "mwnoise: posx posy seed f1 f2": {
+ "prefix": "mwnoise(posx, posy, seed, f1, f2)",
+ "body": "mwnoise(${1:posx}, ${2:posy}, ${3:seed}, ${4:f1}, ${5:f2})",
+ "scope": "source.vex",
+ "description": "Generates Worley (cellular) noise using a Manhattan distance metric."
+ },
+ "mwnoise: posx posy seed f1 f2 f3 f4": {
+ "prefix": "mwnoise(posx, posy, seed, f1, f2, f3, f4)",
+ "body": "mwnoise(${1:posx}, ${2:posy}, ${3:seed}, ${4:f1}, ${5:f2}, ${6:f3}, ${7:f4})",
+ "scope": "source.vex",
+ "description": "Generates Worley (cellular) noise using a Manhattan distance metric."
+ },
+ "mwnoise: posx posy seed f1 f2 periodx periody": {
+ "prefix": "mwnoise(posx, posy, seed, f1, f2, periodx, periody)",
+ "body": "mwnoise(${1:posx}, ${2:posy}, ${3:seed}, ${4:f1}, ${5:f2}, ${6:periodx}, ${7:periody})",
+ "scope": "source.vex",
+ "description": "Generates Worley (cellular) noise using a Manhattan distance metric."
+ },
+ "mwnoise: posx posy seed f1 f2 f3 f4 periodx periody": {
+ "prefix": "mwnoise(posx, posy, seed, f1, f2, f3, f4, periodx, periody)",
+ "body": "mwnoise(${1:posx}, ${2:posy}, ${3:seed}, ${4:f1}, ${5:f2}, ${6:f3}, ${7:f4}, ${8:periodx}, ${9:periody})",
+ "scope": "source.vex",
+ "description": "Generates Worley (cellular) noise using a Manhattan distance metric."
+ },
+ "mwnoise: position seed f1 f2 periodx periody": {
+ "prefix": "mwnoise(position, seed, f1, f2, periodx, periody)",
+ "body": "mwnoise(${1:position}, ${2:seed}, ${3:f1}, ${4:f2}, ${5:periodx}, ${6:periody})",
+ "scope": "source.vex",
+ "description": "Generates Worley (cellular) noise using a Manhattan distance metric."
+ },
+ "mwnoise: position seed f1 f2 f3 f4 periodx periody": {
+ "prefix": "mwnoise(position, seed, f1, f2, f3, f4, periodx, periody)",
+ "body": "mwnoise(${1:position}, ${2:seed}, ${3:f1}, ${4:f2}, ${5:f3}, ${6:f4}, ${7:periodx}, ${8:periody})",
+ "scope": "source.vex",
+ "description": "Generates Worley (cellular) noise using a Manhattan distance metric."
+ },
+ "mwnoise: position seed f1 f2 periodx periody periodx": {
+ "prefix": "mwnoise(position, seed, f1, f2, periodx, periody, periodx)",
+ "body": "mwnoise(${1:position}, ${2:seed}, ${3:f1}, ${4:f2}, ${5:periodx}, ${6:periody}, ${7:periodx})",
+ "scope": "source.vex",
+ "description": "Generates Worley (cellular) noise using a Manhattan distance metric."
+ },
+ "mwnoise: position seed f1 f2 f3 f4 periodx periody periodz": {
+ "prefix": "mwnoise(position, seed, f1, f2, f3, f4, periodx, periody, periodz)",
+ "body": "mwnoise(${1:position}, ${2:seed}, ${3:f1}, ${4:f2}, ${5:f3}, ${6:f4}, ${7:periodx}, ${8:periody}, ${9:periodz})",
+ "scope": "source.vex",
+ "description": "Generates Worley (cellular) noise using a Manhattan distance metric."
+ },
+ "mwnoise: position seed f1 f2 periodx periody periodz periodw": {
+ "prefix": "mwnoise(position, seed, f1, f2, periodx, periody, periodz, periodw)",
+ "body": "mwnoise(${1:position}, ${2:seed}, ${3:f1}, ${4:f2}, ${5:periodx}, ${6:periody}, ${7:periodz}, ${8:periodw})",
+ "scope": "source.vex",
+ "description": "Generates Worley (cellular) noise using a Manhattan distance metric."
+ },
+ "mwnoise: position seed f1 f2 f3 f4 periodx periody periodz periodw": {
+ "prefix": "mwnoise(position, seed, f1, f2, f3, f4, periodx, periody, periodz, periodw)",
+ "body": "mwnoise(${1:position}, ${2:seed}, ${3:f1}, ${4:f2}, ${5:f3}, ${6:f4}, ${7:periodx}, ${8:periody}, ${9:periodz}, ${10:periodw})",
+ "scope": "source.vex",
+ "description": "Generates Worley (cellular) noise using a Manhattan distance metric."
+ },
+ "usd_getbounds: stage primpath purpose min max": {
+ "prefix": "usd_getbounds(stage, primpath, purpose, min, max)",
+ "body": "usd_getbounds(${1:stage}, ${2:primpath}, ${3:purpose}, ${4:min}, ${5:max})",
+ "scope": "source.vex",
+ "description": "Obtains the primitive\u2019s bounds"
+ },
+ "usd_getbounds: stage primpath purpose timecode min max": {
+ "prefix": "usd_getbounds(stage, primpath, purpose, timecode, min, max)",
+ "body": "usd_getbounds(${1:stage}, ${2:primpath}, ${3:purpose}, ${4:timecode}, ${5:min}, ${6:max})",
+ "scope": "source.vex",
+ "description": "Obtains the primitive\u2019s bounds"
+ },
+ "usd_getpointinstancebounds: stage primpath instance_index purpose min max": {
+ "prefix": "usd_getpointinstancebounds(stage, primpath, instance_index, purpose, min, max)",
+ "body": "usd_getpointinstancebounds(${1:stage}, ${2:primpath}, ${3:instance_index}, ${4:purpose}, ${5:min}, ${6:max})",
+ "scope": "source.vex",
+ "description": "Obtains the primitive\u2019s bounds"
+ },
+ "usd_getpointinstancebounds: stage primpath instance_index purpose timecode min max": {
+ "prefix": "usd_getpointinstancebounds(stage, primpath, instance_index, purpose, timecode, min, max)",
+ "body": "usd_getpointinstancebounds(${1:stage}, ${2:primpath}, ${3:instance_index}, ${4:purpose}, ${5:timecode}, ${6:min}, ${7:max})",
+ "scope": "source.vex",
+ "description": "Obtains the primitive\u2019s bounds"
+ },
+ "__uniform_premul: a b": {
+ "prefix": "__uniform_premul(a, b)",
+ "body": "__uniform_premul(${1:a}, ${2:b})",
+ "scope": "source.vex",
+ "description": "Pre multiply matrices."
+ },
+ "__uniform_premul: m a b": {
+ "prefix": "__uniform_premul(m, a, b)",
+ "body": "__uniform_premul(${1:m}, ${2:a}, ${3:b})",
+ "scope": "source.vex",
+ "description": "Pre multiply matrices."
+ },
+ "usd_primvartimesamples: stage primpath name": {
+ "prefix": "usd_primvartimesamples(stage, primpath, name)",
+ "body": "usd_primvartimesamples(${1:stage}, ${2:primpath}, ${3:name})",
+ "scope": "source.vex",
+ "description": "Returns the time codes at which the primvar values are authored."
+ },
+ "chname: plane_index chindex": {
+ "prefix": "chname(plane_index, chindex)",
+ "body": "chname(${1:plane_index}, ${2:chindex})",
+ "scope": "source.vex",
+ "description": "Returns the name of a numbered channel."
+ },
+ "chname: channel_index": {
+ "prefix": "chname(channel_index)",
+ "body": "chname(${1:channel_index})",
+ "scope": "source.vex",
+ "description": "Returns the name of a numbered channel."
+ },
+ "chname: opinput channel_index": {
+ "prefix": "chname(opinput, channel_index)",
+ "body": "chname(${1:opinput}, ${2:channel_index})",
+ "scope": "source.vex",
+ "description": "Returns the name of a numbered channel."
+ },
+ "ocio_activedisplays: ": {
+ "prefix": "ocio_activedisplays()",
+ "body": "ocio_activedisplays()",
+ "scope": "source.vex",
+ "description": "Returns the names of active displays supported in Open Color IO"
+ },
+ "getscope: mat raystyle scope categories": {
+ "prefix": "getscope(mat, raystyle, scope, categories)",
+ "body": "getscope(${1:mat}, ${2:raystyle}, ${3:scope}, ${4:categories})",
+ "scope": "source.vex",
+ "description": "Returns a selection of objects visible to rays for a given material."
+ },
+ "pcsampleleaf: handle sample": {
+ "prefix": "pcsampleleaf(handle, sample)",
+ "body": "pcsampleleaf(${1:handle}, ${2:sample})",
+ "scope": "source.vex",
+ "description": "Changes the current iteration point to a leaf descendant of the current aggregate point."
+ },
+ "join: s spacer": {
+ "prefix": "join(s, spacer)",
+ "body": "join(${1:s}, ${2:spacer})",
+ "scope": "source.vex",
+ "description": "Concatenate all the strings of an array inserting a common spacer."
+ },
+ "usd_setattrib: stagehandle primpath name value": {
+ "prefix": "usd_setattrib(stagehandle, primpath, name, value)",
+ "body": "usd_setattrib(${1:stagehandle}, ${2:primpath}, ${3:name}, ${4:value})",
+ "scope": "source.vex",
+ "description": "Sets the value of an attribute."
+ },
+ "usd_variantsets: stage primpath": {
+ "prefix": "usd_variantsets(stage, primpath)",
+ "body": "usd_variantsets(${1:stage}, ${2:primpath})",
+ "scope": "source.vex",
+ "description": "Returns the variant sets available on a primitive."
+ },
+ "filamentsample: geometry position": {
+ "prefix": "filamentsample(geometry, position)",
+ "body": "filamentsample(${1:geometry}, ${2:position})",
+ "scope": "source.vex",
+ "description": "Samples the velocity field defined by a set of vortex filaments."
+ },
+ "usd_iscollectionpath: stage collectionpath": {
+ "prefix": "usd_iscollectionpath(stage, collectionpath)",
+ "body": "usd_iscollectionpath(${1:stage}, ${2:collectionpath})",
+ "scope": "source.vex",
+ "description": "Checks if the path is a valid collection path."
+ },
+ "usd_setactive: stagehandle primpath flag": {
+ "prefix": "usd_setactive(stagehandle, primpath, flag)",
+ "body": "usd_setactive(${1:stagehandle}, ${2:primpath}, ${3:flag})",
+ "scope": "source.vex",
+ "description": "Sets the primitive active state."
+ },
+ "islpeactive: ": {
+ "prefix": "islpeactive()",
+ "body": "islpeactive()",
+ "scope": "source.vex",
+ "description": "Returns 1 if Light Path Expressions are enabled. 0 Otherwise."
+ },
+ "ptransform: vec transform": {
+ "prefix": "ptransform(vec, transform)",
+ "body": "ptransform(${1:vec}, ${2:transform})",
+ "scope": "source.vex",
+ "description": "Transforms a vector from one space to another."
+ },
+ "ptransform: tospace vec": {
+ "prefix": "ptransform(tospace, vec)",
+ "body": "ptransform(${1:tospace}, ${2:vec})",
+ "scope": "source.vex",
+ "description": "Transforms a vector from one space to another."
+ },
+ "ptransform: fromspace tospace vec": {
+ "prefix": "ptransform(fromspace, tospace, vec)",
+ "body": "ptransform(${1:fromspace}, ${2:tospace}, ${3:vec})",
+ "scope": "source.vex",
+ "description": "Transforms a vector from one space to another."
+ },
+ "volumeindextopos: geometry primnum voxel": {
+ "prefix": "volumeindextopos(geometry, primnum, voxel)",
+ "body": "volumeindextopos(${1:geometry}, ${2:primnum}, ${3:voxel})",
+ "scope": "source.vex",
+ "description": "Converts a volume voxel index into a position."
+ },
+ "volumeindextopos: geometry volumename voxel": {
+ "prefix": "volumeindextopos(geometry, volumename, voxel)",
+ "body": "volumeindextopos(${1:geometry}, ${2:volumename}, ${3:voxel})",
+ "scope": "source.vex",
+ "description": "Converts a volume voxel index into a position."
+ },
+ "tw_nspace: v": {
+ "prefix": "tw_nspace(v)",
+ "body": "tw_nspace(${1:v})",
+ "scope": "source.vex",
+ "description": "Transforms a normal vector from Texture to World space."
+ },
+ "attribsize: geometry attribclass attribute_name": {
+ "prefix": "attribsize(geometry, attribclass, attribute_name)",
+ "body": "attribsize(${1:geometry}, ${2:attribclass}, ${3:attribute_name})",
+ "scope": "source.vex",
+ "description": "Returns the size of a geometry attribute."
+ },
+ "makebasis: xaxis yaxis zaxis": {
+ "prefix": "makebasis(xaxis, yaxis, zaxis)",
+ "body": "makebasis(${1:xaxis}, ${2:yaxis}, ${3:zaxis})",
+ "scope": "source.vex",
+ "description": "Creates an orthonormal basis given a z-axis vector."
+ },
+ "makebasis: xaxis yaxis zaxis u": {
+ "prefix": "makebasis(xaxis, yaxis, zaxis, u)",
+ "body": "makebasis(${1:xaxis}, ${2:yaxis}, ${3:zaxis}, ${4:u})",
+ "scope": "source.vex",
+ "description": "Creates an orthonormal basis given a z-axis vector."
+ },
+ "pointhedgenext: geometry hedge": {
+ "prefix": "pointhedgenext(geometry, hedge)",
+ "body": "pointhedgenext(${1:geometry}, ${2:hedge})",
+ "scope": "source.vex",
+ "description": "Returns the next half-edge with the same source as a given half-edge."
+ },
+ "setpointgroup: geohandle name point_num value mode": {
+ "prefix": "setpointgroup(geohandle, name, point_num, value, mode)",
+ "body": "setpointgroup(${1:geohandle}, ${2:name}, ${3:point_num}, ${4:value}, ${5:mode})",
+ "scope": "source.vex",
+ "description": "Adds or removes a point to/from a group in a geometry."
+ },
+ "packedtransform: input primnum transform": {
+ "prefix": "packedtransform(input, primnum, transform)",
+ "body": "packedtransform(${1:input}, ${2:primnum}, ${3:transform})",
+ "scope": "source.vex",
+ "description": "Transforms a packed primitive."
+ },
+ "prim_attribute: geometry value attribute_name prim_number u v": {
+ "prefix": "prim_attribute(geometry, value, attribute_name, prim_number, u, v)",
+ "body": "prim_attribute(${1:geometry}, ${2:value}, ${3:attribute_name}, ${4:prim_number}, ${5:u}, ${6:v})",
+ "scope": "source.vex",
+ "description": "Interpolates the value of an attribute at a certain parametric (u, v) position and copies it into a variable."
+ },
+ "prim_attribute: geometry value attribute_name prim_number uvw": {
+ "prefix": "prim_attribute(geometry, value, attribute_name, prim_number, uvw)",
+ "body": "prim_attribute(${1:geometry}, ${2:value}, ${3:attribute_name}, ${4:prim_number}, ${5:uvw})",
+ "scope": "source.vex",
+ "description": "Interpolates the value of an attribute at a certain parametric (u, v) position and copies it into a variable."
+ },
+ "usd_setprimvarinterpolation: stagehandle primpath name interpolation": {
+ "prefix": "usd_setprimvarinterpolation(stagehandle, primpath, name, interpolation)",
+ "body": "usd_setprimvarinterpolation(${1:stagehandle}, ${2:primpath}, ${3:name}, ${4:interpolation})",
+ "scope": "source.vex",
+ "description": "Sets the interpolation of a primvar."
+ },
+ "cosh: n": {
+ "prefix": "cosh(n)",
+ "body": "cosh(${1:n})",
+ "scope": "source.vex",
+ "description": "Returns the hyperbolic cosine of the argument."
+ },
+ "cosh: v": {
+ "prefix": "cosh(v)",
+ "body": "cosh(${1:v})",
+ "scope": "source.vex",
+ "description": "Returns the hyperbolic cosine of the argument."
+ },
+ "predicate_insphere: a b c d e": {
+ "prefix": "predicate_insphere(a, b, c, d, e)",
+ "body": "predicate_insphere(${1:a}, ${2:b}, ${3:c}, ${4:d}, ${5:e})",
+ "scope": "source.vex",
+ "description": "Determines if a point is inside or outside a tetrahedron circumsphere."
+ },
+ "noised: x v dvdx": {
+ "prefix": "noised(x, v, dvdx)",
+ "body": "noised(${1:x}, ${2:v}, ${3:dvdx})",
+ "scope": "source.vex",
+ "description": "Derivatives of Perlin Noise."
+ },
+ "noised: x y v dvdx dvdy": {
+ "prefix": "noised(x, y, v, dvdx, dvdy)",
+ "body": "noised(${1:x}, ${2:y}, ${3:v}, ${4:dvdx}, ${5:dvdy})",
+ "scope": "source.vex",
+ "description": "Derivatives of Perlin Noise."
+ },
+ "noised: xyz v dvdx dvdy dvdz": {
+ "prefix": "noised(xyz, v, dvdx, dvdy, dvdz)",
+ "body": "noised(${1:xyz}, ${2:v}, ${3:dvdx}, ${4:dvdy}, ${5:dvdz})",
+ "scope": "source.vex",
+ "description": "Derivatives of Perlin Noise."
+ },
+ "noised: xyzw v dvdx dvdy dvdz dvdw": {
+ "prefix": "noised(xyzw, v, dvdx, dvdy, dvdz, dvdw)",
+ "body": "noised(${1:xyzw}, ${2:v}, ${3:dvdx}, ${4:dvdy}, ${5:dvdz}, ${6:dvdw})",
+ "scope": "source.vex",
+ "description": "Derivatives of Perlin Noise."
+ },
+ "finput: u v ...": {
+ "prefix": "finput(u, v, ...)",
+ "body": "finput(${1:u}, ${2:v}, ${3:...})",
+ "scope": "source.vex",
+ "description": "Returns fully filtered pixel input."
+ },
+ "finput: component u v ...": {
+ "prefix": "finput(component, u, v, ...)",
+ "body": "finput(${1:component}, ${2:u}, ${3:v}, ${4:...})",
+ "scope": "source.vex",
+ "description": "Returns fully filtered pixel input."
+ },
+ "finput: opinput planeindex u v ...": {
+ "prefix": "finput(opinput, planeindex, u, v, ...)",
+ "body": "finput(${1:opinput}, ${2:planeindex}, ${3:u}, ${4:v}, ${5:...})",
+ "scope": "source.vex",
+ "description": "Returns fully filtered pixel input."
+ },
+ "finput: opinput planeindex component u v ...": {
+ "prefix": "finput(opinput, planeindex, component, u, v, ...)",
+ "body": "finput(${1:opinput}, ${2:planeindex}, ${3:component}, ${4:u}, ${5:v}, ${6:...})",
+ "scope": "source.vex",
+ "description": "Returns fully filtered pixel input."
+ },
+ "finput: opinput planeindex arrayindex u v frame ...": {
+ "prefix": "finput(opinput, planeindex, arrayindex, u, v, frame, ...)",
+ "body": "finput(${1:opinput}, ${2:planeindex}, ${3:arrayindex}, ${4:u}, ${5:v}, ${6:frame}, ${7:...})",
+ "scope": "source.vex",
+ "description": "Returns fully filtered pixel input."
+ },
+ "finput: opinput planeindex arrayindex component u v frame ...": {
+ "prefix": "finput(opinput, planeindex, arrayindex, component, u, v, frame, ...)",
+ "body": "finput(${1:opinput}, ${2:planeindex}, ${3:arrayindex}, ${4:component}, ${5:u}, ${6:v}, ${7:frame}, ${8:...})",
+ "scope": "source.vex",
+ "description": "Returns fully filtered pixel input."
+ },
+ "pxnoise: x xp": {
+ "prefix": "pxnoise(x, xp)",
+ "body": "pxnoise(${1:x}, ${2:xp})",
+ "scope": "source.vex",
+ "description": "Simplex noise is very close to Perlin noise, except with the samples on a simplex mesh rather than a grid. This results in less grid artifacts. It also uses a higher order bspline to provide better derivatives. This is the periodic simplex noise"
+ },
+ "pxnoise: x y xp yp": {
+ "prefix": "pxnoise(x, y, xp, yp)",
+ "body": "pxnoise(${1:x}, ${2:y}, ${3:xp}, ${4:yp})",
+ "scope": "source.vex",
+ "description": "Simplex noise is very close to Perlin noise, except with the samples on a simplex mesh rather than a grid. This results in less grid artifacts. It also uses a higher order bspline to provide better derivatives. This is the periodic simplex noise"
+ },
+ "pxnoise: xyz xp yp zp": {
+ "prefix": "pxnoise(xyz, xp, yp, zp)",
+ "body": "pxnoise(${1:xyz}, ${2:xp}, ${3:yp}, ${4:zp})",
+ "scope": "source.vex",
+ "description": "Simplex noise is very close to Perlin noise, except with the samples on a simplex mesh rather than a grid. This results in less grid artifacts. It also uses a higher order bspline to provide better derivatives. This is the periodic simplex noise"
+ },
+ "pxnoise: xyzt xp yp zp wp": {
+ "prefix": "pxnoise(xyzt, xp, yp, zp, wp)",
+ "body": "pxnoise(${1:xyzt}, ${2:xp}, ${3:yp}, ${4:zp}, ${5:wp})",
+ "scope": "source.vex",
+ "description": "Simplex noise is very close to Perlin noise, except with the samples on a simplex mesh rather than a grid. This results in less grid artifacts. It also uses a higher order bspline to provide better derivatives. This is the periodic simplex noise"
+ },
+ "pointvertex: geometry point_num": {
+ "prefix": "pointvertex(geometry, point_num)",
+ "body": "pointvertex(${1:geometry}, ${2:point_num})",
+ "scope": "source.vex",
+ "description": "Returns a linear vertex number of a point in a geometry."
+ },
+ "oprawparmtransform: path": {
+ "prefix": "oprawparmtransform(path)",
+ "body": "oprawparmtransform(${1:path})",
+ "scope": "source.vex",
+ "description": "Returns the raw parm transform associated with an OP."
+ },
+ "oprawparmtransform: path time": {
+ "prefix": "oprawparmtransform(path, time)",
+ "body": "oprawparmtransform(${1:path}, ${2:time})",
+ "scope": "source.vex",
+ "description": "Returns the raw parm transform associated with an OP."
+ },
+ "oprawparmtransform: opid": {
+ "prefix": "oprawparmtransform(opid)",
+ "body": "oprawparmtransform(${1:opid})",
+ "scope": "source.vex",
+ "description": "Returns the raw parm transform associated with an OP."
+ },
+ "oprawparmtransform: opid time": {
+ "prefix": "oprawparmtransform(opid, time)",
+ "body": "oprawparmtransform(${1:opid}, ${2:time})",
+ "scope": "source.vex",
+ "description": "Returns the raw parm transform associated with an OP."
+ },
+ "oprawparmtransform: opid trsorder xyzorder mask": {
+ "prefix": "oprawparmtransform(opid, trsorder, xyzorder, mask)",
+ "body": "oprawparmtransform(${1:opid}, ${2:trsorder}, ${3:xyzorder}, ${4:mask})",
+ "scope": "source.vex",
+ "description": "Returns the raw parm transform associated with an OP."
+ },
+ "opparmtransform: path": {
+ "prefix": "opparmtransform(path)",
+ "body": "opparmtransform(${1:path})",
+ "scope": "source.vex",
+ "description": "Returns the parm transform associated with an OP."
+ },
+ "opparmtransform: path time": {
+ "prefix": "opparmtransform(path, time)",
+ "body": "opparmtransform(${1:path}, ${2:time})",
+ "scope": "source.vex",
+ "description": "Returns the parm transform associated with an OP."
+ },
+ "opparmtransform: opid": {
+ "prefix": "opparmtransform(opid)",
+ "body": "opparmtransform(${1:opid})",
+ "scope": "source.vex",
+ "description": "Returns the parm transform associated with an OP."
+ },
+ "opparmtransform: opid time": {
+ "prefix": "opparmtransform(opid, time)",
+ "body": "opparmtransform(${1:opid}, ${2:time})",
+ "scope": "source.vex",
+ "description": "Returns the parm transform associated with an OP."
+ },
+ "ntransform: v transform": {
+ "prefix": "ntransform(v, transform)",
+ "body": "ntransform(${1:v}, ${2:transform})",
+ "scope": "source.vex",
+ "description": "Transforms a normal vector."
+ },
+ "ntransform: tospace v": {
+ "prefix": "ntransform(tospace, v)",
+ "body": "ntransform(${1:tospace}, ${2:v})",
+ "scope": "source.vex",
+ "description": "Transforms a normal vector."
+ },
+ "ntransform: fromspace tospace v": {
+ "prefix": "ntransform(fromspace, tospace, v)",
+ "body": "ntransform(${1:fromspace}, ${2:tospace}, ${3:v})",
+ "scope": "source.vex",
+ "description": "Transforms a normal vector."
+ },
+ "usd_addcollectionexclude: stagehandle collectionpath path": {
+ "prefix": "usd_addcollectionexclude(stagehandle, collectionpath, path)",
+ "body": "usd_addcollectionexclude(${1:stagehandle}, ${2:collectionpath}, ${3:path})",
+ "scope": "source.vex",
+ "description": "Excludes an object from the collection"
+ },
+ "occlusion: P N ...": {
+ "prefix": "occlusion(P, N, ...)",
+ "body": "occlusion(${1:P}, ${2:N}, ${3:...})",
+ "scope": "source.vex",
+ "description": "Computes ambient occlusion."
+ },
+ "occlusion: coverage missed_direction P N ...": {
+ "prefix": "occlusion(coverage, missed_direction, P, N, ...)",
+ "body": "occlusion(${1:coverage}, ${2:missed_direction}, ${3:P}, ${4:N}, ${5:...})",
+ "scope": "source.vex",
+ "description": "Computes ambient occlusion."
+ },
+ "ndcdepth: z": {
+ "prefix": "ndcdepth(z)",
+ "body": "ndcdepth(${1:z})",
+ "scope": "source.vex",
+ "description": "Returns the camera space z-depth of the NDC z-depth value."
+ },
+ "decodeattrib: str": {
+ "prefix": "decodeattrib(str)",
+ "body": "decodeattrib(${1:str})",
+ "scope": "source.vex",
+ "description": "Decodes a geometry attribute name that was previously encoded."
+ },
+ "adddetailattrib: geohandle name defvalue": {
+ "prefix": "adddetailattrib(geohandle, name, defvalue)",
+ "body": "adddetailattrib(${1:geohandle}, ${2:name}, ${3:defvalue})",
+ "scope": "source.vex",
+ "description": "Adds a detail attribute to a geometry."
+ },
+ "adddetailattrib: geohandle name defvalue typeinfo": {
+ "prefix": "adddetailattrib(geohandle, name, defvalue, typeinfo)",
+ "body": "adddetailattrib(${1:geohandle}, ${2:name}, ${3:defvalue}, ${4:typeinfo})",
+ "scope": "source.vex",
+ "description": "Adds a detail attribute to a geometry."
+ },
+ "agenttransformcount: geometry prim": {
+ "prefix": "agenttransformcount(geometry, prim)",
+ "body": "agenttransformcount(${1:geometry}, ${2:prim})",
+ "scope": "source.vex",
+ "description": "Returns the number of transforms in an agent primitive\u2019s rig."
+ },
+ "sample_discrete: nvalues u": {
+ "prefix": "sample_discrete(nvalues, u)",
+ "body": "sample_discrete(${1:nvalues}, ${2:u})",
+ "scope": "source.vex",
+ "description": "Returns an integer, either uniform or weighted, given a uniform number between 0 and 1."
+ },
+ "sample_discrete: weights u": {
+ "prefix": "sample_discrete(weights, u)",
+ "body": "sample_discrete(${1:weights}, ${2:u})",
+ "scope": "source.vex",
+ "description": "Returns an integer, either uniform or weighted, given a uniform number between 0 and 1."
+ },
+ "getderiv: attr attrName isVertexAttr s t du dv ...": {
+ "prefix": "getderiv(attr, attrName, isVertexAttr, s, t, du, dv, ...)",
+ "body": "getderiv(${1:attr}, ${2:attrName}, ${3:isVertexAttr}, ${4:s}, ${5:t}, ${6:du}, ${7:dv}, ${8:...})",
+ "scope": "source.vex",
+ "description": "Evaluates surface derivatives of an attribute."
+ },
+ "pcline: geometry PChannel P dir max_distance maxpoints": {
+ "prefix": "pcline(geometry, PChannel, P, dir, max_distance, maxpoints)",
+ "body": "pcline(${1:geometry}, ${2:PChannel}, ${3:P}, ${4:dir}, ${5:max_distance}, ${6:maxpoints})",
+ "scope": "source.vex",
+ "description": "Returns a list of closest points to an infinite line from a specified file"
+ },
+ "pcline: geometry ptgroup PChannel P dir max_distance maxpoints": {
+ "prefix": "pcline(geometry, ptgroup, PChannel, P, dir, max_distance, maxpoints)",
+ "body": "pcline(${1:geometry}, ${2:ptgroup}, ${3:PChannel}, ${4:P}, ${5:dir}, ${6:max_distance}, ${7:maxpoints})",
+ "scope": "source.vex",
+ "description": "Returns a list of closest points to an infinite line from a specified file"
+ },
+ "primattrib: geometry attribute_name prim success": {
+ "prefix": "primattrib(geometry, attribute_name, prim, success)",
+ "body": "primattrib(${1:geometry}, ${2:attribute_name}, ${3:prim}, ${4:success})",
+ "scope": "source.vex",
+ "description": "Reads a primitive attribute value from a geometry, outputting a success flag."
+ },
+ "pointprims: geometry ptnum": {
+ "prefix": "pointprims(geometry, ptnum)",
+ "body": "pointprims(${1:geometry}, ${2:ptnum})",
+ "scope": "source.vex",
+ "description": "Returns the list of primitives containing a point."
+ },
+ "chu: channel": {
+ "prefix": "chu(channel)",
+ "body": "chu(${1:channel})",
+ "scope": "source.vex",
+ "description": "Evaluates a channel or parameter, and return its value."
+ },
+ "chu: channel time": {
+ "prefix": "chu(channel, time)",
+ "body": "chu(${1:channel}, ${2:time})",
+ "scope": "source.vex",
+ "description": "Evaluates a channel or parameter, and return its value."
+ },
+ "ch4: channel": {
+ "prefix": "ch4(channel)",
+ "body": "ch4(${1:channel})",
+ "scope": "source.vex",
+ "description": "Evaluates a channel (or parameter) and return its value."
+ },
+ "ch4: channel time": {
+ "prefix": "ch4(channel, time)",
+ "body": "ch4(${1:channel}, ${2:time})",
+ "scope": "source.vex",
+ "description": "Evaluates a channel (or parameter) and return its value."
+ },
+ "getbounds: filename min max": {
+ "prefix": "getbounds(filename, min, max)",
+ "body": "getbounds(${1:filename}, ${2:min}, ${3:max})",
+ "scope": "source.vex",
+ "description": "Returns the bounding box of the geometry specified by the filename."
+ },
+ "getbounds: filename group min max": {
+ "prefix": "getbounds(filename, group, min, max)",
+ "body": "getbounds(${1:filename}, ${2:group}, ${3:min}, ${4:max})",
+ "scope": "source.vex",
+ "description": "Returns the bounding box of the geometry specified by the filename."
+ },
+ "usd_isrelationship: stage primpath name": {
+ "prefix": "usd_isrelationship(stage, primpath, name)",
+ "body": "usd_isrelationship(${1:stage}, ${2:primpath}, ${3:name})",
+ "scope": "source.vex",
+ "description": "Checks if the primitive has a relationship by the given name."
+ },
+ "usd_isinstance: stage primpath": {
+ "prefix": "usd_isinstance(stage, primpath)",
+ "body": "usd_isinstance(${1:stage}, ${2:primpath})",
+ "scope": "source.vex",
+ "description": "Checks if the primitive is an instance."
+ },
+ "log10: n": {
+ "prefix": "log10(n)",
+ "body": "log10(${1:n})",
+ "scope": "source.vex",
+ "description": "Returns the logarithm (base 10) of the argument."
+ },
+ "sample_lognormal: mu sigma u": {
+ "prefix": "sample_lognormal(mu, sigma, u)",
+ "body": "sample_lognormal(${1:mu}, ${2:sigma}, ${3:u})",
+ "scope": "source.vex",
+ "description": "Samples the log-normal distribution based on parameters of the underlying normal distribution."
+ },
+ "sample_lognormal: mu sigma minvalue maxvalue u": {
+ "prefix": "sample_lognormal(mu, sigma, minvalue, maxvalue, u)",
+ "body": "sample_lognormal(${1:mu}, ${2:sigma}, ${3:minvalue}, ${4:maxvalue}, ${5:u})",
+ "scope": "source.vex",
+ "description": "Samples the log-normal distribution based on parameters of the underlying normal distribution."
+ },
+ "ceil: n": {
+ "prefix": "ceil(n)",
+ "body": "ceil(${1:n})",
+ "scope": "source.vex",
+ "description": "Returns the smallest integer greater than or equal to the argument."
+ },
+ "ceil: v": {
+ "prefix": "ceil(v)",
+ "body": "ceil(${1:v})",
+ "scope": "source.vex",
+ "description": "Returns the smallest integer greater than or equal to the argument."
+ },
+ "chexprt: channel new_expr_function time_in_seconds": {
+ "prefix": "chexprt(channel, new_expr_function, time_in_seconds)",
+ "body": "chexprt(${1:channel}, ${2:new_expr_function}, ${3:time_in_seconds})",
+ "scope": "source.vex",
+ "description": "Evaluates a channel with a new segment expression at a given time."
+ },
+ "sensor_panorama_getdepth: handle dir": {
+ "prefix": "sensor_panorama_getdepth(handle, dir)",
+ "body": "sensor_panorama_getdepth(${1:handle}, ${2:dir})",
+ "scope": "source.vex",
+ "description": "Sensor function query a rendered GL scene."
+ },
+ "agentclipcatalog: geometry prim": {
+ "prefix": "agentclipcatalog(geometry, prim)",
+ "body": "agentclipcatalog(${1:geometry}, ${2:prim})",
+ "scope": "source.vex",
+ "description": "Returns all of the animation clips that have been loaded for an agent primitive."
+ },
+ "anoise: pos": {
+ "prefix": "anoise(pos)",
+ "body": "anoise(${1:pos})",
+ "scope": "source.vex",
+ "description": "Generates \"alligator\" noise."
+ },
+ "anoise: pos turbulence rough atten": {
+ "prefix": "anoise(pos, turbulence, rough, atten)",
+ "body": "anoise(${1:pos}, ${2:turbulence}, ${3:rough}, ${4:atten})",
+ "scope": "source.vex",
+ "description": "Generates \"alligator\" noise."
+ },
+ "anoise: pos periodX periodY periodZ": {
+ "prefix": "anoise(pos, periodX, periodY, periodZ)",
+ "body": "anoise(${1:pos}, ${2:periodX}, ${3:periodY}, ${4:periodZ})",
+ "scope": "source.vex",
+ "description": "Generates \"alligator\" noise."
+ },
+ "anoise: pos periodX periodY periodZ turbulence rough atten": {
+ "prefix": "anoise(pos, periodX, periodY, periodZ, turbulence, rough, atten)",
+ "body": "anoise(${1:pos}, ${2:periodX}, ${3:periodY}, ${4:periodZ}, ${5:turbulence}, ${6:rough}, ${7:atten})",
+ "scope": "source.vex",
+ "description": "Generates \"alligator\" noise."
+ },
+ "wireblinn: tangent exponent ...": {
+ "prefix": "wireblinn(tangent, exponent, ...)",
+ "body": "wireblinn(${1:tangent}, ${2:exponent}, ${3:...})",
+ "scope": "source.vex",
+ "description": ""
+ },
+ "frontface: N I": {
+ "prefix": "frontface(N, I)",
+ "body": "frontface(${1:N}, ${2:I})",
+ "scope": "source.vex",
+ "description": "If dot(I, Nref) is less than zero, N will be negated."
+ },
+ "frontface: N I Nref": {
+ "prefix": "frontface(N, I, Nref)",
+ "body": "frontface(${1:N}, ${2:I}, ${3:Nref})",
+ "scope": "source.vex",
+ "description": "If dot(I, Nref) is less than zero, N will be negated."
+ },
+ "usd_attribelement: stage primpath name index": {
+ "prefix": "usd_attribelement(stage, primpath, name, index)",
+ "body": "usd_attribelement(${1:stage}, ${2:primpath}, ${3:name}, ${4:index})",
+ "scope": "source.vex",
+ "description": "Reads the value of an element from an array attribute."
+ },
+ "usd_attribelement: stage primpath name index timecode": {
+ "prefix": "usd_attribelement(stage, primpath, name, index, timecode)",
+ "body": "usd_attribelement(${1:stage}, ${2:primpath}, ${3:name}, ${4:index}, ${5:timecode})",
+ "scope": "source.vex",
+ "description": "Reads the value of an element from an array attribute."
+ },
+ "hedge_equivcount: geometry hedge": {
+ "prefix": "hedge_equivcount(geometry, hedge)",
+ "body": "hedge_equivcount(${1:geometry}, ${2:hedge})",
+ "scope": "source.vex",
+ "description": "Returns the number of half-edges equivalent to a given half-edge."
+ },
+ "usd_boundmaterialpath: stage primpath": {
+ "prefix": "usd_boundmaterialpath(stage, primpath)",
+ "body": "usd_boundmaterialpath(${1:stage}, ${2:primpath})",
+ "scope": "source.vex",
+ "description": "Returns the material path bound to a given primitive."
+ },
+ "colorname: ": {
+ "prefix": "colorname()",
+ "body": "colorname()",
+ "scope": "source.vex",
+ "description": "Returns the default name of the color plane (as it appears in the\ncompositor preferences)."
+ },
+ "ch: channel": {
+ "prefix": "ch(channel)",
+ "body": "ch(${1:channel})",
+ "scope": "source.vex",
+ "description": "Evaluates a channel (or parameter) and return its value."
+ },
+ "ch: channel time_in_sec": {
+ "prefix": "ch(channel, time_in_sec)",
+ "body": "ch(${1:channel}, ${2:time_in_sec})",
+ "scope": "source.vex",
+ "description": "Evaluates a channel (or parameter) and return its value."
+ },
+ "ch: op_id parm_index vector_index": {
+ "prefix": "ch(op_id, parm_index, vector_index)",
+ "body": "ch(${1:op_id}, ${2:parm_index}, ${3:vector_index})",
+ "scope": "source.vex",
+ "description": "Evaluates a channel (or parameter) and return its value."
+ },
+ "ch: op_id parm_index vector_index time_in_sec": {
+ "prefix": "ch(op_id, parm_index, vector_index, time_in_sec)",
+ "body": "ch(${1:op_id}, ${2:parm_index}, ${3:vector_index}, ${4:time_in_sec})",
+ "scope": "source.vex",
+ "description": "Evaluates a channel (or parameter) and return its value."
+ },
+ "osd_firstpatch: geometry face_id": {
+ "prefix": "osd_firstpatch(geometry, face_id)",
+ "body": "osd_firstpatch(${1:geometry}, ${2:face_id})",
+ "scope": "source.vex",
+ "description": ""
+ },
+ "nbouncetypes: ": {
+ "prefix": "nbouncetypes()",
+ "body": "nbouncetypes()",
+ "scope": "source.vex",
+ "description": ""
+ },
+ "volume: pos ...": {
+ "prefix": "volume(pos, ...)",
+ "body": "volume(${1:pos}, ${2:...})",
+ "scope": "source.vex",
+ "description": "Returns the volume of the microvoxel containing a variable such as P."
+ },
+ "unserialize: values": {
+ "prefix": "unserialize(values)",
+ "body": "unserialize(${1:values})",
+ "scope": "source.vex",
+ "description": "Turns a flat array of floats into an array of vectors or matrices."
+ },
+ "ocio_activeviews: ": {
+ "prefix": "ocio_activeviews()",
+ "body": "ocio_activeviews()",
+ "scope": "source.vex",
+ "description": "Returns the names of active views supported in Open Color IO"
+ },
+ "texture3d: filename channel P ...": {
+ "prefix": "texture3d(filename, channel, P, ...)",
+ "body": "texture3d(${1:filename}, ${2:channel}, ${3:P}, ${4:...})",
+ "scope": "source.vex",
+ "description": "Returns the value of the 3d image at the position specified by P."
+ },
+ "agentclipsampleworld: geometry prim clipname time": {
+ "prefix": "agentclipsampleworld(geometry, prim, clipname, time)",
+ "body": "agentclipsampleworld(${1:geometry}, ${2:prim}, ${3:clipname}, ${4:time})",
+ "scope": "source.vex",
+ "description": "Samples an agent\u2019s animation clip at a specific time."
+ },
+ "agentclipsampleworld: geometry prim clipname time transform": {
+ "prefix": "agentclipsampleworld(geometry, prim, clipname, time, transform)",
+ "body": "agentclipsampleworld(${1:geometry}, ${2:prim}, ${3:clipname}, ${4:time}, ${5:transform})",
+ "scope": "source.vex",
+ "description": "Samples an agent\u2019s animation clip at a specific time."
+ },
+ "usd_collectioncomputedpaths: stage collectionpath": {
+ "prefix": "usd_collectioncomputedpaths(stage, collectionpath)",
+ "body": "usd_collectioncomputedpaths(${1:stage}, ${2:collectionpath})",
+ "scope": "source.vex",
+ "description": "Obtains the list of all objects that belong to the collection"
+ },
+ "hedge_prim: geometry hedge": {
+ "prefix": "hedge_prim(geometry, hedge)",
+ "body": "hedge_prim(${1:geometry}, ${2:hedge})",
+ "scope": "source.vex",
+ "description": "Returns the primitive that contains a half-edge."
+ },
+ "sensor_panorama_getcone: handle lookodir angle colormin colormax depthmin depthmax strength dir color depth": {
+ "prefix": "sensor_panorama_getcone(handle, lookodir, angle, colormin, colormax, depthmin, depthmax, strength, dir, color, depth)",
+ "body": "sensor_panorama_getcone(${1:handle}, ${2:lookodir}, ${3:angle}, ${4:colormin}, ${5:colormax}, ${6:depthmin}, ${7:depthmax}, ${8:strength}, ${9:dir}, ${10:color}, ${11:depth})",
+ "scope": "source.vex",
+ "description": "Sensor function to query average values from rendered GL scene."
+ },
+ "lstrip: value": {
+ "prefix": "lstrip(value)",
+ "body": "lstrip(${1:value})",
+ "scope": "source.vex",
+ "description": "Strips leading whitespace from a string."
+ },
+ "lstrip: value whitespace": {
+ "prefix": "lstrip(value, whitespace)",
+ "body": "lstrip(${1:value}, ${2:whitespace})",
+ "scope": "source.vex",
+ "description": "Strips leading whitespace from a string."
+ },
+ "resolvemissedray: dir time mask ...": {
+ "prefix": "resolvemissedray(dir, time, mask, ...)",
+ "body": "resolvemissedray(${1:dir}, ${2:time}, ${3:mask}, ${4:...})",
+ "scope": "source.vex",
+ "description": "Returns the background color for rays that exit the scene."
+ },
+ "setattrib: geohandle attribclass attribute_name element_num vertex_num value mode": {
+ "prefix": "setattrib(geohandle, attribclass, attribute_name, element_num, vertex_num, value, mode)",
+ "body": "setattrib(${1:geohandle}, ${2:attribclass}, ${3:attribute_name}, ${4:element_num}, ${5:vertex_num}, ${6:value}, ${7:mode})",
+ "scope": "source.vex",
+ "description": "Writes an attribute value to geometry."
+ },
+ "hedge_srcpoint: geometry hedge": {
+ "prefix": "hedge_srcpoint(geometry, hedge)",
+ "body": "hedge_srcpoint(${1:geometry}, ${2:hedge})",
+ "scope": "source.vex",
+ "description": "Returns the source point of a half-edge."
+ },
+ "opend: handle": {
+ "prefix": "opend(handle)",
+ "body": "opend(${1:handle})",
+ "scope": "source.vex",
+ "description": "Ends a long operation."
+ },
+ "agenttransformgroupmember: geometry prim transformgroup transform": {
+ "prefix": "agenttransformgroupmember(geometry, prim, transformgroup, transform)",
+ "body": "agenttransformgroupmember(${1:geometry}, ${2:prim}, ${3:transformgroup}, ${4:transform})",
+ "scope": "source.vex",
+ "description": "Returns whether a transform is a member of the specified transform group."
+ },
+ "agenttransformgroupmember: geometry prim transformgroupidx transform": {
+ "prefix": "agenttransformgroupmember(geometry, prim, transformgroupidx, transform)",
+ "body": "agenttransformgroupmember(${1:geometry}, ${2:prim}, ${3:transformgroupidx}, ${4:transform})",
+ "scope": "source.vex",
+ "description": "Returns whether a transform is a member of the specified transform group."
+ },
+ "premul: a b": {
+ "prefix": "premul(a, b)",
+ "body": "premul(${1:a}, ${2:b})",
+ "scope": "source.vex",
+ "description": "Pre multiply matrices."
+ },
+ "premul: m a b": {
+ "prefix": "premul(m, a, b)",
+ "body": "premul(${1:m}, ${2:a}, ${3:b})",
+ "scope": "source.vex",
+ "description": "Pre multiply matrices."
+ },
+ "sleep: milliseconds": {
+ "prefix": "sleep(milliseconds)",
+ "body": "sleep(${1:milliseconds})",
+ "scope": "source.vex",
+ "description": "Yields processing for a certain number of milliseconds."
+ },
+ "ninputs: ": {
+ "prefix": "ninputs()",
+ "body": "ninputs()",
+ "scope": "source.vex",
+ "description": "Returns the number of inputs."
+ },
+ "bumpname: ": {
+ "prefix": "bumpname()",
+ "body": "bumpname()",
+ "scope": "source.vex",
+ "description": "Returns the default name of the bump plane (as it appears in the\ncompositor preferences)."
+ },
+ "dimport: name out": {
+ "prefix": "dimport(name, out)",
+ "body": "dimport(${1:name}, ${2:out})",
+ "scope": "source.vex",
+ "description": "Reads a variable from the displacement shader for the surface."
+ },
+ "addvertex: geohandle prim_num point_num": {
+ "prefix": "addvertex(geohandle, prim_num, point_num)",
+ "body": "addvertex(${1:geohandle}, ${2:prim_num}, ${3:point_num})",
+ "scope": "source.vex",
+ "description": "Adds a vertex to a primitive in a geometry."
+ },
+ "solvequadratic: a b c t1 t2": {
+ "prefix": "solvequadratic(a, b, c, t1, t2)",
+ "body": "solvequadratic(${1:a}, ${2:b}, ${3:c}, ${4:t1}, ${5:t2})",
+ "scope": "source.vex",
+ "description": "Solves a quadratic function returning the number of real roots."
+ },
+ "lookat: from to": {
+ "prefix": "lookat(from, to)",
+ "body": "lookat(${1:from}, ${2:to})",
+ "scope": "source.vex",
+ "description": "Computes a rotation matrix or angles to orient the z-axis along the vector\n(to-from) under the transformation."
+ },
+ "lookat: from to roll": {
+ "prefix": "lookat(from, to, roll)",
+ "body": "lookat(${1:from}, ${2:to}, ${3:roll})",
+ "scope": "source.vex",
+ "description": "Computes a rotation matrix or angles to orient the z-axis along the vector\n(to-from) under the transformation."
+ },
+ "lookat: from to up": {
+ "prefix": "lookat(from, to, up)",
+ "body": "lookat(${1:from}, ${2:to}, ${3:up})",
+ "scope": "source.vex",
+ "description": "Computes a rotation matrix or angles to orient the z-axis along the vector\n(to-from) under the transformation."
+ },
+ "lookat: from to roll xyz": {
+ "prefix": "lookat(from, to, roll, xyz)",
+ "body": "lookat(${1:from}, ${2:to}, ${3:roll}, ${4:xyz})",
+ "scope": "source.vex",
+ "description": "Computes a rotation matrix or angles to orient the z-axis along the vector\n(to-from) under the transformation."
+ },
+ "lookat: from to up xyz": {
+ "prefix": "lookat(from, to, up, xyz)",
+ "body": "lookat(${1:from}, ${2:to}, ${3:up}, ${4:xyz})",
+ "scope": "source.vex",
+ "description": "Computes a rotation matrix or angles to orient the z-axis along the vector\n(to-from) under the transformation."
+ },
+ "diffuse: ...": {
+ "prefix": "diffuse(...)",
+ "body": "diffuse(${1:...})",
+ "scope": "source.vex",
+ "description": "Returns a diffuse BSDF or computes diffuse shading."
+ },
+ "diffuse: roughness ...": {
+ "prefix": "diffuse(roughness, ...)",
+ "body": "diffuse(${1:roughness}, ${2:...})",
+ "scope": "source.vex",
+ "description": "Returns a diffuse BSDF or computes diffuse shading."
+ },
+ "diffuse: nml ...": {
+ "prefix": "diffuse(nml, ...)",
+ "body": "diffuse(${1:nml}, ${2:...})",
+ "scope": "source.vex",
+ "description": "Returns a diffuse BSDF or computes diffuse shading."
+ },
+ "diffuse: nml roughness ...": {
+ "prefix": "diffuse(nml, roughness, ...)",
+ "body": "diffuse(${1:nml}, ${2:roughness}, ${3:...})",
+ "scope": "source.vex",
+ "description": "Returns a diffuse BSDF or computes diffuse shading."
+ },
+ "diffuse: nml geo_normal ...": {
+ "prefix": "diffuse(nml, geo_normal, ...)",
+ "body": "diffuse(${1:nml}, ${2:geo_normal}, ${3:...})",
+ "scope": "source.vex",
+ "description": "Returns a diffuse BSDF or computes diffuse shading."
+ },
+ "diffuse: nml geo_normal roughness ...": {
+ "prefix": "diffuse(nml, geo_normal, roughness, ...)",
+ "body": "diffuse(${1:nml}, ${2:geo_normal}, ${3:roughness}, ${4:...})",
+ "scope": "source.vex",
+ "description": "Returns a diffuse BSDF or computes diffuse shading."
+ },
+ "diffuse: nml V roughness ...": {
+ "prefix": "diffuse(nml, V, roughness, ...)",
+ "body": "diffuse(${1:nml}, ${2:V}, ${3:roughness}, ${4:...})",
+ "scope": "source.vex",
+ "description": "Returns a diffuse BSDF or computes diffuse shading."
+ },
+ "trunc: x": {
+ "prefix": "trunc(x)",
+ "body": "trunc(${1:x})",
+ "scope": "source.vex",
+ "description": "Removes the fractional part of a floating point number."
+ },
+ "usd_setcollectionexpansionrule: stagehandle collectionpath rule": {
+ "prefix": "usd_setcollectionexpansionrule(stagehandle, collectionpath, rule)",
+ "body": "usd_setcollectionexpansionrule(${1:stagehandle}, ${2:collectionpath}, ${3:rule})",
+ "scope": "source.vex",
+ "description": "Sets the expansion rule on the collection"
+ },
+ "usd_pointinstance_getbbox_max: stage primpath instance_index purpose": {
+ "prefix": "usd_pointinstance_getbbox_max(stage, primpath, instance_index, purpose)",
+ "body": "usd_pointinstance_getbbox_max(${1:stage}, ${2:primpath}, ${3:instance_index}, ${4:purpose})",
+ "scope": "source.vex",
+ "description": "Returns the maximum position of the bounding box for the instance inside a point instancer primitive."
+ },
+ "primattribtype: geometry attribute_name": {
+ "prefix": "primattribtype(geometry, attribute_name)",
+ "body": "primattribtype(${1:geometry}, ${2:attribute_name})",
+ "scope": "source.vex",
+ "description": "Returns the type of a geometry prim attribute."
+ },
+ "iplaneindex: opinput planename": {
+ "prefix": "iplaneindex(opinput, planename)",
+ "body": "iplaneindex(${1:opinput}, ${2:planename})",
+ "scope": "source.vex",
+ "description": "Returns the index of the plane named 'planename' in the specified input."
+ },
+ "solveconstraint: lengths targetpos tolerance relmat constraints": {
+ "prefix": "solveconstraint(lengths, targetpos, tolerance, relmat, constraints)",
+ "body": "solveconstraint(${1:lengths}, ${2:targetpos}, ${3:tolerance}, ${4:relmat}, ${5:constraints})",
+ "scope": "source.vex",
+ "description": "Applies an inverse kinematics algorithm to a skeleton."
+ },
+ "ocio_parsecolorspace: input": {
+ "prefix": "ocio_parsecolorspace(input)",
+ "body": "ocio_parsecolorspace(${1:input})",
+ "scope": "source.vex",
+ "description": "Parse the color space from a string"
+ },
+ "pcopen: filename channel shaded ...": {
+ "prefix": "pcopen(filename, channel, shaded, ...)",
+ "body": "pcopen(${1:filename}, ${2:channel}, ${3:shaded}, ${4:...})",
+ "scope": "source.vex",
+ "description": "Returns a handle to a point cloud file."
+ },
+ "pcopen: filename Pchannel P radius maxpoints ...": {
+ "prefix": "pcopen(filename, Pchannel, P, radius, maxpoints, ...)",
+ "body": "pcopen(${1:filename}, ${2:Pchannel}, ${3:P}, ${4:radius}, ${5:maxpoints}, ${6:...})",
+ "scope": "source.vex",
+ "description": "Returns a handle to a point cloud file."
+ },
+ "pcopen: filename Pchannel P Nchannel N radius maxpoints ...": {
+ "prefix": "pcopen(filename, Pchannel, P, Nchannel, N, radius, maxpoints, ...)",
+ "body": "pcopen(${1:filename}, ${2:Pchannel}, ${3:P}, ${4:Nchannel}, ${5:N}, ${6:radius}, ${7:maxpoints}, ${8:...})",
+ "scope": "source.vex",
+ "description": "Returns a handle to a point cloud file."
+ },
+ "pcopen: opinput Pchannel P radius maxpoints": {
+ "prefix": "pcopen(opinput, Pchannel, P, radius, maxpoints)",
+ "body": "pcopen(${1:opinput}, ${2:Pchannel}, ${3:P}, ${4:radius}, ${5:maxpoints})",
+ "scope": "source.vex",
+ "description": "Returns a handle to a point cloud file."
+ },
+ "agentclipweights: geometry prim": {
+ "prefix": "agentclipweights(geometry, prim)",
+ "body": "agentclipweights(${1:geometry}, ${2:prim})",
+ "scope": "source.vex",
+ "description": "Returns the blend weights for an agent primitive\u2019s animation clips."
+ },
+ "uvintersect: geometry uvname orig dir pos primuv": {
+ "prefix": "uvintersect(geometry, uvname, orig, dir, pos, primuv)",
+ "body": "uvintersect(${1:geometry}, ${2:uvname}, ${3:orig}, ${4:dir}, ${5:pos}, ${6:primuv})",
+ "scope": "source.vex",
+ "description": "This function computes the intersection of the specified ray with the geometry in uv space."
+ },
+ "uvintersect: geometry primgroup uvname orig dir pos primuv": {
+ "prefix": "uvintersect(geometry, primgroup, uvname, orig, dir, pos, primuv)",
+ "body": "uvintersect(${1:geometry}, ${2:primgroup}, ${3:uvname}, ${4:orig}, ${5:dir}, ${6:pos}, ${7:primuv})",
+ "scope": "source.vex",
+ "description": "This function computes the intersection of the specified ray with the geometry in uv space."
+ },
+ "vertex: geometry attribute_name linear_vertex_index": {
+ "prefix": "vertex(geometry, attribute_name, linear_vertex_index)",
+ "body": "vertex(${1:geometry}, ${2:attribute_name}, ${3:linear_vertex_index})",
+ "scope": "source.vex",
+ "description": "Reads a vertex attribute value from a geometry."
+ },
+ "vertex: geometry attribute_name prim_num vertex_num": {
+ "prefix": "vertex(geometry, attribute_name, prim_num, vertex_num)",
+ "body": "vertex(${1:geometry}, ${2:attribute_name}, ${3:prim_num}, ${4:vertex_num})",
+ "scope": "source.vex",
+ "description": "Reads a vertex attribute value from a geometry."
+ },
+ "hedge_isequiv: geometry hedge1 hedge2": {
+ "prefix": "hedge_isequiv(geometry, hedge1, hedge2)",
+ "body": "hedge_isequiv(${1:geometry}, ${2:hedge1}, ${3:hedge2})",
+ "scope": "source.vex",
+ "description": "Determines whether a two half-edges are equivalent (represent the same edge)."
+ },
+ "combinelocaltransform: local parent_world parent_local mode": {
+ "prefix": "combinelocaltransform(local, parent_world, parent_local, mode)",
+ "body": "combinelocaltransform(${1:local}, ${2:parent_world}, ${3:parent_local}, ${4:mode})",
+ "scope": "source.vex",
+ "description": "Combines Local and Parent Transforms with Scale Inheritance."
+ },
+ "vtransform: v transform": {
+ "prefix": "vtransform(v, transform)",
+ "body": "vtransform(${1:v}, ${2:transform})",
+ "scope": "source.vex",
+ "description": "Transforms a directional vector."
+ },
+ "vtransform: tospace v": {
+ "prefix": "vtransform(tospace, v)",
+ "body": "vtransform(${1:tospace}, ${2:v})",
+ "scope": "source.vex",
+ "description": "Transforms a directional vector."
+ },
+ "vtransform: fromspace tospace v": {
+ "prefix": "vtransform(fromspace, tospace, v)",
+ "body": "vtransform(${1:fromspace}, ${2:tospace}, ${3:v})",
+ "scope": "source.vex",
+ "description": "Transforms a directional vector."
+ },
+ "dot: a b": {
+ "prefix": "dot(a, b)",
+ "body": "dot(${1:a}, ${2:b})",
+ "scope": "source.vex",
+ "description": "Returns the dot product between the arguments."
+ },
+ "chv: channel": {
+ "prefix": "chv(channel)",
+ "body": "chv(${1:channel})",
+ "scope": "source.vex",
+ "description": "Evaluates a channel or parameter, and return its value."
+ },
+ "chv: channel time": {
+ "prefix": "chv(channel, time)",
+ "body": "chv(${1:channel}, ${2:time})",
+ "scope": "source.vex",
+ "description": "Evaluates a channel or parameter, and return its value."
+ },
+ "chv: opid pid": {
+ "prefix": "chv(opid, pid)",
+ "body": "chv(${1:opid}, ${2:pid})",
+ "scope": "source.vex",
+ "description": "Evaluates a channel or parameter, and return its value."
+ },
+ "chv: opid pid time": {
+ "prefix": "chv(opid, pid, time)",
+ "body": "chv(${1:opid}, ${2:pid}, ${3:time})",
+ "scope": "source.vex",
+ "description": "Evaluates a channel or parameter, and return its value."
+ },
+ "uvdist: geometry uvname uv prim primuv": {
+ "prefix": "uvdist(geometry, uvname, uv, prim, primuv)",
+ "body": "uvdist(${1:geometry}, ${2:uvname}, ${3:uv}, ${4:prim}, ${5:primuv})",
+ "scope": "source.vex",
+ "description": "Finds the distance of a uv coordinate to a geometry in uv space."
+ },
+ "uvdist: geometry uvname uv prim primuv maxdist": {
+ "prefix": "uvdist(geometry, uvname, uv, prim, primuv, maxdist)",
+ "body": "uvdist(${1:geometry}, ${2:uvname}, ${3:uv}, ${4:prim}, ${5:primuv}, ${6:maxdist})",
+ "scope": "source.vex",
+ "description": "Finds the distance of a uv coordinate to a geometry in uv space."
+ },
+ "uvdist: geometry primgroup uvname uv prim primuv": {
+ "prefix": "uvdist(geometry, primgroup, uvname, uv, prim, primuv)",
+ "body": "uvdist(${1:geometry}, ${2:primgroup}, ${3:uvname}, ${4:uv}, ${5:prim}, ${6:primuv})",
+ "scope": "source.vex",
+ "description": "Finds the distance of a uv coordinate to a geometry in uv space."
+ },
+ "uvdist: geometry primgroup uvname uv prim primuv maxdist": {
+ "prefix": "uvdist(geometry, primgroup, uvname, uv, prim, primuv, maxdist)",
+ "body": "uvdist(${1:geometry}, ${2:primgroup}, ${3:uvname}, ${4:uv}, ${5:prim}, ${6:primuv}, ${7:maxdist})",
+ "scope": "source.vex",
+ "description": "Finds the distance of a uv coordinate to a geometry in uv space."
+ },
+ "shrz: a bits": {
+ "prefix": "shrz(a, bits)",
+ "body": "shrz(${1:a}, ${2:bits})",
+ "scope": "source.vex",
+ "description": "Bit-shifts an integer right."
+ },
+ "rotate_x_to: direction v": {
+ "prefix": "rotate_x_to(direction, v)",
+ "body": "rotate_x_to(${1:direction}, ${2:v})",
+ "scope": "source.vex",
+ "description": "Rotates a vector by a rotation that would bring the x-axis to a given direction."
+ },
+ "re_split: regex input maxsplits": {
+ "prefix": "re_split(regex, input, maxsplits)",
+ "body": "re_split(${1:regex}, ${2:input}, ${3:maxsplits})",
+ "scope": "source.vex",
+ "description": "Splits the given string based on regex match."
+ },
+ "sample_cauchy: u": {
+ "prefix": "sample_cauchy(u)",
+ "body": "sample_cauchy(${1:u})",
+ "scope": "source.vex",
+ "description": "Samples the Cauchy (Lorentz) distribution."
+ },
+ "sample_cauchy: scale u": {
+ "prefix": "sample_cauchy(scale, u)",
+ "body": "sample_cauchy(${1:scale}, ${2:u})",
+ "scope": "source.vex",
+ "description": "Samples the Cauchy (Lorentz) distribution."
+ },
+ "sample_cauchy: origscale minvalue maxvalue u": {
+ "prefix": "sample_cauchy(origscale, minvalue, maxvalue, u)",
+ "body": "sample_cauchy(${1:origscale}, ${2:minvalue}, ${3:maxvalue}, ${4:u})",
+ "scope": "source.vex",
+ "description": "Samples the Cauchy (Lorentz) distribution."
+ },
+ "relbbox: geometry position": {
+ "prefix": "relbbox(geometry, position)",
+ "body": "relbbox(${1:geometry}, ${2:position})",
+ "scope": "source.vex",
+ "description": "Returns the relative position of the point given with respect to the bounding box of the geometry."
+ },
+ "relbbox: geometry primgroup position": {
+ "prefix": "relbbox(geometry, primgroup, position)",
+ "body": "relbbox(${1:geometry}, ${2:primgroup}, ${3:position})",
+ "scope": "source.vex",
+ "description": "Returns the relative position of the point given with respect to the bounding box of the geometry."
+ },
+ "relbbox: position": {
+ "prefix": "relbbox(position)",
+ "body": "relbbox(${1:position})",
+ "scope": "source.vex",
+ "description": "Returns the relative position of the point given with respect to the bounding box of the geometry."
+ },
+ "primattribsize: geometry attribute_name": {
+ "prefix": "primattribsize(geometry, attribute_name)",
+ "body": "primattribsize(${1:geometry}, ${2:attribute_name})",
+ "scope": "source.vex",
+ "description": "Returns the size of a geometry prim attribute."
+ },
+ "usd_setprimvarelement: stagehandle primpath name index value": {
+ "prefix": "usd_setprimvarelement(stagehandle, primpath, name, index, value)",
+ "body": "usd_setprimvarelement(${1:stagehandle}, ${2:primpath}, ${3:name}, ${4:index}, ${5:value})",
+ "scope": "source.vex",
+ "description": "Sets the value of an element in an array primvar."
+ },
+ "pack_inttosafefloat: i": {
+ "prefix": "pack_inttosafefloat(i)",
+ "body": "pack_inttosafefloat(${1:i})",
+ "scope": "source.vex",
+ "description": "Reversibly packs an integer into a finite, non-denormal float."
+ },
+ "sample_sphere_uniform: u": {
+ "prefix": "sample_sphere_uniform(u)",
+ "body": "sample_sphere_uniform(${1:u})",
+ "scope": "source.vex",
+ "description": "Generates a uniform vector with length < 1, given a vector of uniform numbers between 0 and 1."
+ },
+ "usd_setvisible: stagehandle primpath flag": {
+ "prefix": "usd_setvisible(stagehandle, primpath, flag)",
+ "body": "usd_setvisible(${1:stagehandle}, ${2:primpath}, ${3:flag})",
+ "scope": "source.vex",
+ "description": "Sets the primitive visibility."
+ },
+ "osd_lookupface: geometry patch_id patch_u patch_v face_id face_u face_v": {
+ "prefix": "osd_lookupface(geometry, patch_id, patch_u, patch_v, face_id, face_u, face_v)",
+ "body": "osd_lookupface(${1:geometry}, ${2:patch_id}, ${3:patch_u}, ${4:patch_v}, ${5:face_id}, ${6:face_u}, ${7:face_v})",
+ "scope": "source.vex",
+ "description": "Outputs the Houdini face and UV coordinates corresponding to the given coordinates on an OSD patch."
+ },
+ "osd_lookupface: geometry patch_id patch_u patch_v face_id face_u face_v attribute": {
+ "prefix": "osd_lookupface(geometry, patch_id, patch_u, patch_v, face_id, face_u, face_v, attribute)",
+ "body": "osd_lookupface(${1:geometry}, ${2:patch_id}, ${3:patch_u}, ${4:patch_v}, ${5:face_id}, ${6:face_u}, ${7:face_v}, ${8:attribute})",
+ "scope": "source.vex",
+ "description": "Outputs the Houdini face and UV coordinates corresponding to the given coordinates on an OSD patch."
+ },
+ "removepoint: geohandle point_number": {
+ "prefix": "removepoint(geohandle, point_number)",
+ "body": "removepoint(${1:geohandle}, ${2:point_number})",
+ "scope": "source.vex",
+ "description": "Removes a point from the geometry."
+ },
+ "removepoint: geohandle point_number and_prims": {
+ "prefix": "removepoint(geohandle, point_number, and_prims)",
+ "body": "removepoint(${1:geohandle}, ${2:point_number}, ${3:and_prims})",
+ "scope": "source.vex",
+ "description": "Removes a point from the geometry."
+ },
+ "planepointdistance: plane_pos plane_normal point_pos intersect_pos": {
+ "prefix": "planepointdistance(plane_pos, plane_normal, point_pos, intersect_pos)",
+ "body": "planepointdistance(${1:plane_pos}, ${2:plane_normal}, ${3:point_pos}, ${4:intersect_pos})",
+ "scope": "source.vex",
+ "description": "Computes the distance and closest point of a point to an infinite plane."
+ },
+ "removevalue: array value": {
+ "prefix": "removevalue(array, value)",
+ "body": "removevalue(${1:array}, ${2:value})",
+ "scope": "source.vex",
+ "description": "Removes an item from an array."
+ },
+ "albedo: b ...": {
+ "prefix": "albedo(b, ...)",
+ "body": "albedo(${1:b}, ${2:...})",
+ "scope": "source.vex",
+ "description": "Returns the albedo (percentage of reflected light) for a bsdf given the outgoing light direction."
+ },
+ "albedo: b mask ...": {
+ "prefix": "albedo(b, mask, ...)",
+ "body": "albedo(${1:b}, ${2:mask}, ${3:...})",
+ "scope": "source.vex",
+ "description": "Returns the albedo (percentage of reflected light) for a bsdf given the outgoing light direction."
+ },
+ "albedo: b viewer ...": {
+ "prefix": "albedo(b, viewer, ...)",
+ "body": "albedo(${1:b}, ${2:viewer}, ${3:...})",
+ "scope": "source.vex",
+ "description": "Returns the albedo (percentage of reflected light) for a bsdf given the outgoing light direction."
+ },
+ "albedo: b viewer mask ...": {
+ "prefix": "albedo(b, viewer, mask, ...)",
+ "body": "albedo(${1:b}, ${2:viewer}, ${3:mask}, ${4:...})",
+ "scope": "source.vex",
+ "description": "Returns the albedo (percentage of reflected light) for a bsdf given the outgoing light direction."
+ },
+ "primattribtypeinfo: geometry attribute_name": {
+ "prefix": "primattribtypeinfo(geometry, attribute_name)",
+ "body": "primattribtypeinfo(${1:geometry}, ${2:attribute_name})",
+ "scope": "source.vex",
+ "description": "Returns the type info of a geometry attribute."
+ },
+ "spline: basis sample_pos value1 ...": {
+ "prefix": "spline(basis, sample_pos, value1, ...)",
+ "body": "spline(${1:basis}, ${2:sample_pos}, ${3:value1}, ${4:...})",
+ "scope": "source.vex",
+ "description": "Samples a value along a polyline or spline curve."
+ },
+ "spline: basis sample_pos values ...": {
+ "prefix": "spline(basis, sample_pos, values, ...)",
+ "body": "spline(${1:basis}, ${2:sample_pos}, ${3:values}, ${4:...})",
+ "scope": "source.vex",
+ "description": "Samples a value along a polyline or spline curve."
+ },
+ "spline: bases sample_pos values ...": {
+ "prefix": "spline(bases, sample_pos, values, ...)",
+ "body": "spline(${1:bases}, ${2:sample_pos}, ${3:values}, ${4:...})",
+ "scope": "source.vex",
+ "description": "Samples a value along a polyline or spline curve."
+ },
+ "spline: bases sample_pos values positions ...": {
+ "prefix": "spline(bases, sample_pos, values, positions, ...)",
+ "body": "spline(${1:bases}, ${2:sample_pos}, ${3:values}, ${4:positions}, ${5:...})",
+ "scope": "source.vex",
+ "description": "Samples a value along a polyline or spline curve."
+ },
+ "usd_setattribelement: stagehandle primpath name index value": {
+ "prefix": "usd_setattribelement(stagehandle, primpath, name, index, value)",
+ "body": "usd_setattribelement(${1:stagehandle}, ${2:primpath}, ${3:name}, ${4:index}, ${5:value})",
+ "scope": "source.vex",
+ "description": "Sets the value of an element in an array attribute."
+ },
+ "product: n": {
+ "prefix": "product(n)",
+ "body": "product(${1:n})",
+ "scope": "source.vex",
+ "description": "Returns the product of a list of numbers."
+ },
+ "product: v": {
+ "prefix": "product(v)",
+ "body": "product(${1:v})",
+ "scope": "source.vex",
+ "description": "Returns the product of a list of numbers."
+ },
+ "product: arr": {
+ "prefix": "product(arr)",
+ "body": "product(${1:arr})",
+ "scope": "source.vex",
+ "description": "Returns the product of a list of numbers."
+ },
+ "getbbox_max: geometry": {
+ "prefix": "getbbox_max(geometry)",
+ "body": "getbbox_max(${1:geometry})",
+ "scope": "source.vex",
+ "description": "Returns the maximum of the bounding box for the geometry."
+ },
+ "getbbox_max: geometry primgroup": {
+ "prefix": "getbbox_max(geometry, primgroup)",
+ "body": "getbbox_max(${1:geometry}, ${2:primgroup})",
+ "scope": "source.vex",
+ "description": "Returns the maximum of the bounding box for the geometry."
+ },
+ "isseconds: ": {
+ "prefix": "isseconds()",
+ "body": "isseconds()",
+ "scope": "source.vex",
+ "description": "Returns 1 if the Vex CHOP\u2019s Unit Menu is currently set to 'seconds',\n0 otherwise."
+ },
+ "nverticesgroup: geometry groupname": {
+ "prefix": "nverticesgroup(geometry, groupname)",
+ "body": "nverticesgroup(${1:geometry}, ${2:groupname})",
+ "scope": "source.vex",
+ "description": "Returns the number of vertices in the group."
+ },
+ "uniqueval: geometry attribclass attribute_name which": {
+ "prefix": "uniqueval(geometry, attribclass, attribute_name, which)",
+ "body": "uniqueval(${1:geometry}, ${2:attribclass}, ${3:attribute_name}, ${4:which})",
+ "scope": "source.vex",
+ "description": "Returns one of the set of unique values across all values for an int or string attribute."
+ },
+ "usd_collectioncontains: stage collectionpath path": {
+ "prefix": "usd_collectioncontains(stage, collectionpath, path)",
+ "body": "usd_collectioncontains(${1:stage}, ${2:collectionpath}, ${3:path})",
+ "scope": "source.vex",
+ "description": "Checks if an object path belongs to the collection"
+ },
+ "ow_vspace: v": {
+ "prefix": "ow_vspace(v)",
+ "body": "ow_vspace(${1:v})",
+ "scope": "source.vex",
+ "description": "Transforms a direction vector from Object to World space."
+ },
+ "usd_istransformreset: stage primpath": {
+ "prefix": "usd_istransformreset(stage, primpath)",
+ "body": "usd_istransformreset(${1:stage}, ${2:primpath})",
+ "scope": "source.vex",
+ "description": "Checks if the primitive transform is reset"
+ },
+ "unpack_intfromsafefloat: f": {
+ "prefix": "unpack_intfromsafefloat(f)",
+ "body": "unpack_intfromsafefloat(${1:f})",
+ "scope": "source.vex",
+ "description": "Reverses the packing of pack_inttosafefloat to get back the original integer."
+ },
+ "fuzzy_not: n": {
+ "prefix": "fuzzy_not(n)",
+ "body": "fuzzy_not(${1:n})",
+ "scope": "source.vex",
+ "description": ""
+ },
+ "setvertexgroup: geohandle name prim_num vertex_num value mode": {
+ "prefix": "setvertexgroup(geohandle, name, prim_num, vertex_num, value, mode)",
+ "body": "setvertexgroup(${1:geohandle}, ${2:name}, ${3:prim_num}, ${4:vertex_num}, ${5:value}, ${6:mode})",
+ "scope": "source.vex",
+ "description": "Adds or removes a vertex to/from a group in a geometry."
+ },
+ "lkspline: sample_pos value1 key_pos1 ...": {
+ "prefix": "lkspline(sample_pos, value1, key_pos1, ...)",
+ "body": "lkspline(${1:sample_pos}, ${2:value1}, ${3:key_pos1}, ${4:...})",
+ "scope": "source.vex",
+ "description": "Samples a polyline between the key points."
+ },
+ "detail: geometry attribute_name ignored": {
+ "prefix": "detail(geometry, attribute_name, ignored)",
+ "body": "detail(${1:geometry}, ${2:attribute_name}, ${3:ignored})",
+ "scope": "source.vex",
+ "description": "Reads the value of a detail attribute value from a geometry."
+ },
+ "shadow_light: lightid pos dir time ...": {
+ "prefix": "shadow_light(lightid, pos, dir, time, ...)",
+ "body": "shadow_light(${1:lightid}, ${2:pos}, ${3:dir}, ${4:time}, ${5:...})",
+ "scope": "source.vex",
+ "description": "Executes the shadow shader for a given light and returns the amount of shadowing as a multiplier of the shaded color."
+ },
+ "outerproduct: v v": {
+ "prefix": "outerproduct(v, v)",
+ "body": "outerproduct(${1:v}, ${2:v})",
+ "scope": "source.vex",
+ "description": "Returns the outer product between the arguments."
+ },
+ "getlightid: lightname": {
+ "prefix": "getlightid(lightname)",
+ "body": "getlightid(${1:lightname})",
+ "scope": "source.vex",
+ "description": "Returns the light id for a named light (or -1 for an invalid name)."
+ },
+ "usd_addattrib: stagehandle primpath name typename": {
+ "prefix": "usd_addattrib(stagehandle, primpath, name, typename)",
+ "body": "usd_addattrib(${1:stagehandle}, ${2:primpath}, ${3:name}, ${4:typename})",
+ "scope": "source.vex",
+ "description": "Creates an attribute of a given type on a primitive."
+ },
+ "length: f": {
+ "prefix": "length(f)",
+ "body": "length(${1:f})",
+ "scope": "source.vex",
+ "description": "Returns the magnitude of a vector."
+ },
+ "length: v": {
+ "prefix": "length(v)",
+ "body": "length(${1:v})",
+ "scope": "source.vex",
+ "description": "Returns the magnitude of a vector."
+ },
+ "limport: name value": {
+ "prefix": "limport(name, value)",
+ "body": "limport(${1:name}, ${2:value})",
+ "scope": "source.vex",
+ "description": "Imports a variable from the light shader for the surface."
+ },
+ "sample_exponential: u": {
+ "prefix": "sample_exponential(u)",
+ "body": "sample_exponential(${1:u})",
+ "scope": "source.vex",
+ "description": "Samples the exponential distribution."
+ },
+ "sample_exponential: mean u": {
+ "prefix": "sample_exponential(mean, u)",
+ "body": "sample_exponential(${1:mean}, ${2:u})",
+ "scope": "source.vex",
+ "description": "Samples the exponential distribution."
+ },
+ "sample_exponential: origmean maxvalue u": {
+ "prefix": "sample_exponential(origmean, maxvalue, u)",
+ "body": "sample_exponential(${1:origmean}, ${2:maxvalue}, ${3:u})",
+ "scope": "source.vex",
+ "description": "Samples the exponential distribution."
+ },
+ "fit01: value nmin nmax": {
+ "prefix": "fit01(value, nmin, nmax)",
+ "body": "fit01(${1:value}, ${2:nmin}, ${3:nmax})",
+ "scope": "source.vex",
+ "description": "Takes the value in the range (0, 1) and shifts it to the corresponding value in a new range."
+ },
+ "getlight: lid": {
+ "prefix": "getlight(lid)",
+ "body": "getlight(${1:lid})",
+ "scope": "source.vex",
+ "description": "Returns a light struct for the specified light identifier."
+ },
+ "inpointgroup: geometry groupname pointnum": {
+ "prefix": "inpointgroup(geometry, groupname, pointnum)",
+ "body": "inpointgroup(${1:geometry}, ${2:groupname}, ${3:pointnum})",
+ "scope": "source.vex",
+ "description": "Returns 1 if the point specified by the point number is in the group specified by the string."
+ },
+ "cwnoise: position seed f1 f2": {
+ "prefix": "cwnoise(position, seed, f1, f2)",
+ "body": "cwnoise(${1:position}, ${2:seed}, ${3:f1}, ${4:f2})",
+ "scope": "source.vex",
+ "description": "Generates Worley (cellular) noise using a Chebyshev distance metric."
+ },
+ "cwnoise: position seed f1 f2 f3 f4": {
+ "prefix": "cwnoise(position, seed, f1, f2, f3, f4)",
+ "body": "cwnoise(${1:position}, ${2:seed}, ${3:f1}, ${4:f2}, ${5:f3}, ${6:f4})",
+ "scope": "source.vex",
+ "description": "Generates Worley (cellular) noise using a Chebyshev distance metric."
+ },
+ "cwnoise: position seed f1 f2 peiod": {
+ "prefix": "cwnoise(position, seed, f1, f2, peiod)",
+ "body": "cwnoise(${1:position}, ${2:seed}, ${3:f1}, ${4:f2}, ${5:peiod})",
+ "scope": "source.vex",
+ "description": "Generates Worley (cellular) noise using a Chebyshev distance metric."
+ },
+ "cwnoise: position seed f1 f2 f4 f4 period": {
+ "prefix": "cwnoise(position, seed, f1, f2, f4, f4, period)",
+ "body": "cwnoise(${1:position}, ${2:seed}, ${3:f1}, ${4:f2}, ${5:f4}, ${6:f4}, ${7:period})",
+ "scope": "source.vex",
+ "description": "Generates Worley (cellular) noise using a Chebyshev distance metric."
+ },
+ "cwnoise: posx posy seed f1 f2": {
+ "prefix": "cwnoise(posx, posy, seed, f1, f2)",
+ "body": "cwnoise(${1:posx}, ${2:posy}, ${3:seed}, ${4:f1}, ${5:f2})",
+ "scope": "source.vex",
+ "description": "Generates Worley (cellular) noise using a Chebyshev distance metric."
+ },
+ "cwnoise: posx posy seed f1 f2 f3 f4": {
+ "prefix": "cwnoise(posx, posy, seed, f1, f2, f3, f4)",
+ "body": "cwnoise(${1:posx}, ${2:posy}, ${3:seed}, ${4:f1}, ${5:f2}, ${6:f3}, ${7:f4})",
+ "scope": "source.vex",
+ "description": "Generates Worley (cellular) noise using a Chebyshev distance metric."
+ },
+ "cwnoise: posx posy seed f1 f2 periodx periody": {
+ "prefix": "cwnoise(posx, posy, seed, f1, f2, periodx, periody)",
+ "body": "cwnoise(${1:posx}, ${2:posy}, ${3:seed}, ${4:f1}, ${5:f2}, ${6:periodx}, ${7:periody})",
+ "scope": "source.vex",
+ "description": "Generates Worley (cellular) noise using a Chebyshev distance metric."
+ },
+ "cwnoise: posx posy seed f1 f2 f3 f4 periodx periody": {
+ "prefix": "cwnoise(posx, posy, seed, f1, f2, f3, f4, periodx, periody)",
+ "body": "cwnoise(${1:posx}, ${2:posy}, ${3:seed}, ${4:f1}, ${5:f2}, ${6:f3}, ${7:f4}, ${8:periodx}, ${9:periody})",
+ "scope": "source.vex",
+ "description": "Generates Worley (cellular) noise using a Chebyshev distance metric."
+ },
+ "cwnoise: position seed f1 f2 periodx periody": {
+ "prefix": "cwnoise(position, seed, f1, f2, periodx, periody)",
+ "body": "cwnoise(${1:position}, ${2:seed}, ${3:f1}, ${4:f2}, ${5:periodx}, ${6:periody})",
+ "scope": "source.vex",
+ "description": "Generates Worley (cellular) noise using a Chebyshev distance metric."
+ },
+ "cwnoise: position seed f1 f2 f3 f4 periodx periody": {
+ "prefix": "cwnoise(position, seed, f1, f2, f3, f4, periodx, periody)",
+ "body": "cwnoise(${1:position}, ${2:seed}, ${3:f1}, ${4:f2}, ${5:f3}, ${6:f4}, ${7:periodx}, ${8:periody})",
+ "scope": "source.vex",
+ "description": "Generates Worley (cellular) noise using a Chebyshev distance metric."
+ },
+ "cwnoise: position seed f1 f2 periodx periody periodx": {
+ "prefix": "cwnoise(position, seed, f1, f2, periodx, periody, periodx)",
+ "body": "cwnoise(${1:position}, ${2:seed}, ${3:f1}, ${4:f2}, ${5:periodx}, ${6:periody}, ${7:periodx})",
+ "scope": "source.vex",
+ "description": "Generates Worley (cellular) noise using a Chebyshev distance metric."
+ },
+ "cwnoise: position seed f1 f2 f3 f4 periodx periody periodz": {
+ "prefix": "cwnoise(position, seed, f1, f2, f3, f4, periodx, periody, periodz)",
+ "body": "cwnoise(${1:position}, ${2:seed}, ${3:f1}, ${4:f2}, ${5:f3}, ${6:f4}, ${7:periodx}, ${8:periody}, ${9:periodz})",
+ "scope": "source.vex",
+ "description": "Generates Worley (cellular) noise using a Chebyshev distance metric."
+ },
+ "cwnoise: position seed f1 f2 periodx periody periodz periodw": {
+ "prefix": "cwnoise(position, seed, f1, f2, periodx, periody, periodz, periodw)",
+ "body": "cwnoise(${1:position}, ${2:seed}, ${3:f1}, ${4:f2}, ${5:periodx}, ${6:periody}, ${7:periodz}, ${8:periodw})",
+ "scope": "source.vex",
+ "description": "Generates Worley (cellular) noise using a Chebyshev distance metric."
+ },
+ "cwnoise: position seed f1 f2 f3 f4 periodx periody periodz periodw": {
+ "prefix": "cwnoise(position, seed, f1, f2, f3, f4, periodx, periody, periodz, periodw)",
+ "body": "cwnoise(${1:position}, ${2:seed}, ${3:f1}, ${4:f2}, ${5:f3}, ${6:f4}, ${7:periodx}, ${8:periody}, ${9:periodz}, ${10:periodw})",
+ "scope": "source.vex",
+ "description": "Generates Worley (cellular) noise using a Chebyshev distance metric."
+ },
+ "scatter: ipoint inormal idirection idistribution time maxdist opoint onormal odirection": {
+ "prefix": "scatter(ipoint, inormal, idirection, idistribution, time, maxdist, opoint, onormal, odirection)",
+ "body": "scatter(${1:ipoint}, ${2:inormal}, ${3:idirection}, ${4:idistribution}, ${5:time}, ${6:maxdist}, ${7:opoint}, ${8:onormal}, ${9:odirection})",
+ "scope": "source.vex",
+ "description": "Evaluates a scattering event through the domain of a geometric object."
+ },
+ "resize: array size": {
+ "prefix": "resize(array, size)",
+ "body": "resize(${1:array}, ${2:size})",
+ "scope": "source.vex",
+ "description": "Sets the length of an array."
+ },
+ "usd_isarrayprimvar: stage primpath name": {
+ "prefix": "usd_isarrayprimvar(stage, primpath, name)",
+ "body": "usd_isarrayprimvar(${1:stage}, ${2:primpath}, ${3:name})",
+ "scope": "source.vex",
+ "description": "Checks if the primvar is an array."
+ },
+ "findattribvalcount: geometry attribclass attribute_name value": {
+ "prefix": "findattribvalcount(geometry, attribclass, attribute_name, value)",
+ "body": "findattribvalcount(${1:geometry}, ${2:attribclass}, ${3:attribute_name}, ${4:value})",
+ "scope": "source.vex",
+ "description": "Returns number of elements where an integer or string attribute has a certain value."
+ },
+ "sqrt: value": {
+ "prefix": "sqrt(value)",
+ "body": "sqrt(${1:value})",
+ "scope": "source.vex",
+ "description": "Returns the square root of the argument."
+ },
+ "chstartt: ": {
+ "prefix": "chstartt()",
+ "body": "chstartt()",
+ "scope": "source.vex",
+ "description": "Returns the time corresponding to the first sample of the input\nspecified."
+ },
+ "chstartt: opinput": {
+ "prefix": "chstartt(opinput)",
+ "body": "chstartt(${1:opinput})",
+ "scope": "source.vex",
+ "description": "Returns the time corresponding to the first sample of the input\nspecified."
+ },
+ "primuv: geometry attribute_name prim_num uvw": {
+ "prefix": "primuv(geometry, attribute_name, prim_num, uvw)",
+ "body": "primuv(${1:geometry}, ${2:attribute_name}, ${3:prim_num}, ${4:uvw})",
+ "scope": "source.vex",
+ "description": "Interpolates the value of an attribute at a certain parametric (uvw) position."
+ },
+ "sample_photon: lp pos dir scale time": {
+ "prefix": "sample_photon(lp, pos, dir, scale, time)",
+ "body": "sample_photon(${1:lp}, ${2:pos}, ${3:dir}, ${4:scale}, ${5:time})",
+ "scope": "source.vex",
+ "description": "Samples a 3D position on a light source and runs the light shader at that point."
+ },
+ "select: conditional a b": {
+ "prefix": "select(conditional, a, b)",
+ "body": "select(${1:conditional}, ${2:a}, ${3:b})",
+ "scope": "source.vex",
+ "description": "Returns one of two parameters based on a conditional."
+ },
+ "sum: n": {
+ "prefix": "sum(n)",
+ "body": "sum(${1:n})",
+ "scope": "source.vex",
+ "description": "Returns the sum of a list of numbers."
+ },
+ "sum: v": {
+ "prefix": "sum(v)",
+ "body": "sum(${1:v})",
+ "scope": "source.vex",
+ "description": "Returns the sum of a list of numbers."
+ },
+ "sum: nums": {
+ "prefix": "sum(nums)",
+ "body": "sum(${1:nums})",
+ "scope": "source.vex",
+ "description": "Returns the sum of a list of numbers."
+ },
+ "sum: arr": {
+ "prefix": "sum(arr)",
+ "body": "sum(${1:arr})",
+ "scope": "source.vex",
+ "description": "Returns the sum of a list of numbers."
+ },
+ "pccone_radius: geometry PChannel RadChannel radscale P dir angle max_distance maxpoints": {
+ "prefix": "pccone_radius(geometry, PChannel, RadChannel, radscale, P, dir, angle, max_distance, maxpoints)",
+ "body": "pccone_radius(${1:geometry}, ${2:PChannel}, ${3:RadChannel}, ${4:radscale}, ${5:P}, ${6:dir}, ${7:angle}, ${8:max_distance}, ${9:maxpoints})",
+ "scope": "source.vex",
+ "description": "Returns a list of closest points from a file in a cone, taking into account their radii"
+ },
+ "pccone_radius: geometry ptgroup PChannel RadChannel radscale P dir angle max_distance maxpoints": {
+ "prefix": "pccone_radius(geometry, ptgroup, PChannel, RadChannel, radscale, P, dir, angle, max_distance, maxpoints)",
+ "body": "pccone_radius(${1:geometry}, ${2:ptgroup}, ${3:PChannel}, ${4:RadChannel}, ${5:radscale}, ${6:P}, ${7:dir}, ${8:angle}, ${9:max_distance}, ${10:maxpoints})",
+ "scope": "source.vex",
+ "description": "Returns a list of closest points from a file in a cone, taking into account their radii"
+ },
+ "chremove: channel_index": {
+ "prefix": "chremove(channel_index)",
+ "body": "chremove(${1:channel_index})",
+ "scope": "source.vex",
+ "description": "Removes channels from a CHOP node."
+ },
+ "chremove: channel_indices": {
+ "prefix": "chremove(channel_indices)",
+ "body": "chremove(${1:channel_indices})",
+ "scope": "source.vex",
+ "description": "Removes channels from a CHOP node."
+ },
+ "chremove: channel_name": {
+ "prefix": "chremove(channel_name)",
+ "body": "chremove(${1:channel_name})",
+ "scope": "source.vex",
+ "description": "Removes channels from a CHOP node."
+ },
+ "chremove: channel_names": {
+ "prefix": "chremove(channel_names)",
+ "body": "chremove(${1:channel_names})",
+ "scope": "source.vex",
+ "description": "Removes channels from a CHOP node."
+ },
+ "agenttransformgroupweight: geometry prim transformgroup transform": {
+ "prefix": "agenttransformgroupweight(geometry, prim, transformgroup, transform)",
+ "body": "agenttransformgroupweight(${1:geometry}, ${2:prim}, ${3:transformgroup}, ${4:transform})",
+ "scope": "source.vex",
+ "description": "Returns the weight of a member of the specified transform group."
+ },
+ "uvsample: geometry attr_name uv_attr_name uvw": {
+ "prefix": "uvsample(geometry, attr_name, uv_attr_name, uvw)",
+ "body": "uvsample(${1:geometry}, ${2:attr_name}, ${3:uv_attr_name}, ${4:uvw})",
+ "scope": "source.vex",
+ "description": "Interpolates the value of an attribute at certain UV coordinates using a UV attribute."
+ },
+ "uvsample: geometry primgroup attr_name uv_attr_name uvw": {
+ "prefix": "uvsample(geometry, primgroup, attr_name, uv_attr_name, uvw)",
+ "body": "uvsample(${1:geometry}, ${2:primgroup}, ${3:attr_name}, ${4:uv_attr_name}, ${5:uvw})",
+ "scope": "source.vex",
+ "description": "Interpolates the value of an attribute at certain UV coordinates using a UV attribute."
+ },
+ "chendf: opinput": {
+ "prefix": "chendf(opinput)",
+ "body": "chendf(${1:opinput})",
+ "scope": "source.vex",
+ "description": "Returns the frame corresponding to the last sample of the input specified."
+ },
+ "npoints: geometry": {
+ "prefix": "npoints(geometry)",
+ "body": "npoints(${1:geometry})",
+ "scope": "source.vex",
+ "description": "Returns the number of points in the input or geometry file."
+ },
+ "hedge_prev: geometry hedge": {
+ "prefix": "hedge_prev(geometry, hedge)",
+ "body": "hedge_prev(${1:geometry}, ${2:hedge})",
+ "scope": "source.vex",
+ "description": "Returns the half-edge that precedes a given half-edge in its polygon."
+ },
+ "renderstate: query value": {
+ "prefix": "renderstate(query, value)",
+ "body": "renderstate(${1:query}, ${2:value})",
+ "scope": "source.vex",
+ "description": "Queries the renderer for a named property."
+ },
+ "renderstate: mat query value": {
+ "prefix": "renderstate(mat, query, value)",
+ "body": "renderstate(${1:mat}, ${2:query}, ${3:value})",
+ "scope": "source.vex",
+ "description": "Queries the renderer for a named property."
+ },
+ "computenormal: P ...": {
+ "prefix": "computenormal(P, ...)",
+ "body": "computenormal(${1:P}, ${2:...})",
+ "scope": "source.vex",
+ "description": "In shading contexts, computes a normal. In the SOP contexts, sets how/whether to recompute normals."
+ },
+ "computenormal: P N Ng ...": {
+ "prefix": "computenormal(P, N, Ng, ...)",
+ "body": "computenormal(${1:P}, ${2:N}, ${3:Ng}, ${4:...})",
+ "scope": "source.vex",
+ "description": "In shading contexts, computes a normal. In the SOP contexts, sets how/whether to recompute normals."
+ },
+ "computenormal: i": {
+ "prefix": "computenormal(i)",
+ "body": "computenormal(${1:i})",
+ "scope": "source.vex",
+ "description": "In shading contexts, computes a normal. In the SOP contexts, sets how/whether to recompute normals."
+ },
+ "usd_isprimvar: stage primpath name": {
+ "prefix": "usd_isprimvar(stage, primpath, name)",
+ "body": "usd_isprimvar(${1:stage}, ${2:primpath}, ${3:name})",
+ "scope": "source.vex",
+ "description": "Checks if the primitive has a primvar of the given name."
+ },
+ "usd_settransformorder: stagehandle primpath transformorder": {
+ "prefix": "usd_settransformorder(stagehandle, primpath, transformorder)",
+ "body": "usd_settransformorder(${1:stagehandle}, ${2:primpath}, ${3:transformorder})",
+ "scope": "source.vex",
+ "description": "Sets the primitive\u2019s transform order"
+ },
+ "sensor_save: handle colorfile depthfile": {
+ "prefix": "sensor_save(handle, colorfile, depthfile)",
+ "body": "sensor_save(${1:handle}, ${2:colorfile}, ${3:depthfile})",
+ "scope": "source.vex",
+ "description": "Sensor function to save a rendered GL scene."
+ },
+ "usd_addorient: stagehandle primpath suffix orient": {
+ "prefix": "usd_addorient(stagehandle, primpath, suffix, orient)",
+ "body": "usd_addorient(${1:stagehandle}, ${2:primpath}, ${3:suffix}, ${4:orient})",
+ "scope": "source.vex",
+ "description": "Applies a quaternion orientation to the primitive"
+ },
+ "predicate_orient3d: a b c d": {
+ "prefix": "predicate_orient3d(a, b, c, d)",
+ "body": "predicate_orient3d(${1:a}, ${2:b}, ${3:c}, ${4:d})",
+ "scope": "source.vex",
+ "description": "Determines the orientation of a point with respect to a plane."
+ },
+ "rayimport: name value": {
+ "prefix": "rayimport(name, value)",
+ "body": "rayimport(${1:name}, ${2:value})",
+ "scope": "source.vex",
+ "description": "Imports a value sent by a shader in a gather loop."
+ },
+ "chsetattr: attrclass attrname channel sample value": {
+ "prefix": "chsetattr(attrclass, attrname, channel, sample, value)",
+ "body": "chsetattr(${1:attrclass}, ${2:attrname}, ${3:channel}, ${4:sample}, ${5:value})",
+ "scope": "source.vex",
+ "description": "Sets the value of a CHOP attribute."
+ },
+ "chsetattr: attrname channel sample value": {
+ "prefix": "chsetattr(attrname, channel, sample, value)",
+ "body": "chsetattr(${1:attrname}, ${2:channel}, ${3:sample}, ${4:value})",
+ "scope": "source.vex",
+ "description": "Sets the value of a CHOP attribute."
+ },
+ "dihedral: a b": {
+ "prefix": "dihedral(a, b)",
+ "body": "dihedral(${1:a}, ${2:b})",
+ "scope": "source.vex",
+ "description": "Computes the rotation matrix or quaternion which rotates the vector a onto the vector b."
+ },
+ "sample_sphere_cone: center maxangle u": {
+ "prefix": "sample_sphere_cone(center, maxangle, u)",
+ "body": "sample_sphere_cone(${1:center}, ${2:maxangle}, ${3:u})",
+ "scope": "source.vex",
+ "description": "Generates a uniform vector with length < 1, within maxangle of center, given a vector of uniform numbers between 0 and 1."
+ },
+ "chend: opinput": {
+ "prefix": "chend(opinput)",
+ "body": "chend(${1:opinput})",
+ "scope": "source.vex",
+ "description": "Returns the sample number of the last sample in a given CHOP input."
+ },
+ "log: n": {
+ "prefix": "log(n)",
+ "body": "log(${1:n})",
+ "scope": "source.vex",
+ "description": "Returns the natural logarithm of the argument."
+ },
+ "log: v": {
+ "prefix": "log(v)",
+ "body": "log(${1:v})",
+ "scope": "source.vex",
+ "description": "Returns the natural logarithm of the argument."
+ },
+ "usd_removerelationshiptarget: stagehandle primpath name target": {
+ "prefix": "usd_removerelationshiptarget(stagehandle, primpath, name, target)",
+ "body": "usd_removerelationshiptarget(${1:stagehandle}, ${2:primpath}, ${3:name}, ${4:target})",
+ "scope": "source.vex",
+ "description": "Remove a target from the primitive\u2019s relationship"
+ },
+ "getattribute: geometry value attribclass attribute_name element_number vertex_number": {
+ "prefix": "getattribute(geometry, value, attribclass, attribute_name, element_number, vertex_number)",
+ "body": "getattribute(${1:geometry}, ${2:value}, ${3:attribclass}, ${4:attribute_name}, ${5:element_number}, ${6:vertex_number})",
+ "scope": "source.vex",
+ "description": "Copies the value of a geometry attribute into a variable and returns a success flag."
+ },
+ "fuzzy_defuzz_centroid: aggregated_membership min_value max_value": {
+ "prefix": "fuzzy_defuzz_centroid(aggregated_membership, min_value, max_value)",
+ "body": "fuzzy_defuzz_centroid(${1:aggregated_membership}, ${2:min_value}, ${3:max_value})",
+ "scope": "source.vex",
+ "description": ""
+ },
+ "usd_attrib: stage primpath name": {
+ "prefix": "usd_attrib(stage, primpath, name)",
+ "body": "usd_attrib(${1:stage}, ${2:primpath}, ${3:name})",
+ "scope": "source.vex",
+ "description": "Reads the value of an attribute from the USD primitive."
+ },
+ "usd_attrib: stage primpath name timecode": {
+ "prefix": "usd_attrib(stage, primpath, name, timecode)",
+ "body": "usd_attrib(${1:stage}, ${2:primpath}, ${3:name}, ${4:timecode})",
+ "scope": "source.vex",
+ "description": "Reads the value of an attribute from the USD primitive."
+ },
+ "phongBRDF: L N V rough": {
+ "prefix": "phongBRDF(L, N, V, rough)",
+ "body": "phongBRDF(${1:L}, ${2:N}, ${3:V}, ${4:rough})",
+ "scope": "source.vex",
+ "description": ""
+ },
+ "storelightexport: lightname exportname value": {
+ "prefix": "storelightexport(lightname, exportname, value)",
+ "body": "storelightexport(${1:lightname}, ${2:exportname}, ${3:value})",
+ "scope": "source.vex",
+ "description": "Stores exported data for a light."
+ },
+ "random_poisson: seed mean": {
+ "prefix": "random_poisson(seed, mean)",
+ "body": "random_poisson(${1:seed}, ${2:mean})",
+ "scope": "source.vex",
+ "description": "Generates a random Poisson variable given the mean to the distribution and a seed."
+ },
+ "random_poisson: seed mean minvalue maxvalue": {
+ "prefix": "random_poisson(seed, mean, minvalue, maxvalue)",
+ "body": "random_poisson(${1:seed}, ${2:mean}, ${3:minvalue}, ${4:maxvalue})",
+ "scope": "source.vex",
+ "description": "Generates a random Poisson variable given the mean to the distribution and a seed."
+ },
+ "argsort: value": {
+ "prefix": "argsort(value)",
+ "body": "argsort(${1:value})",
+ "scope": "source.vex",
+ "description": "Returns the indices of a sorted version of an array."
+ },
+ "agenttransformnames: geometry prim": {
+ "prefix": "agenttransformnames(geometry, prim)",
+ "body": "agenttransformnames(${1:geometry}, ${2:prim})",
+ "scope": "source.vex",
+ "description": "Returns the name of each transform in an agent primitive\u2019s rig."
+ },
+ "intersect: geometry orig dir p u v": {
+ "prefix": "intersect(geometry, orig, dir, p, u, v)",
+ "body": "intersect(${1:geometry}, ${2:orig}, ${3:dir}, ${4:p}, ${5:u}, ${6:v})",
+ "scope": "source.vex",
+ "description": "This function computes the first intersection of a ray with geometry."
+ },
+ "intersect: geometry orig dir p u v ...": {
+ "prefix": "intersect(geometry, orig, dir, p, u, v, ...)",
+ "body": "intersect(${1:geometry}, ${2:orig}, ${3:dir}, ${4:p}, ${5:u}, ${6:v}, ${7:...})",
+ "scope": "source.vex",
+ "description": "This function computes the first intersection of a ray with geometry."
+ },
+ "intersect: geometry orig dir p uvw": {
+ "prefix": "intersect(geometry, orig, dir, p, uvw)",
+ "body": "intersect(${1:geometry}, ${2:orig}, ${3:dir}, ${4:p}, ${5:uvw})",
+ "scope": "source.vex",
+ "description": "This function computes the first intersection of a ray with geometry."
+ },
+ "intersect: geometry group orig dir p uvw": {
+ "prefix": "intersect(geometry, group, orig, dir, p, uvw)",
+ "body": "intersect(${1:geometry}, ${2:group}, ${3:orig}, ${4:dir}, ${5:p}, ${6:uvw})",
+ "scope": "source.vex",
+ "description": "This function computes the first intersection of a ray with geometry."
+ },
+ "strip: value": {
+ "prefix": "strip(value)",
+ "body": "strip(${1:value})",
+ "scope": "source.vex",
+ "description": "Strips leading and trailing whitespace from a string."
+ },
+ "strip: value whitespace": {
+ "prefix": "strip(value, whitespace)",
+ "body": "strip(${1:value}, ${2:whitespace})",
+ "scope": "source.vex",
+ "description": "Strips leading and trailing whitespace from a string."
+ },
+ "filterstep: edge x ...": {
+ "prefix": "filterstep(edge, x, ...)",
+ "body": "filterstep(${1:edge}, ${2:x}, ${3:...})",
+ "scope": "source.vex",
+ "description": "Returns the anti-aliased weight of the step function."
+ },
+ "filterstep: edge x0 x1 ...": {
+ "prefix": "filterstep(edge, x0, x1, ...)",
+ "body": "filterstep(${1:edge}, ${2:x0}, ${3:x1}, ${4:...})",
+ "scope": "source.vex",
+ "description": "Returns the anti-aliased weight of the step function."
+ },
+ "colormap: filename uvw ...": {
+ "prefix": "colormap(filename, uvw, ...)",
+ "body": "colormap(${1:filename}, ${2:uvw}, ${3:...})",
+ "scope": "source.vex",
+ "description": "Looks up a (filtered) color from a texture file."
+ },
+ "colormap: filename u v ...": {
+ "prefix": "colormap(filename, u, v, ...)",
+ "body": "colormap(${1:filename}, ${2:u}, ${3:v}, ${4:...})",
+ "scope": "source.vex",
+ "description": "Looks up a (filtered) color from a texture file."
+ },
+ "colormap: filename uv du dv samples ...": {
+ "prefix": "colormap(filename, uv, du, dv, samples, ...)",
+ "body": "colormap(${1:filename}, ${2:uv}, ${3:du}, ${4:dv}, ${5:samples}, ${6:...})",
+ "scope": "source.vex",
+ "description": "Looks up a (filtered) color from a texture file."
+ },
+ "colormap: filename uv0 uv1 uv2 uv3 ...": {
+ "prefix": "colormap(filename, uv0, uv1, uv2, uv3, ...)",
+ "body": "colormap(${1:filename}, ${2:uv0}, ${3:uv1}, ${4:uv2}, ${5:uv3}, ${6:...})",
+ "scope": "source.vex",
+ "description": "Looks up a (filtered) color from a texture file."
+ },
+ "colormap: filename uv0 uv1 uv2 uv3 samples ...": {
+ "prefix": "colormap(filename, uv0, uv1, uv2, uv3, samples, ...)",
+ "body": "colormap(${1:filename}, ${2:uv0}, ${3:uv1}, ${4:uv2}, ${5:uv3}, ${6:samples}, ${7:...})",
+ "scope": "source.vex",
+ "description": "Looks up a (filtered) color from a texture file."
+ },
+ "colormap: filename u0 v0 u1 v1 u2 v2 u3 v3 samples ...": {
+ "prefix": "colormap(filename, u0, v0, u1, v1, u2, v2, u3, v3, samples, ...)",
+ "body": "colormap(${1:filename}, ${2:u0}, ${3:v0}, ${4:u1}, ${5:v1}, ${6:u2}, ${7:v2}, ${8:u3}, ${9:v3}, ${10:samples}, ${11:...})",
+ "scope": "source.vex",
+ "description": "Looks up a (filtered) color from a texture file."
+ },
+ "vertexprimindex: geometry linearindex": {
+ "prefix": "vertexprimindex(geometry, linearindex)",
+ "body": "vertexprimindex(${1:geometry}, ${2:linearindex})",
+ "scope": "source.vex",
+ "description": "Converts a linear vertex index into a primitive vertex number."
+ },
+ "create_pdf: values": {
+ "prefix": "create_pdf(values)",
+ "body": "create_pdf(${1:values})",
+ "scope": "source.vex",
+ "description": "Creates a PDF from an array of input values."
+ },
+ "erf: v": {
+ "prefix": "erf(v)",
+ "body": "erf(${1:v})",
+ "scope": "source.vex",
+ "description": "Gauss error function."
+ },
+ "iend: opinput": {
+ "prefix": "iend(opinput)",
+ "body": "iend(${1:opinput})",
+ "scope": "source.vex",
+ "description": "Returns the last frame of the specified input."
+ },
+ "wt_vspace: v": {
+ "prefix": "wt_vspace(v)",
+ "body": "wt_vspace(${1:v})",
+ "scope": "source.vex",
+ "description": "Transforms a direction vector from World to Texture space."
+ },
+ "hedge_isvalid: geometry hedge": {
+ "prefix": "hedge_isvalid(geometry, hedge)",
+ "body": "hedge_isvalid(${1:geometry}, ${2:hedge})",
+ "scope": "source.vex",
+ "description": "Determines whether a half-edge number corresponds to a valid half-edge."
+ },
+ "rgbtoxyz: rgb": {
+ "prefix": "rgbtoxyz(rgb)",
+ "body": "rgbtoxyz(${1:rgb})",
+ "scope": "source.vex",
+ "description": "Convert a linear sRGB triplet to CIE XYZ tristimulus values."
+ },
+ "hedge_srcvertex: geometry hedge": {
+ "prefix": "hedge_srcvertex(geometry, hedge)",
+ "body": "hedge_srcvertex(${1:geometry}, ${2:hedge})",
+ "scope": "source.vex",
+ "description": "Returns the source vertex of a half-edge."
+ },
+ "lspline: sample_pos value1 ...": {
+ "prefix": "lspline(sample_pos, value1, ...)",
+ "body": "lspline(${1:sample_pos}, ${2:value1}, ${3:...})",
+ "scope": "source.vex",
+ "description": "Samples a polyline defined by linearly spaced values."
+ },
+ "usd_setcollectionincludes: stagehandle collectionpath includes": {
+ "prefix": "usd_setcollectionincludes(stagehandle, collectionpath, includes)",
+ "body": "usd_setcollectionincludes(${1:stagehandle}, ${2:collectionpath}, ${3:includes})",
+ "scope": "source.vex",
+ "description": "Sets the includes list on the collection"
+ },
+ "chresizebuf: size": {
+ "prefix": "chresizebuf(size)",
+ "body": "chresizebuf(${1:size})",
+ "scope": "source.vex",
+ "description": "Resize the CHOP context temporary buffer"
+ },
+ "relativepath: src dest": {
+ "prefix": "relativepath(src, dest)",
+ "body": "relativepath(${1:src}, ${2:dest})",
+ "scope": "source.vex",
+ "description": "Computes the relative path for two full paths."
+ },
+ "pnoise: x px": {
+ "prefix": "pnoise(x, px)",
+ "body": "pnoise(${1:x}, ${2:px})",
+ "scope": "source.vex",
+ "description": "There are two forms of Perlin-style noise: a non-periodic noise which\nchanges randomly throughout N-dimensional space, and a periodic form\nwhich repeats over a given range of space."
+ },
+ "pnoise: x p": {
+ "prefix": "pnoise(x, p)",
+ "body": "pnoise(${1:x}, ${2:p})",
+ "scope": "source.vex",
+ "description": "There are two forms of Perlin-style noise: a non-periodic noise which\nchanges randomly throughout N-dimensional space, and a periodic form\nwhich repeats over a given range of space."
+ },
+ "pnoise: xyzt p": {
+ "prefix": "pnoise(xyzt, p)",
+ "body": "pnoise(${1:xyzt}, ${2:p})",
+ "scope": "source.vex",
+ "description": "There are two forms of Perlin-style noise: a non-periodic noise which\nchanges randomly throughout N-dimensional space, and a periodic form\nwhich repeats over a given range of space."
+ },
+ "pnoise: x y px py": {
+ "prefix": "pnoise(x, y, px, py)",
+ "body": "pnoise(${1:x}, ${2:y}, ${3:px}, ${4:py})",
+ "scope": "source.vex",
+ "description": "There are two forms of Perlin-style noise: a non-periodic noise which\nchanges randomly throughout N-dimensional space, and a periodic form\nwhich repeats over a given range of space."
+ },
+ "pnoise: xyz px py pz": {
+ "prefix": "pnoise(xyz, px, py, pz)",
+ "body": "pnoise(${1:xyz}, ${2:px}, ${3:py}, ${4:pz})",
+ "scope": "source.vex",
+ "description": "There are two forms of Perlin-style noise: a non-periodic noise which\nchanges randomly throughout N-dimensional space, and a periodic form\nwhich repeats over a given range of space."
+ },
+ "pnoise: xyzt px py pz pt": {
+ "prefix": "pnoise(xyzt, px, py, pz, pt)",
+ "body": "pnoise(${1:xyzt}, ${2:px}, ${3:py}, ${4:pz}, ${5:pt})",
+ "scope": "source.vex",
+ "description": "There are two forms of Perlin-style noise: a non-periodic noise which\nchanges randomly throughout N-dimensional space, and a periodic form\nwhich repeats over a given range of space."
+ },
+ "istart: opinput": {
+ "prefix": "istart(opinput)",
+ "body": "istart(${1:opinput})",
+ "scope": "source.vex",
+ "description": "Returns the starting frame of the specified input."
+ },
+ "getrayweight: ": {
+ "prefix": "getrayweight()",
+ "body": "getrayweight()",
+ "scope": "source.vex",
+ "description": "Returns an approximation to the contribution of the ray to the final\npixel color."
+ },
+ "abspath: relpath": {
+ "prefix": "abspath(relpath)",
+ "body": "abspath(${1:relpath})",
+ "scope": "source.vex",
+ "description": "Returns the full path of a file."
+ },
+ "re_replace: regex replacement input maxreplace": {
+ "prefix": "re_replace(regex, replacement, input, maxreplace)",
+ "body": "re_replace(${1:regex}, ${2:replacement}, ${3:input}, ${4:maxreplace})",
+ "scope": "source.vex",
+ "description": "Replaces instances of regex_find with regex_replace"
+ },
+ "endswith: haystack needle": {
+ "prefix": "endswith(haystack, needle)",
+ "body": "endswith(${1:haystack}, ${2:needle})",
+ "scope": "source.vex",
+ "description": "Indicates the string ends with the specified string."
+ },
+ "reflect: direction normal": {
+ "prefix": "reflect(direction, normal)",
+ "body": "reflect(${1:direction}, ${2:normal})",
+ "scope": "source.vex",
+ "description": "Returns the vector representing the reflection of the direction\nagainst the normal."
+ },
+ "pcnumfound: handle": {
+ "prefix": "pcnumfound(handle)",
+ "body": "pcnumfound(${1:handle})",
+ "scope": "source.vex",
+ "description": "This node returns the number of points found by pcopen."
+ },
+ "isvarying: x": {
+ "prefix": "isvarying(x)",
+ "body": "isvarying(${1:x})",
+ "scope": "source.vex",
+ "description": "Check whether a VEX variable is varying or uniform."
+ },
+ "efit: value omin omax nmin nmax": {
+ "prefix": "efit(value, omin, omax, nmin, nmax)",
+ "body": "efit(${1:value}, ${2:omin}, ${3:omax}, ${4:nmin}, ${5:nmax})",
+ "scope": "source.vex",
+ "description": "Takes the value in one range and shifts it to the corresponding value in a new range."
+ },
+ "prerotate: m amount axis": {
+ "prefix": "prerotate(m, amount, axis)",
+ "body": "prerotate(${1:m}, ${2:amount}, ${3:axis})",
+ "scope": "source.vex",
+ "description": "Applies a pre rotation to the given matrix."
+ },
+ "prerotate: m angles xyz": {
+ "prefix": "prerotate(m, angles, xyz)",
+ "body": "prerotate(${1:m}, ${2:angles}, ${3:xyz})",
+ "scope": "source.vex",
+ "description": "Applies a pre rotation to the given matrix."
+ },
+ "prerotate: m angle axis": {
+ "prefix": "prerotate(m, angle, axis)",
+ "body": "prerotate(${1:m}, ${2:angle}, ${3:axis})",
+ "scope": "source.vex",
+ "description": "Applies a pre rotation to the given matrix."
+ },
+ "pcsize: handle": {
+ "prefix": "pcsize(handle)",
+ "body": "pcsize(${1:handle})",
+ "scope": "source.vex",
+ "description": ""
+ },
+ "usd_setpurpose: stagehandle primpath purpose": {
+ "prefix": "usd_setpurpose(stagehandle, primpath, purpose)",
+ "body": "usd_setpurpose(${1:stagehandle}, ${2:primpath}, ${3:purpose})",
+ "scope": "source.vex",
+ "description": "Sets the primitive\u2019s purpose."
+ },
+ "serialize: vectors": {
+ "prefix": "serialize(vectors)",
+ "body": "serialize(${1:vectors})",
+ "scope": "source.vex",
+ "description": "Flattens an array of vector or matrix types into an array of floats."
+ },
+ "serialize: matrices": {
+ "prefix": "serialize(matrices)",
+ "body": "serialize(${1:matrices})",
+ "scope": "source.vex",
+ "description": "Flattens an array of vector or matrix types into an array of floats."
+ },
+ "geoself: ": {
+ "prefix": "geoself()",
+ "body": "geoself()",
+ "scope": "source.vex",
+ "description": "Returns a handle to the current geometry."
+ },
+ "mspace: P": {
+ "prefix": "mspace(P)",
+ "body": "mspace(${1:P})",
+ "scope": "source.vex",
+ "description": "Transforms the position specified into the \"local\" space of the\nmetaball."
+ },
+ "setagentcliptimes: geohandle prim cliptimes": {
+ "prefix": "setagentcliptimes(geohandle, prim, cliptimes)",
+ "body": "setagentcliptimes(${1:geohandle}, ${2:prim}, ${3:cliptimes})",
+ "scope": "source.vex",
+ "description": "Sets the current times for an agent primitive\u2019s animation clips."
+ },
+ "isotropic: ...": {
+ "prefix": "isotropic(...)",
+ "body": "isotropic(${1:...})",
+ "scope": "source.vex",
+ "description": "Returns an isotropic BSDF, which scatters light equally in all directions."
+ },
+ "getcomp: v index": {
+ "prefix": "getcomp(v, index)",
+ "body": "getcomp(${1:v}, ${2:index})",
+ "scope": "source.vex",
+ "description": "Extracts a single component of a vector type, matrix type, or array."
+ },
+ "getcomp: m row column": {
+ "prefix": "getcomp(m, row, column)",
+ "body": "getcomp(${1:m}, ${2:row}, ${3:column})",
+ "scope": "source.vex",
+ "description": "Extracts a single component of a vector type, matrix type, or array."
+ },
+ "getcomp: array index": {
+ "prefix": "getcomp(array, index)",
+ "body": "getcomp(${1:array}, ${2:index})",
+ "scope": "source.vex",
+ "description": "Extracts a single component of a vector type, matrix type, or array."
+ },
+ "getcomp: value index": {
+ "prefix": "getcomp(value, index)",
+ "body": "getcomp(${1:value}, ${2:index})",
+ "scope": "source.vex",
+ "description": "Extracts a single component of a vector type, matrix type, or array."
+ },
+ "file_stat: filename stat_data ...": {
+ "prefix": "file_stat(filename, stat_data, ...)",
+ "body": "file_stat(${1:filename}, ${2:stat_data}, ${3:...})",
+ "scope": "source.vex",
+ "description": "Returns file system status for a given file."
+ },
+ "relpath: abspath": {
+ "prefix": "relpath(abspath)",
+ "body": "relpath(${1:abspath})",
+ "scope": "source.vex",
+ "description": "Returns the relative path to a file."
+ },
+ "sample_bsdf: F viewer_u dir eval type sx sy ...": {
+ "prefix": "sample_bsdf(F, viewer_u, dir, eval, type, sx, sy, ...)",
+ "body": "sample_bsdf(${1:F}, ${2:viewer_u}, ${3:dir}, ${4:eval}, ${5:type}, ${6:sx}, ${7:sy}, ${8:...})",
+ "scope": "source.vex",
+ "description": "Samples a BSDF."
+ },
+ "sample_bsdf: F viewer_u dir eval type sx sy mask ...": {
+ "prefix": "sample_bsdf(F, viewer_u, dir, eval, type, sx, sy, mask, ...)",
+ "body": "sample_bsdf(${1:F}, ${2:viewer_u}, ${3:dir}, ${4:eval}, ${5:type}, ${6:sx}, ${7:sy}, ${8:mask}, ${9:...})",
+ "scope": "source.vex",
+ "description": "Samples a BSDF."
+ },
+ "sample_bsdf: F viewer_u dir eval pdf type sx sy ...": {
+ "prefix": "sample_bsdf(F, viewer_u, dir, eval, pdf, type, sx, sy, ...)",
+ "body": "sample_bsdf(${1:F}, ${2:viewer_u}, ${3:dir}, ${4:eval}, ${5:pdf}, ${6:type}, ${7:sx}, ${8:sy}, ${9:...})",
+ "scope": "source.vex",
+ "description": "Samples a BSDF."
+ },
+ "sample_bsdf: F viewer_u dir eval pdf type sx sy mask ...": {
+ "prefix": "sample_bsdf(F, viewer_u, dir, eval, pdf, type, sx, sy, mask, ...)",
+ "body": "sample_bsdf(${1:F}, ${2:viewer_u}, ${3:dir}, ${4:eval}, ${5:pdf}, ${6:type}, ${7:sx}, ${8:sy}, ${9:mask}, ${10:...})",
+ "scope": "source.vex",
+ "description": "Samples a BSDF."
+ },
+ "sample_bsdf: b viewer_u normal_v flags dir eval pdf type sx sy mask ...": {
+ "prefix": "sample_bsdf(b, viewer_u, normal_v, flags, dir, eval, pdf, type, sx, sy, mask, ...)",
+ "body": "sample_bsdf(${1:b}, ${2:viewer_u}, ${3:normal_v}, ${4:flags}, ${5:dir}, ${6:eval}, ${7:pdf}, ${8:type}, ${9:sx}, ${10:sy}, ${11:mask}, ${12:...})",
+ "scope": "source.vex",
+ "description": "Samples a BSDF."
+ },
+ "setpointattrib: geohandle name point_num value mode": {
+ "prefix": "setpointattrib(geohandle, name, point_num, value, mode)",
+ "body": "setpointattrib(${1:geohandle}, ${2:name}, ${3:point_num}, ${4:value}, ${5:mode})",
+ "scope": "source.vex",
+ "description": "Sets a point attribute in a geometry."
+ },
+ "__uniform_mul: a b": {
+ "prefix": "__uniform_mul(a, b)",
+ "body": "__uniform_mul(${1:a}, ${2:b})",
+ "scope": "source.vex",
+ "description": "Multiply matrices."
+ },
+ "__uniform_mul: m a b": {
+ "prefix": "__uniform_mul(m, a, b)",
+ "body": "__uniform_mul(${1:m}, ${2:a}, ${3:b})",
+ "scope": "source.vex",
+ "description": "Multiply matrices."
+ },
+ "usd_addtranslate: stagehandle primpath suffix amount": {
+ "prefix": "usd_addtranslate(stagehandle, primpath, suffix, amount)",
+ "body": "usd_addtranslate(${1:stagehandle}, ${2:primpath}, ${3:suffix}, ${4:amount})",
+ "scope": "source.vex",
+ "description": "Applies a translation to the primitive"
+ },
+ "inumplanes: opinput": {
+ "prefix": "inumplanes(opinput)",
+ "body": "inumplanes(${1:opinput})",
+ "scope": "source.vex",
+ "description": "Returns the number of planes in the given input."
+ },
+ "re_findall: regex input": {
+ "prefix": "re_findall(regex, input)",
+ "body": "re_findall(${1:regex}, ${2:input})",
+ "scope": "source.vex",
+ "description": "Finds all instances of the given regular expression in the string"
+ },
+ "re_findall: regex input start": {
+ "prefix": "re_findall(regex, input, start)",
+ "body": "re_findall(${1:regex}, ${2:input}, ${3:start})",
+ "scope": "source.vex",
+ "description": "Finds all instances of the given regular expression in the string"
+ },
+ "re_findall: regex input start end": {
+ "prefix": "re_findall(regex, input, start, end)",
+ "body": "re_findall(${1:regex}, ${2:input}, ${3:start}, ${4:end})",
+ "scope": "source.vex",
+ "description": "Finds all instances of the given regular expression in the string"
+ },
+ "opprerawparmtransform: path": {
+ "prefix": "opprerawparmtransform(path)",
+ "body": "opprerawparmtransform(${1:path})",
+ "scope": "source.vex",
+ "description": "Returns the pre and raw parm transform associated with an OP."
+ },
+ "opprerawparmtransform: path time": {
+ "prefix": "opprerawparmtransform(path, time)",
+ "body": "opprerawparmtransform(${1:path}, ${2:time})",
+ "scope": "source.vex",
+ "description": "Returns the pre and raw parm transform associated with an OP."
+ },
+ "opprerawparmtransform: opid": {
+ "prefix": "opprerawparmtransform(opid)",
+ "body": "opprerawparmtransform(${1:opid})",
+ "scope": "source.vex",
+ "description": "Returns the pre and raw parm transform associated with an OP."
+ },
+ "opprerawparmtransform: opid time": {
+ "prefix": "opprerawparmtransform(opid, time)",
+ "body": "opprerawparmtransform(${1:opid}, ${2:time})",
+ "scope": "source.vex",
+ "description": "Returns the pre and raw parm transform associated with an OP."
+ },
+ "opprerawparmtransform: opid trsorder xyzorder mask": {
+ "prefix": "opprerawparmtransform(opid, trsorder, xyzorder, mask)",
+ "body": "opprerawparmtransform(${1:opid}, ${2:trsorder}, ${3:xyzorder}, ${4:mask})",
+ "scope": "source.vex",
+ "description": "Returns the pre and raw parm transform associated with an OP."
+ },
+ "sample_circle_edge_uniform: u": {
+ "prefix": "sample_circle_edge_uniform(u)",
+ "body": "sample_circle_edge_uniform(${1:u})",
+ "scope": "source.vex",
+ "description": "Generates a uniform unit vector2, given a uniform number between 0 and 1."
+ },
+ "usd_flattenedprimvarelement: stage primpath name index": {
+ "prefix": "usd_flattenedprimvarelement(stage, primpath, name, index)",
+ "body": "usd_flattenedprimvarelement(${1:stage}, ${2:primpath}, ${3:name}, ${4:index})",
+ "scope": "source.vex",
+ "description": "Reads an element value of a flattened array primvar."
+ },
+ "usd_flattenedprimvarelement: stage primpath name index timecode": {
+ "prefix": "usd_flattenedprimvarelement(stage, primpath, name, index, timecode)",
+ "body": "usd_flattenedprimvarelement(${1:stage}, ${2:primpath}, ${3:name}, ${4:index}, ${5:timecode})",
+ "scope": "source.vex",
+ "description": "Reads an element value of a flattened array primvar."
+ },
+ "israytracing: ": {
+ "prefix": "israytracing()",
+ "body": "israytracing()",
+ "scope": "source.vex",
+ "description": "Indicates whether a shader is being executed for ray tracing."
+ },
+ "bouncelabel: mask": {
+ "prefix": "bouncelabel(mask)",
+ "body": "bouncelabel(${1:mask})",
+ "scope": "source.vex",
+ "description": ""
+ },
+ "expandprimgroup: geometry groupname": {
+ "prefix": "expandprimgroup(geometry, groupname)",
+ "body": "expandprimgroup(${1:geometry}, ${2:groupname})",
+ "scope": "source.vex",
+ "description": "Returns an array of prim numbers corresponding to a group string."
+ },
+ "usd_isarray: stage primpath name": {
+ "prefix": "usd_isarray(stage, primpath, name)",
+ "body": "usd_isarray(${1:stage}, ${2:primpath}, ${3:name})",
+ "scope": "source.vex",
+ "description": "Checks if the attribute is an array."
+ },
+ "rawcolormap: filename uvw ...": {
+ "prefix": "rawcolormap(filename, uvw, ...)",
+ "body": "rawcolormap(${1:filename}, ${2:uvw}, ${3:...})",
+ "scope": "source.vex",
+ "description": "Looks up an unfiltered color from a texture file."
+ },
+ "rawcolormap: filename u v ...": {
+ "prefix": "rawcolormap(filename, u, v, ...)",
+ "body": "rawcolormap(${1:filename}, ${2:u}, ${3:v}, ${4:...})",
+ "scope": "source.vex",
+ "description": "Looks up an unfiltered color from a texture file."
+ },
+ "rawcolormap: filename uv du dv samples ...": {
+ "prefix": "rawcolormap(filename, uv, du, dv, samples, ...)",
+ "body": "rawcolormap(${1:filename}, ${2:uv}, ${3:du}, ${4:dv}, ${5:samples}, ${6:...})",
+ "scope": "source.vex",
+ "description": "Looks up an unfiltered color from a texture file."
+ },
+ "rawcolormap: filename uv0 uv1 uv2 uv3 ...": {
+ "prefix": "rawcolormap(filename, uv0, uv1, uv2, uv3, ...)",
+ "body": "rawcolormap(${1:filename}, ${2:uv0}, ${3:uv1}, ${4:uv2}, ${5:uv3}, ${6:...})",
+ "scope": "source.vex",
+ "description": "Looks up an unfiltered color from a texture file."
+ },
+ "rawcolormap: filename uv0 uv1 uv2 uv3 samples ...": {
+ "prefix": "rawcolormap(filename, uv0, uv1, uv2, uv3, samples, ...)",
+ "body": "rawcolormap(${1:filename}, ${2:uv0}, ${3:uv1}, ${4:uv2}, ${5:uv3}, ${6:samples}, ${7:...})",
+ "scope": "source.vex",
+ "description": "Looks up an unfiltered color from a texture file."
+ },
+ "rawcolormap: filename u0 v0 u1 v1 u2 v2 u3 v3 samples ...": {
+ "prefix": "rawcolormap(filename, u0, v0, u1, v1, u2, v2, u3, v3, samples, ...)",
+ "body": "rawcolormap(${1:filename}, ${2:u0}, ${3:v0}, ${4:u1}, ${5:v1}, ${6:u2}, ${7:v2}, ${8:u3}, ${9:v3}, ${10:samples}, ${11:...})",
+ "scope": "source.vex",
+ "description": "Looks up an unfiltered color from a texture file."
+ },
+ "shadow: Cl": {
+ "prefix": "shadow(Cl)",
+ "body": "shadow(${1:Cl})",
+ "scope": "source.vex",
+ "description": "Calls shadow shaders for the current light source."
+ },
+ "shadow: Cl P L": {
+ "prefix": "shadow(Cl, P, L)",
+ "body": "shadow(${1:Cl}, ${2:P}, ${3:L})",
+ "scope": "source.vex",
+ "description": "Calls shadow shaders for the current light source."
+ },
+ "pointattrib: geometry attribute_name pointnumber success": {
+ "prefix": "pointattrib(geometry, attribute_name, pointnumber, success)",
+ "body": "pointattrib(${1:geometry}, ${2:attribute_name}, ${3:pointnumber}, ${4:success})",
+ "scope": "source.vex",
+ "description": "Reads a point attribute value from a geometry and outputs a success/fail flag."
+ },
+ "primuvconvert: filename uv prim_num mode": {
+ "prefix": "primuvconvert(filename, uv, prim_num, mode)",
+ "body": "primuvconvert(${1:filename}, ${2:uv}, ${3:prim_num}, ${4:mode})",
+ "scope": "source.vex",
+ "description": "Convert parametric UV locations on curve primitives between different spaces."
+ },
+ "primuvconvert: filename uv prim_num mode tolerance": {
+ "prefix": "primuvconvert(filename, uv, prim_num, mode, tolerance)",
+ "body": "primuvconvert(${1:filename}, ${2:uv}, ${3:prim_num}, ${4:mode}, ${5:tolerance})",
+ "scope": "source.vex",
+ "description": "Convert parametric UV locations on curve primitives between different spaces."
+ },
+ "orthographic: zoom orthowidth image_aspect pixel_aspect clip_near clip_far": {
+ "prefix": "orthographic(zoom, orthowidth, image_aspect, pixel_aspect, clip_near, clip_far)",
+ "body": "orthographic(${1:zoom}, ${2:orthowidth}, ${3:image_aspect}, ${4:pixel_aspect}, ${5:clip_near}, ${6:clip_far})",
+ "scope": "source.vex",
+ "description": "Create an orthographic projection matrix."
+ },
+ "orthographic: zoom orthowidth image_aspect pixel_aspect clip_near clip_far window": {
+ "prefix": "orthographic(zoom, orthowidth, image_aspect, pixel_aspect, clip_near, clip_far, window)",
+ "body": "orthographic(${1:zoom}, ${2:orthowidth}, ${3:image_aspect}, ${4:pixel_aspect}, ${5:clip_near}, ${6:clip_far}, ${7:window})",
+ "scope": "source.vex",
+ "description": "Create an orthographic projection matrix."
+ },
+ "cregionoverridetransform: path": {
+ "prefix": "cregionoverridetransform(path)",
+ "body": "cregionoverridetransform(${1:path})",
+ "scope": "source.vex",
+ "description": "Returns the capture or deform transform associated with a Capture Region SOP based on the global capture override flag."
+ },
+ "cregionoverridetransform: path time": {
+ "prefix": "cregionoverridetransform(path, time)",
+ "body": "cregionoverridetransform(${1:path}, ${2:time})",
+ "scope": "source.vex",
+ "description": "Returns the capture or deform transform associated with a Capture Region SOP based on the global capture override flag."
+ },
+ "cregionoverridetransform: op_id": {
+ "prefix": "cregionoverridetransform(op_id)",
+ "body": "cregionoverridetransform(${1:op_id})",
+ "scope": "source.vex",
+ "description": "Returns the capture or deform transform associated with a Capture Region SOP based on the global capture override flag."
+ },
+ "cregionoverridetransform: op_id time": {
+ "prefix": "cregionoverridetransform(op_id, time)",
+ "body": "cregionoverridetransform(${1:op_id}, ${2:time})",
+ "scope": "source.vex",
+ "description": "Returns the capture or deform transform associated with a Capture Region SOP based on the global capture override flag."
+ },
+ "fuzzy_nor: a b ...": {
+ "prefix": "fuzzy_nor(a, b, ...)",
+ "body": "fuzzy_nor(${1:a}, ${2:b}, ${3:...})",
+ "scope": "source.vex",
+ "description": ""
+ },
+ "usd_makerelationshippath: stage primpath name": {
+ "prefix": "usd_makerelationshippath(stage, primpath, name)",
+ "body": "usd_makerelationshippath(${1:stage}, ${2:primpath}, ${3:name})",
+ "scope": "source.vex",
+ "description": "Constructs an relationship path from a primitive path and a relationship name."
+ },
+ "oppreconstrainttransform: path": {
+ "prefix": "oppreconstrainttransform(path)",
+ "body": "oppreconstrainttransform(${1:path})",
+ "scope": "source.vex",
+ "description": "Returns the preconstraint transform associated with an OP."
+ },
+ "oppreconstrainttransform: path time": {
+ "prefix": "oppreconstrainttransform(path, time)",
+ "body": "oppreconstrainttransform(${1:path}, ${2:time})",
+ "scope": "source.vex",
+ "description": "Returns the preconstraint transform associated with an OP."
+ },
+ "oppreconstrainttransform: opid": {
+ "prefix": "oppreconstrainttransform(opid)",
+ "body": "oppreconstrainttransform(${1:opid})",
+ "scope": "source.vex",
+ "description": "Returns the preconstraint transform associated with an OP."
+ },
+ "oppreconstrainttransform: opid time": {
+ "prefix": "oppreconstrainttransform(opid, time)",
+ "body": "oppreconstrainttransform(${1:opid}, ${2:time})",
+ "scope": "source.vex",
+ "description": "Returns the preconstraint transform associated with an OP."
+ },
+ "usd_pointinstance_getbbox_center: stage primpath instance_index purpose": {
+ "prefix": "usd_pointinstance_getbbox_center(stage, primpath, instance_index, purpose)",
+ "body": "usd_pointinstance_getbbox_center(${1:stage}, ${2:primpath}, ${3:instance_index}, ${4:purpose})",
+ "scope": "source.vex",
+ "description": "Returns the center of the bounding box for the instance inside a point instancer primitive."
+ },
+ "append: array value": {
+ "prefix": "append(array, value)",
+ "body": "append(${1:array}, ${2:value})",
+ "scope": "source.vex",
+ "description": "Adds an item to an array or string."
+ },
+ "append: array values": {
+ "prefix": "append(array, values)",
+ "body": "append(${1:array}, ${2:values})",
+ "scope": "source.vex",
+ "description": "Adds an item to an array or string."
+ },
+ "sinh: n": {
+ "prefix": "sinh(n)",
+ "body": "sinh(${1:n})",
+ "scope": "source.vex",
+ "description": "Returns the hyperbolic sine of the argument."
+ },
+ "sinh: v": {
+ "prefix": "sinh(v)",
+ "body": "sinh(${1:v})",
+ "scope": "source.vex",
+ "description": "Returns the hyperbolic sine of the argument."
+ },
+ "fuzzify: ramp_basis ramp_values ramp_positions crisp_value min_value max_value": {
+ "prefix": "fuzzify(ramp_basis, ramp_values, ramp_positions, crisp_value, min_value, max_value)",
+ "body": "fuzzify(${1:ramp_basis}, ${2:ramp_values}, ${3:ramp_positions}, ${4:crisp_value}, ${5:min_value}, ${6:max_value})",
+ "scope": "source.vex",
+ "description": ""
+ },
+ "neighbour: geometry point_num neighbour_num": {
+ "prefix": "neighbour(geometry, point_num, neighbour_num)",
+ "body": "neighbour(${1:geometry}, ${2:point_num}, ${3:neighbour_num})",
+ "scope": "source.vex",
+ "description": "Returns the point number of the next point connected to a given point."
+ },
+ "tanh: n": {
+ "prefix": "tanh(n)",
+ "body": "tanh(${1:n})",
+ "scope": "source.vex",
+ "description": "Returns the hyperbolic tangent of the argument"
+ },
+ "primvertex: geometry primnum vertex": {
+ "prefix": "primvertex(geometry, primnum, vertex)",
+ "body": "primvertex(${1:geometry}, ${2:primnum}, ${3:vertex})",
+ "scope": "source.vex",
+ "description": "Converts a primitive/vertex pair into a linear vertex."
+ },
+ "agentlocaltransform: geometry prim transform": {
+ "prefix": "agentlocaltransform(geometry, prim, transform)",
+ "body": "agentlocaltransform(${1:geometry}, ${2:prim}, ${3:transform})",
+ "scope": "source.vex",
+ "description": "Returns the current local space transform of an agent primitive\u2019s bone."
+ },
+ "primhedge: geometry prim": {
+ "prefix": "primhedge(geometry, prim)",
+ "body": "primhedge(${1:geometry}, ${2:prim})",
+ "scope": "source.vex",
+ "description": "Returns one of the half-edges contained in a primitive."
+ },
+ "extractlocaltransform: world parent_world parent_local mode": {
+ "prefix": "extractlocaltransform(world, parent_world, parent_local, mode)",
+ "body": "extractlocaltransform(${1:world}, ${2:parent_world}, ${3:parent_local}, ${4:mode})",
+ "scope": "source.vex",
+ "description": "Extracts Local Transform from a World Transform with Scale Inheritance."
+ },
+ "usd_addprim: stagehandle primpath typename": {
+ "prefix": "usd_addprim(stagehandle, primpath, typename)",
+ "body": "usd_addprim(${1:stagehandle}, ${2:primpath}, ${3:typename})",
+ "scope": "source.vex",
+ "description": "Creates a primitive of a given type."
+ },
+ "opfullpath: relative_path": {
+ "prefix": "opfullpath(relative_path)",
+ "body": "opfullpath(${1:relative_path})",
+ "scope": "source.vex",
+ "description": "Returns the full path for the given relative path"
+ },
+ "usd_purpose: stage primpath": {
+ "prefix": "usd_purpose(stage, primpath)",
+ "body": "usd_purpose(${1:stage}, ${2:primpath})",
+ "scope": "source.vex",
+ "description": "Returns the primitive\u2019s purpose."
+ },
+ "chsetrate: clip_rate": {
+ "prefix": "chsetrate(clip_rate)",
+ "body": "chsetrate(${1:clip_rate})",
+ "scope": "source.vex",
+ "description": "Sets the sampling rate of the CHOP channel data."
+ },
+ "setagentworldtransforms: geohandle prim transforms": {
+ "prefix": "setagentworldtransforms(geohandle, prim, transforms)",
+ "body": "setagentworldtransforms(${1:geohandle}, ${2:prim}, ${3:transforms})",
+ "scope": "source.vex",
+ "description": "Overrides the world space transforms of an agent primitive."
+ },
+ "svddecomp: input_M output_U output_S output_V": {
+ "prefix": "svddecomp(input_M, output_U, output_S, output_V)",
+ "body": "svddecomp(${1:input_M}, ${2:output_U}, ${3:output_S}, ${4:output_V})",
+ "scope": "source.vex",
+ "description": "Computes the singular value decomposition of a 3\u00d73 matrix."
+ },
+ "svddecomp: input_M": {
+ "prefix": "svddecomp(input_M)",
+ "body": "svddecomp(${1:input_M})",
+ "scope": "source.vex",
+ "description": "Computes the singular value decomposition of a 3\u00d73 matrix."
+ },
+ "detailattrib: geometry attribute_name ignored success": {
+ "prefix": "detailattrib(geometry, attribute_name, ignored, success)",
+ "body": "detailattrib(${1:geometry}, ${2:attribute_name}, ${3:ignored}, ${4:success})",
+ "scope": "source.vex",
+ "description": "Reads a detail attribute value from a geometry."
+ },
+ "setagentlocaltransform: geohandle prim transform index": {
+ "prefix": "setagentlocaltransform(geohandle, prim, transform, index)",
+ "body": "setagentlocaltransform(${1:geohandle}, ${2:prim}, ${3:transform}, ${4:index})",
+ "scope": "source.vex",
+ "description": "Overrides the local space transform of an agent primitive\u2019s bone."
+ },
+ "getlightname: ": {
+ "prefix": "getlightname()",
+ "body": "getlightname()",
+ "scope": "source.vex",
+ "description": "Returns the name of the current light when called from within an illuminance loop, or converts an integer light ID into the light\u2019s name."
+ },
+ "getlightname: lightid": {
+ "prefix": "getlightname(lightid)",
+ "body": "getlightname(${1:lightid})",
+ "scope": "source.vex",
+ "description": "Returns the name of the current light when called from within an illuminance loop, or converts an integer light ID into the light\u2019s name."
+ },
+ "tolower: str": {
+ "prefix": "tolower(str)",
+ "body": "tolower(${1:str})",
+ "scope": "source.vex",
+ "description": "Converts all characters in string to lower case"
+ },
+ "istarttime: opinput": {
+ "prefix": "istarttime(opinput)",
+ "body": "istarttime(${1:opinput})",
+ "scope": "source.vex",
+ "description": "Returns the start time of the specified input."
+ },
+ "filtershadow: P D bias ...": {
+ "prefix": "filtershadow(P, D, bias, ...)",
+ "body": "filtershadow(${1:P}, ${2:D}, ${3:bias}, ${4:...})",
+ "scope": "source.vex",
+ "description": "Sends a ray from the position P along direction D."
+ },
+ "blinnBRDF: L N V rough": {
+ "prefix": "blinnBRDF(L, N, V, rough)",
+ "body": "blinnBRDF(${1:L}, ${2:N}, ${3:V}, ${4:rough})",
+ "scope": "source.vex",
+ "description": ""
+ },
+ "usd_setvariantselection: stage primpath variantset variant": {
+ "prefix": "usd_setvariantselection(stage, primpath, variantset, variant)",
+ "body": "usd_setvariantselection(${1:stage}, ${2:primpath}, ${3:variantset}, ${4:variant})",
+ "scope": "source.vex",
+ "description": "Sets the selected variant in the given variant set."
+ },
+ "usd_collectionexcludes: stage collectionpath": {
+ "prefix": "usd_collectionexcludes(stage, collectionpath)",
+ "body": "usd_collectionexcludes(${1:stage}, ${2:collectionpath})",
+ "scope": "source.vex",
+ "description": "Obtains the object paths that are in the collection\u2019s exclude list"
+ },
+ "ptlined: P0 P1 Q": {
+ "prefix": "ptlined(P0, P1, Q)",
+ "body": "ptlined(${1:P0}, ${2:P1}, ${3:Q})",
+ "scope": "source.vex",
+ "description": "This function returns the closest distance between the point Q and a\nfinite line segment between points P0 and P1."
+ },
+ "attribtypeinfo: geometry attribclass attribute_name": {
+ "prefix": "attribtypeinfo(geometry, attribclass, attribute_name)",
+ "body": "attribtypeinfo(${1:geometry}, ${2:attribclass}, ${3:attribute_name})",
+ "scope": "source.vex",
+ "description": "Returns the transformation metadata of a geometry attribute."
+ },
+ "opparentbonetransform: path": {
+ "prefix": "opparentbonetransform(path)",
+ "body": "opparentbonetransform(${1:path})",
+ "scope": "source.vex",
+ "description": "Returns the parent bone transform associated with an OP."
+ },
+ "opparentbonetransform: path time": {
+ "prefix": "opparentbonetransform(path, time)",
+ "body": "opparentbonetransform(${1:path}, ${2:time})",
+ "scope": "source.vex",
+ "description": "Returns the parent bone transform associated with an OP."
+ },
+ "opparentbonetransform: opid": {
+ "prefix": "opparentbonetransform(opid)",
+ "body": "opparentbonetransform(${1:opid})",
+ "scope": "source.vex",
+ "description": "Returns the parent bone transform associated with an OP."
+ },
+ "opparentbonetransform: opid time": {
+ "prefix": "opparentbonetransform(opid, time)",
+ "body": "opparentbonetransform(${1:opid}, ${2:time})",
+ "scope": "source.vex",
+ "description": "Returns the parent bone transform associated with an OP."
+ },
+ "mdensity: P": {
+ "prefix": "mdensity(P)",
+ "body": "mdensity(${1:P})",
+ "scope": "source.vex",
+ "description": "Returns the density of the metaball field if metaball geometry is\nspecified to i3dgen."
+ },
+ "getbbox: geometry min max": {
+ "prefix": "getbbox(geometry, min, max)",
+ "body": "getbbox(${1:geometry}, ${2:min}, ${3:max})",
+ "scope": "source.vex",
+ "description": "Sets two vectors to the minimum and maximum corners of the bounding box for the geometry."
+ },
+ "getbbox: geometry primgroup min max": {
+ "prefix": "getbbox(geometry, primgroup, min, max)",
+ "body": "getbbox(${1:geometry}, ${2:primgroup}, ${3:min}, ${4:max})",
+ "scope": "source.vex",
+ "description": "Sets two vectors to the minimum and maximum corners of the bounding box for the geometry."
+ },
+ "getbbox: min max": {
+ "prefix": "getbbox(min, max)",
+ "body": "getbbox(${1:min}, ${2:max})",
+ "scope": "source.vex",
+ "description": "Sets two vectors to the minimum and maximum corners of the bounding box for the geometry."
+ },
+ "agentclipsamplerate: geometry prim clipname": {
+ "prefix": "agentclipsamplerate(geometry, prim, clipname)",
+ "body": "agentclipsamplerate(${1:geometry}, ${2:prim}, ${3:clipname})",
+ "scope": "source.vex",
+ "description": "Returns the sample rate of an agent\u2019s animation clip."
+ },
+ "usd_attribtypename: stage primpath name": {
+ "prefix": "usd_attribtypename(stage, primpath, name)",
+ "body": "usd_attribtypename(${1:stage}, ${2:primpath}, ${3:name})",
+ "scope": "source.vex",
+ "description": "Returns the name of the attribute type."
+ },
+ "rgbtohsv: hsv": {
+ "prefix": "rgbtohsv(hsv)",
+ "body": "rgbtohsv(${1:hsv})",
+ "scope": "source.vex",
+ "description": "Convert RGB color space to HSV color space."
+ },
+ "rgbtohsv: h s v": {
+ "prefix": "rgbtohsv(h, s, v)",
+ "body": "rgbtohsv(${1:h}, ${2:s}, ${3:v})",
+ "scope": "source.vex",
+ "description": "Convert RGB color space to HSV color space."
+ },
+ "getpointbbox_max: geometry": {
+ "prefix": "getpointbbox_max(geometry)",
+ "body": "getpointbbox_max(${1:geometry})",
+ "scope": "source.vex",
+ "description": "Returns the maximum of the bounding box for the geometry."
+ },
+ "getpointbbox_max: geometry pointgroup": {
+ "prefix": "getpointbbox_max(geometry, pointgroup)",
+ "body": "getpointbbox_max(${1:geometry}, ${2:pointgroup})",
+ "scope": "source.vex",
+ "description": "Returns the maximum of the bounding box for the geometry."
+ },
+ "hasplane: planename": {
+ "prefix": "hasplane(planename)",
+ "body": "hasplane(${1:planename})",
+ "scope": "source.vex",
+ "description": "Returns 1 if the plane specified by the parameter exists in this\nCOP."
+ },
+ "volumeindex: geometry primnum voxel": {
+ "prefix": "volumeindex(geometry, primnum, voxel)",
+ "body": "volumeindex(${1:geometry}, ${2:primnum}, ${3:voxel})",
+ "scope": "source.vex",
+ "description": "Gets the value of a specific voxel."
+ },
+ "volumeindex: geometry volumename voxel": {
+ "prefix": "volumeindex(geometry, volumename, voxel)",
+ "body": "volumeindex(${1:geometry}, ${2:volumename}, ${3:voxel})",
+ "scope": "source.vex",
+ "description": "Gets the value of a specific voxel."
+ },
+ "getphotonlight: ": {
+ "prefix": "getphotonlight()",
+ "body": "getphotonlight()",
+ "scope": "source.vex",
+ "description": "Returns the integer ID of the light being used for photon shading."
+ },
+ "expandedgegroup: filename groupname": {
+ "prefix": "expandedgegroup(filename, groupname)",
+ "body": "expandedgegroup(${1:filename}, ${2:groupname})",
+ "scope": "source.vex",
+ "description": ""
+ },
+ "expandedgegroup: input groupname": {
+ "prefix": "expandedgegroup(input, groupname)",
+ "body": "expandedgegroup(${1:input}, ${2:groupname})",
+ "scope": "source.vex",
+ "description": ""
+ },
+ "texprintf: u v format ...": {
+ "prefix": "texprintf(u, v, format, ...)",
+ "body": "texprintf(${1:u}, ${2:v}, ${3:format}, ${4:...})",
+ "scope": "source.vex",
+ "description": "Similar to sprintf, but does expansion of UDIM or UVTILE texture filename expansion."
+ },
+ "getpointbbox_center: geometry": {
+ "prefix": "getpointbbox_center(geometry)",
+ "body": "getpointbbox_center(${1:geometry})",
+ "scope": "source.vex",
+ "description": "Returns the center of the bounding box for the geometry."
+ },
+ "getpointbbox_center: geometry pointgroup": {
+ "prefix": "getpointbbox_center(geometry, pointgroup)",
+ "body": "getpointbbox_center(${1:geometry}, ${2:pointgroup})",
+ "scope": "source.vex",
+ "description": "Returns the center of the bounding box for the geometry."
+ },
+ "chsetlength: clip_length": {
+ "prefix": "chsetlength(clip_length)",
+ "body": "chsetlength(${1:clip_length})",
+ "scope": "source.vex",
+ "description": "Sets the length of the CHOP channel data."
+ },
+ "volumesample: geometry primnum pos": {
+ "prefix": "volumesample(geometry, primnum, pos)",
+ "body": "volumesample(${1:geometry}, ${2:primnum}, ${3:pos})",
+ "scope": "source.vex",
+ "description": "Samples the volume primitive\u2019s value."
+ },
+ "volumesample: geometry volumename pos": {
+ "prefix": "volumesample(geometry, volumename, pos)",
+ "body": "volumesample(${1:geometry}, ${2:volumename}, ${3:pos})",
+ "scope": "source.vex",
+ "description": "Samples the volume primitive\u2019s value."
+ },
+ "wo_vspace: v": {
+ "prefix": "wo_vspace(v)",
+ "body": "wo_vspace(${1:v})",
+ "scope": "source.vex",
+ "description": "Transforms a direction vector from World to Object space."
+ },
+ "assert_enabled: ": {
+ "prefix": "assert_enabled()",
+ "body": "assert_enabled()",
+ "scope": "source.vex",
+ "description": "Returns 1 if the VEX assertions are enabled (see HOUDINI_VEX_ASSERT) or 0 if assertions are disabled. Used the implement the assert macro."
+ },
+ "pcfilter: handle channel_name ...": {
+ "prefix": "pcfilter(handle, channel_name, ...)",
+ "body": "pcfilter(${1:handle}, ${2:channel_name}, ${3:...})",
+ "scope": "source.vex",
+ "description": "Filters points found by pcopen using a simple reconstruction filter."
+ },
+ "onoise: pos": {
+ "prefix": "onoise(pos)",
+ "body": "onoise(${1:pos})",
+ "scope": "source.vex",
+ "description": "These functions are similar to wnoise and vnoise."
+ },
+ "onoise: pos turbulence rough atten": {
+ "prefix": "onoise(pos, turbulence, rough, atten)",
+ "body": "onoise(${1:pos}, ${2:turbulence}, ${3:rough}, ${4:atten})",
+ "scope": "source.vex",
+ "description": "These functions are similar to wnoise and vnoise."
+ },
+ "onoise: pos periodX periodY periodZ": {
+ "prefix": "onoise(pos, periodX, periodY, periodZ)",
+ "body": "onoise(${1:pos}, ${2:periodX}, ${3:periodY}, ${4:periodZ})",
+ "scope": "source.vex",
+ "description": "These functions are similar to wnoise and vnoise."
+ },
+ "onoise: pos periodX periodY periodZ turbulence rough atten": {
+ "prefix": "onoise(pos, periodX, periodY, periodZ, turbulence, rough, atten)",
+ "body": "onoise(${1:pos}, ${2:periodX}, ${3:periodY}, ${4:periodZ}, ${5:turbulence}, ${6:rough}, ${7:atten})",
+ "scope": "source.vex",
+ "description": "These functions are similar to wnoise and vnoise."
+ },
+ "usd_addcollectioninclude: stagehandle collectionpath path": {
+ "prefix": "usd_addcollectioninclude(stagehandle, collectionpath, path)",
+ "body": "usd_addcollectioninclude(${1:stagehandle}, ${2:collectionpath}, ${3:path})",
+ "scope": "source.vex",
+ "description": "Includes an object in the collection"
+ },
+ "sample_hemisphere: u": {
+ "prefix": "sample_hemisphere(u)",
+ "body": "sample_hemisphere(${1:u})",
+ "scope": "source.vex",
+ "description": "Generates a unit vector, optionally biased, within a hemisphere, given a vector2 of uniform numbers between 0 and 1."
+ },
+ "sample_hemisphere: center u": {
+ "prefix": "sample_hemisphere(center, u)",
+ "body": "sample_hemisphere(${1:center}, ${2:u})",
+ "scope": "source.vex",
+ "description": "Generates a unit vector, optionally biased, within a hemisphere, given a vector2 of uniform numbers between 0 and 1."
+ },
+ "sample_hemisphere: bias u": {
+ "prefix": "sample_hemisphere(bias, u)",
+ "body": "sample_hemisphere(${1:bias}, ${2:u})",
+ "scope": "source.vex",
+ "description": "Generates a unit vector, optionally biased, within a hemisphere, given a vector2 of uniform numbers between 0 and 1."
+ },
+ "sample_hemisphere: center bias u": {
+ "prefix": "sample_hemisphere(center, bias, u)",
+ "body": "sample_hemisphere(${1:center}, ${2:bias}, ${3:u})",
+ "scope": "source.vex",
+ "description": "Generates a unit vector, optionally biased, within a hemisphere, given a vector2 of uniform numbers between 0 and 1."
+ },
+ "qinvert: quaternion": {
+ "prefix": "qinvert(quaternion)",
+ "body": "qinvert(${1:quaternion})",
+ "scope": "source.vex",
+ "description": "Inverts a quaternion rotation."
+ },
+ "isshadowray: ": {
+ "prefix": "isshadowray()",
+ "body": "isshadowray()",
+ "scope": "source.vex",
+ "description": "Returns 1 if the shader is being called to evaluate opacity for\nshadow rays, or 0 if the shader is being called to evaluate for surface\ncolor."
+ },
+ "split: s": {
+ "prefix": "split(s)",
+ "body": "split(${1:s})",
+ "scope": "source.vex",
+ "description": "Splits a string into tokens."
+ },
+ "split: s separators": {
+ "prefix": "split(s, separators)",
+ "body": "split(${1:s}, ${2:separators})",
+ "scope": "source.vex",
+ "description": "Splits a string into tokens."
+ },
+ "split: s separators maxsplits": {
+ "prefix": "split(s, separators, maxsplits)",
+ "body": "split(${1:s}, ${2:separators}, ${3:maxsplits})",
+ "scope": "source.vex",
+ "description": "Splits a string into tokens."
+ },
+ "usd_primvarlen: stage primpath name": {
+ "prefix": "usd_primvarlen(stage, primpath, name)",
+ "body": "usd_primvarlen(${1:stage}, ${2:primpath}, ${3:name})",
+ "scope": "source.vex",
+ "description": "Returns the length of the array primvar."
+ },
+ "usd_primvarlen: stage primpath name timecode": {
+ "prefix": "usd_primvarlen(stage, primpath, name, timecode)",
+ "body": "usd_primvarlen(${1:stage}, ${2:primpath}, ${3:name}, ${4:timecode})",
+ "scope": "source.vex",
+ "description": "Returns the length of the array primvar."
+ },
+ "depthmap: filename uvw": {
+ "prefix": "depthmap(filename, uvw)",
+ "body": "depthmap(${1:filename}, ${2:uvw})",
+ "scope": "source.vex",
+ "description": "The depthmap functions work on an image which was rendered as a\nz-depth image from mantra."
+ },
+ "depthmap: filename u v": {
+ "prefix": "depthmap(filename, u, v)",
+ "body": "depthmap(${1:filename}, ${2:u}, ${3:v})",
+ "scope": "source.vex",
+ "description": "The depthmap functions work on an image which was rendered as a\nz-depth image from mantra."
+ },
+ "specularBRDF: L N V rough": {
+ "prefix": "specularBRDF(L, N, V, rough)",
+ "body": "specularBRDF(${1:L}, ${2:N}, ${3:V}, ${4:rough})",
+ "scope": "source.vex",
+ "description": "Returns the computed BRDFs for the different lighting models used in VEX shading."
+ },
+ "volumeindexactive: geometry primnum voxel": {
+ "prefix": "volumeindexactive(geometry, primnum, voxel)",
+ "body": "volumeindexactive(${1:geometry}, ${2:primnum}, ${3:voxel})",
+ "scope": "source.vex",
+ "description": "Gets the active setting of a specific voxel."
+ },
+ "volumeindexactive: geometry volumename voxel": {
+ "prefix": "volumeindexactive(geometry, volumename, voxel)",
+ "body": "volumeindexactive(${1:geometry}, ${2:volumename}, ${3:voxel})",
+ "scope": "source.vex",
+ "description": "Gets the active setting of a specific voxel."
+ },
+ "hedge_nextequiv: geometry hedge": {
+ "prefix": "hedge_nextequiv(geometry, hedge)",
+ "body": "hedge_nextequiv(${1:geometry}, ${2:hedge})",
+ "scope": "source.vex",
+ "description": "Returns the next half-edges equivalent to a given half-edge."
+ },
+ "iyres: opinput": {
+ "prefix": "iyres(opinput)",
+ "body": "iyres(${1:opinput})",
+ "scope": "source.vex",
+ "description": "Returns the Y resolution of the specified input."
+ },
+ "predicate_orient2d: a b c": {
+ "prefix": "predicate_orient2d(a, b, c)",
+ "body": "predicate_orient2d(${1:a}, ${2:b}, ${3:c})",
+ "scope": "source.vex",
+ "description": "Determines the orientation of a point with respect to a line."
+ },
+ "isfinite: x": {
+ "prefix": "isfinite(x)",
+ "body": "isfinite(${1:x})",
+ "scope": "source.vex",
+ "description": "Checks whether a value is a normal finite number."
+ },
+ "print_once: msg ...": {
+ "prefix": "print_once(msg, ...)",
+ "body": "print_once(${1:msg}, ${2:...})",
+ "scope": "source.vex",
+ "description": "Prints a message only once, even in a loop."
+ },
+ "agentrigfindchannel: geometry prim channelname": {
+ "prefix": "agentrigfindchannel(geometry, prim, channelname)",
+ "body": "agentrigfindchannel(${1:geometry}, ${2:prim}, ${3:channelname})",
+ "scope": "source.vex",
+ "description": "Finds the index of a channel in an agent primitive\u2019s rig."
+ },
+ "addattrib: geohandle attribclass name defvalue": {
+ "prefix": "addattrib(geohandle, attribclass, name, defvalue)",
+ "body": "addattrib(${1:geohandle}, ${2:attribclass}, ${3:name}, ${4:defvalue})",
+ "scope": "source.vex",
+ "description": "Adds an attribute to a geometry."
+ },
+ "atan2: y x": {
+ "prefix": "atan2(y, x)",
+ "body": "atan2(${1:y}, ${2:x})",
+ "scope": "source.vex",
+ "description": "Returns the inverse tangent of y/x."
+ },
+ "getpointbbox_size: geometry": {
+ "prefix": "getpointbbox_size(geometry)",
+ "body": "getpointbbox_size(${1:geometry})",
+ "scope": "source.vex",
+ "description": "Returns the size of the bounding box for the geometry."
+ },
+ "getpointbbox_size: geometry pointgroup": {
+ "prefix": "getpointbbox_size(geometry, pointgroup)",
+ "body": "getpointbbox_size(${1:geometry}, ${2:pointgroup})",
+ "scope": "source.vex",
+ "description": "Returns the size of the bounding box for the geometry."
+ },
+ "getattrib: geometry attribclass attribute_name elemnum success": {
+ "prefix": "getattrib(geometry, attribclass, attribute_name, elemnum, success)",
+ "body": "getattrib(${1:geometry}, ${2:attribclass}, ${3:attribute_name}, ${4:elemnum}, ${5:success})",
+ "scope": "source.vex",
+ "description": "Reads an attribute value from geometry, with validity check."
+ },
+ "hedge_presrcpoint: geometry hedge": {
+ "prefix": "hedge_presrcpoint(geometry, hedge)",
+ "body": "hedge_presrcpoint(${1:geometry}, ${2:hedge})",
+ "scope": "source.vex",
+ "description": "Returns the point into which the vertex that precedes the source vertex of a half-edge in its primitive is wired."
+ },
+ "binput: u v ...": {
+ "prefix": "binput(u, v, ...)",
+ "body": "binput(${1:u}, ${2:v}, ${3:...})",
+ "scope": "source.vex",
+ "description": "Samples a 2\u00d72 pixel block around the given UV position, and bilinearly interpolates these pixels."
+ },
+ "binput: comp u v ...": {
+ "prefix": "binput(comp, u, v, ...)",
+ "body": "binput(${1:comp}, ${2:u}, ${3:v}, ${4:...})",
+ "scope": "source.vex",
+ "description": "Samples a 2\u00d72 pixel block around the given UV position, and bilinearly interpolates these pixels."
+ },
+ "binput: opinput plane u v ...": {
+ "prefix": "binput(opinput, plane, u, v, ...)",
+ "body": "binput(${1:opinput}, ${2:plane}, ${3:u}, ${4:v}, ${5:...})",
+ "scope": "source.vex",
+ "description": "Samples a 2\u00d72 pixel block around the given UV position, and bilinearly interpolates these pixels."
+ },
+ "binput: opinput plane comp u v ...": {
+ "prefix": "binput(opinput, plane, comp, u, v, ...)",
+ "body": "binput(${1:opinput}, ${2:plane}, ${3:comp}, ${4:u}, ${5:v}, ${6:...})",
+ "scope": "source.vex",
+ "description": "Samples a 2\u00d72 pixel block around the given UV position, and bilinearly interpolates these pixels."
+ },
+ "binput: opinput plane array_index comp u v frame ...": {
+ "prefix": "binput(opinput, plane, array_index, comp, u, v, frame, ...)",
+ "body": "binput(${1:opinput}, ${2:plane}, ${3:array_index}, ${4:comp}, ${5:u}, ${6:v}, ${7:frame}, ${8:...})",
+ "scope": "source.vex",
+ "description": "Samples a 2\u00d72 pixel block around the given UV position, and bilinearly interpolates these pixels."
+ },
+ "binput: opinput plane array_index u v frame ...": {
+ "prefix": "binput(opinput, plane, array_index, u, v, frame, ...)",
+ "body": "binput(${1:opinput}, ${2:plane}, ${3:array_index}, ${4:u}, ${5:v}, ${6:frame}, ${7:...})",
+ "scope": "source.vex",
+ "description": "Samples a 2\u00d72 pixel block around the given UV position, and bilinearly interpolates these pixels."
+ },
+ "cinput: u v ...": {
+ "prefix": "cinput(u, v, ...)",
+ "body": "cinput(${1:u}, ${2:v}, ${3:...})",
+ "scope": "source.vex",
+ "description": "Samples the exact (unfiltered) pixel color at the given coordinates."
+ },
+ "cinput: component u v ...": {
+ "prefix": "cinput(component, u, v, ...)",
+ "body": "cinput(${1:component}, ${2:u}, ${3:v}, ${4:...})",
+ "scope": "source.vex",
+ "description": "Samples the exact (unfiltered) pixel color at the given coordinates."
+ },
+ "cinput: opinput planeindex u v ...": {
+ "prefix": "cinput(opinput, planeindex, u, v, ...)",
+ "body": "cinput(${1:opinput}, ${2:planeindex}, ${3:u}, ${4:v}, ${5:...})",
+ "scope": "source.vex",
+ "description": "Samples the exact (unfiltered) pixel color at the given coordinates."
+ },
+ "cinput: opinput planeindex component u v ...": {
+ "prefix": "cinput(opinput, planeindex, component, u, v, ...)",
+ "body": "cinput(${1:opinput}, ${2:planeindex}, ${3:component}, ${4:u}, ${5:v}, ${6:...})",
+ "scope": "source.vex",
+ "description": "Samples the exact (unfiltered) pixel color at the given coordinates."
+ },
+ "cinput: opinput planeindex arrayindex u v frame ...": {
+ "prefix": "cinput(opinput, planeindex, arrayindex, u, v, frame, ...)",
+ "body": "cinput(${1:opinput}, ${2:planeindex}, ${3:arrayindex}, ${4:u}, ${5:v}, ${6:frame}, ${7:...})",
+ "scope": "source.vex",
+ "description": "Samples the exact (unfiltered) pixel color at the given coordinates."
+ },
+ "cinput: opinput planeindex arrayindex component u v frame ...": {
+ "prefix": "cinput(opinput, planeindex, arrayindex, component, u, v, frame, ...)",
+ "body": "cinput(${1:opinput}, ${2:planeindex}, ${3:arrayindex}, ${4:component}, ${5:u}, ${6:v}, ${7:frame}, ${8:...})",
+ "scope": "source.vex",
+ "description": "Samples the exact (unfiltered) pixel color at the given coordinates."
+ },
+ "slerp: q1 q2 bias": {
+ "prefix": "slerp(q1, q2, bias)",
+ "body": "slerp(${1:q1}, ${2:q2}, ${3:bias})",
+ "scope": "source.vex",
+ "description": "Quaternion blend between q1 and q2 based on the bias."
+ },
+ "slerp: qs weights": {
+ "prefix": "slerp(qs, weights)",
+ "body": "slerp(${1:qs}, ${2:weights})",
+ "scope": "source.vex",
+ "description": "Quaternion blend between q1 and q2 based on the bias."
+ },
+ "slerp: m1 m2 bias": {
+ "prefix": "slerp(m1, m2, bias)",
+ "body": "slerp(${1:m1}, ${2:m2}, ${3:bias})",
+ "scope": "source.vex",
+ "description": "Quaternion blend between q1 and q2 based on the bias."
+ },
+ "slerp: ms weights": {
+ "prefix": "slerp(ms, weights)",
+ "body": "slerp(${1:ms}, ${2:weights})",
+ "scope": "source.vex",
+ "description": "Quaternion blend between q1 and q2 based on the bias."
+ },
+ "has_udim: path": {
+ "prefix": "has_udim(path)",
+ "body": "has_udim(${1:path})",
+ "scope": "source.vex",
+ "description": "Test string for UDIM or UVTILE patterns."
+ },
+ "getgroupid: ": {
+ "prefix": "getgroupid()",
+ "body": "getgroupid()",
+ "scope": "source.vex",
+ "description": "Returns group id containing current primitive."
+ },
+ "usd_primvarinterpolation: stage primpath name": {
+ "prefix": "usd_primvarinterpolation(stage, primpath, name)",
+ "body": "usd_primvarinterpolation(${1:stage}, ${2:primpath}, ${3:name})",
+ "scope": "source.vex",
+ "description": "Returns the element size of the primvar."
+ },
+ "sample_orientation_uniform: u": {
+ "prefix": "sample_orientation_uniform(u)",
+ "body": "sample_orientation_uniform(${1:u})",
+ "scope": "source.vex",
+ "description": "Generates a uniform unit vector4, given a vector of uniform numbers between 0 and 1."
+ },
+ "setagentclipweights: geohandle prim clipweights": {
+ "prefix": "setagentclipweights(geohandle, prim, clipweights)",
+ "body": "setagentclipweights(${1:geohandle}, ${2:prim}, ${3:clipweights})",
+ "scope": "source.vex",
+ "description": "Sets the blend weights for an agent primitive\u2019s animation clips."
+ },
+ "attrib: geometry attribclass name elemnum": {
+ "prefix": "attrib(geometry, attribclass, name, elemnum)",
+ "body": "attrib(${1:geometry}, ${2:attribclass}, ${3:name}, ${4:elemnum})",
+ "scope": "source.vex",
+ "description": "Reads the value of an attribute from geometry."
+ },
+ "random_ihash: seed": {
+ "prefix": "random_ihash(seed)",
+ "body": "random_ihash(${1:seed})",
+ "scope": "source.vex",
+ "description": "Hashes integer numbers to integers."
+ },
+ "minpos: geometry point": {
+ "prefix": "minpos(geometry, point)",
+ "body": "minpos(${1:geometry}, ${2:point})",
+ "scope": "source.vex",
+ "description": "Finds the closest position on the surface of a geometry."
+ },
+ "minpos: geometry point maxdist": {
+ "prefix": "minpos(geometry, point, maxdist)",
+ "body": "minpos(${1:geometry}, ${2:point}, ${3:maxdist})",
+ "scope": "source.vex",
+ "description": "Finds the closest position on the surface of a geometry."
+ },
+ "minpos: geometry primgroup point": {
+ "prefix": "minpos(geometry, primgroup, point)",
+ "body": "minpos(${1:geometry}, ${2:primgroup}, ${3:point})",
+ "scope": "source.vex",
+ "description": "Finds the closest position on the surface of a geometry."
+ },
+ "minpos: geometry primgroup point maxdist": {
+ "prefix": "minpos(geometry, primgroup, point, maxdist)",
+ "body": "minpos(${1:geometry}, ${2:primgroup}, ${3:point}, ${4:maxdist})",
+ "scope": "source.vex",
+ "description": "Finds the closest position on the surface of a geometry."
+ },
+ "usd_addrelationshiptarget: stagehandle primpath name target": {
+ "prefix": "usd_addrelationshiptarget(stagehandle, primpath, name, target)",
+ "body": "usd_addrelationshiptarget(${1:stagehandle}, ${2:primpath}, ${3:name}, ${4:target})",
+ "scope": "source.vex",
+ "description": "Adds a target to the primitive\u2019s relationship"
+ },
+ "velocityname: ": {
+ "prefix": "velocityname()",
+ "body": "velocityname()",
+ "scope": "source.vex",
+ "description": "Returns the default name of the velocity plane (as it appears in the\ncompositor preferences)."
+ },
+ "usd_metadata: stage path name": {
+ "prefix": "usd_metadata(stage, path, name)",
+ "body": "usd_metadata(${1:stage}, ${2:path}, ${3:name})",
+ "scope": "source.vex",
+ "description": "Reads the value of metadata from the USD object."
+ },
+ "fit10: value nmin nmax": {
+ "prefix": "fit10(value, nmin, nmax)",
+ "body": "fit10(${1:value}, ${2:nmin}, ${3:nmax})",
+ "scope": "source.vex",
+ "description": "Takes the value in the range (1, 0) and shifts it to the corresponding value in a new range."
+ },
+ "usd_variantselection: stage primpath variantset": {
+ "prefix": "usd_variantselection(stage, primpath, variantset)",
+ "body": "usd_variantselection(${1:stage}, ${2:primpath}, ${3:variantset})",
+ "scope": "source.vex",
+ "description": "Returns the currently selected variant in a given variant set."
+ },
+ "usd_setdrawmode: stagehandle primpath mode": {
+ "prefix": "usd_setdrawmode(stagehandle, primpath, mode)",
+ "body": "usd_setdrawmode(${1:stagehandle}, ${2:primpath}, ${3:mode})",
+ "scope": "source.vex",
+ "description": "Sets the primitive\u2019s draw mode."
+ },
+ "pcfarthest: handle": {
+ "prefix": "pcfarthest(handle)",
+ "body": "pcfarthest(${1:handle})",
+ "scope": "source.vex",
+ "description": "Returns the distance to the farthest point found in the search\nperformed by pcopen."
+ },
+ "usd_setprimvarindices: stagehandle primpath name indices": {
+ "prefix": "usd_setprimvarindices(stagehandle, primpath, name, indices)",
+ "body": "usd_setprimvarindices(${1:stagehandle}, ${2:primpath}, ${3:name}, ${4:indices})",
+ "scope": "source.vex",
+ "description": "Sets the indices for the given primvar."
+ },
+ "agentfindtransformgroup: geometry prim transformgroup": {
+ "prefix": "agentfindtransformgroup(geometry, prim, transformgroup)",
+ "body": "agentfindtransformgroup(${1:geometry}, ${2:prim}, ${3:transformgroup})",
+ "scope": "source.vex",
+ "description": "Finds the index of a transform group in an agent\u2019s definition."
+ },
+ "getfogname: ": {
+ "prefix": "getfogname()",
+ "body": "getfogname()",
+ "scope": "source.vex",
+ "description": "Returns the name of the current object whose shader is being run."
+ },
+ "planeindex: planename": {
+ "prefix": "planeindex(planename)",
+ "body": "planeindex(${1:planename})",
+ "scope": "source.vex",
+ "description": "Returns the index of the plane specified by the parameter, starting\nat zero."
+ },
+ "volumegradient: geometry primnum pos": {
+ "prefix": "volumegradient(geometry, primnum, pos)",
+ "body": "volumegradient(${1:geometry}, ${2:primnum}, ${3:pos})",
+ "scope": "source.vex",
+ "description": "Calculates the volume primitive\u2019s gradient."
+ },
+ "volumegradient: geometry volumename pos": {
+ "prefix": "volumegradient(geometry, volumename, pos)",
+ "body": "volumegradient(${1:geometry}, ${2:volumename}, ${3:pos})",
+ "scope": "source.vex",
+ "description": "Calculates the volume primitive\u2019s gradient."
+ },
+ "henyeygreenstein: anisotropic_bias ...": {
+ "prefix": "henyeygreenstein(anisotropic_bias, ...)",
+ "body": "henyeygreenstein(${1:anisotropic_bias}, ${2:...})",
+ "scope": "source.vex",
+ "description": "Returns an anisotropic volumetric BSDF, which can scatter light forward or backward."
+ },
+ "pcgenerate: filename npoints": {
+ "prefix": "pcgenerate(filename, npoints)",
+ "body": "pcgenerate(${1:filename}, ${2:npoints})",
+ "scope": "source.vex",
+ "description": "Generates a point cloud."
+ },
+ "vertexindex: geometry primnum vertex": {
+ "prefix": "vertexindex(geometry, primnum, vertex)",
+ "body": "vertexindex(${1:geometry}, ${2:primnum}, ${3:vertex})",
+ "scope": "source.vex",
+ "description": "Converts a primitive/vertex pair into a linear vertex."
+ },
+ "chi: channel": {
+ "prefix": "chi(channel)",
+ "body": "chi(${1:channel})",
+ "scope": "source.vex",
+ "description": "Evaluates a channel (or parameter) and return its value."
+ },
+ "chi: channel time": {
+ "prefix": "chi(channel, time)",
+ "body": "chi(${1:channel}, ${2:time})",
+ "scope": "source.vex",
+ "description": "Evaluates a channel (or parameter) and return its value."
+ },
+ "hedge_next: geometry hedge": {
+ "prefix": "hedge_next(geometry, hedge)",
+ "body": "hedge_next(${1:geometry}, ${2:hedge})",
+ "scope": "source.vex",
+ "description": "Returns the half-edge that follows a given half-edge in its polygon."
+ },
+ "usd_blockprimvarindices: stagehandle primpath name": {
+ "prefix": "usd_blockprimvarindices(stagehandle, primpath, name)",
+ "body": "usd_blockprimvarindices(${1:stagehandle}, ${2:primpath}, ${3:name})",
+ "scope": "source.vex",
+ "description": "Blocks the primvar."
+ },
+ "invert: m": {
+ "prefix": "invert(m)",
+ "body": "invert(${1:m})",
+ "scope": "source.vex",
+ "description": "Inverts a matrix."
+ },
+ "chstartf: ": {
+ "prefix": "chstartf()",
+ "body": "chstartf()",
+ "scope": "source.vex",
+ "description": "Returns the frame corresponding to the first sample of the input\nspecified."
+ },
+ "chstartf: opinput": {
+ "prefix": "chstartf(opinput)",
+ "body": "chstartf(${1:opinput})",
+ "scope": "source.vex",
+ "description": "Returns the frame corresponding to the first sample of the input\nspecified."
+ },
+ "chinputlimits: opinput channel channel_min channel_max": {
+ "prefix": "chinputlimits(opinput, channel, channel_min, channel_max)",
+ "body": "chinputlimits(${1:opinput}, ${2:channel}, ${3:channel_min}, ${4:channel_max})",
+ "scope": "source.vex",
+ "description": "Computes the minimum and maximum value of samples in an input channel."
+ },
+ "fit11: value nmin nmax": {
+ "prefix": "fit11(value, nmin, nmax)",
+ "body": "fit11(${1:value}, ${2:nmin}, ${3:nmax})",
+ "scope": "source.vex",
+ "description": "Takes the value in the range (-1, 1) and shifts it to the corresponding value in a new range."
+ },
+ "agentclipchannelnames: geometry prim clipname": {
+ "prefix": "agentclipchannelnames(geometry, prim, clipname)",
+ "body": "agentclipchannelnames(${1:geometry}, ${2:prim}, ${3:clipname})",
+ "scope": "source.vex",
+ "description": "Returns the names of the channels in an agent\u2019s animation clip."
+ },
+ "hscript_rand: seed": {
+ "prefix": "hscript_rand(seed)",
+ "body": "hscript_rand(${1:seed})",
+ "scope": "source.vex",
+ "description": "Produces the exact same results as the Houdini expression function of\nthe same name."
+ },
+ "getblurP: delta": {
+ "prefix": "getblurP(delta)",
+ "body": "getblurP(${1:delta})",
+ "scope": "source.vex",
+ "description": "Returns the blurred point position (P) vector at a fractional time within the motion blur exposure."
+ },
+ "tet_faceindex: faceno vtxno": {
+ "prefix": "tet_faceindex(faceno, vtxno)",
+ "body": "tet_faceindex(${1:faceno}, ${2:vtxno})",
+ "scope": "source.vex",
+ "description": "Returns vertex indices of each face of a tetrahedron."
+ },
+ "nextsample: sid sx sy ...": {
+ "prefix": "nextsample(sid, sx, sy, ...)",
+ "body": "nextsample(${1:sid}, ${2:sx}, ${3:sy}, ${4:...})",
+ "scope": "source.vex",
+ "description": ""
+ },
+ "nextsample: sid svec ...": {
+ "prefix": "nextsample(sid, svec, ...)",
+ "body": "nextsample(${1:sid}, ${2:svec}, ${3:...})",
+ "scope": "source.vex",
+ "description": ""
+ },
+ "iplanename: opinput planeindex": {
+ "prefix": "iplanename(opinput, planeindex)",
+ "body": "iplanename(${1:opinput}, ${2:planeindex})",
+ "scope": "source.vex",
+ "description": "Returns the name of the plane specified by the planeindex of the given input"
+ },
+ "chendt: opinput": {
+ "prefix": "chendt(opinput)",
+ "body": "chendt(${1:opinput})",
+ "scope": "source.vex",
+ "description": "Returns the time corresponding to the last sample of the input\nspecified."
+ },
+ "neighbourcount: geometry point_num": {
+ "prefix": "neighbourcount(geometry, point_num)",
+ "body": "neighbourcount(${1:geometry}, ${2:point_num})",
+ "scope": "source.vex",
+ "description": "Returns the number of points that are connected to the specified point."
+ },
+ "usd_addinversetotransformorder: stagehandle primpath name": {
+ "prefix": "usd_addinversetotransformorder(stagehandle, primpath, name)",
+ "body": "usd_addinversetotransformorder(${1:stagehandle}, ${2:primpath}, ${3:name})",
+ "scope": "source.vex",
+ "description": "Appends an inversed transform operation to the primitive\u2019s transform order"
+ },
+ "usd_getbbox_size: stage primpath purpose": {
+ "prefix": "usd_getbbox_size(stage, primpath, purpose)",
+ "body": "usd_getbbox_size(${1:stage}, ${2:primpath}, ${3:purpose})",
+ "scope": "source.vex",
+ "description": "Returns the size of the bounding box for the primitive."
+ },
+ "texture3dBox: filename channel min max ...": {
+ "prefix": "texture3dBox(filename, channel, min, max, ...)",
+ "body": "texture3dBox(${1:filename}, ${2:channel}, ${3:min}, ${4:max}, ${5:...})",
+ "scope": "source.vex",
+ "description": "This function queries the 3D texture map specified and returns the\nbounding box information of the file."
+ },
+ "nrandom: ...": {
+ "prefix": "nrandom(...)",
+ "body": "nrandom(${1:...})",
+ "scope": "source.vex",
+ "description": "Non-deterministic random number generation function."
+ },
+ "nrandom: x y ...": {
+ "prefix": "nrandom(x, y, ...)",
+ "body": "nrandom(${1:x}, ${2:y}, ${3:...})",
+ "scope": "source.vex",
+ "description": "Non-deterministic random number generation function."
+ },
+ "agentworldtransforms: geometry prim": {
+ "prefix": "agentworldtransforms(geometry, prim)",
+ "body": "agentworldtransforms(${1:geometry}, ${2:prim})",
+ "scope": "source.vex",
+ "description": "Returns the current world space transforms of an agent primitive."
+ },
+ "usd_addtransform: stagehandle primpath suffix xform": {
+ "prefix": "usd_addtransform(stagehandle, primpath, suffix, xform)",
+ "body": "usd_addtransform(${1:stagehandle}, ${2:primpath}, ${3:suffix}, ${4:xform})",
+ "scope": "source.vex",
+ "description": "Applies a transformation to the primitive"
+ },
+ "environment: texture_filename reflect_dir ...": {
+ "prefix": "environment(texture_filename, reflect_dir, ...)",
+ "body": "environment(${1:texture_filename}, ${2:reflect_dir}, ${3:...})",
+ "scope": "source.vex",
+ "description": "Returns the color of the environment texture."
+ },
+ "environment: texture_filename reflect_dir0 reflect_dir1 reflect_dir2 reflect_dir3 ...": {
+ "prefix": "environment(texture_filename, reflect_dir0, reflect_dir1, reflect_dir2, reflect_dir3, ...)",
+ "body": "environment(${1:texture_filename}, ${2:reflect_dir0}, ${3:reflect_dir1}, ${4:reflect_dir2}, ${5:reflect_dir3}, ${6:...})",
+ "scope": "source.vex",
+ "description": "Returns the color of the environment texture."
+ },
+ "environment: texture_filename reflect_dir filter_angle ...": {
+ "prefix": "environment(texture_filename, reflect_dir, filter_angle, ...)",
+ "body": "environment(${1:texture_filename}, ${2:reflect_dir}, ${3:filter_angle}, ${4:...})",
+ "scope": "source.vex",
+ "description": "Returns the color of the environment texture."
+ },
+ "chreadbuf: index": {
+ "prefix": "chreadbuf(index)",
+ "body": "chreadbuf(${1:index})",
+ "scope": "source.vex",
+ "description": "Returns the value of CHOP context temporary buffer at the specified index."
+ },
+ "usd_attribnames: stage primpath": {
+ "prefix": "usd_attribnames(stage, primpath)",
+ "body": "usd_attribnames(${1:stage}, ${2:primpath})",
+ "scope": "source.vex",
+ "description": "Returns the names of the attributes available on the primitive."
+ },
+ "matchvex_blinn: exponent ...": {
+ "prefix": "matchvex_blinn(exponent, ...)",
+ "body": "matchvex_blinn(${1:exponent}, ${2:...})",
+ "scope": "source.vex",
+ "description": "Returns a BSDF that matches the output of the traditional VEX blinn function."
+ },
+ "matchvex_blinn: nml exponent ...": {
+ "prefix": "matchvex_blinn(nml, exponent, ...)",
+ "body": "matchvex_blinn(${1:nml}, ${2:exponent}, ${3:...})",
+ "scope": "source.vex",
+ "description": "Returns a BSDF that matches the output of the traditional VEX blinn function."
+ },
+ "usd_primvarattribname: stage name": {
+ "prefix": "usd_primvarattribname(stage, name)",
+ "body": "usd_primvarattribname(${1:stage}, ${2:name})",
+ "scope": "source.vex",
+ "description": "Returns the namespaced attribute name for the given primvar."
+ },
+ "sample_circle_uniform: u": {
+ "prefix": "sample_circle_uniform(u)",
+ "body": "sample_circle_uniform(${1:u})",
+ "scope": "source.vex",
+ "description": "Generates a uniform vector2 with length < 1, given a vector2 of uniform numbers between 0 and 1."
+ },
+ "usd_blockrelationship: stagehandle primpath name": {
+ "prefix": "usd_blockrelationship(stagehandle, primpath, name)",
+ "body": "usd_blockrelationship(${1:stagehandle}, ${2:primpath}, ${3:name})",
+ "scope": "source.vex",
+ "description": "Blocks the primitive\u2019s relationship"
+ },
+ "length2: v": {
+ "prefix": "length2(v)",
+ "body": "length2(${1:v})",
+ "scope": "source.vex",
+ "description": "Returns the squared distance of the vector or vector4."
+ },
+ "usd_getbbox_center: stage primpath purpose": {
+ "prefix": "usd_getbbox_center(stage, primpath, purpose)",
+ "body": "usd_getbbox_center(${1:stage}, ${2:primpath}, ${3:purpose})",
+ "scope": "source.vex",
+ "description": "Returns the center of the bounding box for the primitive."
+ },
+ "choplocal: filename channel sample": {
+ "prefix": "choplocal(filename, channel, sample)",
+ "body": "choplocal(${1:filename}, ${2:channel}, ${3:sample})",
+ "scope": "source.vex",
+ "description": "Returns the value of a CHOP local transform channel at the specified sample."
+ },
+ "getpackedtransform: input primnum": {
+ "prefix": "getpackedtransform(input, primnum)",
+ "body": "getpackedtransform(${1:input}, ${2:primnum})",
+ "scope": "source.vex",
+ "description": "Gets the transform of a packed primitive."
+ },
+ "slice: s start end": {
+ "prefix": "slice(s, start, end)",
+ "body": "slice(${1:s}, ${2:start}, ${3:end})",
+ "scope": "source.vex",
+ "description": "Slices a sub-string or sub-array of a string or array."
+ },
+ "slice: s start end step": {
+ "prefix": "slice(s, start, end, step)",
+ "body": "slice(${1:s}, ${2:start}, ${3:end}, ${4:step})",
+ "scope": "source.vex",
+ "description": "Slices a sub-string or sub-array of a string or array."
+ },
+ "slice: s hasstart start hasend end hasstep step": {
+ "prefix": "slice(s, hasstart, start, hasend, end, hasstep, step)",
+ "body": "slice(${1:s}, ${2:hasstart}, ${3:start}, ${4:hasend}, ${5:end}, ${6:hasstep}, ${7:step})",
+ "scope": "source.vex",
+ "description": "Slices a sub-string or sub-array of a string or array."
+ },
+ "slice: array hasstart start hasend end hasstep step": {
+ "prefix": "slice(array, hasstart, start, hasend, end, hasstep, step)",
+ "body": "slice(${1:array}, ${2:hasstart}, ${3:start}, ${4:hasend}, ${5:end}, ${6:hasstep}, ${7:step})",
+ "scope": "source.vex",
+ "description": "Slices a sub-string or sub-array of a string or array."
+ },
+ "vertexattrib: geometry attribute_name linear_vertex_index success": {
+ "prefix": "vertexattrib(geometry, attribute_name, linear_vertex_index, success)",
+ "body": "vertexattrib(${1:geometry}, ${2:attribute_name}, ${3:linear_vertex_index}, ${4:success})",
+ "scope": "source.vex",
+ "description": "Reads a vertex attribute value from a geometry."
+ },
+ "find: haystack needle": {
+ "prefix": "find(haystack, needle)",
+ "body": "find(${1:haystack}, ${2:needle})",
+ "scope": "source.vex",
+ "description": "Finds an item in an array or string."
+ },
+ "find: haystack needle start": {
+ "prefix": "find(haystack, needle, start)",
+ "body": "find(${1:haystack}, ${2:needle}, ${3:start})",
+ "scope": "source.vex",
+ "description": "Finds an item in an array or string."
+ },
+ "find: haystack needle start end": {
+ "prefix": "find(haystack, needle, start, end)",
+ "body": "find(${1:haystack}, ${2:needle}, ${3:start}, ${4:end})",
+ "scope": "source.vex",
+ "description": "Finds an item in an array or string."
+ },
+ "find: array target": {
+ "prefix": "find(array, target)",
+ "body": "find(${1:array}, ${2:target})",
+ "scope": "source.vex",
+ "description": "Finds an item in an array or string."
+ },
+ "find: array target start": {
+ "prefix": "find(array, target, start)",
+ "body": "find(${1:array}, ${2:target}, ${3:start})",
+ "scope": "source.vex",
+ "description": "Finds an item in an array or string."
+ },
+ "find: array target start end": {
+ "prefix": "find(array, target, start, end)",
+ "body": "find(${1:array}, ${2:target}, ${3:start}, ${4:end})",
+ "scope": "source.vex",
+ "description": "Finds an item in an array or string."
+ },
+ "Dv: n ...": {
+ "prefix": "Dv(n, ...)",
+ "body": "Dv(${1:n}, ${2:...})",
+ "scope": "source.vex",
+ "description": "Returns the derivative of the given value with respect to V."
+ },
+ "xnoised: x v dvdx": {
+ "prefix": "xnoised(x, v, dvdx)",
+ "body": "xnoised(${1:x}, ${2:v}, ${3:dvdx})",
+ "scope": "source.vex",
+ "description": "Derivatives of Simplex Noise."
+ },
+ "xnoised: x y v dvdx dvdy": {
+ "prefix": "xnoised(x, y, v, dvdx, dvdy)",
+ "body": "xnoised(${1:x}, ${2:y}, ${3:v}, ${4:dvdx}, ${5:dvdy})",
+ "scope": "source.vex",
+ "description": "Derivatives of Simplex Noise."
+ },
+ "xnoised: xyz v dvdx dvdy dvdz": {
+ "prefix": "xnoised(xyz, v, dvdx, dvdy, dvdz)",
+ "body": "xnoised(${1:xyz}, ${2:v}, ${3:dvdx}, ${4:dvdy}, ${5:dvdz})",
+ "scope": "source.vex",
+ "description": "Derivatives of Simplex Noise."
+ },
+ "xnoised: xyzw v dvdx dvdy dvdz dvdw": {
+ "prefix": "xnoised(xyzw, v, dvdx, dvdy, dvdz, dvdw)",
+ "body": "xnoised(${1:xyzw}, ${2:v}, ${3:dvdx}, ${4:dvdy}, ${5:dvdz}, ${6:dvdw})",
+ "scope": "source.vex",
+ "description": "Derivatives of Simplex Noise."
+ },
+ "assign: c1 c2 source": {
+ "prefix": "assign(c1, c2, source)",
+ "body": "assign(${1:c1}, ${2:c2}, ${3:source})",
+ "scope": "source.vex",
+ "description": "An efficient way of extracting the components of a vector or matrix into float variables."
+ },
+ "assign: c1 c2 c3 source": {
+ "prefix": "assign(c1, c2, c3, source)",
+ "body": "assign(${1:c1}, ${2:c2}, ${3:c3}, ${4:source})",
+ "scope": "source.vex",
+ "description": "An efficient way of extracting the components of a vector or matrix into float variables."
+ },
+ "assign: c1 c2 c3 c4 source": {
+ "prefix": "assign(c1, c2, c3, c4, source)",
+ "body": "assign(${1:c1}, ${2:c2}, ${3:c3}, ${4:c4}, ${5:source})",
+ "scope": "source.vex",
+ "description": "An efficient way of extracting the components of a vector or matrix into float variables."
+ },
+ "assign: c1 c2 c3 c4 c5 c6 c7 c8 c9 source": {
+ "prefix": "assign(c1, c2, c3, c4, c5, c6, c7, c8, c9, source)",
+ "body": "assign(${1:c1}, ${2:c2}, ${3:c3}, ${4:c4}, ${5:c5}, ${6:c6}, ${7:c7}, ${8:c8}, ${9:c9}, ${10:source})",
+ "scope": "source.vex",
+ "description": "An efficient way of extracting the components of a vector or matrix into float variables."
+ },
+ "assign: c1 c2 c3 c4 c5 c6 c7 c8 c9 c10 c11 c12 c13 c14 c15 c16 source": {
+ "prefix": "assign(c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12, c13, c14, c15, c16, source)",
+ "body": "assign(${1:c1}, ${2:c2}, ${3:c3}, ${4:c4}, ${5:c5}, ${6:c6}, ${7:c7}, ${8:c8}, ${9:c9}, ${10:c10}, ${11:c11}, ${12:c12}, ${13:c13}, ${14:c14}, ${15:c15}, ${16:c16}, ${17:source})",
+ "scope": "source.vex",
+ "description": "An efficient way of extracting the components of a vector or matrix into float variables."
+ },
+ "agentworldtransform: geometry prim transform": {
+ "prefix": "agentworldtransform(geometry, prim, transform)",
+ "body": "agentworldtransform(${1:geometry}, ${2:prim}, ${3:transform})",
+ "scope": "source.vex",
+ "description": "Returns the current world space transform of an agent primitive\u2019s bone."
+ },
+ "intersect_all: geometry group orig dir pos prim uvw tol ttol": {
+ "prefix": "intersect_all(geometry, group, orig, dir, pos, prim, uvw, tol, ttol)",
+ "body": "intersect_all(${1:geometry}, ${2:group}, ${3:orig}, ${4:dir}, ${5:pos}, ${6:prim}, ${7:uvw}, ${8:tol}, ${9:ttol})",
+ "scope": "source.vex",
+ "description": "Computes all intersections of the specified ray with geometry."
+ },
+ "phonglobe: dir exponent ...": {
+ "prefix": "phonglobe(dir, exponent, ...)",
+ "body": "phonglobe(${1:dir}, ${2:exponent}, ${3:...})",
+ "scope": "source.vex",
+ "description": ""
+ },
+ "phonglobe: nml dir exponent ...": {
+ "prefix": "phonglobe(nml, dir, exponent, ...)",
+ "body": "phonglobe(${1:nml}, ${2:dir}, ${3:exponent}, ${4:...})",
+ "scope": "source.vex",
+ "description": ""
+ },
+ "phonglobe: dir exponentx exponenty framex framey ...": {
+ "prefix": "phonglobe(dir, exponentx, exponenty, framex, framey, ...)",
+ "body": "phonglobe(${1:dir}, ${2:exponentx}, ${3:exponenty}, ${4:framex}, ${5:framey}, ${6:...})",
+ "scope": "source.vex",
+ "description": ""
+ },
+ "phonglobe: nml dir exponentx exponenty framex framey ...": {
+ "prefix": "phonglobe(nml, dir, exponentx, exponenty, framex, framey, ...)",
+ "body": "phonglobe(${1:nml}, ${2:dir}, ${3:exponentx}, ${4:exponenty}, ${5:framex}, ${6:framey}, ${7:...})",
+ "scope": "source.vex",
+ "description": ""
+ },
+ "mask_bsdf: b mask": {
+ "prefix": "mask_bsdf(b, mask)",
+ "body": "mask_bsdf(${1:b}, ${2:mask})",
+ "scope": "source.vex",
+ "description": "Returns new BSDF that only includes the components specified by the mask."
+ },
+ "shr: a bits": {
+ "prefix": "shr(a, bits)",
+ "body": "shr(${1:a}, ${2:bits})",
+ "scope": "source.vex",
+ "description": "Bit-shifts an integer right."
+ },
+ "smooth: value1 value2 amount": {
+ "prefix": "smooth(value1, value2, amount)",
+ "body": "smooth(${1:value1}, ${2:value2}, ${3:amount})",
+ "scope": "source.vex",
+ "description": "Computes ease in/out interpolation between values."
+ },
+ "smooth: value1 value2 amount rolloff": {
+ "prefix": "smooth(value1, value2, amount, rolloff)",
+ "body": "smooth(${1:value1}, ${2:value2}, ${3:amount}, ${4:rolloff})",
+ "scope": "source.vex",
+ "description": "Computes ease in/out interpolation between values."
+ },
+ "hscript_noise: pos": {
+ "prefix": "hscript_noise(pos)",
+ "body": "hscript_noise(${1:pos})",
+ "scope": "source.vex",
+ "description": "Generates noise matching the output of the Hscript noise() expression function."
+ },
+ "ninput: opinput plane component array_index u v frame ...": {
+ "prefix": "ninput(opinput, plane, component, array_index, u, v, frame, ...)",
+ "body": "ninput(${1:opinput}, ${2:plane}, ${3:component}, ${4:array_index}, ${5:u}, ${6:v}, ${7:frame}, ${8:...})",
+ "scope": "source.vex",
+ "description": "Reads a component from a pixel and its eight neighbors."
+ },
+ "pcimportbyidxv: handle channel_name idx": {
+ "prefix": "pcimportbyidxv(handle, channel_name, idx)",
+ "body": "pcimportbyidxv(${1:handle}, ${2:channel_name}, ${3:idx})",
+ "scope": "source.vex",
+ "description": "Imports channel data from a point cloud outside a pciterate or a pcunshaded loop."
+ },
+ "attribclass: geometry attribute_name": {
+ "prefix": "attribclass(geometry, attribute_name)",
+ "body": "attribclass(${1:geometry}, ${2:attribute_name})",
+ "scope": "source.vex",
+ "description": "Returns the class of a geometry attribute."
+ },
+ "idtoprim: geometry id": {
+ "prefix": "idtoprim(geometry, id)",
+ "body": "idtoprim(${1:geometry}, ${2:id})",
+ "scope": "source.vex",
+ "description": "Finds a primitive by its id attribute."
+ },
+ "max: value1 value2 ...": {
+ "prefix": "max(value1, value2, ...)",
+ "body": "max(${1:value1}, ${2:value2}, ${3:...})",
+ "scope": "source.vex",
+ "description": ""
+ },
+ "max: values": {
+ "prefix": "max(values)",
+ "body": "max(${1:values})",
+ "scope": "source.vex",
+ "description": ""
+ },
+ "max: value": {
+ "prefix": "max(value)",
+ "body": "max(${1:value})",
+ "scope": "source.vex",
+ "description": ""
+ },
+ "normal_bsdf: b": {
+ "prefix": "normal_bsdf(b)",
+ "body": "normal_bsdf(${1:b})",
+ "scope": "source.vex",
+ "description": "Returns the normal for the diffuse component of a BSDF."
+ },
+ "ptexture: map face_id ...": {
+ "prefix": "ptexture(map, face_id, ...)",
+ "body": "ptexture(${1:map}, ${2:face_id}, ${3:...})",
+ "scope": "source.vex",
+ "description": "Computes a filtered sample from a ptex texture map. Use texture instead."
+ },
+ "ptexture: map face_id s t ...": {
+ "prefix": "ptexture(map, face_id, s, t, ...)",
+ "body": "ptexture(${1:map}, ${2:face_id}, ${3:s}, ${4:t}, ${5:...})",
+ "scope": "source.vex",
+ "description": "Computes a filtered sample from a ptex texture map. Use texture instead."
+ },
+ "setagentworldtransform: geohandle prim transform index": {
+ "prefix": "setagentworldtransform(geohandle, prim, transform, index)",
+ "body": "setagentworldtransform(${1:geohandle}, ${2:prim}, ${3:transform}, ${4:index})",
+ "scope": "source.vex",
+ "description": "Overrides the world space transform of an agent primitive\u2019s bone."
+ },
+ "hscript_turb: pos depth": {
+ "prefix": "hscript_turb(pos, depth)",
+ "body": "hscript_turb(${1:pos}, ${2:depth})",
+ "scope": "source.vex",
+ "description": "Generates turbulence matching the output of the HScript turb() expression function."
+ },
+ "set: v1 v2": {
+ "prefix": "set(v1, v2)",
+ "body": "set(${1:v1}, ${2:v2})",
+ "scope": "source.vex",
+ "description": "Creates a new value based on its arguments, such as creating a vector from its components."
+ },
+ "set: v1 v2 v3": {
+ "prefix": "set(v1, v2, v3)",
+ "body": "set(${1:v1}, ${2:v2}, ${3:v3})",
+ "scope": "source.vex",
+ "description": "Creates a new value based on its arguments, such as creating a vector from its components."
+ },
+ "set: v1 v2 v3 v4": {
+ "prefix": "set(v1, v2, v3, v4)",
+ "body": "set(${1:v1}, ${2:v2}, ${3:v3}, ${4:v4})",
+ "scope": "source.vex",
+ "description": "Creates a new value based on its arguments, such as creating a vector from its components."
+ },
+ "set: v1 v2 v4 v4 v5 v6 v7 v8 v9": {
+ "prefix": "set(v1, v2, v4, v4, v5, v6, v7, v8, v9)",
+ "body": "set(${1:v1}, ${2:v2}, ${3:v4}, ${4:v4}, ${5:v5}, ${6:v6}, ${7:v7}, ${8:v8}, ${9:v9})",
+ "scope": "source.vex",
+ "description": "Creates a new value based on its arguments, such as creating a vector from its components."
+ },
+ "set: v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 v13 v14 v15 v16": {
+ "prefix": "set(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16)",
+ "body": "set(${1:v1}, ${2:v2}, ${3:v3}, ${4:v4}, ${5:v5}, ${6:v6}, ${7:v7}, ${8:v8}, ${9:v9}, ${10:v10}, ${11:v11}, ${12:v12}, ${13:v13}, ${14:v14}, ${15:v15}, ${16:v16})",
+ "scope": "source.vex",
+ "description": "Creates a new value based on its arguments, such as creating a vector from its components."
+ },
+ "set: nums": {
+ "prefix": "set(nums)",
+ "body": "set(${1:nums})",
+ "scope": "source.vex",
+ "description": "Creates a new value based on its arguments, such as creating a vector from its components."
+ },
+ "set: v": {
+ "prefix": "set(v)",
+ "body": "set(${1:v})",
+ "scope": "source.vex",
+ "description": "Creates a new value based on its arguments, such as creating a vector from its components."
+ },
+ "set: row1 row2": {
+ "prefix": "set(row1, row2)",
+ "body": "set(${1:row1}, ${2:row2})",
+ "scope": "source.vex",
+ "description": "Creates a new value based on its arguments, such as creating a vector from its components."
+ },
+ "set: row1 row2 row3": {
+ "prefix": "set(row1, row2, row3)",
+ "body": "set(${1:row1}, ${2:row2}, ${3:row3})",
+ "scope": "source.vex",
+ "description": "Creates a new value based on its arguments, such as creating a vector from its components."
+ },
+ "set: row1 row2 row3 row4": {
+ "prefix": "set(row1, row2, row3, row4)",
+ "body": "set(${1:row1}, ${2:row2}, ${3:row3}, ${4:row4})",
+ "scope": "source.vex",
+ "description": "Creates a new value based on its arguments, such as creating a vector from its components."
+ },
+ "set: rows": {
+ "prefix": "set(rows)",
+ "body": "set(${1:rows})",
+ "scope": "source.vex",
+ "description": "Creates a new value based on its arguments, such as creating a vector from its components."
+ },
+ "set: m": {
+ "prefix": "set(m)",
+ "body": "set(${1:m})",
+ "scope": "source.vex",
+ "description": "Creates a new value based on its arguments, such as creating a vector from its components."
+ },
+ "set: vs": {
+ "prefix": "set(vs)",
+ "body": "set(${1:vs})",
+ "scope": "source.vex",
+ "description": "Creates a new value based on its arguments, such as creating a vector from its components."
+ },
+ "set: num": {
+ "prefix": "set(num)",
+ "body": "set(${1:num})",
+ "scope": "source.vex",
+ "description": "Creates a new value based on its arguments, such as creating a vector from its components."
+ },
+ "encodeattrib: str": {
+ "prefix": "encodeattrib(str)",
+ "body": "encodeattrib(${1:str})",
+ "scope": "source.vex",
+ "description": "Encodes any string into a valid geometry attribute name."
+ },
+ "getobjectid: ": {
+ "prefix": "getobjectid()",
+ "body": "getobjectid()",
+ "scope": "source.vex",
+ "description": "Returns the object id for the current shading context."
+ },
+ "nprimitives: geometry": {
+ "prefix": "nprimitives(geometry)",
+ "body": "nprimitives(${1:geometry})",
+ "scope": "source.vex",
+ "description": "Returns the number of primitives in the input or geometry file."
+ },
+ "usd_getbbox_min: stage primpath purpose": {
+ "prefix": "usd_getbbox_min(stage, primpath, purpose)",
+ "body": "usd_getbbox_min(${1:stage}, ${2:primpath}, ${3:purpose})",
+ "scope": "source.vex",
+ "description": "Returns the minimum of the bounding box for the primitive."
+ },
+ "agentchannelvalue: geometry prim channel": {
+ "prefix": "agentchannelvalue(geometry, prim, channel)",
+ "body": "agentchannelvalue(${1:geometry}, ${2:prim}, ${3:channel})",
+ "scope": "source.vex",
+ "description": "Returns the current value of an agent primitive\u2019s channel."
+ },
+ "wirediffuse: tangent ...": {
+ "prefix": "wirediffuse(tangent, ...)",
+ "body": "wirediffuse(${1:tangent}, ${2:...})",
+ "scope": "source.vex",
+ "description": ""
+ },
+ "npointsgroup: geometry groupname": {
+ "prefix": "npointsgroup(geometry, groupname)",
+ "body": "npointsgroup(${1:geometry}, ${2:groupname})",
+ "scope": "source.vex",
+ "description": "Returns the number of points in the group."
+ },
+ "issamples: ": {
+ "prefix": "issamples()",
+ "body": "issamples()",
+ "scope": "source.vex",
+ "description": "Returns 1 if the Vex CHOP\u2019s Unit Menu is currently set to 'samples',\n0 otherwise."
+ },
+ "Dw: p ...": {
+ "prefix": "Dw(p, ...)",
+ "body": "Dw(${1:p}, ${2:...})",
+ "scope": "source.vex",
+ "description": "Returns the derivative of the given value with respect to the 3rd axis (for volume rendering)."
+ },
+ "agentlayershapes: geometry prim layername shapetype": {
+ "prefix": "agentlayershapes(geometry, prim, layername, shapetype)",
+ "body": "agentlayershapes(${1:geometry}, ${2:prim}, ${3:layername}, ${4:shapetype})",
+ "scope": "source.vex",
+ "description": "Returns the names of the shapes referenced by an agent primitive\u2019s layer."
+ },
+ "agentlayershapes: geometry prim layername transform": {
+ "prefix": "agentlayershapes(geometry, prim, layername, transform)",
+ "body": "agentlayershapes(${1:geometry}, ${2:prim}, ${3:layername}, ${4:transform})",
+ "scope": "source.vex",
+ "description": "Returns the names of the shapes referenced by an agent primitive\u2019s layer."
+ },
+ "transpose: m": {
+ "prefix": "transpose(m)",
+ "body": "transpose(${1:m})",
+ "scope": "source.vex",
+ "description": "Transposes the given matrix."
+ },
+ "erfc: v": {
+ "prefix": "erfc(v)",
+ "body": "erfc(${1:v})",
+ "scope": "source.vex",
+ "description": "Gauss error function\u2019s complement."
+ },
+ "usd_pointinstance_relbbox: stage primpath instance_index purpose position": {
+ "prefix": "usd_pointinstance_relbbox(stage, primpath, instance_index, purpose, position)",
+ "body": "usd_pointinstance_relbbox(${1:stage}, ${2:primpath}, ${3:instance_index}, ${4:purpose}, ${5:position})",
+ "scope": "source.vex",
+ "description": "Returns the relative position of the point given with respect to the bounding box of the geometry."
+ },
+ "sample_light: lightid pos sam time pos clr scale ...": {
+ "prefix": "sample_light(lightid, pos, sam, time, pos, clr, scale, ...)",
+ "body": "sample_light(${1:lightid}, ${2:pos}, ${3:sam}, ${4:time}, ${5:pos}, ${6:clr}, ${7:scale}, ${8:...})",
+ "scope": "source.vex",
+ "description": "Samples a 3D position on a light source and runs the light shader at that point."
+ },
+ "agentaddclip: geohandle prim clipname clippath keepref": {
+ "prefix": "agentaddclip(geohandle, prim, clipname, clippath, keepref)",
+ "body": "agentaddclip(${1:geohandle}, ${2:prim}, ${3:clipname}, ${4:clippath}, ${5:keepref})",
+ "scope": "source.vex",
+ "description": "Add a clip into an agent\u2019s definition."
+ },
+ "photonmap: mapname position normal ...": {
+ "prefix": "photonmap(mapname, position, normal, ...)",
+ "body": "photonmap(${1:mapname}, ${2:position}, ${3:normal}, ${4:...})",
+ "scope": "source.vex",
+ "description": "Samples a color from a photon map."
+ },
+ "photonmap: mapname position normal color area ...": {
+ "prefix": "photonmap(mapname, position, normal, color, area, ...)",
+ "body": "photonmap(${1:mapname}, ${2:position}, ${3:normal}, ${4:color}, ${5:area}, ${6:...})",
+ "scope": "source.vex",
+ "description": "Samples a color from a photon map."
+ },
+ "toNDC: point": {
+ "prefix": "toNDC(point)",
+ "body": "toNDC(${1:point})",
+ "scope": "source.vex",
+ "description": "Transforms a position into normal device coordinates."
+ },
+ "toNDC: camera_name point": {
+ "prefix": "toNDC(camera_name, point)",
+ "body": "toNDC(${1:camera_name}, ${2:point})",
+ "scope": "source.vex",
+ "description": "Transforms a position into normal device coordinates."
+ },
+ "solvecurve: lengths closed orienttonormal tangent points normals": {
+ "prefix": "solvecurve(lengths, closed, orienttonormal, tangent, points, normals)",
+ "body": "solvecurve(${1:lengths}, ${2:closed}, ${3:orienttonormal}, ${4:tangent}, ${5:points}, ${6:normals})",
+ "scope": "source.vex",
+ "description": "Applies a curve inverse kinematics algorithm to a skeleton."
+ },
+ "solvecurve: op lengths closed orienttonormal tangent normalcalcmethod relmat": {
+ "prefix": "solvecurve(op, lengths, closed, orienttonormal, tangent, normalcalcmethod, relmat)",
+ "body": "solvecurve(${1:op}, ${2:lengths}, ${3:closed}, ${4:orienttonormal}, ${5:tangent}, ${6:normalcalcmethod}, ${7:relmat})",
+ "scope": "source.vex",
+ "description": "Applies a curve inverse kinematics algorithm to a skeleton."
+ },
+ "fuzzy_nand: a b ...": {
+ "prefix": "fuzzy_nand(a, b, ...)",
+ "body": "fuzzy_nand(${1:a}, ${2:b}, ${3:...})",
+ "scope": "source.vex",
+ "description": ""
+ },
+ "isalpha: str": {
+ "prefix": "isalpha(str)",
+ "body": "isalpha(${1:str})",
+ "scope": "source.vex",
+ "description": "Returns 1 if all the characters in the string are alphabetic"
+ },
+ "polyneighbours: geometry primnum": {
+ "prefix": "polyneighbours(geometry, primnum)",
+ "body": "polyneighbours(${1:geometry}, ${2:primnum})",
+ "scope": "source.vex",
+ "description": "Returns an array of the primitive numbers of the edge-neighbours of a polygon."
+ },
+ "solvetriangleSSS: sides": {
+ "prefix": "solvetriangleSSS(sides)",
+ "body": "solvetriangleSSS(${1:sides})",
+ "scope": "source.vex",
+ "description": "Finds the angles of a triangle from its sides."
+ },
+ "solvetriangleSSS: a b c": {
+ "prefix": "solvetriangleSSS(a, b, c)",
+ "body": "solvetriangleSSS(${1:a}, ${2:b}, ${3:c})",
+ "scope": "source.vex",
+ "description": "Finds the angles of a triangle from its sides."
+ },
+ "usd_primvar: stage primpath name": {
+ "prefix": "usd_primvar(stage, primpath, name)",
+ "body": "usd_primvar(${1:stage}, ${2:primpath}, ${3:name})",
+ "scope": "source.vex",
+ "description": "Reads the value of a primvar from the USD primitive."
+ },
+ "usd_primvar: stage primpath name timecode": {
+ "prefix": "usd_primvar(stage, primpath, name, timecode)",
+ "body": "usd_primvar(${1:stage}, ${2:primpath}, ${3:name}, ${4:timecode})",
+ "scope": "source.vex",
+ "description": "Reads the value of a primvar from the USD primitive."
+ },
+ "slideframe: t0 t1 v0": {
+ "prefix": "slideframe(t0, t1, v0)",
+ "body": "slideframe(${1:t0}, ${2:t1}, ${3:v0})",
+ "scope": "source.vex",
+ "description": "Finds the normal component of frame slid along a curve. "
+ },
+ "slideframe: x0 t0 v0 x1 t1": {
+ "prefix": "slideframe(x0, t0, v0, x1, t1)",
+ "body": "slideframe(${1:x0}, ${2:t0}, ${3:v0}, ${4:x1}, ${5:t1})",
+ "scope": "source.vex",
+ "description": "Finds the normal component of frame slid along a curve. "
+ },
+ "trace: cv of af P D shadow_bias max_contrib ...": {
+ "prefix": "trace(cv, of, af, P, D, shadow_bias, max_contrib, ...)",
+ "body": "trace(${1:cv}, ${2:of}, ${3:af}, ${4:P}, ${5:D}, ${6:shadow_bias}, ${7:max_contrib}, ${8:...})",
+ "scope": "source.vex",
+ "description": "Sends a ray from P along the normalized vector D."
+ },
+ "trace: pos dir time ...": {
+ "prefix": "trace(pos, dir, time, ...)",
+ "body": "trace(${1:pos}, ${2:dir}, ${3:time}, ${4:...})",
+ "scope": "source.vex",
+ "description": "Sends a ray from P along the normalized vector D."
+ },
+ "getcomponents: ": {
+ "prefix": "getcomponents()",
+ "body": "getcomponents()",
+ "scope": "source.vex",
+ "description": ""
+ },
+ "perspective: zoom image_aspect pixel_aspect clip_near clip_far": {
+ "prefix": "perspective(zoom, image_aspect, pixel_aspect, clip_near, clip_far)",
+ "body": "perspective(${1:zoom}, ${2:image_aspect}, ${3:pixel_aspect}, ${4:clip_near}, ${5:clip_far})",
+ "scope": "source.vex",
+ "description": "Create a perspective projection matrix."
+ },
+ "perspective: zoom image_aspect pixel_aspect clip_near clip_far window": {
+ "prefix": "perspective(zoom, image_aspect, pixel_aspect, clip_near, clip_far, window)",
+ "body": "perspective(${1:zoom}, ${2:image_aspect}, ${3:pixel_aspect}, ${4:clip_near}, ${5:clip_far}, ${6:window})",
+ "scope": "source.vex",
+ "description": "Create a perspective projection matrix."
+ },
+ "resample_linear: input new_length": {
+ "prefix": "resample_linear(input, new_length)",
+ "body": "resample_linear(${1:input}, ${2:new_length})",
+ "scope": "source.vex",
+ "description": ""
+ },
+ "determinant: m": {
+ "prefix": "determinant(m)",
+ "body": "determinant(${1:m})",
+ "scope": "source.vex",
+ "description": "Computes the determinant of the matrix."
+ },
+ "lerp: value1 value2 amount": {
+ "prefix": "lerp(value1, value2, amount)",
+ "body": "lerp(${1:value1}, ${2:value2}, ${3:amount})",
+ "scope": "source.vex",
+ "description": "Performs bilinear interpolation between the values."
+ },
+ "lerp: bsdf1 bsdf2 amount": {
+ "prefix": "lerp(bsdf1, bsdf2, amount)",
+ "body": "lerp(${1:bsdf1}, ${2:bsdf2}, ${3:amount})",
+ "scope": "source.vex",
+ "description": "Performs bilinear interpolation between the values."
+ },
+ "wt_nspace: v": {
+ "prefix": "wt_nspace(v)",
+ "body": "wt_nspace(${1:v})",
+ "scope": "source.vex",
+ "description": "Transforms a normal vector from World to Texture space."
+ },
+ "sample_hypersphere_cone: center maxangle u": {
+ "prefix": "sample_hypersphere_cone(center, maxangle, u)",
+ "body": "sample_hypersphere_cone(${1:center}, ${2:maxangle}, ${3:u})",
+ "scope": "source.vex",
+ "description": "Generates a uniform vector4 with length < 1, within maxangle of center, given a vector4 of uniform numbers between 0 and 1."
+ },
+ "isnan: x": {
+ "prefix": "isnan(x)",
+ "body": "isnan(${1:x})",
+ "scope": "source.vex",
+ "description": "Checks whether a value is not a number."
+ },
+ "usd_addprimvar: stagehandle primpath name typename": {
+ "prefix": "usd_addprimvar(stagehandle, primpath, name, typename)",
+ "body": "usd_addprimvar(${1:stagehandle}, ${2:primpath}, ${3:name}, ${4:typename})",
+ "scope": "source.vex",
+ "description": "Creates a primvar of a given type on a primitive."
+ },
+ "usd_addprimvar: stagehandle primpath name typename interpolation": {
+ "prefix": "usd_addprimvar(stagehandle, primpath, name, typename, interpolation)",
+ "body": "usd_addprimvar(${1:stagehandle}, ${2:primpath}, ${3:name}, ${4:typename}, ${5:interpolation})",
+ "scope": "source.vex",
+ "description": "Creates a primvar of a given type on a primitive."
+ },
+ "osd_lookuppatch: geometry face_id face_u face_v patch_id patch_u patch_v": {
+ "prefix": "osd_lookuppatch(geometry, face_id, face_u, face_v, patch_id, patch_u, patch_v)",
+ "body": "osd_lookuppatch(${1:geometry}, ${2:face_id}, ${3:face_u}, ${4:face_v}, ${5:patch_id}, ${6:patch_u}, ${7:patch_v})",
+ "scope": "source.vex",
+ "description": "Outputs the OSD patch and UV coordinates corresponding to the given coordinates on a Houdini polygon face."
+ },
+ "osd_lookuppatch: geometry face_id face_u face_v patch_id patch_u patch_v attribute": {
+ "prefix": "osd_lookuppatch(geometry, face_id, face_u, face_v, patch_id, patch_u, patch_v, attribute)",
+ "body": "osd_lookuppatch(${1:geometry}, ${2:face_id}, ${3:face_u}, ${4:face_v}, ${5:patch_id}, ${6:patch_u}, ${7:patch_v}, ${8:attribute})",
+ "scope": "source.vex",
+ "description": "Outputs the OSD patch and UV coordinates corresponding to the given coordinates on a Houdini polygon face."
+ },
+ "setattribtypeinfo: geohandle attribclass name typeinfo": {
+ "prefix": "setattribtypeinfo(geohandle, attribclass, name, typeinfo)",
+ "body": "setattribtypeinfo(${1:geohandle}, ${2:attribclass}, ${3:name}, ${4:typeinfo})",
+ "scope": "source.vex",
+ "description": "Sets the meaning of an attribute in geometry."
+ },
+ "polardecomp: transform": {
+ "prefix": "polardecomp(transform)",
+ "body": "polardecomp(${1:transform})",
+ "scope": "source.vex",
+ "description": "Computes the polar decomposition of a matrix."
+ },
+ "setvertexpoint: geohandle prim vtxofprim pt": {
+ "prefix": "setvertexpoint(geohandle, prim, vtxofprim, pt)",
+ "body": "setvertexpoint(${1:geohandle}, ${2:prim}, ${3:vtxofprim}, ${4:pt})",
+ "scope": "source.vex",
+ "description": "Rewires a vertex in the geometry to a different point."
+ },
+ "specular: dir ...": {
+ "prefix": "specular(dir, ...)",
+ "body": "specular(${1:dir}, ${2:...})",
+ "scope": "source.vex",
+ "description": "Returns a specular BSDF or computes specular shading."
+ },
+ "specular: nml V roughness ...": {
+ "prefix": "specular(nml, V, roughness, ...)",
+ "body": "specular(${1:nml}, ${2:V}, ${3:roughness}, ${4:...})",
+ "scope": "source.vex",
+ "description": "Returns a specular BSDF or computes specular shading."
+ },
+ "agentrigparent: geometry prim transform": {
+ "prefix": "agentrigparent(geometry, prim, transform)",
+ "body": "agentrigparent(${1:geometry}, ${2:prim}, ${3:transform})",
+ "scope": "source.vex",
+ "description": "Returns the parent transform of a transform in an agent primitive\u2019s rig."
+ },
+ "setagentclips: geohandle prim clip_names clip_times clip_weights clip_transform_groups clip_layer_ids layer_blend_modes layer_weights layer_parent_ids": {
+ "prefix": "setagentclips(geohandle, prim, clip_names, clip_times, clip_weights, clip_transform_groups, clip_layer_ids, layer_blend_modes, layer_weights, layer_parent_ids)",
+ "body": "setagentclips(${1:geohandle}, ${2:prim}, ${3:clip_names}, ${4:clip_times}, ${5:clip_weights}, ${6:clip_transform_groups}, ${7:clip_layer_ids}, ${8:layer_blend_modes}, ${9:layer_weights}, ${10:layer_parent_ids})",
+ "scope": "source.vex",
+ "description": "Sets the animation clips that an agent should use to compute its transforms."
+ },
+ "printf: format ...": {
+ "prefix": "printf(format, ...)",
+ "body": "printf(${1:format}, ${2:...})",
+ "scope": "source.vex",
+ "description": "Prints values to the console which started the VEX program."
+ },
+ "pow: n exponent": {
+ "prefix": "pow(n, exponent)",
+ "body": "pow(${1:n}, ${2:exponent})",
+ "scope": "source.vex",
+ "description": "Raises the first argument to the power of the second argument."
+ },
+ "pow: v exponent": {
+ "prefix": "pow(v, exponent)",
+ "body": "pow(${1:v}, ${2:exponent})",
+ "scope": "source.vex",
+ "description": "Raises the first argument to the power of the second argument."
+ },
+ "curlxnoise2d: x y": {
+ "prefix": "curlxnoise2d(x, y)",
+ "body": "curlxnoise2d(${1:x}, ${2:y})",
+ "scope": "source.vex",
+ "description": "Computes 2d divergence free noise based on simplex noise."
+ },
+ "curlxnoise2d: xyt": {
+ "prefix": "curlxnoise2d(xyt)",
+ "body": "curlxnoise2d(${1:xyt})",
+ "scope": "source.vex",
+ "description": "Computes 2d divergence free noise based on simplex noise."
+ },
+ "pointattribtype: geometry attribute_name": {
+ "prefix": "pointattribtype(geometry, attribute_name)",
+ "body": "pointattribtype(${1:geometry}, ${2:attribute_name})",
+ "scope": "source.vex",
+ "description": "Returns the type of a geometry point attribute."
+ },
+ "Du: n ...": {
+ "prefix": "Du(n, ...)",
+ "body": "Du(${1:n}, ${2:...})",
+ "scope": "source.vex",
+ "description": "Returns the derivative of the given value with respect to U."
+ },
+ "pathtrace: P N ...": {
+ "prefix": "pathtrace(P, N, ...)",
+ "body": "pathtrace(${1:P}, ${2:N}, ${3:...})",
+ "scope": "source.vex",
+ "description": "Computes global illumination using PBR for secondary bounces."
+ },
+ "error: format ...": {
+ "prefix": "error(format, ...)",
+ "body": "error(${1:format}, ${2:...})",
+ "scope": "source.vex",
+ "description": "Reports a custom runtime VEX error."
+ },
+ "usd_isindexedprimvar: stage primpath name": {
+ "prefix": "usd_isindexedprimvar(stage, primpath, name)",
+ "body": "usd_isindexedprimvar(${1:stage}, ${2:primpath}, ${3:name})",
+ "scope": "source.vex",
+ "description": "Checks if the primvar is indexed."
+ },
+ "pcsegment: geometry PChannel P0 P1 max_distance maxpoints": {
+ "prefix": "pcsegment(geometry, PChannel, P0, P1, max_distance, maxpoints)",
+ "body": "pcsegment(${1:geometry}, ${2:PChannel}, ${3:P0}, ${4:P1}, ${5:max_distance}, ${6:maxpoints})",
+ "scope": "source.vex",
+ "description": "Returns a list of closest points to a line segment from a specified file"
+ },
+ "pcsegment: geometry ptgroup PChannel P0 P1 max_distance maxpoints": {
+ "prefix": "pcsegment(geometry, ptgroup, PChannel, P0, P1, max_distance, maxpoints)",
+ "body": "pcsegment(${1:geometry}, ${2:ptgroup}, ${3:PChannel}, ${4:P0}, ${5:P1}, ${6:max_distance}, ${7:maxpoints})",
+ "scope": "source.vex",
+ "description": "Returns a list of closest points to a line segment from a specified file"
+ },
+ "pcsegment: geometry PChannel P0 P1 max_distance maxpoints distances": {
+ "prefix": "pcsegment(geometry, PChannel, P0, P1, max_distance, maxpoints, distances)",
+ "body": "pcsegment(${1:geometry}, ${2:PChannel}, ${3:P0}, ${4:P1}, ${5:max_distance}, ${6:maxpoints}, ${7:distances})",
+ "scope": "source.vex",
+ "description": "Returns a list of closest points to a line segment from a specified file"
+ },
+ "pcsegment: geometry ptgroup PChannel P0 P1 max_distance maxpoints distances": {
+ "prefix": "pcsegment(geometry, ptgroup, PChannel, P0, P1, max_distance, maxpoints, distances)",
+ "body": "pcsegment(${1:geometry}, ${2:ptgroup}, ${3:PChannel}, ${4:P0}, ${5:P1}, ${6:max_distance}, ${7:maxpoints}, ${8:distances})",
+ "scope": "source.vex",
+ "description": "Returns a list of closest points to a line segment from a specified file"
+ },
+ "accessframe: frame": {
+ "prefix": "accessframe(frame)",
+ "body": "accessframe(${1:frame})",
+ "scope": "source.vex",
+ "description": "Tells the COP manager that you need access to the given frame."
+ },
+ "maskname: ": {
+ "prefix": "maskname()",
+ "body": "maskname()",
+ "scope": "source.vex",
+ "description": "Returns the default name of the mask plane (as it appears in the\ncompositor preferences)."
+ },
+ "setcomp: target value index": {
+ "prefix": "setcomp(target, value, index)",
+ "body": "setcomp(${1:target}, ${2:value}, ${3:index})",
+ "scope": "source.vex",
+ "description": "Sets a single component of a vector or matrix type, or an item in an array."
+ },
+ "setcomp: target value row column": {
+ "prefix": "setcomp(target, value, row, column)",
+ "body": "setcomp(${1:target}, ${2:value}, ${3:row}, ${4:column})",
+ "scope": "source.vex",
+ "description": "Sets a single component of a vector or matrix type, or an item in an array."
+ },
+ "setcomp: array value index": {
+ "prefix": "setcomp(array, value, index)",
+ "body": "setcomp(${1:array}, ${2:value}, ${3:index})",
+ "scope": "source.vex",
+ "description": "Sets a single component of a vector or matrix type, or an item in an array."
+ },
+ "usd_cleartransformorder: stagehandle primpath": {
+ "prefix": "usd_cleartransformorder(stagehandle, primpath)",
+ "body": "usd_cleartransformorder(${1:stagehandle}, ${2:primpath})",
+ "scope": "source.vex",
+ "description": "Clears the primitive\u2019s transform order"
+ },
+ "lumname: ": {
+ "prefix": "lumname()",
+ "body": "lumname()",
+ "scope": "source.vex",
+ "description": "Returns the default name of the luminaence plane (as it appears in the\ncompositor preferences)."
+ },
+ "chinput: channel_index sample": {
+ "prefix": "chinput(channel_index, sample)",
+ "body": "chinput(${1:channel_index}, ${2:sample})",
+ "scope": "source.vex",
+ "description": "Returns the value of a channel at the specified sample."
+ },
+ "chinput: opinput channel_index sample": {
+ "prefix": "chinput(opinput, channel_index, sample)",
+ "body": "chinput(${1:opinput}, ${2:channel_index}, ${3:sample})",
+ "scope": "source.vex",
+ "description": "Returns the value of a channel at the specified sample."
+ },
+ "chinput: channel_name sample": {
+ "prefix": "chinput(channel_name, sample)",
+ "body": "chinput(${1:channel_name}, ${2:sample})",
+ "scope": "source.vex",
+ "description": "Returns the value of a channel at the specified sample."
+ },
+ "chinput: opinput channel_name sample": {
+ "prefix": "chinput(opinput, channel_name, sample)",
+ "body": "chinput(${1:opinput}, ${2:channel_name}, ${3:sample})",
+ "scope": "source.vex",
+ "description": "Returns the value of a channel at the specified sample."
+ },
+ "chinput: channel_index sample t r s": {
+ "prefix": "chinput(channel_index, sample, t, r, s)",
+ "body": "chinput(${1:channel_index}, ${2:sample}, ${3:t}, ${4:r}, ${5:s})",
+ "scope": "source.vex",
+ "description": "Returns the value of a channel at the specified sample."
+ },
+ "chinput: opinput channel_index sample t r s": {
+ "prefix": "chinput(opinput, channel_index, sample, t, r, s)",
+ "body": "chinput(${1:opinput}, ${2:channel_index}, ${3:sample}, ${4:t}, ${5:r}, ${6:s})",
+ "scope": "source.vex",
+ "description": "Returns the value of a channel at the specified sample."
+ },
+ "chinput: channel_name sample t r s": {
+ "prefix": "chinput(channel_name, sample, t, r, s)",
+ "body": "chinput(${1:channel_name}, ${2:sample}, ${3:t}, ${4:r}, ${5:s})",
+ "scope": "source.vex",
+ "description": "Returns the value of a channel at the specified sample."
+ },
+ "chinput: opinput channel_name sample t r s": {
+ "prefix": "chinput(opinput, channel_name, sample, t, r, s)",
+ "body": "chinput(${1:opinput}, ${2:channel_name}, ${3:sample}, ${4:t}, ${5:r}, ${6:s})",
+ "scope": "source.vex",
+ "description": "Returns the value of a channel at the specified sample."
+ },
+ "setprimvertex: geohandle prim vtxofprim pt": {
+ "prefix": "setprimvertex(geohandle, prim, vtxofprim, pt)",
+ "body": "setprimvertex(${1:geohandle}, ${2:prim}, ${3:vtxofprim}, ${4:pt})",
+ "scope": "source.vex",
+ "description": "Rewires a vertex in the geometry to a different point."
+ },
+ "usd_settransformreset: stagehandle primpath flag": {
+ "prefix": "usd_settransformreset(stagehandle, primpath, flag)",
+ "body": "usd_settransformreset(${1:stagehandle}, ${2:primpath}, ${3:flag})",
+ "scope": "source.vex",
+ "description": "Sets/clears the primitive\u2019s transform reset flag"
+ },
+ "pcimportbyidx4: handle channel_name idx": {
+ "prefix": "pcimportbyidx4(handle, channel_name, idx)",
+ "body": "pcimportbyidx4(${1:handle}, ${2:channel_name}, ${3:idx})",
+ "scope": "source.vex",
+ "description": "Imports channel data from a point cloud outside a pciterate or a pcunshaded loop."
+ },
+ "getlights: ...": {
+ "prefix": "getlights(...)",
+ "body": "getlights(${1:...})",
+ "scope": "source.vex",
+ "description": "Returns an array of light identifiers for the currently shaded surface."
+ },
+ "getlights: P ...": {
+ "prefix": "getlights(P, ...)",
+ "body": "getlights(${1:P}, ${2:...})",
+ "scope": "source.vex",
+ "description": "Returns an array of light identifiers for the currently shaded surface."
+ },
+ "getlights: mat P ...": {
+ "prefix": "getlights(mat, P, ...)",
+ "body": "getlights(${1:mat}, ${2:P}, ${3:...})",
+ "scope": "source.vex",
+ "description": "Returns an array of light identifiers for the currently shaded surface."
+ },
+ "agentclipsamplelocal: geometry prim clipname time": {
+ "prefix": "agentclipsamplelocal(geometry, prim, clipname, time)",
+ "body": "agentclipsamplelocal(${1:geometry}, ${2:prim}, ${3:clipname}, ${4:time})",
+ "scope": "source.vex",
+ "description": "Samples an agent\u2019s animation clip at a specific time."
+ },
+ "agentclipsamplelocal: geometry prim clipname time transform": {
+ "prefix": "agentclipsamplelocal(geometry, prim, clipname, time, transform)",
+ "body": "agentclipsamplelocal(${1:geometry}, ${2:prim}, ${3:clipname}, ${4:time}, ${5:transform})",
+ "scope": "source.vex",
+ "description": "Samples an agent\u2019s animation clip at a specific time."
+ },
+ "limit_sample_space: minu maxu u": {
+ "prefix": "limit_sample_space(minu, maxu, u)",
+ "body": "limit_sample_space(${1:minu}, ${2:maxu}, ${3:u})",
+ "scope": "source.vex",
+ "description": "Limits a unit value in a way that maintains uniformity and in-range consistency."
+ },
+ "limit_sample_space: maxu u": {
+ "prefix": "limit_sample_space(maxu, u)",
+ "body": "limit_sample_space(${1:maxu}, ${2:u})",
+ "scope": "source.vex",
+ "description": "Limits a unit value in a way that maintains uniformity and in-range consistency."
+ },
+ "tan: n": {
+ "prefix": "tan(n)",
+ "body": "tan(${1:n})",
+ "scope": "source.vex",
+ "description": "Returns the trigonometric tangent of the argument"
+ },
+ "tan: v": {
+ "prefix": "tan(v)",
+ "body": "tan(${1:v})",
+ "scope": "source.vex",
+ "description": "Returns the trigonometric tangent of the argument"
+ },
+ "usd_attribsize: stage primpath name": {
+ "prefix": "usd_attribsize(stage, primpath, name)",
+ "body": "usd_attribsize(${1:stage}, ${2:primpath}, ${3:name})",
+ "scope": "source.vex",
+ "description": "Returns the tuple size of the attribute."
+ },
+ "oppreparmtransform: path": {
+ "prefix": "oppreparmtransform(path)",
+ "body": "oppreparmtransform(${1:path})",
+ "scope": "source.vex",
+ "description": "Returns the pre and parm transform associated with an OP."
+ },
+ "oppreparmtransform: path time": {
+ "prefix": "oppreparmtransform(path, time)",
+ "body": "oppreparmtransform(${1:path}, ${2:time})",
+ "scope": "source.vex",
+ "description": "Returns the pre and parm transform associated with an OP."
+ },
+ "oppreparmtransform: opid": {
+ "prefix": "oppreparmtransform(opid)",
+ "body": "oppreparmtransform(${1:opid})",
+ "scope": "source.vex",
+ "description": "Returns the pre and parm transform associated with an OP."
+ },
+ "oppreparmtransform: opid time": {
+ "prefix": "oppreparmtransform(opid, time)",
+ "body": "oppreparmtransform(${1:opid}, ${2:time})",
+ "scope": "source.vex",
+ "description": "Returns the pre and parm transform associated with an OP."
+ },
+ "planesphereintersect: plane_pos plane_normal sphere_pos sphere_radius intersect_pos intersect_radius intersect_distance": {
+ "prefix": "planesphereintersect(plane_pos, plane_normal, sphere_pos, sphere_radius, intersect_pos, intersect_radius, intersect_distance)",
+ "body": "planesphereintersect(${1:plane_pos}, ${2:plane_normal}, ${3:sphere_pos}, ${4:sphere_radius}, ${5:intersect_pos}, ${6:intersect_radius}, ${7:intersect_distance})",
+ "scope": "source.vex",
+ "description": "Computes the intersection of a 3D sphere and an infinite 3D plane."
+ },
+ "ow_nspace: v": {
+ "prefix": "ow_nspace(v)",
+ "body": "ow_nspace(${1:v})",
+ "scope": "source.vex",
+ "description": "Transforms a normal vector from Object to World space."
+ },
+ "usd_relationshipnames: stage primpath": {
+ "prefix": "usd_relationshipnames(stage, primpath)",
+ "body": "usd_relationshipnames(${1:stage}, ${2:primpath})",
+ "scope": "source.vex",
+ "description": "Returns the names of the relationships available on the primitive."
+ },
+ "vertexprev: geometry linearvertex": {
+ "prefix": "vertexprev(geometry, linearvertex)",
+ "body": "vertexprev(${1:geometry}, ${2:linearvertex})",
+ "scope": "source.vex",
+ "description": "Returns the linear vertex number of the previous vertex sharing a point with a given vertex."
+ },
+ "planename: planeindex": {
+ "prefix": "planename(planeindex)",
+ "body": "planename(${1:planeindex})",
+ "scope": "source.vex",
+ "description": "Returns the name of the plane specified by the index (e."
+ },
+ "inedgegroup: filename groupname pointnum0 pointnum1": {
+ "prefix": "inedgegroup(filename, groupname, pointnum0, pointnum1)",
+ "body": "inedgegroup(${1:filename}, ${2:groupname}, ${3:pointnum0}, ${4:pointnum1})",
+ "scope": "source.vex",
+ "description": "Returns 1 if the edge specified by the point pair is in the group specified by the string."
+ },
+ "inedgegroup: input groupname pointnum0 pointnum1": {
+ "prefix": "inedgegroup(input, groupname, pointnum0, pointnum1)",
+ "body": "inedgegroup(${1:input}, ${2:groupname}, ${3:pointnum0}, ${4:pointnum1})",
+ "scope": "source.vex",
+ "description": "Returns 1 if the edge specified by the point pair is in the group specified by the string."
+ },
+ "getobjectname: ": {
+ "prefix": "getobjectname()",
+ "body": "getobjectname()",
+ "scope": "source.vex",
+ "description": "Returns the name of the current object whose shader is being run."
+ },
+ "uniquevals: geometry attribclass attribute_name": {
+ "prefix": "uniquevals(geometry, attribclass, attribute_name)",
+ "body": "uniquevals(${1:geometry}, ${2:attribclass}, ${3:attribute_name})",
+ "scope": "source.vex",
+ "description": "Returns the set of unique values across all values for an int or string attribute."
+ },
+ "ckspline: t value pos ...": {
+ "prefix": "ckspline(t, value, pos, ...)",
+ "body": "ckspline(${1:t}, ${2:value}, ${3:pos}, ${4:...})",
+ "scope": "source.vex",
+ "description": "Samples a Catmull-Rom (Cardinal) spline defined by position/value keys."
+ },
+ "xyztorgb: xyz": {
+ "prefix": "xyztorgb(xyz)",
+ "body": "xyztorgb(${1:xyz})",
+ "scope": "source.vex",
+ "description": "Convert CIE XYZ tristimulus values to a linear sRGB triplet."
+ },
+ "pcclose: handle": {
+ "prefix": "pcclose(handle)",
+ "body": "pcclose(${1:handle})",
+ "scope": "source.vex",
+ "description": "This function closes the handle associated with a pcopen\nfunction."
+ },
+ "sensor_panorama_create: time pos size near far candidateobj includeobj excludeobj uselit": {
+ "prefix": "sensor_panorama_create(time, pos, size, near, far, candidateobj, includeobj, excludeobj, uselit)",
+ "body": "sensor_panorama_create(${1:time}, ${2:pos}, ${3:size}, ${4:near}, ${5:far}, ${6:candidateobj}, ${7:includeobj}, ${8:excludeobj}, ${9:uselit})",
+ "scope": "source.vex",
+ "description": "Sensor function to render GL scene and query the result."
+ },
+ "exp: n": {
+ "prefix": "exp(n)",
+ "body": "exp(${1:n})",
+ "scope": "source.vex",
+ "description": "Returns the exponential function of the argument."
+ },
+ "pointattribsize: geometry attribute_name": {
+ "prefix": "pointattribsize(geometry, attribute_name)",
+ "body": "pointattribsize(${1:geometry}, ${2:attribute_name})",
+ "scope": "source.vex",
+ "description": "Returns the size of a geometry point attribute."
+ },
+ "chsetstart: start": {
+ "prefix": "chsetstart(start)",
+ "body": "chsetstart(${1:start})",
+ "scope": "source.vex",
+ "description": "Sets the CHOP start sample in the channel data."
+ },
+ "volumevoxeldiameter: geometry primnum": {
+ "prefix": "volumevoxeldiameter(geometry, primnum)",
+ "body": "volumevoxeldiameter(${1:geometry}, ${2:primnum})",
+ "scope": "source.vex",
+ "description": "Computes the approximate diameter of a voxel."
+ },
+ "volumevoxeldiameter: geometry primname": {
+ "prefix": "volumevoxeldiameter(geometry, primname)",
+ "body": "volumevoxeldiameter(${1:geometry}, ${2:primname})",
+ "scope": "source.vex",
+ "description": "Computes the approximate diameter of a voxel."
+ },
+ "usd_primvarnames: stage primpath": {
+ "prefix": "usd_primvarnames(stage, primpath)",
+ "body": "usd_primvarnames(${1:stage}, ${2:primpath})",
+ "scope": "source.vex",
+ "description": "Returns the names of the primvars available on the primitive."
+ },
+ "usd_collectionincludes: stage collectionpath": {
+ "prefix": "usd_collectionincludes(stage, collectionpath)",
+ "body": "usd_collectionincludes(${1:stage}, ${2:collectionpath})",
+ "scope": "source.vex",
+ "description": "Obtains the object paths that are in the collection\u2019s include list"
+ },
+ "random: position": {
+ "prefix": "random(position)",
+ "body": "random(${1:position})",
+ "scope": "source.vex",
+ "description": "Generate a random number based on the position in 1-4D space."
+ },
+ "random: xpos ypos": {
+ "prefix": "random(xpos, ypos)",
+ "body": "random(${1:xpos}, ${2:ypos})",
+ "scope": "source.vex",
+ "description": "Generate a random number based on the position in 1-4D space."
+ },
+ "detailintrinsic: geometry intrinsic_name": {
+ "prefix": "detailintrinsic(geometry, intrinsic_name)",
+ "body": "detailintrinsic(${1:geometry}, ${2:intrinsic_name})",
+ "scope": "source.vex",
+ "description": "Reads the value of a detail intrinsic from a geometry."
+ },
+ "primarclen: geometry uv1 uv2 prim_num": {
+ "prefix": "primarclen(geometry, uv1, uv2, prim_num)",
+ "body": "primarclen(${1:geometry}, ${2:uv1}, ${3:uv2}, ${4:prim_num})",
+ "scope": "source.vex",
+ "description": "Evaluates the length of an arc on a primitive using parametric uv coordinates."
+ },
+ "primarclen: geometry uv1 uv2 prim_num divs": {
+ "prefix": "primarclen(geometry, uv1, uv2, prim_num, divs)",
+ "body": "primarclen(${1:geometry}, ${2:uv1}, ${3:uv2}, ${4:prim_num}, ${5:divs})",
+ "scope": "source.vex",
+ "description": "Evaluates the length of an arc on a primitive using parametric uv coordinates."
+ },
+ "isshadingRHS: ": {
+ "prefix": "isshadingRHS()",
+ "body": "isshadingRHS()",
+ "scope": "source.vex",
+ "description": "Detects the orientation of default shading space."
+ },
+ "usd_haspayload: stage primpath": {
+ "prefix": "usd_haspayload(stage, primpath)",
+ "body": "usd_haspayload(${1:stage}, ${2:primpath})",
+ "scope": "source.vex",
+ "description": "Checks if the primitive adheres to the given API."
+ },
+ "usd_iscollection: stage collectionpath": {
+ "prefix": "usd_iscollection(stage, collectionpath)",
+ "body": "usd_iscollection(${1:stage}, ${2:collectionpath})",
+ "scope": "source.vex",
+ "description": "Checks if the collection exists."
+ },
+ "primintrinsic: geometry intrinsic_name prim_num": {
+ "prefix": "primintrinsic(geometry, intrinsic_name, prim_num)",
+ "body": "primintrinsic(${1:geometry}, ${2:intrinsic_name}, ${3:prim_num})",
+ "scope": "source.vex",
+ "description": "Reads a primitive intrinsic from a geometry."
+ },
+ "usd_getbbox: stage primpath purpose min max": {
+ "prefix": "usd_getbbox(stage, primpath, purpose, min, max)",
+ "body": "usd_getbbox(${1:stage}, ${2:primpath}, ${3:purpose}, ${4:min}, ${5:max})",
+ "scope": "source.vex",
+ "description": "Sets two vectors to the minimum and maximum corners of the bounding box for the primitive."
+ },
+ "usd_metadataelement: stage path name index": {
+ "prefix": "usd_metadataelement(stage, path, name, index)",
+ "body": "usd_metadataelement(${1:stage}, ${2:path}, ${3:name}, ${4:index})",
+ "scope": "source.vex",
+ "description": "Reads the value of an element from the array metadata."
+ },
+ "noise: pos": {
+ "prefix": "noise(pos)",
+ "body": "noise(${1:pos})",
+ "scope": "source.vex",
+ "description": "There are two forms of Perlin-style noise: a non-periodic noise which\nchanges randomly throughout N-dimensional space, and a periodic form\nwhich repeats over a given range of space."
+ },
+ "noise: posx posy": {
+ "prefix": "noise(posx, posy)",
+ "body": "noise(${1:posx}, ${2:posy})",
+ "scope": "source.vex",
+ "description": "There are two forms of Perlin-style noise: a non-periodic noise which\nchanges randomly throughout N-dimensional space, and a periodic form\nwhich repeats over a given range of space."
+ },
+ "usd_makeattribpath: stage primpath name": {
+ "prefix": "usd_makeattribpath(stage, primpath, name)",
+ "body": "usd_makeattribpath(${1:stage}, ${2:primpath}, ${3:name})",
+ "scope": "source.vex",
+ "description": "Constructs an attribute path from a primitive path and an attribute name."
+ },
+ "getuvtangents: objName P dir Tu Tv": {
+ "prefix": "getuvtangents(objName, P, dir, Tu, Tv)",
+ "body": "getuvtangents(${1:objName}, ${2:P}, ${3:dir}, ${4:Tu}, ${5:Tv})",
+ "scope": "source.vex",
+ "description": "Evaluates UV tangents at a point on an arbitrary object."
+ },
+ "getuvtangents: objName P dir Tu Tv Tn": {
+ "prefix": "getuvtangents(objName, P, dir, Tu, Tv, Tn)",
+ "body": "getuvtangents(${1:objName}, ${2:P}, ${3:dir}, ${4:Tu}, ${5:Tv}, ${6:Tn})",
+ "scope": "source.vex",
+ "description": "Evaluates UV tangents at a point on an arbitrary object."
+ },
+ "radians: num_in_degs": {
+ "prefix": "radians(num_in_degs)",
+ "body": "radians(${1:num_in_degs})",
+ "scope": "source.vex",
+ "description": "Converts the argument from degrees into radians."
+ },
+ "radians: nums_in_degs": {
+ "prefix": "radians(nums_in_degs)",
+ "body": "radians(${1:nums_in_degs})",
+ "scope": "source.vex",
+ "description": "Converts the argument from degrees into radians."
+ },
+ "translucent: nml ng ...": {
+ "prefix": "translucent(nml, ng, ...)",
+ "body": "translucent(${1:nml}, ${2:ng}, ${3:...})",
+ "scope": "source.vex",
+ "description": "Returns a Lambertian translucence BSDF."
+ },
+ "volumeindexv: geometry primnum voxel": {
+ "prefix": "volumeindexv(geometry, primnum, voxel)",
+ "body": "volumeindexv(${1:geometry}, ${2:primnum}, ${3:voxel})",
+ "scope": "source.vex",
+ "description": "Gets the vector value of a specific voxel."
+ },
+ "volumeindexv: geometry volumename voxel": {
+ "prefix": "volumeindexv(geometry, volumename, voxel)",
+ "body": "volumeindexv(${1:geometry}, ${2:volumename}, ${3:voxel})",
+ "scope": "source.vex",
+ "description": "Gets the vector value of a specific voxel."
+ },
+ "agentclipchannel: geometry prim clipname channel": {
+ "prefix": "agentclipchannel(geometry, prim, clipname, channel)",
+ "body": "agentclipchannel(${1:geometry}, ${2:prim}, ${3:clipname}, ${4:channel})",
+ "scope": "source.vex",
+ "description": "Finds the index of a channel in an agent\u2019s animation clip."
+ },
+ "addprimattrib: geohandle name defvalue": {
+ "prefix": "addprimattrib(geohandle, name, defvalue)",
+ "body": "addprimattrib(${1:geohandle}, ${2:name}, ${3:defvalue})",
+ "scope": "source.vex",
+ "description": "Adds a primitive attribute to a geometry."
+ },
+ "addprimattrib: geohandle name defvalue typeinfo": {
+ "prefix": "addprimattrib(geohandle, name, defvalue, typeinfo)",
+ "body": "addprimattrib(${1:geohandle}, ${2:name}, ${3:defvalue}, ${4:typeinfo})",
+ "scope": "source.vex",
+ "description": "Adds a primitive attribute to a geometry."
+ },
+ "osd_patchcount: geometry": {
+ "prefix": "osd_patchcount(geometry)",
+ "body": "osd_patchcount(${1:geometry})",
+ "scope": "source.vex",
+ "description": ""
+ },
+ "osd_patchcount: geometry face_id": {
+ "prefix": "osd_patchcount(geometry, face_id)",
+ "body": "osd_patchcount(${1:geometry}, ${2:face_id})",
+ "scope": "source.vex",
+ "description": ""
+ },
+ "agentcliptimes: geometry prim": {
+ "prefix": "agentcliptimes(geometry, prim)",
+ "body": "agentcliptimes(${1:geometry}, ${2:prim})",
+ "scope": "source.vex",
+ "description": "Returns the current times for an agent primitive\u2019s animation clips."
+ },
+ "pcfind_radius: geometry Pchannel RadChannel radscale P radius maxpoints": {
+ "prefix": "pcfind_radius(geometry, Pchannel, RadChannel, radscale, P, radius, maxpoints)",
+ "body": "pcfind_radius(${1:geometry}, ${2:Pchannel}, ${3:RadChannel}, ${4:radscale}, ${5:P}, ${6:radius}, ${7:maxpoints})",
+ "scope": "source.vex",
+ "description": "Returns a list of closest points from a file taking into account their radii."
+ },
+ "pcfind_radius: geometry ptgroup Pchannel RadChannel radscale P radius maxpoints": {
+ "prefix": "pcfind_radius(geometry, ptgroup, Pchannel, RadChannel, radscale, P, radius, maxpoints)",
+ "body": "pcfind_radius(${1:geometry}, ${2:ptgroup}, ${3:Pchannel}, ${4:RadChannel}, ${5:radscale}, ${6:P}, ${7:radius}, ${8:maxpoints})",
+ "scope": "source.vex",
+ "description": "Returns a list of closest points from a file taking into account their radii."
+ },
+ "pcfind_radius: geometry Pchannel RadChannel radscale P radius maxpoints distances": {
+ "prefix": "pcfind_radius(geometry, Pchannel, RadChannel, radscale, P, radius, maxpoints, distances)",
+ "body": "pcfind_radius(${1:geometry}, ${2:Pchannel}, ${3:RadChannel}, ${4:radscale}, ${5:P}, ${6:radius}, ${7:maxpoints}, ${8:distances})",
+ "scope": "source.vex",
+ "description": "Returns a list of closest points from a file taking into account their radii."
+ },
+ "pcfind_radius: geometry ptgroup Pchannel RadChannel radscale P radius maxpoints distances": {
+ "prefix": "pcfind_radius(geometry, ptgroup, Pchannel, RadChannel, radscale, P, radius, maxpoints, distances)",
+ "body": "pcfind_radius(${1:geometry}, ${2:ptgroup}, ${3:Pchannel}, ${4:RadChannel}, ${5:radscale}, ${6:P}, ${7:radius}, ${8:maxpoints}, ${9:distances})",
+ "scope": "source.vex",
+ "description": "Returns a list of closest points from a file taking into account their radii."
+ },
+ "eval_bsdf: b viewer light ...": {
+ "prefix": "eval_bsdf(b, viewer, light, ...)",
+ "body": "eval_bsdf(${1:b}, ${2:viewer}, ${3:light}, ${4:...})",
+ "scope": "source.vex",
+ "description": "Evaluates a bsdf given two vectors."
+ },
+ "eval_bsdf: b viewer light mask ...": {
+ "prefix": "eval_bsdf(b, viewer, light, mask, ...)",
+ "body": "eval_bsdf(${1:b}, ${2:viewer}, ${3:light}, ${4:mask}, ${5:...})",
+ "scope": "source.vex",
+ "description": "Evaluates a bsdf given two vectors."
+ },
+ "eval_bsdf: b viewer light pdf mask ...": {
+ "prefix": "eval_bsdf(b, viewer, light, pdf, mask, ...)",
+ "body": "eval_bsdf(${1:b}, ${2:viewer}, ${3:light}, ${4:pdf}, ${5:mask}, ${6:...})",
+ "scope": "source.vex",
+ "description": "Evaluates a bsdf given two vectors."
+ },
+ "eval_bsdf: b viewer light normal ...": {
+ "prefix": "eval_bsdf(b, viewer, light, normal, ...)",
+ "body": "eval_bsdf(${1:b}, ${2:viewer}, ${3:light}, ${4:normal}, ${5:...})",
+ "scope": "source.vex",
+ "description": "Evaluates a bsdf given two vectors."
+ },
+ "eval_bsdf: b viewer light normal mask ...": {
+ "prefix": "eval_bsdf(b, viewer, light, normal, mask, ...)",
+ "body": "eval_bsdf(${1:b}, ${2:viewer}, ${3:light}, ${4:normal}, ${5:mask}, ${6:...})",
+ "scope": "source.vex",
+ "description": "Evaluates a bsdf given two vectors."
+ },
+ "eval_bsdf: b viewer light normal pdf mask ...": {
+ "prefix": "eval_bsdf(b, viewer, light, normal, pdf, mask, ...)",
+ "body": "eval_bsdf(${1:b}, ${2:viewer}, ${3:light}, ${4:normal}, ${5:pdf}, ${6:mask}, ${7:...})",
+ "scope": "source.vex",
+ "description": "Evaluates a bsdf given two vectors."
+ },
+ "usd_primvarelement: stage primpath name index": {
+ "prefix": "usd_primvarelement(stage, primpath, name, index)",
+ "body": "usd_primvarelement(${1:stage}, ${2:primpath}, ${3:name}, ${4:index})",
+ "scope": "source.vex",
+ "description": "Reads the value of an element from the array primvar."
+ },
+ "usd_primvarelement: stage primpath name index timecode": {
+ "prefix": "usd_primvarelement(stage, primpath, name, index, timecode)",
+ "body": "usd_primvarelement(${1:stage}, ${2:primpath}, ${3:name}, ${4:index}, ${5:timecode})",
+ "scope": "source.vex",
+ "description": "Reads the value of an element from the array primvar."
+ },
+ "switch: direct indirect": {
+ "prefix": "switch(direct, indirect)",
+ "body": "switch(${1:direct}, ${2:indirect})",
+ "scope": "source.vex",
+ "description": "Use a different bsdf for direct or indirect lighting."
+ },
+ "usd_setcollectionexcludes: stagehandle collectionpath excludes": {
+ "prefix": "usd_setcollectionexcludes(stagehandle, collectionpath, excludes)",
+ "body": "usd_setcollectionexcludes(${1:stagehandle}, ${2:collectionpath}, ${3:excludes})",
+ "scope": "source.vex",
+ "description": "Sets the excludes list on the collection"
+ },
+ "fuzzy_nxor: a b ...": {
+ "prefix": "fuzzy_nxor(a, b, ...)",
+ "body": "fuzzy_nxor(${1:a}, ${2:b}, ${3:...})",
+ "scope": "source.vex",
+ "description": ""
+ },
+ "pluralize: noun": {
+ "prefix": "pluralize(noun)",
+ "body": "pluralize(${1:noun})",
+ "scope": "source.vex",
+ "description": "Converts an English noun to its plural."
+ },
+ "decodeparm: str": {
+ "prefix": "decodeparm(str)",
+ "body": "decodeparm(${1:str})",
+ "scope": "source.vex",
+ "description": "Decodes a node parameter name that was previously encoded."
+ },
+ "pciterate: handle": {
+ "prefix": "pciterate(handle)",
+ "body": "pciterate(${1:handle})",
+ "scope": "source.vex",
+ "description": "This function can be used to iterate over all the points which were\nfound in the pcopen query."
+ },
+ "chstart: ": {
+ "prefix": "chstart()",
+ "body": "chstart()",
+ "scope": "source.vex",
+ "description": "Returns the start sample of the input specified."
+ },
+ "chstart: opinput": {
+ "prefix": "chstart(opinput)",
+ "body": "chstart(${1:opinput})",
+ "scope": "source.vex",
+ "description": "Returns the start sample of the input specified."
+ },
+ "ident: ": {
+ "prefix": "ident()",
+ "body": "ident()",
+ "scope": "source.vex",
+ "description": "Returns an identity matrix."
+ },
+ "removeprim: geohandle prim_number andpoints": {
+ "prefix": "removeprim(geohandle, prim_number, andpoints)",
+ "body": "removeprim(${1:geohandle}, ${2:prim_number}, ${3:andpoints})",
+ "scope": "source.vex",
+ "description": "Removes a primitive from the geometry."
+ },
+ "agentchannelnames: geometry prim": {
+ "prefix": "agentchannelnames(geometry, prim)",
+ "body": "agentchannelnames(${1:geometry}, ${2:prim})",
+ "scope": "source.vex",
+ "description": "Returns the names of the channels in an agent primitive\u2019s rig."
+ },
+ "pointedge: geometry point1 point2": {
+ "prefix": "pointedge(geometry, point1, point2)",
+ "body": "pointedge(${1:geometry}, ${2:point1}, ${3:point2})",
+ "scope": "source.vex",
+ "description": "Finds and returns a half-edge with the given endpoints."
+ },
+ "geounwrap: geometry unwrap_attribute": {
+ "prefix": "geounwrap(geometry, unwrap_attribute)",
+ "body": "geounwrap(${1:geometry}, ${2:unwrap_attribute})",
+ "scope": "source.vex",
+ "description": "Returns an oppath: string to unwrap the geometry in-place."
+ },
+ "atoi: str": {
+ "prefix": "atoi(str)",
+ "body": "atoi(${1:str})",
+ "scope": "source.vex",
+ "description": "Converts a string to an integer."
+ },
+ "atoi: str base": {
+ "prefix": "atoi(str, base)",
+ "body": "atoi(${1:str}, ${2:base})",
+ "scope": "source.vex",
+ "description": "Converts a string to an integer."
+ },
+ "acos: v": {
+ "prefix": "acos(v)",
+ "body": "acos(${1:v})",
+ "scope": "source.vex",
+ "description": "Returns the inverse cosine of the argument."
+ },
+ "rint: n": {
+ "prefix": "rint(n)",
+ "body": "rint(${1:n})",
+ "scope": "source.vex",
+ "description": "Rounds the number to the closest whole number."
+ },
+ "rint: v": {
+ "prefix": "rint(v)",
+ "body": "rint(${1:v})",
+ "scope": "source.vex",
+ "description": "Rounds the number to the closest whole number."
+ },
+ "hedge_postdstpoint: geometry hedge": {
+ "prefix": "hedge_postdstpoint(geometry, hedge)",
+ "body": "hedge_postdstpoint(${1:geometry}, ${2:hedge})",
+ "scope": "source.vex",
+ "description": "Returns the point into which the vertex following the destination vertex of a half-edge in its primitive is wired."
+ },
+ "pcimportbyidxf: handle channel_name idx": {
+ "prefix": "pcimportbyidxf(handle, channel_name, idx)",
+ "body": "pcimportbyidxf(${1:handle}, ${2:channel_name}, ${3:idx})",
+ "scope": "source.vex",
+ "description": "Imports channel data from a point cloud outside a pciterate or a pcunshaded loop."
+ },
+ "reverse: str": {
+ "prefix": "reverse(str)",
+ "body": "reverse(${1:str})",
+ "scope": "source.vex",
+ "description": "Returns an array or string in reverse order."
+ },
+ "reverse: values": {
+ "prefix": "reverse(values)",
+ "body": "reverse(${1:values})",
+ "scope": "source.vex",
+ "description": "Returns an array or string in reverse order."
+ },
+ "sort: values": {
+ "prefix": "sort(values)",
+ "body": "sort(${1:values})",
+ "scope": "source.vex",
+ "description": "Returns the array sorted in increasing order."
+ },
+ "invertexgroup: filename groupname vertexnum": {
+ "prefix": "invertexgroup(filename, groupname, vertexnum)",
+ "body": "invertexgroup(${1:filename}, ${2:groupname}, ${3:vertexnum})",
+ "scope": "source.vex",
+ "description": "Returns 1 if the vertex specified by the vertex number is in the group specified by the string."
+ },
+ "invertexgroup: opinput groupname vertexnum": {
+ "prefix": "invertexgroup(opinput, groupname, vertexnum)",
+ "body": "invertexgroup(${1:opinput}, ${2:groupname}, ${3:vertexnum})",
+ "scope": "source.vex",
+ "description": "Returns 1 if the vertex specified by the vertex number is in the group specified by the string."
+ },
+ "getpointbbox: geometry min max": {
+ "prefix": "getpointbbox(geometry, min, max)",
+ "body": "getpointbbox(${1:geometry}, ${2:min}, ${3:max})",
+ "scope": "source.vex",
+ "description": "Sets two vectors to the minimum and maximum corners of the bounding box for the geometry."
+ },
+ "getpointbbox: geometry pointgroup min max": {
+ "prefix": "getpointbbox(geometry, pointgroup, min, max)",
+ "body": "getpointbbox(${1:geometry}, ${2:pointgroup}, ${3:min}, ${4:max})",
+ "scope": "source.vex",
+ "description": "Sets two vectors to the minimum and maximum corners of the bounding box for the geometry."
+ },
+ "osd_patches: geometry face_id": {
+ "prefix": "osd_patches(geometry, face_id)",
+ "body": "osd_patches(${1:geometry}, ${2:face_id})",
+ "scope": "source.vex",
+ "description": "Returns a list of patch IDs for the patches in a subdivision hull."
+ },
+ "pcimportbyidxp: handle channel_name idx": {
+ "prefix": "pcimportbyidxp(handle, channel_name, idx)",
+ "body": "pcimportbyidxp(${1:handle}, ${2:channel_name}, ${3:idx})",
+ "scope": "source.vex",
+ "description": "Imports channel data from a point cloud outside a pciterate or a pcunshaded loop."
+ },
+ "inprimgroup: geometry groupname primnum": {
+ "prefix": "inprimgroup(geometry, groupname, primnum)",
+ "body": "inprimgroup(${1:geometry}, ${2:groupname}, ${3:primnum})",
+ "scope": "source.vex",
+ "description": "Returns 1 if the primitive specified by the primitive number is in the group specified by the string."
+ },
+ "asin: n": {
+ "prefix": "asin(n)",
+ "body": "asin(${1:n})",
+ "scope": "source.vex",
+ "description": "Returns the inverse sine of the argument."
+ },
+ "setagentlocaltransforms: geohandle prim transforms": {
+ "prefix": "setagentlocaltransforms(geohandle, prim, transforms)",
+ "body": "setagentlocaltransforms(${1:geohandle}, ${2:prim}, ${3:transforms})",
+ "scope": "source.vex",
+ "description": "Overrides the local space transforms of an agent primitive."
+ },
+ "expandvertexgroup: geometry groupname": {
+ "prefix": "expandvertexgroup(geometry, groupname)",
+ "body": "expandvertexgroup(${1:geometry}, ${2:groupname})",
+ "scope": "source.vex",
+ "description": "Returns an array of linear vertex numbers corresponding to a group string."
+ },
+ "tet_adjacent: geometry primindex faceno": {
+ "prefix": "tet_adjacent(geometry, primindex, faceno)",
+ "body": "tet_adjacent(${1:geometry}, ${2:primindex}, ${3:faceno})",
+ "scope": "source.vex",
+ "description": "Returns primitive number of an adjacent tetrahedron."
+ },
+ "pccone: geometry PChannel P dir angle max_distance maxpoints": {
+ "prefix": "pccone(geometry, PChannel, P, dir, angle, max_distance, maxpoints)",
+ "body": "pccone(${1:geometry}, ${2:PChannel}, ${3:P}, ${4:dir}, ${5:angle}, ${6:max_distance}, ${7:maxpoints})",
+ "scope": "source.vex",
+ "description": "Returns a list of closest points from a file within a specified cone."
+ },
+ "pccone: geometry ptgroup PChannel P dir angle max_distance maxpoints": {
+ "prefix": "pccone(geometry, ptgroup, PChannel, P, dir, angle, max_distance, maxpoints)",
+ "body": "pccone(${1:geometry}, ${2:ptgroup}, ${3:PChannel}, ${4:P}, ${5:dir}, ${6:angle}, ${7:max_distance}, ${8:maxpoints})",
+ "scope": "source.vex",
+ "description": "Returns a list of closest points from a file within a specified cone."
+ },
+ "agentlayers: geometry prim": {
+ "prefix": "agentlayers(geometry, prim)",
+ "body": "agentlayers(${1:geometry}, ${2:prim})",
+ "scope": "source.vex",
+ "description": "Returns all of the layers that have been loaded for an agent primitive."
+ },
+ "opstart: message": {
+ "prefix": "opstart(message)",
+ "body": "opstart(${1:message})",
+ "scope": "source.vex",
+ "description": "Start a long operation."
+ },
+ "concat: s1 s2 ...": {
+ "prefix": "concat(s1, s2, ...)",
+ "body": "concat(${1:s1}, ${2:s2}, ${3:...})",
+ "scope": "source.vex",
+ "description": "Concatenate all the strings specified to form a single string."
+ },
+ "opdigits: str": {
+ "prefix": "opdigits(str)",
+ "body": "opdigits(${1:str})",
+ "scope": "source.vex",
+ "description": "Returns the integer value of the last sequence of digits of a string"
+ },
+ "opdigits: ": {
+ "prefix": "opdigits()",
+ "body": "opdigits()",
+ "scope": "source.vex",
+ "description": "Returns the integer value of the last sequence of digits of a string"
+ },
+ "splitpath: fullpath dir name": {
+ "prefix": "splitpath(fullpath, dir, name)",
+ "body": "splitpath(${1:fullpath}, ${2:dir}, ${3:name})",
+ "scope": "source.vex",
+ "description": "Splits a file path into the directory and name parts."
+ },
+ "distance2: a b": {
+ "prefix": "distance2(a, b)",
+ "body": "distance2(${1:a}, ${2:b})",
+ "scope": "source.vex",
+ "description": "Returns the squared distance between the two points."
+ },
+ "cross: a b": {
+ "prefix": "cross(a, b)",
+ "body": "cross(${1:a}, ${2:b})",
+ "scope": "source.vex",
+ "description": "Returns the cross product between the two vectors."
+ },
+ "addprim: geohandle type": {
+ "prefix": "addprim(geohandle, type)",
+ "body": "addprim(${1:geohandle}, ${2:type})",
+ "scope": "source.vex",
+ "description": "Adds a primitive to the geometry."
+ },
+ "addprim: geohandle type pt0": {
+ "prefix": "addprim(geohandle, type, pt0)",
+ "body": "addprim(${1:geohandle}, ${2:type}, ${3:pt0})",
+ "scope": "source.vex",
+ "description": "Adds a primitive to the geometry."
+ },
+ "addprim: geohandle type pt0 pt1": {
+ "prefix": "addprim(geohandle, type, pt0, pt1)",
+ "body": "addprim(${1:geohandle}, ${2:type}, ${3:pt0}, ${4:pt1})",
+ "scope": "source.vex",
+ "description": "Adds a primitive to the geometry."
+ },
+ "addprim: geohandle type pt0 pt1 pt2": {
+ "prefix": "addprim(geohandle, type, pt0, pt1, pt2)",
+ "body": "addprim(${1:geohandle}, ${2:type}, ${3:pt0}, ${4:pt1}, ${5:pt2})",
+ "scope": "source.vex",
+ "description": "Adds a primitive to the geometry."
+ },
+ "addprim: geohandle type pt0 pt1 pt2 pt3": {
+ "prefix": "addprim(geohandle, type, pt0, pt1, pt2, pt3)",
+ "body": "addprim(${1:geohandle}, ${2:type}, ${3:pt0}, ${4:pt1}, ${5:pt2}, ${6:pt3})",
+ "scope": "source.vex",
+ "description": "Adds a primitive to the geometry."
+ },
+ "addprim: geohandle type points": {
+ "prefix": "addprim(geohandle, type, points)",
+ "body": "addprim(${1:geohandle}, ${2:type}, ${3:points})",
+ "scope": "source.vex",
+ "description": "Adds a primitive to the geometry."
+ },
+ "addprim: prim_num geohandle type pt0 vertices": {
+ "prefix": "addprim(prim_num, geohandle, type, pt0, vertices)",
+ "body": "addprim(${1:prim_num}, ${2:geohandle}, ${3:type}, ${4:pt0}, ${5:vertices})",
+ "scope": "source.vex",
+ "description": "Adds a primitive to the geometry."
+ },
+ "addprim: prim_num geohandle type pt0 pt1 vertices": {
+ "prefix": "addprim(prim_num, geohandle, type, pt0, pt1, vertices)",
+ "body": "addprim(${1:prim_num}, ${2:geohandle}, ${3:type}, ${4:pt0}, ${5:pt1}, ${6:vertices})",
+ "scope": "source.vex",
+ "description": "Adds a primitive to the geometry."
+ },
+ "addprim: prim_num geohandle type pt0 pt1 pt2 vertices": {
+ "prefix": "addprim(prim_num, geohandle, type, pt0, pt1, pt2, vertices)",
+ "body": "addprim(${1:prim_num}, ${2:geohandle}, ${3:type}, ${4:pt0}, ${5:pt1}, ${6:pt2}, ${7:vertices})",
+ "scope": "source.vex",
+ "description": "Adds a primitive to the geometry."
+ },
+ "addprim: prim_num geohandle type pt0 pt1 pt2 pt3 vertices": {
+ "prefix": "addprim(prim_num, geohandle, type, pt0, pt1, pt2, pt3, vertices)",
+ "body": "addprim(${1:prim_num}, ${2:geohandle}, ${3:type}, ${4:pt0}, ${5:pt1}, ${6:pt2}, ${7:pt3}, ${8:vertices})",
+ "scope": "source.vex",
+ "description": "Adds a primitive to the geometry."
+ },
+ "addprim: prim_num geohandle type points vertices": {
+ "prefix": "addprim(prim_num, geohandle, type, points, vertices)",
+ "body": "addprim(${1:prim_num}, ${2:geohandle}, ${3:type}, ${4:points}, ${5:vertices})",
+ "scope": "source.vex",
+ "description": "Adds a primitive to the geometry."
+ },
+ "getsmoothP: smoothP ray_origin ...": {
+ "prefix": "getsmoothP(smoothP, ray_origin, ...)",
+ "body": "getsmoothP(${1:smoothP}, ${2:ray_origin}, ${3:...})",
+ "scope": "source.vex",
+ "description": "Returns modified surface position based on a smoothing function."
+ },
+ "getsmoothP: ...": {
+ "prefix": "getsmoothP(...)",
+ "body": "getsmoothP(${1:...})",
+ "scope": "source.vex",
+ "description": "Returns modified surface position based on a smoothing function."
+ },
+ "sample_lognormal_by_median: median stddev u": {
+ "prefix": "sample_lognormal_by_median(median, stddev, u)",
+ "body": "sample_lognormal_by_median(${1:median}, ${2:stddev}, ${3:u})",
+ "scope": "source.vex",
+ "description": "Samples the log-normal distribution based on median and standard deviation."
+ },
+ "sample_lognormal_by_median: origmedian origstddev minvalue maxvalue u": {
+ "prefix": "sample_lognormal_by_median(origmedian, origstddev, minvalue, maxvalue, u)",
+ "body": "sample_lognormal_by_median(${1:origmedian}, ${2:origstddev}, ${3:minvalue}, ${4:maxvalue}, ${5:u})",
+ "scope": "source.vex",
+ "description": "Samples the log-normal distribution based on median and standard deviation."
+ },
+ "setpackedtransform: input primnum transform": {
+ "prefix": "setpackedtransform(input, primnum, transform)",
+ "body": "setpackedtransform(${1:input}, ${2:primnum}, ${3:transform})",
+ "scope": "source.vex",
+ "description": "Sets the transform of a packed primitive."
+ },
+ "normalize: v": {
+ "prefix": "normalize(v)",
+ "body": "normalize(${1:v})",
+ "scope": "source.vex",
+ "description": "Returns a normalized vector."
+ },
+ "diffuseBRDF: L N": {
+ "prefix": "diffuseBRDF(L, N)",
+ "body": "diffuseBRDF(${1:L}, ${2:N})",
+ "scope": "source.vex",
+ "description": ""
+ },
+ "diffuseBRDF: L N V rough": {
+ "prefix": "diffuseBRDF(L, N, V, rough)",
+ "body": "diffuseBRDF(${1:L}, ${2:N}, ${3:V}, ${4:rough})",
+ "scope": "source.vex",
+ "description": ""
+ },
+ "phong: exponent ...": {
+ "prefix": "phong(exponent, ...)",
+ "body": "phong(${1:exponent}, ${2:...})",
+ "scope": "source.vex",
+ "description": "Returns a Phong BSDF or computes Phong shading."
+ },
+ "phong: nml exponent ...": {
+ "prefix": "phong(nml, exponent, ...)",
+ "body": "phong(${1:nml}, ${2:exponent}, ${3:...})",
+ "scope": "source.vex",
+ "description": "Returns a Phong BSDF or computes Phong shading."
+ },
+ "phong: nml V shinyness ...": {
+ "prefix": "phong(nml, V, shinyness, ...)",
+ "body": "phong(${1:nml}, ${2:V}, ${3:shinyness}, ${4:...})",
+ "scope": "source.vex",
+ "description": "Returns a Phong BSDF or computes Phong shading."
+ },
+ "swizzle: v i0 i1": {
+ "prefix": "swizzle(v, i0, i1)",
+ "body": "swizzle(${1:v}, ${2:i0}, ${3:i1})",
+ "scope": "source.vex",
+ "description": "Rearranges the components of a vector."
+ },
+ "swizzle: v i0 i1 i2": {
+ "prefix": "swizzle(v, i0, i1, i2)",
+ "body": "swizzle(${1:v}, ${2:i0}, ${3:i1}, ${4:i2})",
+ "scope": "source.vex",
+ "description": "Rearranges the components of a vector."
+ },
+ "swizzle: v i0 i1 i2 i3": {
+ "prefix": "swizzle(v, i0, i1, i2, i3)",
+ "body": "swizzle(${1:v}, ${2:i0}, ${3:i1}, ${4:i2}, ${5:i3})",
+ "scope": "source.vex",
+ "description": "Rearranges the components of a vector."
+ },
+ "vertexnext: geometry linearvertex": {
+ "prefix": "vertexnext(geometry, linearvertex)",
+ "body": "vertexnext(${1:geometry}, ${2:linearvertex})",
+ "scope": "source.vex",
+ "description": "Returns the linear vertex number of the next vertex sharing a point with a given vertex."
+ },
+ "vertexpoint: geometry linearvertex": {
+ "prefix": "vertexpoint(geometry, linearvertex)",
+ "body": "vertexpoint(${1:geometry}, ${2:linearvertex})",
+ "scope": "source.vex",
+ "description": "Returns the point number of linear vertex in a geometry."
+ },
+ "nearpoint: geometry pt": {
+ "prefix": "nearpoint(geometry, pt)",
+ "body": "nearpoint(${1:geometry}, ${2:pt})",
+ "scope": "source.vex",
+ "description": "Finds the closest point in a geometry."
+ },
+ "nearpoint: geometry pt maxdist": {
+ "prefix": "nearpoint(geometry, pt, maxdist)",
+ "body": "nearpoint(${1:geometry}, ${2:pt}, ${3:maxdist})",
+ "scope": "source.vex",
+ "description": "Finds the closest point in a geometry."
+ },
+ "nearpoint: geometry ptgroup pt": {
+ "prefix": "nearpoint(geometry, ptgroup, pt)",
+ "body": "nearpoint(${1:geometry}, ${2:ptgroup}, ${3:pt})",
+ "scope": "source.vex",
+ "description": "Finds the closest point in a geometry."
+ },
+ "nearpoint: geometry ptgroup pt maxdist": {
+ "prefix": "nearpoint(geometry, ptgroup, pt, maxdist)",
+ "body": "nearpoint(${1:geometry}, ${2:ptgroup}, ${3:pt}, ${4:maxdist})",
+ "scope": "source.vex",
+ "description": "Finds the closest point in a geometry."
+ },
+ "fresnel: i n eta kr kt": {
+ "prefix": "fresnel(i, n, eta, kr, kt)",
+ "body": "fresnel(${1:i}, ${2:n}, ${3:eta}, ${4:kr}, ${5:kt})",
+ "scope": "source.vex",
+ "description": "Computes the fresnel reflection/refraction contributions given an\nincoming vector, surface normal (both normalized), and an index of\nrefraction (eta)."
+ },
+ "fresnel: i n eta kr kt R T": {
+ "prefix": "fresnel(i, n, eta, kr, kt, R, T)",
+ "body": "fresnel(${1:i}, ${2:n}, ${3:eta}, ${4:kr}, ${5:kt}, ${6:R}, ${7:T})",
+ "scope": "source.vex",
+ "description": "Computes the fresnel reflection/refraction contributions given an\nincoming vector, surface normal (both normalized), and an index of\nrefraction (eta)."
+ },
+ "getmaterial: ": {
+ "prefix": "getmaterial()",
+ "body": "getmaterial()",
+ "scope": "source.vex",
+ "description": "Returns a material struct for the current surface."
+ },
+ "match: pattern subject": {
+ "prefix": "match(pattern, subject)",
+ "body": "match(${1:pattern}, ${2:subject})",
+ "scope": "source.vex",
+ "description": "This function returns 1 if the subject matches the pattern specified,\nor 0 if the subject doesn\u2019t match."
+ },
+ "sample_circle_arc: center maxangle u": {
+ "prefix": "sample_circle_arc(center, maxangle, u)",
+ "body": "sample_circle_arc(${1:center}, ${2:maxangle}, ${3:u})",
+ "scope": "source.vex",
+ "description": "Generates a uniform unit vector2, within maxangle of center, given a uniform number between 0 and 1."
+ },
+ "hedge_isprimary: geometry hedge": {
+ "prefix": "hedge_isprimary(geometry, hedge)",
+ "body": "hedge_isprimary(${1:geometry}, ${2:hedge})",
+ "scope": "source.vex",
+ "description": "Determines whether a half-edge number corresponds to a primary half-edge."
+ },
+ "hedge_isprimary: opinput hendge": {
+ "prefix": "hedge_isprimary(opinput, hendge)",
+ "body": "hedge_isprimary(${1:opinput}, ${2:hendge})",
+ "scope": "source.vex",
+ "description": "Determines whether a half-edge number corresponds to a primary half-edge."
+ },
+ "hscript_snoise: pos": {
+ "prefix": "hscript_snoise(pos)",
+ "body": "hscript_snoise(${1:pos})",
+ "scope": "source.vex",
+ "description": ""
+ },
+ "floor: n": {
+ "prefix": "floor(n)",
+ "body": "floor(${1:n})",
+ "scope": "source.vex",
+ "description": "Returns the largest integer less than or equal to the argument."
+ },
+ "floor: v": {
+ "prefix": "floor(v)",
+ "body": "floor(${1:v})",
+ "scope": "source.vex",
+ "description": "Returns the largest integer less than or equal to the argument."
+ },
+ "simport: name value": {
+ "prefix": "simport(name, value)",
+ "body": "simport(${1:name}, ${2:value})",
+ "scope": "source.vex",
+ "description": "Imports a variable sent by a surface shader in an illuminance loop."
+ },
+ "chnumchan: ": {
+ "prefix": "chnumchan()",
+ "body": "chnumchan()",
+ "scope": "source.vex",
+ "description": "Returns the number of channels in the input specified."
+ },
+ "chnumchan: opinput": {
+ "prefix": "chnumchan(opinput)",
+ "body": "chnumchan(${1:opinput})",
+ "scope": "source.vex",
+ "description": "Returns the number of channels in the input specified."
+ },
+ "nedgesgroup: filename groupname": {
+ "prefix": "nedgesgroup(filename, groupname)",
+ "body": "nedgesgroup(${1:filename}, ${2:groupname})",
+ "scope": "source.vex",
+ "description": "Returns the number of edges in the group."
+ },
+ "nedgesgroup: input groupname": {
+ "prefix": "nedgesgroup(input, groupname)",
+ "body": "nedgesgroup(${1:input}, ${2:groupname})",
+ "scope": "source.vex",
+ "description": "Returns the number of edges in the group."
+ },
+ "prescale: m scale_vector": {
+ "prefix": "prescale(m, scale_vector)",
+ "body": "prescale(${1:m}, ${2:scale_vector})",
+ "scope": "source.vex",
+ "description": "Prescales the given matrix in three directions simultaneously (X, Y, Z -\ngiven by the components of the scale_vector)."
+ },
+ "setprimintrinsic: geohandle name prim_num value mode": {
+ "prefix": "setprimintrinsic(geohandle, name, prim_num, value, mode)",
+ "body": "setprimintrinsic(${1:geohandle}, ${2:name}, ${3:prim_num}, ${4:value}, ${5:mode})",
+ "scope": "source.vex",
+ "description": "Sets the value of a writeable primitive intrinsic attribute."
+ },
+ "usd_setprimvar: stagehandle primpath name value": {
+ "prefix": "usd_setprimvar(stagehandle, primpath, name, value)",
+ "body": "usd_setprimvar(${1:stagehandle}, ${2:primpath}, ${3:name}, ${4:value})",
+ "scope": "source.vex",
+ "description": "Sets the value of a primvar."
+ },
+ "agentlocaltransforms: geometry prim": {
+ "prefix": "agentlocaltransforms(geometry, prim)",
+ "body": "agentlocaltransforms(${1:geometry}, ${2:prim})",
+ "scope": "source.vex",
+ "description": "Returns the current local space transforms of an agent primitive."
+ },
+ "eulertoquaternion: rotations order": {
+ "prefix": "eulertoquaternion(rotations, order)",
+ "body": "eulertoquaternion(${1:rotations}, ${2:order})",
+ "scope": "source.vex",
+ "description": "Creates a vector4 representing a quaternion from euler angles."
+ },
+ "addpointattrib: geohandle name defvalue": {
+ "prefix": "addpointattrib(geohandle, name, defvalue)",
+ "body": "addpointattrib(${1:geohandle}, ${2:name}, ${3:defvalue})",
+ "scope": "source.vex",
+ "description": "Adds a point attribute to a geometry."
+ },
+ "addpointattrib: geohandle name defvalue typeinfo": {
+ "prefix": "addpointattrib(geohandle, name, defvalue, typeinfo)",
+ "body": "addpointattrib(${1:geohandle}, ${2:name}, ${3:defvalue}, ${4:typeinfo})",
+ "scope": "source.vex",
+ "description": "Adds a point attribute to a geometry."
+ },
+ "usd_flattenedprimvar: stage primpath name": {
+ "prefix": "usd_flattenedprimvar(stage, primpath, name)",
+ "body": "usd_flattenedprimvar(${1:stage}, ${2:primpath}, ${3:name})",
+ "scope": "source.vex",
+ "description": "Reads the value of an flattened primvar from the USD primitive."
+ },
+ "usd_flattenedprimvar: stage primpath name timecode": {
+ "prefix": "usd_flattenedprimvar(stage, primpath, name, timecode)",
+ "body": "usd_flattenedprimvar(${1:stage}, ${2:primpath}, ${3:name}, ${4:timecode})",
+ "scope": "source.vex",
+ "description": "Reads the value of an flattened primvar from the USD primitive."
+ },
+ "pcwrite: filename ...": {
+ "prefix": "pcwrite(filename, ...)",
+ "body": "pcwrite(${1:filename}, ${2:...})",
+ "scope": "source.vex",
+ "description": "Writes data to a point cloud file."
+ },
+ "shimport: variable_name value": {
+ "prefix": "shimport(variable_name, value)",
+ "body": "shimport(${1:variable_name}, ${2:value})",
+ "scope": "source.vex",
+ "description": "Imports a variable from the shadow shader for the surface."
+ },
+ "chadd: channel_names": {
+ "prefix": "chadd(channel_names)",
+ "body": "chadd(${1:channel_names})",
+ "scope": "source.vex",
+ "description": "Adds new channels to a CHOP node."
+ },
+ "usd_hasapi: stage primpath api": {
+ "prefix": "usd_hasapi(stage, primpath, api)",
+ "body": "usd_hasapi(${1:stage}, ${2:primpath}, ${3:api})",
+ "scope": "source.vex",
+ "description": "Checks if the primitive adheres to the given API."
+ },
+ "vnoise: position jitter seed f1 f2 pos1 pos2": {
+ "prefix": "vnoise(position, jitter, seed, f1, f2, pos1, pos2)",
+ "body": "vnoise(${1:position}, ${2:jitter}, ${3:seed}, ${4:f1}, ${5:f2}, ${6:pos1}, ${7:pos2})",
+ "scope": "source.vex",
+ "description": "Generates Voronoi (cellular) noise."
+ },
+ "vnoise: position jitter seed f1 f2 pos1 pos2 period": {
+ "prefix": "vnoise(position, jitter, seed, f1, f2, pos1, pos2, period)",
+ "body": "vnoise(${1:position}, ${2:jitter}, ${3:seed}, ${4:f1}, ${5:f2}, ${6:pos1}, ${7:pos2}, ${8:period})",
+ "scope": "source.vex",
+ "description": "Generates Voronoi (cellular) noise."
+ },
+ "vnoise: posx posy jittx jitty seed f1 f2 pos1x pos1y pos2x pos2y": {
+ "prefix": "vnoise(posx, posy, jittx, jitty, seed, f1, f2, pos1x, pos1y, pos2x, pos2y)",
+ "body": "vnoise(${1:posx}, ${2:posy}, ${3:jittx}, ${4:jitty}, ${5:seed}, ${6:f1}, ${7:f2}, ${8:pos1x}, ${9:pos1y}, ${10:pos2x}, ${11:pos2y})",
+ "scope": "source.vex",
+ "description": "Generates Voronoi (cellular) noise."
+ },
+ "vnoise: posx posy jittx jitty seed f1 f2 pos1x pos1y pos2x pos2 periodx periody": {
+ "prefix": "vnoise(posx, posy, jittx, jitty, seed, f1, f2, pos1x, pos1y, pos2x, pos2, periodx, periody)",
+ "body": "vnoise(${1:posx}, ${2:posy}, ${3:jittx}, ${4:jitty}, ${5:seed}, ${6:f1}, ${7:f2}, ${8:pos1x}, ${9:pos1y}, ${10:pos2x}, ${11:pos2}, ${12:periodx}, ${13:periody})",
+ "scope": "source.vex",
+ "description": "Generates Voronoi (cellular) noise."
+ },
+ "vnoise: position jitter seed f1 f2 pos1 pos2 periodx periody periodz": {
+ "prefix": "vnoise(position, jitter, seed, f1, f2, pos1, pos2, periodx, periody, periodz)",
+ "body": "vnoise(${1:position}, ${2:jitter}, ${3:seed}, ${4:f1}, ${5:f2}, ${6:pos1}, ${7:pos2}, ${8:periodx}, ${9:periody}, ${10:periodz})",
+ "scope": "source.vex",
+ "description": "Generates Voronoi (cellular) noise."
+ },
+ "vnoise: position jitter seed f1 f2 pos1 pos2 periodx periody periodz periodw": {
+ "prefix": "vnoise(position, jitter, seed, f1, f2, pos1, pos2, periodx, periody, periodz, periodw)",
+ "body": "vnoise(${1:position}, ${2:jitter}, ${3:seed}, ${4:f1}, ${5:f2}, ${6:pos1}, ${7:pos2}, ${8:periodx}, ${9:periody}, ${10:periodz}, ${11:periodw})",
+ "scope": "source.vex",
+ "description": "Generates Voronoi (cellular) noise."
+ },
+ "wnoise: position seed f1 f2": {
+ "prefix": "wnoise(position, seed, f1, f2)",
+ "body": "wnoise(${1:position}, ${2:seed}, ${3:f1}, ${4:f2})",
+ "scope": "source.vex",
+ "description": "Generates Worley (cellular) noise."
+ },
+ "wnoise: position seed f1 f2 f3 f4": {
+ "prefix": "wnoise(position, seed, f1, f2, f3, f4)",
+ "body": "wnoise(${1:position}, ${2:seed}, ${3:f1}, ${4:f2}, ${5:f3}, ${6:f4})",
+ "scope": "source.vex",
+ "description": "Generates Worley (cellular) noise."
+ },
+ "wnoise: position seed f1 f2 peiod": {
+ "prefix": "wnoise(position, seed, f1, f2, peiod)",
+ "body": "wnoise(${1:position}, ${2:seed}, ${3:f1}, ${4:f2}, ${5:peiod})",
+ "scope": "source.vex",
+ "description": "Generates Worley (cellular) noise."
+ },
+ "wnoise: position seed f1 f2 f4 f4 period": {
+ "prefix": "wnoise(position, seed, f1, f2, f4, f4, period)",
+ "body": "wnoise(${1:position}, ${2:seed}, ${3:f1}, ${4:f2}, ${5:f4}, ${6:f4}, ${7:period})",
+ "scope": "source.vex",
+ "description": "Generates Worley (cellular) noise."
+ },
+ "wnoise: posx posy seed f1 f2": {
+ "prefix": "wnoise(posx, posy, seed, f1, f2)",
+ "body": "wnoise(${1:posx}, ${2:posy}, ${3:seed}, ${4:f1}, ${5:f2})",
+ "scope": "source.vex",
+ "description": "Generates Worley (cellular) noise."
+ },
+ "wnoise: posx posy seed f1 f2 f3 f4": {
+ "prefix": "wnoise(posx, posy, seed, f1, f2, f3, f4)",
+ "body": "wnoise(${1:posx}, ${2:posy}, ${3:seed}, ${4:f1}, ${5:f2}, ${6:f3}, ${7:f4})",
+ "scope": "source.vex",
+ "description": "Generates Worley (cellular) noise."
+ },
+ "wnoise: posx posy seed f1 f2 periodx periody": {
+ "prefix": "wnoise(posx, posy, seed, f1, f2, periodx, periody)",
+ "body": "wnoise(${1:posx}, ${2:posy}, ${3:seed}, ${4:f1}, ${5:f2}, ${6:periodx}, ${7:periody})",
+ "scope": "source.vex",
+ "description": "Generates Worley (cellular) noise."
+ },
+ "wnoise: posx posy seed f1 f2 f3 f4 periodx periody": {
+ "prefix": "wnoise(posx, posy, seed, f1, f2, f3, f4, periodx, periody)",
+ "body": "wnoise(${1:posx}, ${2:posy}, ${3:seed}, ${4:f1}, ${5:f2}, ${6:f3}, ${7:f4}, ${8:periodx}, ${9:periody})",
+ "scope": "source.vex",
+ "description": "Generates Worley (cellular) noise."
+ },
+ "wnoise: position seed f1 f2 periodx periody": {
+ "prefix": "wnoise(position, seed, f1, f2, periodx, periody)",
+ "body": "wnoise(${1:position}, ${2:seed}, ${3:f1}, ${4:f2}, ${5:periodx}, ${6:periody})",
+ "scope": "source.vex",
+ "description": "Generates Worley (cellular) noise."
+ },
+ "wnoise: position seed f1 f2 f3 f4 periodx periody": {
+ "prefix": "wnoise(position, seed, f1, f2, f3, f4, periodx, periody)",
+ "body": "wnoise(${1:position}, ${2:seed}, ${3:f1}, ${4:f2}, ${5:f3}, ${6:f4}, ${7:periodx}, ${8:periody})",
+ "scope": "source.vex",
+ "description": "Generates Worley (cellular) noise."
+ },
+ "wnoise: position seed f1 f2 periodx periody periodx": {
+ "prefix": "wnoise(position, seed, f1, f2, periodx, periody, periodx)",
+ "body": "wnoise(${1:position}, ${2:seed}, ${3:f1}, ${4:f2}, ${5:periodx}, ${6:periody}, ${7:periodx})",
+ "scope": "source.vex",
+ "description": "Generates Worley (cellular) noise."
+ },
+ "wnoise: position seed f1 f2 f3 f4 periodx periody periodz": {
+ "prefix": "wnoise(position, seed, f1, f2, f3, f4, periodx, periody, periodz)",
+ "body": "wnoise(${1:position}, ${2:seed}, ${3:f1}, ${4:f2}, ${5:f3}, ${6:f4}, ${7:periodx}, ${8:periody}, ${9:periodz})",
+ "scope": "source.vex",
+ "description": "Generates Worley (cellular) noise."
+ },
+ "wnoise: position seed f1 f2 periodx periody periodz periodw": {
+ "prefix": "wnoise(position, seed, f1, f2, periodx, periody, periodz, periodw)",
+ "body": "wnoise(${1:position}, ${2:seed}, ${3:f1}, ${4:f2}, ${5:periodx}, ${6:periody}, ${7:periodz}, ${8:periodw})",
+ "scope": "source.vex",
+ "description": "Generates Worley (cellular) noise."
+ },
+ "wnoise: position seed f1 f2 f3 f4 periodx periody periodz periodw": {
+ "prefix": "wnoise(position, seed, f1, f2, f3, f4, periodx, periody, periodz, periodw)",
+ "body": "wnoise(${1:position}, ${2:seed}, ${3:f1}, ${4:f2}, ${5:f3}, ${6:f4}, ${7:periodx}, ${8:periody}, ${9:periodz}, ${10:periodw})",
+ "scope": "source.vex",
+ "description": "Generates Worley (cellular) noise."
+ },
+ "volumepostoindex: geometry primnum position": {
+ "prefix": "volumepostoindex(geometry, primnum, position)",
+ "body": "volumepostoindex(${1:geometry}, ${2:primnum}, ${3:position})",
+ "scope": "source.vex",
+ "description": "Converts a position into a volume voxel index."
+ },
+ "volumepostoindex: geometry volumename position": {
+ "prefix": "volumepostoindex(geometry, volumename, position)",
+ "body": "volumepostoindex(${1:geometry}, ${2:volumename}, ${3:position})",
+ "scope": "source.vex",
+ "description": "Converts a position into a volume voxel index."
+ },
+ "usd_pointinstance_getbbox_min: stage primpath instance_index purpose": {
+ "prefix": "usd_pointinstance_getbbox_min(stage, primpath, instance_index, purpose)",
+ "body": "usd_pointinstance_getbbox_min(${1:stage}, ${2:primpath}, ${3:instance_index}, ${4:purpose})",
+ "scope": "source.vex",
+ "description": "Returns the minimum position of the bounding box for the instance inside a point instancer primitive."
+ },
+ "usd_addtotransformorder: stagehandle primpath name": {
+ "prefix": "usd_addtotransformorder(stagehandle, primpath, name)",
+ "body": "usd_addtotransformorder(${1:stagehandle}, ${2:primpath}, ${3:name})",
+ "scope": "source.vex",
+ "description": "Appends a transform operation to the primitive\u2019s transform order"
+ },
+ "refract: direction normal index": {
+ "prefix": "refract(direction, normal, index)",
+ "body": "refract(${1:direction}, ${2:normal}, ${3:index})",
+ "scope": "source.vex",
+ "description": "Returns the refraction ray given an incoming direction, the\nnormalized normal and an index of refraction."
+ },
+ "wo_nspace: v": {
+ "prefix": "wo_nspace(v)",
+ "body": "wo_nspace(${1:v})",
+ "scope": "source.vex",
+ "description": "Transforms a normal vector from World to Object space."
+ },
+ "sensor_panorama_getcolor: handle dir": {
+ "prefix": "sensor_panorama_getcolor(handle, dir)",
+ "body": "sensor_panorama_getcolor(${1:handle}, ${2:dir})",
+ "scope": "source.vex",
+ "description": "Sensor function query a rendered GL scene."
+ },
+ "usd_transformtype: name": {
+ "prefix": "usd_transformtype(name)",
+ "body": "usd_transformtype(${1:name})",
+ "scope": "source.vex",
+ "description": "Infers the transform operation type from the full name"
+ },
+ "pcimportbyidx3: handle channel_name idx": {
+ "prefix": "pcimportbyidx3(handle, channel_name, idx)",
+ "body": "pcimportbyidx3(${1:handle}, ${2:channel_name}, ${3:idx})",
+ "scope": "source.vex",
+ "description": "Imports channel data from a point cloud outside a pciterate or a pcunshaded loop."
+ },
+ "texture: map ...": {
+ "prefix": "texture(map, ...)",
+ "body": "texture(${1:map}, ${2:...})",
+ "scope": "source.vex",
+ "description": "Computes a filtered sample of the texture map specified."
+ },
+ "texture: map ss tt ...": {
+ "prefix": "texture(map, ss, tt, ...)",
+ "body": "texture(${1:map}, ${2:ss}, ${3:tt}, ${4:...})",
+ "scope": "source.vex",
+ "description": "Computes a filtered sample of the texture map specified."
+ },
+ "texture: map s0 t0 s1 t1 s2 t2 s3 t3 ...": {
+ "prefix": "texture(map, s0, t0, s1, t1, s2, t2, s3, t3, ...)",
+ "body": "texture(${1:map}, ${2:s0}, ${3:t0}, ${4:s1}, ${5:t1}, ${6:s2}, ${7:t2}, ${8:s3}, ${9:t3}, ${10:...})",
+ "scope": "source.vex",
+ "description": "Computes a filtered sample of the texture map specified."
+ },
+ "nearpoints: geometry pt maxdist": {
+ "prefix": "nearpoints(geometry, pt, maxdist)",
+ "body": "nearpoints(${1:geometry}, ${2:pt}, ${3:maxdist})",
+ "scope": "source.vex",
+ "description": "Finds the all the closest point in a geometry."
+ },
+ "nearpoints: geometry pt maxdist maxpts": {
+ "prefix": "nearpoints(geometry, pt, maxdist, maxpts)",
+ "body": "nearpoints(${1:geometry}, ${2:pt}, ${3:maxdist}, ${4:maxpts})",
+ "scope": "source.vex",
+ "description": "Finds the all the closest point in a geometry."
+ },
+ "nearpoints: geometry ptgroup pt maxdist": {
+ "prefix": "nearpoints(geometry, ptgroup, pt, maxdist)",
+ "body": "nearpoints(${1:geometry}, ${2:ptgroup}, ${3:pt}, ${4:maxdist})",
+ "scope": "source.vex",
+ "description": "Finds the all the closest point in a geometry."
+ },
+ "nearpoints: geometry ptgroup pt maxdist maxpts": {
+ "prefix": "nearpoints(geometry, ptgroup, pt, maxdist, maxpts)",
+ "body": "nearpoints(${1:geometry}, ${2:ptgroup}, ${3:pt}, ${4:maxdist}, ${5:maxpts})",
+ "scope": "source.vex",
+ "description": "Finds the all the closest point in a geometry."
+ },
+ "iaspect: opinput": {
+ "prefix": "iaspect(opinput)",
+ "body": "iaspect(${1:opinput})",
+ "scope": "source.vex",
+ "description": "Returns the aspect ratio of the specified input."
+ },
+ "kspline: basis sample_pos value1 key_pos1 ...": {
+ "prefix": "kspline(basis, sample_pos, value1, key_pos1, ...)",
+ "body": "kspline(${1:basis}, ${2:sample_pos}, ${3:value1}, ${4:key_pos1}, ${5:...})",
+ "scope": "source.vex",
+ "description": "Returns an interpolated value along a curve defined by a basis and key/position pairs."
+ },
+ "wo_space: ": {
+ "prefix": "wo_space()",
+ "body": "wo_space()",
+ "scope": "source.vex",
+ "description": "Transforms a position value from World to Object space."
+ },
+ "wo_space: pos": {
+ "prefix": "wo_space(pos)",
+ "body": "wo_space(${1:pos})",
+ "scope": "source.vex",
+ "description": "Transforms a position value from World to Object space."
+ },
+ "pcimportbyidxs: handle channel_name idx": {
+ "prefix": "pcimportbyidxs(handle, channel_name, idx)",
+ "body": "pcimportbyidxs(${1:handle}, ${2:channel_name}, ${3:idx})",
+ "scope": "source.vex",
+ "description": "Imports channel data from a point cloud outside a pciterate or a pcunshaded loop."
+ },
+ "usd_isattrib: stage primpath name": {
+ "prefix": "usd_isattrib(stage, primpath, name)",
+ "body": "usd_isattrib(${1:stage}, ${2:primpath}, ${3:name})",
+ "scope": "source.vex",
+ "description": "Checks if the primitive has an attribute by the given name."
+ },
+ "getbbox_size: geometry": {
+ "prefix": "getbbox_size(geometry)",
+ "body": "getbbox_size(${1:geometry})",
+ "scope": "source.vex",
+ "description": "Returns the size of the bounding box for the geometry."
+ },
+ "getbbox_size: geometry primgroup": {
+ "prefix": "getbbox_size(geometry, primgroup)",
+ "body": "getbbox_size(${1:geometry}, ${2:primgroup})",
+ "scope": "source.vex",
+ "description": "Returns the size of the bounding box for the geometry."
+ },
+ "eigenvalues: nroot mat real imaginary": {
+ "prefix": "eigenvalues(nroot, mat, real, imaginary)",
+ "body": "eigenvalues(${1:nroot}, ${2:mat}, ${3:real}, ${4:imaginary})",
+ "scope": "source.vex",
+ "description": "Computes the eigenvalues of a 3\u00d73 matrix."
+ },
+ "agentsolvefbik: geometry outgeo prim targets targetxforms xformgroup iters": {
+ "prefix": "agentsolvefbik(geometry, outgeo, prim, targets, targetxforms, xformgroup, iters)",
+ "body": "agentsolvefbik(${1:geometry}, ${2:outgeo}, ${3:prim}, ${4:targets}, ${5:targetxforms}, ${6:xformgroup}, ${7:iters})",
+ "scope": "source.vex",
+ "description": "Applies a full-body inverse kinematics algorithm to an agent\u2019s skeleton."
+ },
+ "agentsolvefbik: geometry outgeo prim targets targetxforms xformgroup iters tolerance pinroot": {
+ "prefix": "agentsolvefbik(geometry, outgeo, prim, targets, targetxforms, xformgroup, iters, tolerance, pinroot)",
+ "body": "agentsolvefbik(${1:geometry}, ${2:outgeo}, ${3:prim}, ${4:targets}, ${5:targetxforms}, ${6:xformgroup}, ${7:iters}, ${8:tolerance}, ${9:pinroot})",
+ "scope": "source.vex",
+ "description": "Applies a full-body inverse kinematics algorithm to an agent\u2019s skeleton."
+ },
+ "agentsolvefbik: geometry outgeo prim targets targetxforms xformgroup iters tolerance pinroot targetweights targetpriorities targetdepths": {
+ "prefix": "agentsolvefbik(geometry, outgeo, prim, targets, targetxforms, xformgroup, iters, tolerance, pinroot, targetweights, targetpriorities, targetdepths)",
+ "body": "agentsolvefbik(${1:geometry}, ${2:outgeo}, ${3:prim}, ${4:targets}, ${5:targetxforms}, ${6:xformgroup}, ${7:iters}, ${8:tolerance}, ${9:pinroot}, ${10:targetweights}, ${11:targetpriorities}, ${12:targetdepths})",
+ "scope": "source.vex",
+ "description": "Applies a full-body inverse kinematics algorithm to an agent\u2019s skeleton."
+ },
+ "agentsolvefbik: geometry outgeo prim targets targetxforms xformgroup iters tolerance pinroot targetweights targetpriorities targetdepths targettypes targetoffsets": {
+ "prefix": "agentsolvefbik(geometry, outgeo, prim, targets, targetxforms, xformgroup, iters, tolerance, pinroot, targetweights, targetpriorities, targetdepths, targettypes, targetoffsets)",
+ "body": "agentsolvefbik(${1:geometry}, ${2:outgeo}, ${3:prim}, ${4:targets}, ${5:targetxforms}, ${6:xformgroup}, ${7:iters}, ${8:tolerance}, ${9:pinroot}, ${10:targetweights}, ${11:targetpriorities}, ${12:targetdepths}, ${13:targettypes}, ${14:targetoffsets})",
+ "scope": "source.vex",
+ "description": "Applies a full-body inverse kinematics algorithm to an agent\u2019s skeleton."
+ },
+ "agentsolvefbik: geometry outgeo prim targets targetxforms xformgroup iters tolerance pinroot targetweights targetpriorities targetdepths goalxformattrib constrainedxformattrib jointlimitsattrib": {
+ "prefix": "agentsolvefbik(geometry, outgeo, prim, targets, targetxforms, xformgroup, iters, tolerance, pinroot, targetweights, targetpriorities, targetdepths, goalxformattrib, constrainedxformattrib, jointlimitsattrib)",
+ "body": "agentsolvefbik(${1:geometry}, ${2:outgeo}, ${3:prim}, ${4:targets}, ${5:targetxforms}, ${6:xformgroup}, ${7:iters}, ${8:tolerance}, ${9:pinroot}, ${10:targetweights}, ${11:targetpriorities}, ${12:targetdepths}, ${13:goalxformattrib}, ${14:constrainedxformattrib}, ${15:jointlimitsattrib})",
+ "scope": "source.vex",
+ "description": "Applies a full-body inverse kinematics algorithm to an agent\u2019s skeleton."
+ },
+ "agentsolvefbik: geometry outgeo prim targets targetxforms xformgroup iters tolerance pinroot targetweights targetpriorities targetdepths targettypes targetoffsets goalxformattrib constrainedxformattrib jointlimitsattrib": {
+ "prefix": "agentsolvefbik(geometry, outgeo, prim, targets, targetxforms, xformgroup, iters, tolerance, pinroot, targetweights, targetpriorities, targetdepths, targettypes, targetoffsets, goalxformattrib, constrainedxformattrib, jointlimitsattrib)",
+ "body": "agentsolvefbik(${1:geometry}, ${2:outgeo}, ${3:prim}, ${4:targets}, ${5:targetxforms}, ${6:xformgroup}, ${7:iters}, ${8:tolerance}, ${9:pinroot}, ${10:targetweights}, ${11:targetpriorities}, ${12:targetdepths}, ${13:targettypes}, ${14:targetoffsets}, ${15:goalxformattrib}, ${16:constrainedxformattrib}, ${17:jointlimitsattrib})",
+ "scope": "source.vex",
+ "description": "Applies a full-body inverse kinematics algorithm to an agent\u2019s skeleton."
+ },
+ "startswith: str startswith": {
+ "prefix": "startswith(str, startswith)",
+ "body": "startswith(${1:str}, ${2:startswith})",
+ "scope": "source.vex",
+ "description": "Returns 1 if the string starts with the specified string."
+ },
+ "usd_isactive: stage primpath": {
+ "prefix": "usd_isactive(stage, primpath)",
+ "body": "usd_isactive(${1:stage}, ${2:primpath})",
+ "scope": "source.vex",
+ "description": "Checks if the primitive is active."
+ },
+ "usd_addscale: stagehandle primpath suffix scale": {
+ "prefix": "usd_addscale(stagehandle, primpath, suffix, scale)",
+ "body": "usd_addscale(${1:stagehandle}, ${2:primpath}, ${3:suffix}, ${4:scale})",
+ "scope": "source.vex",
+ "description": "Applies a scale to the primitive"
+ },
+ "maketransform: zaxis yaxis": {
+ "prefix": "maketransform(zaxis, yaxis)",
+ "body": "maketransform(${1:zaxis}, ${2:yaxis})",
+ "scope": "source.vex",
+ "description": "Builds a 3\u00d73 or 4\u00d74 transform matrix."
+ },
+ "maketransform: xyz angles": {
+ "prefix": "maketransform(xyz, angles)",
+ "body": "maketransform(${1:xyz}, ${2:angles})",
+ "scope": "source.vex",
+ "description": "Builds a 3\u00d73 or 4\u00d74 transform matrix."
+ },
+ "maketransform: zaxis yaxis translate": {
+ "prefix": "maketransform(zaxis, yaxis, translate)",
+ "body": "maketransform(${1:zaxis}, ${2:yaxis}, ${3:translate})",
+ "scope": "source.vex",
+ "description": "Builds a 3\u00d73 or 4\u00d74 transform matrix."
+ },
+ "maketransform: trs xyz t r": {
+ "prefix": "maketransform(trs, xyz, t, r)",
+ "body": "maketransform(${1:trs}, ${2:xyz}, ${3:t}, ${4:r})",
+ "scope": "source.vex",
+ "description": "Builds a 3\u00d73 or 4\u00d74 transform matrix."
+ },
+ "maketransform: trs xyz t r s": {
+ "prefix": "maketransform(trs, xyz, t, r, s)",
+ "body": "maketransform(${1:trs}, ${2:xyz}, ${3:t}, ${4:r}, ${5:s})",
+ "scope": "source.vex",
+ "description": "Builds a 3\u00d73 or 4\u00d74 transform matrix."
+ },
+ "maketransform: trs xyz t r s p": {
+ "prefix": "maketransform(trs, xyz, t, r, s, p)",
+ "body": "maketransform(${1:trs}, ${2:xyz}, ${3:t}, ${4:r}, ${5:s}, ${6:p})",
+ "scope": "source.vex",
+ "description": "Builds a 3\u00d73 or 4\u00d74 transform matrix."
+ },
+ "maketransform: trs xyz t r s p pr": {
+ "prefix": "maketransform(trs, xyz, t, r, s, p, pr)",
+ "body": "maketransform(${1:trs}, ${2:xyz}, ${3:t}, ${4:r}, ${5:s}, ${6:p}, ${7:pr})",
+ "scope": "source.vex",
+ "description": "Builds a 3\u00d73 or 4\u00d74 transform matrix."
+ },
+ "maketransform: trs xyz t r s p pr shears": {
+ "prefix": "maketransform(trs, xyz, t, r, s, p, pr, shears)",
+ "body": "maketransform(${1:trs}, ${2:xyz}, ${3:t}, ${4:r}, ${5:s}, ${6:p}, ${7:pr}, ${8:shears})",
+ "scope": "source.vex",
+ "description": "Builds a 3\u00d73 or 4\u00d74 transform matrix."
+ },
+ "metaweight: filename p": {
+ "prefix": "metaweight(filename, p)",
+ "body": "metaweight(${1:filename}, ${2:p})",
+ "scope": "source.vex",
+ "description": "Returns the metaweight of the geometry at position p."
+ },
+ "sample_sphere_shell_uniform: u alpha": {
+ "prefix": "sample_sphere_shell_uniform(u, alpha)",
+ "body": "sample_sphere_shell_uniform(${1:u}, ${2:alpha})",
+ "scope": "source.vex",
+ "description": "Generates a uniform vector with alpha < length < 1, where 0 < alpha < 1, given a vector of uniform numbers between 0 and 1."
+ },
+ "pxnoised: x px v dvdx": {
+ "prefix": "pxnoised(x, px, v, dvdx)",
+ "body": "pxnoised(${1:x}, ${2:px}, ${3:v}, ${4:dvdx})",
+ "scope": "source.vex",
+ "description": "Periodic derivatives of Simplex Noise."
+ },
+ "pxnoised: x y px py v dvdx dvdy": {
+ "prefix": "pxnoised(x, y, px, py, v, dvdx, dvdy)",
+ "body": "pxnoised(${1:x}, ${2:y}, ${3:px}, ${4:py}, ${5:v}, ${6:dvdx}, ${7:dvdy})",
+ "scope": "source.vex",
+ "description": "Periodic derivatives of Simplex Noise."
+ },
+ "pxnoised: xyz px py pz v dvdx dvdy dvdz": {
+ "prefix": "pxnoised(xyz, px, py, pz, v, dvdx, dvdy, dvdz)",
+ "body": "pxnoised(${1:xyz}, ${2:px}, ${3:py}, ${4:pz}, ${5:v}, ${6:dvdx}, ${7:dvdy}, ${8:dvdz})",
+ "scope": "source.vex",
+ "description": "Periodic derivatives of Simplex Noise."
+ },
+ "pxnoised: xyzw px py pz pw v dvdx dvdy dvdz dvdw": {
+ "prefix": "pxnoised(xyzw, px, py, pz, pw, v, dvdx, dvdy, dvdz, dvdw)",
+ "body": "pxnoised(${1:xyzw}, ${2:px}, ${3:py}, ${4:pz}, ${5:pw}, ${6:v}, ${7:dvdx}, ${8:dvdy}, ${9:dvdz}, ${10:dvdw})",
+ "scope": "source.vex",
+ "description": "Periodic derivatives of Simplex Noise."
+ },
+ "usd_kind: stage primpath": {
+ "prefix": "usd_kind(stage, primpath)",
+ "body": "usd_kind(${1:stage}, ${2:primpath})",
+ "scope": "source.vex",
+ "description": "Returns the primitive\u2019s kind."
+ },
+ "reorder: value indices": {
+ "prefix": "reorder(value, indices)",
+ "body": "reorder(${1:value}, ${2:indices})",
+ "scope": "source.vex",
+ "description": "Reorders items in an array or string."
+ },
+ "reorder: values indices": {
+ "prefix": "reorder(values, indices)",
+ "body": "reorder(${1:values}, ${2:indices})",
+ "scope": "source.vex",
+ "description": "Reorders items in an array or string."
+ },
+ "agenttransformgroupmemberchannel: geometry prim transformgroupidx channel": {
+ "prefix": "agenttransformgroupmemberchannel(geometry, prim, transformgroupidx, channel)",
+ "body": "agenttransformgroupmemberchannel(${1:geometry}, ${2:prim}, ${3:transformgroupidx}, ${4:channel})",
+ "scope": "source.vex",
+ "description": "Returns whether a channel is a member of the specified transform group."
+ },
+ "pop: array": {
+ "prefix": "pop(array)",
+ "body": "pop(${1:array})",
+ "scope": "source.vex",
+ "description": "Removes the last element of an array and returns it."
+ },
+ "pop: array index": {
+ "prefix": "pop(array, index)",
+ "body": "pop(${1:array}, ${2:index})",
+ "scope": "source.vex",
+ "description": "Removes the last element of an array and returns it."
+ },
+ "toupper: str": {
+ "prefix": "toupper(str)",
+ "body": "toupper(${1:str})",
+ "scope": "source.vex",
+ "description": "Converts all characters in string to upper case"
+ },
+ "blinn: exponent ...": {
+ "prefix": "blinn(exponent, ...)",
+ "body": "blinn(${1:exponent}, ${2:...})",
+ "scope": "source.vex",
+ "description": "Returns a Blinn BSDF or computes Blinn shading."
+ },
+ "blinn: nml exponent ...": {
+ "prefix": "blinn(nml, exponent, ...)",
+ "body": "blinn(${1:nml}, ${2:exponent}, ${3:...})",
+ "scope": "source.vex",
+ "description": "Returns a Blinn BSDF or computes Blinn shading."
+ },
+ "blinn: nml V roughness ...": {
+ "prefix": "blinn(nml, V, roughness, ...)",
+ "body": "blinn(${1:nml}, ${2:V}, ${3:roughness}, ${4:...})",
+ "scope": "source.vex",
+ "description": "Returns a Blinn BSDF or computes Blinn shading."
+ },
+ "writepixel: channel ndc_x ndc_y clr": {
+ "prefix": "writepixel(channel, ndc_x, ndc_y, clr)",
+ "body": "writepixel(${1:channel}, ${2:ndc_x}, ${3:ndc_y}, ${4:clr})",
+ "scope": "source.vex",
+ "description": "Writes color information to a pixel in the output image "
+ },
+ "atten: attenuation distance": {
+ "prefix": "atten(attenuation, distance)",
+ "body": "atten(${1:attenuation}, ${2:distance})",
+ "scope": "source.vex",
+ "description": "Computes attenuated falloff."
+ },
+ "setagentcurrentlayer: geohandle prim layername": {
+ "prefix": "setagentcurrentlayer(geohandle, prim, layername)",
+ "body": "setagentcurrentlayer(${1:geohandle}, ${2:prim}, ${3:layername})",
+ "scope": "source.vex",
+ "description": "Sets the current layer of an agent primitive."
+ },
+ "pgfind: geometry P radius maxpoints divsize": {
+ "prefix": "pgfind(geometry, P, radius, maxpoints, divsize)",
+ "body": "pgfind(${1:geometry}, ${2:P}, ${3:radius}, ${4:maxpoints}, ${5:divsize})",
+ "scope": "source.vex",
+ "description": "Returns a list of closest points from a file."
+ },
+ "pgfind: geometry ptgroup P radius maxpoints divsize": {
+ "prefix": "pgfind(geometry, ptgroup, P, radius, maxpoints, divsize)",
+ "body": "pgfind(${1:geometry}, ${2:ptgroup}, ${3:P}, ${4:radius}, ${5:maxpoints}, ${6:divsize})",
+ "scope": "source.vex",
+ "description": "Returns a list of closest points from a file."
+ },
+ "lightstate: query value": {
+ "prefix": "lightstate(query, value)",
+ "body": "lightstate(${1:query}, ${2:value})",
+ "scope": "source.vex",
+ "description": "Queries the renderer for a named property."
+ },
+ "usd_primvartypename: stage primpath name": {
+ "prefix": "usd_primvartypename(stage, primpath, name)",
+ "body": "usd_primvartypename(${1:stage}, ${2:primpath}, ${3:name})",
+ "scope": "source.vex",
+ "description": "Returns the name of the primvar type."
+ },
+ "agenttransformtolocal: geometry prim transforms": {
+ "prefix": "agenttransformtolocal(geometry, prim, transforms)",
+ "body": "agenttransformtolocal(${1:geometry}, ${2:prim}, ${3:transforms})",
+ "scope": "source.vex",
+ "description": "Converts transforms from world space to local space for an agent primitive."
+ },
+ "push: array value": {
+ "prefix": "push(array, value)",
+ "body": "push(${1:array}, ${2:value})",
+ "scope": "source.vex",
+ "description": "Adds an item to an array."
+ },
+ "push: array values": {
+ "prefix": "push(array, values)",
+ "body": "push(${1:array}, ${2:values})",
+ "scope": "source.vex",
+ "description": "Adds an item to an array."
+ },
+ "getbbox_min: geometry": {
+ "prefix": "getbbox_min(geometry)",
+ "body": "getbbox_min(${1:geometry})",
+ "scope": "source.vex",
+ "description": "Returns the minimum of the bounding box for the geometry."
+ },
+ "getbbox_min: geometry primgroup": {
+ "prefix": "getbbox_min(geometry, primgroup)",
+ "body": "getbbox_min(${1:geometry}, ${2:primgroup})",
+ "scope": "source.vex",
+ "description": "Returns the minimum of the bounding box for the geometry."
+ },
+ "pointhedge: geometry point": {
+ "prefix": "pointhedge(geometry, point)",
+ "body": "pointhedge(${1:geometry}, ${2:point})",
+ "scope": "source.vex",
+ "description": "Finds and returns a half-edge with a given source point or with given source and destination points."
+ },
+ "pointhedge: geometry srcpoint dstpoint": {
+ "prefix": "pointhedge(geometry, srcpoint, dstpoint)",
+ "body": "pointhedge(${1:geometry}, ${2:srcpoint}, ${3:dstpoint})",
+ "scope": "source.vex",
+ "description": "Finds and returns a half-edge with a given source point or with given source and destination points."
+ },
+ "erf_inv: v": {
+ "prefix": "erf_inv(v)",
+ "body": "erf_inv(${1:v})",
+ "scope": "source.vex",
+ "description": "Inverse Gauss error function."
}
-}
+}
\ No newline at end of file
diff --git a/syntaxes/VEX.YAML-tmLanguage b/syntaxes/VEX.YAML-tmLanguage
index 65e2a17..a3cf092 100644
--- a/syntaxes/VEX.YAML-tmLanguage
+++ b/syntaxes/VEX.YAML-tmLanguage
@@ -26,7 +26,7 @@ patterns:
name: entity.name.function.vex //support.function.library.vex
'2':
name: punctuation.group.vex
- match: \b(Du|Dv|Dw|abs|accessframe|acos|addattrib|addattribute|adddetailattrib|addgroup|addpoint|addpointattrib|addprim|addprimattrib|addvariablename|addvertex|addvertexattrib|addvisualizer|agentaddclip|agentclipcatalog|agentclipchannel|agentcliplength|agentclipnames|agentclipsample|agentclipsamplelocal|agentclipsamplerate|agentclipsampleworld|agentcliptimes|agentclipweights|agentcollisionlayer|agentcurrentlayer|agentlayerbindings|agentlayers|agentlayershapes|agentlocaltransform|agentlocaltransforms|agentrigchildren|agentrigfind|agentrigparent|agenttransformcount|agenttransformnames|agenttransformtolocal|agenttransformtoworld|agentworldtransform|agentworldtransforms|albedo|alphaname|ambient|anoise|append|area|argsort|array|ashikhmin|asin|assert_enabled|assign|atan|atan2|atof|atoi|atten|attrib|attribclass|attribsize|attribtype|attribtypeinfo|avg|binput|blackbody|blinn|blinnBRDF|bouncelabel|bouncemask|bumpmap|bumpmapA|bumpmapB|bumpmapG|bumpmapL|bumpmapR|bumpname|cbrt|ceil|ch|ch3|ch4|chend|chendf|chendt|chf|chi|chinput|chname|chnumchan|chp|chr|chramp|chrate|chs|chsraw|chstart|chstartf|chstartt|chv|cinput|ckspline|clamp|clip|colormap|colorname|computenormal|concat|cone|cos|cosh|cracktransform|cross|cspline|ctransform|curlnoise|curlnoise2d|curlxnoise|curlxnoise2d|cvex_bsdf|degrees|depthmap|depthname|detail|detailattrib|detailattribsize|detailattribtype|detailattribtypeinfo|detailintrinsic|determinant|diffuse|diffuseBRDF|dihedral|dimport|distance|distance2|dot|dsmpixel|eigenvalues|endswith|environment|erf|erf_inv|erfc|error|eulertoquaternion|eval_bsdf|exp|expand_udim|expandpointgroup|expandprimgroup|fastshadow|filamentsample|file_stat|filtershadow|filterstep|find|findattribval|findattribvalcount|finput|fit|fit01|fit10|fit11|floor|flownoise|flowpnoise|frac|fresnel|fromNDC|frontface|fuzzify|fuzzy_and|fuzzy_defuzz_centroid|fuzzy_nand|fuzzy_nor|fuzzy_not|fuzzy_nxor|fuzzy_or|fuzzy_xor|geoself|getattrib|getattribute|getbbox|getblurP|getbounces|getbounds|getcomp|getcomponents|getderiv|getfogname|getglobalraylevel|getlight|getlightid|getlightname|getlights|getlightscope|getmaterial|getobjectname|getphotonlight|getpointbbox|getprimid|getptextureid|getraylevel|getrayweight|getsamplestore|getscope|getsmoothP|getspace|getuvobjects|getuvtangents|gradient|hair|hasattrib|hasdetailattrib|haslight|hasplane|haspointattrib|hasprimattrib|hasvertexattrib|hedge_dstpoint|hedge_dstvertex|hedge_equivcount|hedge_isequiv|hedge_isprimary|hedge_isvalid|hedge_next|hedge_nextequiv|hedge_postdstpoint|hedge_postdstvertex|hedge_presrcpoint|hedge_presrcvertex|hedge_prev|hedge_prim|hedge_primary|hedge_srcpoint|hedge_srcvertex|henyeygreenstein|hscript_noise|hscript_rand|hscript_snoise|hscript_sturb|hscript_turb|hsvtorgb|iaspect|ichname|ident|idtopoint|idtoprim|iend|iendtime|ihasplane|import|ingroup|inpointgroup|inprimgroup|insert|instance|interpolate|intersect|intersect_all|intersect_lights|inumplanes|invert|invertexgroup|iplaneindex|iplanename|iplanesize|irate|irradiance|isalpha|isbound|isconnected|isdigit|isfinite|isfogray|isframes|isnan|isotropic|israytracing|issamples|isseconds|isshadowray|istart|istarttime|isuvrendering|isvalidindex|isvarying|itoa|ixres|iyres|join|kspline|len|length|length2|lerp|lightid|limit_sample_space|limport|lkspline|log|log10|lookat|lspline|lstrip|luminance|lumname|makebasis|maketransform|maskname|match|matchvex_blinn|matchvex_specular|mattrib|max|mdensity|metaimport|metamarch|metanext|metastart|metaweight|min|minpos|mspace|nametopoint|nametoprim|nbouncetypes|nearpoint|nearpoints|neighbour|neighbourcount|neighbours|newgroup|newsampler|nextsample|ninput|noise|noised|normal_bsdf|normalize|normalname|npoints|npointsgroup|nprimitives|nprimitivesgroup|nrandom|ntransform|nuniqueval|nvertices|nverticesgroup|occlusion|onoise|opdigits|opend|opfullpath|opstart|optransform|ord|osd_facecount|osd_firstpatch|osd_limitsurface|osd_limitsurfacevertex|osd_patchcount|osd_patches|outerproduct|ow_nspace|ow_space|ow_vspace|pack_inttosafefloat|pathtrace|pcclose|pcconvex|pcexport|pcfarthest|pcfilter|pcfind|pcfind_radius|pcgenerate|pcimport|pcimportbyidx3|pcimportbyidx4|pcimportbyidxf|pcimportbyidxi|pcimportbyidxp|pcimportbyidxs|pcimportbyidxv|pciterate|pcnumfound|pcopen|pcopenlod|pcsampleleaf|pcsize|pcunshaded|pcwrite|pgfind|phong|phongBRDF|phonglobe|photonmap|planeindex|planename|planesize|pluralize|pnoise|point|pointattrib|pointattribsize|pointattribtype|pointattribtypeinfo|pointedge|pointhedge|pointhedgenext|pointname|pointprims|pointvertex|pointvertices|polardecomp|pop|pow|prim|prim_attribute|prim_normal|primattrib|primattribsize|primattribtype|primattribtypeinfo|primhedge|primintrinsic|primpoint|primpoints|primuv|primvertex|primvertexcount|primvertices|print_once|printf|product|ptexture|ptlined|ptransform|push|qconvert|qdistance|qinvert|qmultiply|qrotate|quaternion|radians|rand|random|random_fhash|random_ihash|random_shash|random_sobol|rawbumpmap|rawbumpmapA|rawbumpmapB|rawbumpmapG|rawbumpmapL|rawbumpmapR|rawcolormap|rayhittest|rayimport|re_find|re_findall|re_match|re_replace|re_split|reflect|reflectlight|refract|refractlight|relativepath|relbbox|relpointbbox|removegroup|removeindex|removepoint|removeprim|removevalue|renderstate|reorder|resample_linear|resize|resolvemissedray|reverse|rgbtohsv|rgbtoxyz|rint|rotate|rotate_x_to|rstrip|sample_bsdf|sample_cauchy|sample_circle_arc|sample_circle_edge_uniform|sample_circle_slice|sample_circle_uniform|sample_direction_cone|sample_direction_uniform|sample_discrete|sample_exponential|sample_geometry|sample_hemisphere|sample_hypersphere_cone|sample_hypersphere_uniform|sample_light|sample_lognormal|sample_lognormal_by_median|sample_normal|sample_orientation_cone|sample_orientation_uniform|sample_photon|sample_sphere_cone|sample_sphere_uniform|sampledisk|scale|select|sensor_panorama_create|sensor_panorama_getcolor|sensor_panorama_getcone|sensor_panorama_getdepth|sensor_save|serialize|set|setagentclipnames|setagentcliptimes|setagentclipweights|setagentcollisionlayer|setagentcurrentlayer|setagentlocaltransform|setagentlocaltransforms|setagentworldtransform|setagentworldtransforms|setattrib|setattribtypeinfo|setcomp|setcurrentlight|setdetailattrib|setpointattrib|setpointgroup|setprimattrib|setprimgroup|setprimintrinsic|setprimvertex|setsamplestore|setvertexattrib|setvertexgroup|setvertexpoint|shadow|shadow_light|shadowmap|shimport|shl|shr|shrz|sign|simport|sin|sinh|sleep|slerp|slice|slideframe|smooth|smoothrotation|snoise|solvecubic|solvepoly|solvequadratic|sort|specular|specularBRDF|spline|split|splitpath|sprintf|sqrt|startswith|storelightexport|strip|strlen|sum|switch|swizzle|tan|tanh|tet_adjacent|tet_faceindex|teximport|texprintf|texture|texture3d|texture3dBox|titlecase|toNDC|tolower|toupper|trace|translate|translucent|transpose|trunc|tw_nspace|tw_space|tw_vspace|uniqueval|unpack_intfromsafefloat|unserialize|upush|uvunwrap|variance|velocityname|vertex|vertexattrib|vertexattribsize|vertexattribtype|vertexattribtypeinfo|vertexhedge|vertexindex|vertexnext|vertexpoint|vertexprev|vertexprim|vertexprimindex|vnoise|volume|volumegradient|volumeindex|volumeindexorigin|volumeindextopos|volumeindexv|volumepostoindex|volumeres|volumesample|volumesamplev|vtransform|warning|wireblinn|wirediffuse|wnoise|wo_nspace|wo_space|wo_vspace|writepixel|wt_nspace|wt_space|wt_vspace|xnoise|xnoised|xyzdist|xyztorgb)\b\s*(\()
+ match: \b(Du|Dv|Dw|__uniform_mul|__uniform_premul|abs|abspath|accessframe|acos|addattrib|addattribute|adddetailattrib|addgroup|addpoint|addpointattrib|addprim|addprimattrib|addvariablename|addvertex|addvertexattrib|addvisualizer|agentaddclip|agentchannelnames|agentchannelvalue|agentchannelvalues|agentclipcatalog|agentclipchannel|agentclipchannelnames|agentcliplength|agentclipnames|agentclipsample|agentclipsamplelocal|agentclipsamplerate|agentclipsampleworld|agentclipstarttime|agentcliptimes|agentcliptransformgroups|agentclipweights|agentcollisionlayer|agentcurrentlayer|agentfindtransformgroup|agentlayerbindings|agentlayers|agentlayershapes|agentlocaltransform|agentlocaltransforms|agentrigchildren|agentrigfind|agentrigfindchannel|agentrigparent|agentsolvefbik|agenttransformcount|agenttransformgroupmember|agenttransformgroupmemberchannel|agenttransformgroups|agenttransformgroupweight|agenttransformnames|agenttransformtolocal|agenttransformtoworld|agentworldtransform|agentworldtransforms|albedo|alphaname|ambient|anoise|append|area|argsort|array|ashikhmin|asin|assert_enabled|assign|atan|atan2|atof|atoi|atten|attrib|attribclass|attribdataid|attribsize|attribtype|attribtypeinfo|avg|binput|blackbody|blinn|blinnBRDF|bouncelabel|bouncemask|bumpmap|bumpmapA|bumpmapB|bumpmapG|bumpmapL|bumpmapR|bumpname|cbrt|ceil|ch|ch2|ch3|ch4|chadd|chattr|chattrnames|chend|chendf|chendt|chexpr|chexprf|chexprt|chf|chi|chid|chindex|chinput|chinputlimits|chname|chnames|chnumchan|chop|choplocal|choplocalt|chopt|chp|chr|chramp|chrampderiv|chrate|chreadbuf|chremove|chremoveattr|chrename|chresizebuf|chs|chsetattr|chsetlength|chsetrate|chsetstart|chsop|chsraw|chstart|chstartf|chstartt|chu|chv|chwritebuf|cinput|ckspline|clamp|clip|colormap|colorname|combinelocaltransform|computenormal|concat|cone|cos|cosh|cracktransform|create_cdf|create_pdf|cregioncapturetransform|cregiondeformtransform|cregionoverridetransform|cross|cspline|ctransform|curlnoise|curlnoise2d|curlxnoise|curlxnoise2d|cvex_bsdf|cwnoise|decode|decodeattrib|decodeparm|degrees|depthmap|depthname|detail|detailattrib|detailattribsize|detailattribtype|detailattribtypeinfo|detailintrinsic|determinant|diagonalizesymmetric|diffuse|diffuseBRDF|dihedral|dimport|distance|distance2|dot|dsmpixel|efit|eigenvalues|encode|encodeattrib|encodeparm|endswith|environment|erf|erf_inv|erfc|error|eulertoquaternion|eval_bsdf|exp|expand_udim|expandedgegroup|expandpointgroup|expandprimgroup|expandvertexgroup|extractlocaltransform|fastshadow|filamentsample|file_stat|filtershadow|filterstep|find|findattribval|findattribvalcount|finput|fit|fit01|fit10|fit11|floor|flownoise|flowpnoise|frac|fresnel|fromNDC|frontface|fuzzify|fuzzy_and|fuzzy_defuzz_centroid|fuzzy_nand|fuzzy_nor|fuzzy_not|fuzzy_nxor|fuzzy_or|fuzzy_xor|geoself|geounwrap|getattrib|getattribute|getbbox|getbbox_center|getbbox_max|getbbox_min|getbbox_size|getblurP|getbounces|getbounds|getcomp|getcomponents|getderiv|getfogname|getglobalraylevel|getgroupid|getlight|getlightid|getlightname|getlights|getlightscope|getlocalcurvature|getmaterial|getmaterialid|getobjectid|getobjectname|getpackedtransform|getphotonlight|getpointbbox|getpointbbox_center|getpointbbox_max|getpointbbox_min|getpointbbox_size|getprimid|getptextureid|getraylevel|getrayweight|getsamplestore|getscope|getsmoothP|getspace|getuvtangents|ggx|gradient|hair|has_udim|hasattrib|hasdetailattrib|haslight|hasmetadata|hasplane|haspointattrib|hasprimattrib|hasvertexattrib|hedge_dstpoint|hedge_dstvertex|hedge_equivcount|hedge_isequiv|hedge_isprimary|hedge_isvalid|hedge_next|hedge_nextequiv|hedge_postdstpoint|hedge_postdstvertex|hedge_presrcpoint|hedge_presrcvertex|hedge_prev|hedge_prim|hedge_primary|hedge_srcpoint|hedge_srcvertex|henyeygreenstein|hscript_noise|hscript_rand|hscript_snoise|hscript_sturb|hscript_turb|hsvtorgb|iaspect|ichname|ident|idtopoint|idtoprim|iend|iendtime|ihasplane|import|inedgegroup|ingroup|inpointgroup|inprimgroup|insert|instance|interpolate|intersect|intersect_all|intersect_lights|inumplanes|invert|invertexgroup|iplaneindex|iplanename|iplanesize|irate|irradiance|isalpha|isbound|isconnected|isdigit|isfinite|isfogray|isframes|islpeactive|isnan|isotropic|israytracing|issamples|isseconds|isshadowray|istart|istarttime|isuvrendering|isvalidindex|isvarying|itoa|ixres|iyres|join|kspline|len|length|length2|lerp|lightbounces|lightid|lightstate|limit_sample_space|limport|lkspline|log|log10|lookat|lspline|lstrip|luminance|lumname|makebasis|maketransform|mask_bsdf|maskname|match|matchvex_blinn|matchvex_specular|mattrib|max|mdensity|metadata|metaimport|metamarch|metanext|metastart|metaweight|min|minpos|mspace|mwnoise|nametopoint|nametoprim|nbouncetypes|nearpoint|nearpoints|nedgesgroup|neighbour|neighbourcount|neighbours|newgroup|newsampler|nextsample|ninput|ninputs|noise|noised|normal_bsdf|normalize|normalname|npoints|npointsgroup|nprimitives|nprimitivesgroup|nrandom|ntransform|nuniqueval|nvertices|nverticesgroup|objectstate|occlusion|ocean_sample|ocio_activedisplays|ocio_activeviews|ocio_import|ocio_roles|ocio_spaces|ocio_transform|onoise|opdigits|opend|opfullpath|opid|opparentbonetransform|opparenttransform|opparmtransform|oppreconstrainttransform|oppreparmtransform|opprerawparmtransform|oppretransform|oprawparmtransform|opstart|optransform|ord|orthographic|osd_facecount|osd_firstpatch|osd_limitsurface|osd_limitsurfacevertex|osd_lookupface|osd_lookuppatch|osd_patchcount|osd_patches|outerproduct|ow_nspace|ow_space|ow_vspace|pack_inttosafefloat|packedtransform|pathtrace|pcclose|pccone|pccone_radius|pcconvex|pcexport|pcfarthest|pcfilter|pcfind|pcfind_radius|pcgenerate|pcimport|pcimportbyidx3|pcimportbyidx4|pcimportbyidxf|pcimportbyidxi|pcimportbyidxp|pcimportbyidxs|pcimportbyidxv|pciterate|pcline|pcline_radius|pcnumfound|pcopen|pcopenlod|pcsampleleaf|pcsegment|pcsegment_radius|pcsize|pcunshaded|pcwrite|perspective|pgfind|phong|phongBRDF|phonglobe|photonmap|planeindex|planename|planepointdistance|planesize|planesphereintersect|pluralize|pnoise|point|pointattrib|pointattribsize|pointattribtype|pointattribtypeinfo|pointedge|pointhedge|pointhedgenext|pointname|pointprims|pointvertex|pointvertices|polardecomp|polyneighbours|pop|pow|predicate_incircle|predicate_insphere|predicate_orient2d|predicate_orient3d|premul|prerotate|prescale|pretranslate|prim|prim_attribute|prim_normal|primarclen|primattrib|primattribsize|primattribtype|primattribtypeinfo|primduv|primfind|primhedge|primintrinsic|primpoint|primpoints|primuv|primuvconvert|primvertex|primvertexcount|primvertices|print_once|printf|product|ptexture|ptlined|ptransform|push|pxnoise|pxnoised|qconvert|qdistance|qinvert|qmultiply|qrotate|quaternion|quaterniontoeuler|radians|rand|random|random_fhash|random_ihash|random_poisson|random_shash|random_sobol|rawbumpmap|rawbumpmapA|rawbumpmapB|rawbumpmapG|rawbumpmapL|rawbumpmapR|rawcolormap|rayhittest|rayimport|re_find|re_findall|re_match|re_replace|re_split|reflect|reflectlight|refract|refractlight|relativepath|relbbox|relpath|relpointbbox|removegroup|removeindex|removepoint|removeprim|removevalue|removevertex|renderstate|reorder|resample_linear|resize|resolvemissedray|reverse|rgbtohsv|rgbtoxyz|rint|rotate|rotate_x_to|rstrip|sample_bsdf|sample_cauchy|sample_cdf|sample_circle_arc|sample_circle_edge_uniform|sample_circle_ring_uniform|sample_circle_slice|sample_circle_uniform|sample_direction_cone|sample_direction_uniform|sample_discrete|sample_exponential|sample_geometry|sample_hemisphere|sample_hypersphere_cone|sample_hypersphere_uniform|sample_light|sample_lognormal|sample_lognormal_by_median|sample_normal|sample_orientation_cone|sample_orientation_uniform|sample_photon|sample_sphere_cone|sample_sphere_shell_uniform|sample_sphere_uniform|sampledisk|scale|scatter|select|sensor_panorama_create|sensor_panorama_getcolor|sensor_panorama_getcone|sensor_panorama_getdepth|sensor_save|serialize|set|setagentchannelvalue|setagentchannelvalues|setagentclipnames|setagentclips|setagentcliptimes|setagentclipweights|setagentcollisionlayer|setagentcurrentlayer|setagentlocaltransform|setagentlocaltransforms|setagentworldtransform|setagentworldtransforms|setattrib|setattribtypeinfo|setcomp|setcurrentlight|setdetailattrib|setdetailintrinsic|setedgegroup|setpackedtransform|setpointattrib|setpointgroup|setprimattrib|setprimgroup|setprimintrinsic|setprimvertex|setsamplestore|setvertexattrib|setvertexgroup|setvertexpoint|shadow|shadow_light|shadowmap|shimport|shl|shr|shrz|sign|simport|sin|sinh|sleep|slerp|slice|slideframe|smooth|smoothrotation|snoise|solid_angle|solveconstraint|solvecubic|solvecurve|solvefbik|solveik|solvepoly|solvequadratic|solvetriangleSSS|sort|specular|specularBRDF|spline|split|split_bsdf|splitpath|sprintf|sqrt|sssapprox|startswith|storelightexport|strip|strlen|sum|surfacedist|switch|swizzle|tan|tanh|tet_adjacent|tet_faceindex|teximport|texprintf|texture|texture3d|texture3dBox|titlecase|toNDC|tolower|toupper|trace|translate|translucent|transpose|trunc|tw_nspace|tw_space|tw_vspace|uniqueval|uniquevals|unpack_intfromsafefloat|unserialize|upush|usd_addattrib|usd_addcollectionexclude|usd_addcollectioninclude|usd_addinversetotransformorder|usd_addorient|usd_addprim|usd_addprimvar|usd_addrelationshiptarget|usd_addrotate|usd_addscale|usd_addtotransformorder|usd_addtransform|usd_addtranslate|usd_attrib|usd_attribelement|usd_attriblen|usd_attribnames|usd_attribsize|usd_attribtimesamples|usd_attribtypename|usd_blockattrib|usd_blockprimvar|usd_blockprimvarindices|usd_blockrelationship|usd_boundmaterialpath|usd_clearmetadata|usd_cleartransformorder|usd_collectioncomputedpaths|usd_collectioncontains|usd_collectionexcludes|usd_collectionexpansionrule|usd_collectionincludes|usd_drawmode|usd_findtransformname|usd_flattenedprimvar|usd_flattenedprimvarelement|usd_getbbox|usd_getbbox_center|usd_getbbox_max|usd_getbbox_min|usd_getbbox_size|usd_getbounds|usd_getpointinstancebounds|usd_hasapi|usd_haspayload|usd_isactive|usd_isarray|usd_isarraymetadata|usd_isarrayprimvar|usd_isattrib|usd_iscollection|usd_iscollectionpath|usd_isindexedprimvar|usd_isinstance|usd_iskind|usd_ismetadata|usd_isprim|usd_isprimvar|usd_isrelationship|usd_isstage|usd_istransformreset|usd_istype|usd_isvisible|usd_kind|usd_localtransform|usd_makeattribpath|usd_makecollectionpath|usd_makepropertypath|usd_makerelationshippath|usd_metadata|usd_metadataelement|usd_metadatalen|usd_metadatanames|usd_name|usd_parentpath|usd_pointinstance_getbbox|usd_pointinstance_getbbox_center|usd_pointinstance_getbbox_max|usd_pointinstance_getbbox_min|usd_pointinstance_getbbox_size|usd_pointinstance_relbbox|usd_pointinstancetransform|usd_primvar|usd_primvarattribname|usd_primvarelement|usd_primvarelementsize|usd_primvarindices|usd_primvarinterpolation|usd_primvarlen|usd_primvarnames|usd_primvarsize|usd_primvartimesamples|usd_primvartypename|usd_purpose|usd_relationshipforwardedtargets|usd_relationshipnames|usd_relationshiptargets|usd_relbbox|usd_removerelationshiptarget|usd_setactive|usd_setattrib|usd_setattribelement|usd_setcollectionexcludes|usd_setcollectionexpansionrule|usd_setcollectionincludes|usd_setdrawmode|usd_setkind|usd_setmetadata|usd_setmetadataelement|usd_setprimvar|usd_setprimvarelement|usd_setprimvarelementsize|usd_setprimvarindices|usd_setprimvarinterpolation|usd_setpurpose|usd_setrelationshiptargets|usd_settransformorder|usd_settransformreset|usd_setvariantselection|usd_setvisible|usd_transformname|usd_transformorder|usd_transformsuffix|usd_transformtype|usd_typename|usd_uniquetransformname|usd_variants|usd_variantselection|usd_variantsets|usd_worldtransform|uvdist|uvintersect|uvsample|uvunwrap|variance|velocityname|vertex|vertexattrib|vertexattribsize|vertexattribtype|vertexattribtypeinfo|vertexhedge|vertexindex|vertexnext|vertexpoint|vertexprev|vertexprim|vertexprimindex|vnoise|volume|volumegradient|volumeindex|volumeindexactive|volumeindexorigin|volumeindextopos|volumeindexv|volumepostoindex|volumeres|volumesample|volumesamplev|volumevoxeldiameter|vtransform|warning|wireblinn|wirediffuse|wnoise|wo_nspace|wo_space|wo_vspace|writepixel|wt_nspace|wt_space|wt_vspace|xnoise|xnoised|xyzdist|xyztorgb)\b\s*(\()
- begin: (\w+)\s*\(
beginCaptures:
'1':
diff --git a/syntaxes/VEX.tmLanguage b/syntaxes/VEX.tmLanguage
index 3187a57..f2fbaff 100644
--- a/syntaxes/VEX.tmLanguage
+++ b/syntaxes/VEX.tmLanguage
@@ -76,7 +76,7 @@
match
- \b(Du|Dv|Dw|abs|accessframe|acos|addattrib|addattribute|adddetailattrib|addgroup|addpoint|addpointattrib|addprim|addprimattrib|addvariablename|addvertex|addvertexattrib|addvisualizer|agentaddclip|agentclipcatalog|agentclipchannel|agentcliplength|agentclipnames|agentclipsample|agentclipsamplelocal|agentclipsamplerate|agentclipsampleworld|agentcliptimes|agentclipweights|agentcollisionlayer|agentcurrentlayer|agentlayerbindings|agentlayers|agentlayershapes|agentlocaltransform|agentlocaltransforms|agentrigchildren|agentrigfind|agentrigparent|agenttransformcount|agenttransformnames|agenttransformtolocal|agenttransformtoworld|agentworldtransform|agentworldtransforms|albedo|alphaname|ambient|anoise|append|area|argsort|array|ashikhmin|asin|assert_enabled|assign|atan|atan2|atof|atoi|atten|attrib|attribclass|attribsize|attribtype|attribtypeinfo|avg|binput|blackbody|blinn|blinnBRDF|bouncelabel|bouncemask|bumpmap|bumpmapA|bumpmapB|bumpmapG|bumpmapL|bumpmapR|bumpname|cbrt|ceil|ch|ch3|ch4|chend|chendf|chendt|chf|chi|chinput|chname|chnumchan|chp|chr|chramp|chrate|chs|chsraw|chstart|chstartf|chstartt|chv|cinput|ckspline|clamp|clip|colormap|colorname|computenormal|concat|cone|cos|cosh|cracktransform|cross|cspline|ctransform|curlnoise|curlnoise2d|curlxnoise|curlxnoise2d|cvex_bsdf|degrees|depthmap|depthname|detail|detailattrib|detailattribsize|detailattribtype|detailattribtypeinfo|detailintrinsic|determinant|diffuse|diffuseBRDF|dihedral|dimport|distance|distance2|dot|dsmpixel|eigenvalues|endswith|environment|erf|erf_inv|erfc|error|eulertoquaternion|eval_bsdf|exp|expand_udim|expandpointgroup|expandprimgroup|fastshadow|filamentsample|file_stat|filtershadow|filterstep|find|findattribval|findattribvalcount|finput|fit|fit01|fit10|fit11|floor|flownoise|flowpnoise|frac|fresnel|fromNDC|frontface|fuzzify|fuzzy_and|fuzzy_defuzz_centroid|fuzzy_nand|fuzzy_nor|fuzzy_not|fuzzy_nxor|fuzzy_or|fuzzy_xor|geoself|getattrib|getattribute|getbbox|getblurP|getbounces|getbounds|getcomp|getcomponents|getderiv|getfogname|getglobalraylevel|getlight|getlightid|getlightname|getlights|getlightscope|getmaterial|getobjectname|getphotonlight|getpointbbox|getprimid|getptextureid|getraylevel|getrayweight|getsamplestore|getscope|getsmoothP|getspace|getuvobjects|getuvtangents|gradient|hair|hasattrib|hasdetailattrib|haslight|hasplane|haspointattrib|hasprimattrib|hasvertexattrib|hedge_dstpoint|hedge_dstvertex|hedge_equivcount|hedge_isequiv|hedge_isprimary|hedge_isvalid|hedge_next|hedge_nextequiv|hedge_postdstpoint|hedge_postdstvertex|hedge_presrcpoint|hedge_presrcvertex|hedge_prev|hedge_prim|hedge_primary|hedge_srcpoint|hedge_srcvertex|henyeygreenstein|hscript_noise|hscript_rand|hscript_snoise|hscript_sturb|hscript_turb|hsvtorgb|iaspect|ichname|ident|idtopoint|idtoprim|iend|iendtime|ihasplane|import|ingroup|inpointgroup|inprimgroup|insert|instance|interpolate|intersect|intersect_all|intersect_lights|inumplanes|invert|invertexgroup|iplaneindex|iplanename|iplanesize|irate|irradiance|isalpha|isbound|isconnected|isdigit|isfinite|isfogray|isframes|isnan|isotropic|israytracing|issamples|isseconds|isshadowray|istart|istarttime|isuvrendering|isvalidindex|isvarying|itoa|ixres|iyres|join|kspline|len|length|length2|lerp|lightid|limit_sample_space|limport|lkspline|log|log10|lookat|lspline|lstrip|luminance|lumname|makebasis|maketransform|maskname|match|matchvex_blinn|matchvex_specular|mattrib|max|mdensity|metaimport|metamarch|metanext|metastart|metaweight|min|minpos|mspace|nametopoint|nametoprim|nbouncetypes|nearpoint|nearpoints|neighbour|neighbourcount|neighbours|newgroup|newsampler|nextsample|ninput|noise|noised|normal_bsdf|normalize|normalname|npoints|npointsgroup|nprimitives|nprimitivesgroup|nrandom|ntransform|nuniqueval|nvertices|nverticesgroup|occlusion|onoise|opdigits|opend|opfullpath|opstart|optransform|ord|osd_facecount|osd_firstpatch|osd_limitsurface|osd_limitsurfacevertex|osd_patchcount|osd_patches|outerproduct|ow_nspace|ow_space|ow_vspace|pack_inttosafefloat|pathtrace|pcclose|pcconvex|pcexport|pcfarthest|pcfilter|pcfind|pcfind_radius|pcgenerate|pcimport|pcimportbyidx3|pcimportbyidx4|pcimportbyidxf|pcimportbyidxi|pcimportbyidxp|pcimportbyidxs|pcimportbyidxv|pciterate|pcnumfound|pcopen|pcopenlod|pcsampleleaf|pcsize|pcunshaded|pcwrite|pgfind|phong|phongBRDF|phonglobe|photonmap|planeindex|planename|planesize|pluralize|pnoise|point|pointattrib|pointattribsize|pointattribtype|pointattribtypeinfo|pointedge|pointhedge|pointhedgenext|pointname|pointprims|pointvertex|pointvertices|polardecomp|pop|pow|prim|prim_attribute|prim_normal|primattrib|primattribsize|primattribtype|primattribtypeinfo|primhedge|primintrinsic|primpoint|primpoints|primuv|primvertex|primvertexcount|primvertices|print_once|printf|product|ptexture|ptlined|ptransform|push|qconvert|qdistance|qinvert|qmultiply|qrotate|quaternion|radians|rand|random|random_fhash|random_ihash|random_shash|random_sobol|rawbumpmap|rawbumpmapA|rawbumpmapB|rawbumpmapG|rawbumpmapL|rawbumpmapR|rawcolormap|rayhittest|rayimport|re_find|re_findall|re_match|re_replace|re_split|reflect|reflectlight|refract|refractlight|relativepath|relbbox|relpointbbox|removegroup|removeindex|removepoint|removeprim|removevalue|renderstate|reorder|resample_linear|resize|resolvemissedray|reverse|rgbtohsv|rgbtoxyz|rint|rotate|rotate_x_to|rstrip|sample_bsdf|sample_cauchy|sample_circle_arc|sample_circle_edge_uniform|sample_circle_slice|sample_circle_uniform|sample_direction_cone|sample_direction_uniform|sample_discrete|sample_exponential|sample_geometry|sample_hemisphere|sample_hypersphere_cone|sample_hypersphere_uniform|sample_light|sample_lognormal|sample_lognormal_by_median|sample_normal|sample_orientation_cone|sample_orientation_uniform|sample_photon|sample_sphere_cone|sample_sphere_uniform|sampledisk|scale|select|sensor_panorama_create|sensor_panorama_getcolor|sensor_panorama_getcone|sensor_panorama_getdepth|sensor_save|serialize|set|setagentclipnames|setagentcliptimes|setagentclipweights|setagentcollisionlayer|setagentcurrentlayer|setagentlocaltransform|setagentlocaltransforms|setagentworldtransform|setagentworldtransforms|setattrib|setattribtypeinfo|setcomp|setcurrentlight|setdetailattrib|setpointattrib|setpointgroup|setprimattrib|setprimgroup|setprimintrinsic|setprimvertex|setsamplestore|setvertexattrib|setvertexgroup|setvertexpoint|shadow|shadow_light|shadowmap|shimport|shl|shr|shrz|sign|simport|sin|sinh|sleep|slerp|slice|slideframe|smooth|smoothrotation|snoise|solvecubic|solvepoly|solvequadratic|sort|specular|specularBRDF|spline|split|splitpath|sprintf|sqrt|startswith|storelightexport|strip|strlen|sum|switch|swizzle|tan|tanh|tet_adjacent|tet_faceindex|teximport|texprintf|texture|texture3d|texture3dBox|titlecase|toNDC|tolower|toupper|trace|translate|translucent|transpose|trunc|tw_nspace|tw_space|tw_vspace|uniqueval|unpack_intfromsafefloat|unserialize|upush|uvunwrap|variance|velocityname|vertex|vertexattrib|vertexattribsize|vertexattribtype|vertexattribtypeinfo|vertexhedge|vertexindex|vertexnext|vertexpoint|vertexprev|vertexprim|vertexprimindex|vnoise|volume|volumegradient|volumeindex|volumeindexorigin|volumeindextopos|volumeindexv|volumepostoindex|volumeres|volumesample|volumesamplev|vtransform|warning|wireblinn|wirediffuse|wnoise|wo_nspace|wo_space|wo_vspace|writepixel|wt_nspace|wt_space|wt_vspace|xnoise|xnoised|xyzdist|xyztorgb)\b\s*(\()
+ \b(Du|Dv|Dw|__uniform_mul|__uniform_premul|abs|abspath|accessframe|acos|addattrib|addattribute|adddetailattrib|addgroup|addpoint|addpointattrib|addprim|addprimattrib|addvariablename|addvertex|addvertexattrib|addvisualizer|agentaddclip|agentchannelnames|agentchannelvalue|agentchannelvalues|agentclipcatalog|agentclipchannel|agentclipchannelnames|agentcliplength|agentclipnames|agentclipsample|agentclipsamplelocal|agentclipsamplerate|agentclipsampleworld|agentclipstarttime|agentcliptimes|agentcliptransformgroups|agentclipweights|agentcollisionlayer|agentcurrentlayer|agentfindtransformgroup|agentlayerbindings|agentlayers|agentlayershapes|agentlocaltransform|agentlocaltransforms|agentrigchildren|agentrigfind|agentrigfindchannel|agentrigparent|agentsolvefbik|agenttransformcount|agenttransformgroupmember|agenttransformgroupmemberchannel|agenttransformgroups|agenttransformgroupweight|agenttransformnames|agenttransformtolocal|agenttransformtoworld|agentworldtransform|agentworldtransforms|albedo|alphaname|ambient|anoise|append|area|argsort|array|ashikhmin|asin|assert_enabled|assign|atan|atan2|atof|atoi|atten|attrib|attribclass|attribdataid|attribsize|attribtype|attribtypeinfo|avg|binput|blackbody|blinn|blinnBRDF|bouncelabel|bouncemask|bumpmap|bumpmapA|bumpmapB|bumpmapG|bumpmapL|bumpmapR|bumpname|cbrt|ceil|ch|ch2|ch3|ch4|chadd|chattr|chattrnames|chend|chendf|chendt|chexpr|chexprf|chexprt|chf|chi|chid|chindex|chinput|chinputlimits|chname|chnames|chnumchan|chop|choplocal|choplocalt|chopt|chp|chr|chramp|chrampderiv|chrate|chreadbuf|chremove|chremoveattr|chrename|chresizebuf|chs|chsetattr|chsetlength|chsetrate|chsetstart|chsop|chsraw|chstart|chstartf|chstartt|chu|chv|chwritebuf|cinput|ckspline|clamp|clip|colormap|colorname|combinelocaltransform|computenormal|concat|cone|cos|cosh|cracktransform|create_cdf|create_pdf|cregioncapturetransform|cregiondeformtransform|cregionoverridetransform|cross|cspline|ctransform|curlnoise|curlnoise2d|curlxnoise|curlxnoise2d|cvex_bsdf|cwnoise|decode|decodeattrib|decodeparm|degrees|depthmap|depthname|detail|detailattrib|detailattribsize|detailattribtype|detailattribtypeinfo|detailintrinsic|determinant|diagonalizesymmetric|diffuse|diffuseBRDF|dihedral|dimport|distance|distance2|dot|dsmpixel|efit|eigenvalues|encode|encodeattrib|encodeparm|endswith|environment|erf|erf_inv|erfc|error|eulertoquaternion|eval_bsdf|exp|expand_udim|expandedgegroup|expandpointgroup|expandprimgroup|expandvertexgroup|extractlocaltransform|fastshadow|filamentsample|file_stat|filtershadow|filterstep|find|findattribval|findattribvalcount|finput|fit|fit01|fit10|fit11|floor|flownoise|flowpnoise|frac|fresnel|fromNDC|frontface|fuzzify|fuzzy_and|fuzzy_defuzz_centroid|fuzzy_nand|fuzzy_nor|fuzzy_not|fuzzy_nxor|fuzzy_or|fuzzy_xor|geoself|geounwrap|getattrib|getattribute|getbbox|getbbox_center|getbbox_max|getbbox_min|getbbox_size|getblurP|getbounces|getbounds|getcomp|getcomponents|getderiv|getfogname|getglobalraylevel|getgroupid|getlight|getlightid|getlightname|getlights|getlightscope|getlocalcurvature|getmaterial|getmaterialid|getobjectid|getobjectname|getpackedtransform|getphotonlight|getpointbbox|getpointbbox_center|getpointbbox_max|getpointbbox_min|getpointbbox_size|getprimid|getptextureid|getraylevel|getrayweight|getsamplestore|getscope|getsmoothP|getspace|getuvtangents|ggx|gradient|hair|has_udim|hasattrib|hasdetailattrib|haslight|hasmetadata|hasplane|haspointattrib|hasprimattrib|hasvertexattrib|hedge_dstpoint|hedge_dstvertex|hedge_equivcount|hedge_isequiv|hedge_isprimary|hedge_isvalid|hedge_next|hedge_nextequiv|hedge_postdstpoint|hedge_postdstvertex|hedge_presrcpoint|hedge_presrcvertex|hedge_prev|hedge_prim|hedge_primary|hedge_srcpoint|hedge_srcvertex|henyeygreenstein|hscript_noise|hscript_rand|hscript_snoise|hscript_sturb|hscript_turb|hsvtorgb|iaspect|ichname|ident|idtopoint|idtoprim|iend|iendtime|ihasplane|import|inedgegroup|ingroup|inpointgroup|inprimgroup|insert|instance|interpolate|intersect|intersect_all|intersect_lights|inumplanes|invert|invertexgroup|iplaneindex|iplanename|iplanesize|irate|irradiance|isalpha|isbound|isconnected|isdigit|isfinite|isfogray|isframes|islpeactive|isnan|isotropic|israytracing|issamples|isseconds|isshadowray|istart|istarttime|isuvrendering|isvalidindex|isvarying|itoa|ixres|iyres|join|kspline|len|length|length2|lerp|lightbounces|lightid|lightstate|limit_sample_space|limport|lkspline|log|log10|lookat|lspline|lstrip|luminance|lumname|makebasis|maketransform|mask_bsdf|maskname|match|matchvex_blinn|matchvex_specular|mattrib|max|mdensity|metadata|metaimport|metamarch|metanext|metastart|metaweight|min|minpos|mspace|mwnoise|nametopoint|nametoprim|nbouncetypes|nearpoint|nearpoints|nedgesgroup|neighbour|neighbourcount|neighbours|newgroup|newsampler|nextsample|ninput|ninputs|noise|noised|normal_bsdf|normalize|normalname|npoints|npointsgroup|nprimitives|nprimitivesgroup|nrandom|ntransform|nuniqueval|nvertices|nverticesgroup|objectstate|occlusion|ocean_sample|ocio_activedisplays|ocio_activeviews|ocio_import|ocio_roles|ocio_spaces|ocio_transform|onoise|opdigits|opend|opfullpath|opid|opparentbonetransform|opparenttransform|opparmtransform|oppreconstrainttransform|oppreparmtransform|opprerawparmtransform|oppretransform|oprawparmtransform|opstart|optransform|ord|orthographic|osd_facecount|osd_firstpatch|osd_limitsurface|osd_limitsurfacevertex|osd_lookupface|osd_lookuppatch|osd_patchcount|osd_patches|outerproduct|ow_nspace|ow_space|ow_vspace|pack_inttosafefloat|packedtransform|pathtrace|pcclose|pccone|pccone_radius|pcconvex|pcexport|pcfarthest|pcfilter|pcfind|pcfind_radius|pcgenerate|pcimport|pcimportbyidx3|pcimportbyidx4|pcimportbyidxf|pcimportbyidxi|pcimportbyidxp|pcimportbyidxs|pcimportbyidxv|pciterate|pcline|pcline_radius|pcnumfound|pcopen|pcopenlod|pcsampleleaf|pcsegment|pcsegment_radius|pcsize|pcunshaded|pcwrite|perspective|pgfind|phong|phongBRDF|phonglobe|photonmap|planeindex|planename|planepointdistance|planesize|planesphereintersect|pluralize|pnoise|point|pointattrib|pointattribsize|pointattribtype|pointattribtypeinfo|pointedge|pointhedge|pointhedgenext|pointname|pointprims|pointvertex|pointvertices|polardecomp|polyneighbours|pop|pow|predicate_incircle|predicate_insphere|predicate_orient2d|predicate_orient3d|premul|prerotate|prescale|pretranslate|prim|prim_attribute|prim_normal|primarclen|primattrib|primattribsize|primattribtype|primattribtypeinfo|primduv|primfind|primhedge|primintrinsic|primpoint|primpoints|primuv|primuvconvert|primvertex|primvertexcount|primvertices|print_once|printf|product|ptexture|ptlined|ptransform|push|pxnoise|pxnoised|qconvert|qdistance|qinvert|qmultiply|qrotate|quaternion|quaterniontoeuler|radians|rand|random|random_fhash|random_ihash|random_poisson|random_shash|random_sobol|rawbumpmap|rawbumpmapA|rawbumpmapB|rawbumpmapG|rawbumpmapL|rawbumpmapR|rawcolormap|rayhittest|rayimport|re_find|re_findall|re_match|re_replace|re_split|reflect|reflectlight|refract|refractlight|relativepath|relbbox|relpath|relpointbbox|removegroup|removeindex|removepoint|removeprim|removevalue|removevertex|renderstate|reorder|resample_linear|resize|resolvemissedray|reverse|rgbtohsv|rgbtoxyz|rint|rotate|rotate_x_to|rstrip|sample_bsdf|sample_cauchy|sample_cdf|sample_circle_arc|sample_circle_edge_uniform|sample_circle_ring_uniform|sample_circle_slice|sample_circle_uniform|sample_direction_cone|sample_direction_uniform|sample_discrete|sample_exponential|sample_geometry|sample_hemisphere|sample_hypersphere_cone|sample_hypersphere_uniform|sample_light|sample_lognormal|sample_lognormal_by_median|sample_normal|sample_orientation_cone|sample_orientation_uniform|sample_photon|sample_sphere_cone|sample_sphere_shell_uniform|sample_sphere_uniform|sampledisk|scale|scatter|select|sensor_panorama_create|sensor_panorama_getcolor|sensor_panorama_getcone|sensor_panorama_getdepth|sensor_save|serialize|set|setagentchannelvalue|setagentchannelvalues|setagentclipnames|setagentclips|setagentcliptimes|setagentclipweights|setagentcollisionlayer|setagentcurrentlayer|setagentlocaltransform|setagentlocaltransforms|setagentworldtransform|setagentworldtransforms|setattrib|setattribtypeinfo|setcomp|setcurrentlight|setdetailattrib|setdetailintrinsic|setedgegroup|setpackedtransform|setpointattrib|setpointgroup|setprimattrib|setprimgroup|setprimintrinsic|setprimvertex|setsamplestore|setvertexattrib|setvertexgroup|setvertexpoint|shadow|shadow_light|shadowmap|shimport|shl|shr|shrz|sign|simport|sin|sinh|sleep|slerp|slice|slideframe|smooth|smoothrotation|snoise|solid_angle|solveconstraint|solvecubic|solvecurve|solvefbik|solveik|solvepoly|solvequadratic|solvetriangleSSS|sort|specular|specularBRDF|spline|split|split_bsdf|splitpath|sprintf|sqrt|sssapprox|startswith|storelightexport|strip|strlen|sum|surfacedist|switch|swizzle|tan|tanh|tet_adjacent|tet_faceindex|teximport|texprintf|texture|texture3d|texture3dBox|titlecase|toNDC|tolower|toupper|trace|translate|translucent|transpose|trunc|tw_nspace|tw_space|tw_vspace|uniqueval|uniquevals|unpack_intfromsafefloat|unserialize|upush|usd_addattrib|usd_addcollectionexclude|usd_addcollectioninclude|usd_addinversetotransformorder|usd_addorient|usd_addprim|usd_addprimvar|usd_addrelationshiptarget|usd_addrotate|usd_addscale|usd_addtotransformorder|usd_addtransform|usd_addtranslate|usd_attrib|usd_attribelement|usd_attriblen|usd_attribnames|usd_attribsize|usd_attribtimesamples|usd_attribtypename|usd_blockattrib|usd_blockprimvar|usd_blockprimvarindices|usd_blockrelationship|usd_boundmaterialpath|usd_clearmetadata|usd_cleartransformorder|usd_collectioncomputedpaths|usd_collectioncontains|usd_collectionexcludes|usd_collectionexpansionrule|usd_collectionincludes|usd_drawmode|usd_findtransformname|usd_flattenedprimvar|usd_flattenedprimvarelement|usd_getbbox|usd_getbbox_center|usd_getbbox_max|usd_getbbox_min|usd_getbbox_size|usd_getbounds|usd_getpointinstancebounds|usd_hasapi|usd_haspayload|usd_isactive|usd_isarray|usd_isarraymetadata|usd_isarrayprimvar|usd_isattrib|usd_iscollection|usd_iscollectionpath|usd_isindexedprimvar|usd_isinstance|usd_iskind|usd_ismetadata|usd_isprim|usd_isprimvar|usd_isrelationship|usd_isstage|usd_istransformreset|usd_istype|usd_isvisible|usd_kind|usd_localtransform|usd_makeattribpath|usd_makecollectionpath|usd_makepropertypath|usd_makerelationshippath|usd_metadata|usd_metadataelement|usd_metadatalen|usd_metadatanames|usd_name|usd_parentpath|usd_pointinstance_getbbox|usd_pointinstance_getbbox_center|usd_pointinstance_getbbox_max|usd_pointinstance_getbbox_min|usd_pointinstance_getbbox_size|usd_pointinstance_relbbox|usd_pointinstancetransform|usd_primvar|usd_primvarattribname|usd_primvarelement|usd_primvarelementsize|usd_primvarindices|usd_primvarinterpolation|usd_primvarlen|usd_primvarnames|usd_primvarsize|usd_primvartimesamples|usd_primvartypename|usd_purpose|usd_relationshipforwardedtargets|usd_relationshipnames|usd_relationshiptargets|usd_relbbox|usd_removerelationshiptarget|usd_setactive|usd_setattrib|usd_setattribelement|usd_setcollectionexcludes|usd_setcollectionexpansionrule|usd_setcollectionincludes|usd_setdrawmode|usd_setkind|usd_setmetadata|usd_setmetadataelement|usd_setprimvar|usd_setprimvarelement|usd_setprimvarelementsize|usd_setprimvarindices|usd_setprimvarinterpolation|usd_setpurpose|usd_setrelationshiptargets|usd_settransformorder|usd_settransformreset|usd_setvariantselection|usd_setvisible|usd_transformname|usd_transformorder|usd_transformsuffix|usd_transformtype|usd_typename|usd_uniquetransformname|usd_variants|usd_variantselection|usd_variantsets|usd_worldtransform|uvdist|uvintersect|uvsample|uvunwrap|variance|velocityname|vertex|vertexattrib|vertexattribsize|vertexattribtype|vertexattribtypeinfo|vertexhedge|vertexindex|vertexnext|vertexpoint|vertexprev|vertexprim|vertexprimindex|vnoise|volume|volumegradient|volumeindex|volumeindexactive|volumeindexorigin|volumeindextopos|volumeindexv|volumepostoindex|volumeres|volumesample|volumesamplev|volumevoxeldiameter|vtransform|warning|wireblinn|wirediffuse|wnoise|wo_nspace|wo_space|wo_vspace|writepixel|wt_nspace|wt_space|wt_vspace|xnoise|xnoised|xyzdist|xyztorgb)\b\s*(\()
begin