VEX

Recommended Readings

Item

Links

Documentation / Tutorials

​

Industry / Case-studies

  • ​Rohan Dalvi

  • Entagma

Repositories / Wiki

Supplementary

Mathematics

Data types declaration

int x = 18; // integer
float y = 3.142 // float
string name = "John"; // string
vector v = {1,1,1};
matrix3 m = ident(); // identity matrix creation
quaternion
​
// array form: member_type var_name[]:
float my_array[];
vector_array[];
str_array[];
​
//global attribute
@myGlobalAttribute
v@myVector = set(-1,-1,-1);
i@var = 1;

Statements

// Loops
for(int i =1; i<10;i++)
{
}
​
// if conditional
if(x==1){
...
}else{
...
}
​
// while
while(condition){
yourStatement;
}

Attributes

normalize
// Position
@P
@P.x
@P.y
@P.z
​
// Normal
@N
​
// color
@Cd.r
@Cd
@Cd.g
@Cd.b
@Alpha // Alpha
​
​
//scale @pscale = 1;
​
@scale.x = 1;
@scale.y = 1;
@scale.z = 5;
​
// Set scale, and manipulate one axis only
@scale =set(1,1,1);
@scale.y = 2.
​
// commonly used
@ptnum
@
// Position
@P
@P.x
@P.y
@P.z
​
// Normal
@N
​
// color
@Cd.r
@Cd
@Cd.g
@Cd.b
@Alpha // Alpha
​
​
//scaling
@pscale = 1;
​
@scale.x = 1;
@scale.y = 1;
@scale.z = 5;
// Set scale, and manipulate one axis only
@scale =set(1,1,1);
@scale.y = 2.

Functions

v@myVector = set(-1,-1,-1);
​
fit01(attribute,minVal,maxVal);
fit(attribute,ominVal,omaxVal,minVal,maxVal);
rand(value);
normalize
//noise types
noise
anoise
snoise
pnoise
​
//Copystamp
stamp("../copy1","variable",0)

Expressions

Time β€” $T / @Time
Frame β€” $F (int) / $FF (float)
Stamp β€” stamp("path","variable/channel",defaultValue)
eg. stamp("../copy1","rotation",25)
​
​
//Centroid
$CEX, $CEY , $CEZ
​
$HIP β€” Project path
$HIPNAME β€” HIP project name
​
// Parsing file name
name.$F4.jpg // $F4 padding: 0008.jpg

Creating controls

ch('threshold')
chf('threshold')
chi('threshold')
chv('vector_parm)'
​
float chramp(string channel, float ramppos)
float chramp(string channel, float ramppos, float time)
vector chramp(string channel, float ramppos)
vector chramp(string channel, float ramppos, float time)