Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Name

Type

Description

"HAIR_GUIDES_COUNT"

int

Number of hairs

"HAIR_GUIDES_POINT_COUNT"

int*

Number of points of each hair strand

"HAIR_POINTS"

float*

Hair guides points

"HAIR_POINTS_MB"

float*

Hair guides points for motion blur

"Root Radius"doubleRadius at the root
"Tip Radius"doubleRadius at the tip
"HAIR_FLAG_ROOT_UVS"byteRoot UV's available or not
"HAIR_ROOT_UVS"float*Array of root UV's
"HAIR_FLAG_VERTEX_COLORS"byteVertex colors available or not
"HAIR_VERTEX_COLORS"float*

Array of vertex colors

 

Custom UV Generators

NameIndex
"Lengthwise U"0
"Root UV"1

...

"HAIR_FLAG_ROOT_UVS_1"byteRoot UV's 1 available or not
"HAIR_

...

ROOT_UVS_

...

1"

Number of hairs of the object.

Example:

Code Block
languagecpp
int numHairs = 2;
hairParams->setByteArray( "HAIR_GUIDES_COUNT", ( unsigned char* )&numHairs, sizeof( int ) );

 

"HAIR_GUIDES_POINT_COUNT"

...

float*Array 1 of root UV's
"HAIR_FLAG_ROOT_UVS_2"byteRoot UV's 2 available or not
"HAIR_ROOT_UVS_2"float*Array 2 of root UV's
"HAIR_FLAG_ROOT_UVS_3"byteRoot UV's 3 available or not
"HAIR_ROOT_UVS_3"float*Array 3 of root UV's
"HAIR_FLAG_ROOT_UVS_4"byteRoot UV's 4 available or not
"HAIR_ROOT_UVS_4"float*Array 4 of root UV's
"HAIR_FLAG_ROOT_UVS_5"byteRoot UV's 5 available or not
"HAIR_ROOT_UVS_5"float*Array 5 of root UV's
"HAIR_FLAG_ROOT_UVS_6"byteRoot UV's 6 available or not
"HAIR_ROOT_UVS_6"float*Array 6 of root UV's
"HAIR_FLAG_ROOT_UVS_7"byteRoot UV's 7 available or not
"HAIR_ROOT_UVS_7"float*Array 7 of root UV's
"HAIR_FLAG_ROOT_UVS_8"byteRoot UV's 8 available or not
"HAIR_ROOT_UVS_8"float*Array 8 of root UV's
"HAIR_FLAG_ROOT_UVS_9"byteRoot UV's 9 available or not
"HAIR_ROOT_UVS_9"float*Array 9 of root UV's
"HAIR_FLAG_ROOT_UVS_10"byteRoot UV's 10 available or not
"HAIR_ROOT_UVS_10"float*Array 10 of root UV's

 

Custom UV Generators

NameIndex
"lengthwise U"0
"hair root UV"

1

"radial U"

2

"HAIR_ROOT_UVS_1"

3
"HAIR_ROOT_UVS_2"4
"HAIR_ROOT_UVS_3"5
"HAIR_ROOT_UVS_4"6
"HAIR_ROOT_UVS_5"7
"HAIR_ROOT_UVS_6"8
"HAIR_ROOT_UVS_7"9
"HAIR_ROOT_UVS_8"10
"HAIR_ROOT_UVS_9"11
"HAIR_ROOT_UVS_10"12

 

"HAIR_GUIDES_COUNT"

Number of hairs of the object.

Example:

Code Block
languagecpp
int numHairs = 2;
hairParams->setByteArray( "HAIR_GUIDES_COUNT", ( unsigned char* )&numHairs, sizeof( int ) );

 

"HAIR_GUIDES_POINT_COUNT"

Number of points of each hair. It is an integer array. If it has only one element, it is the number of points of all hairs. If it is an array of numHairs elements, each element is the number of points of the corresponding hair.

...

Code Block
languagecpp
int numHairs = 2;
int numPointsPerHair = 3;
float rgb[ 3*2*3 ];
rgb[ 0 ] = 0.1; rgb[ 1 ] = 0.6; rgb[ 2 ] = 0.1;
rgb[ 3 ] = 0.5; rgb[ 4 ] = 0.2; rgb[ 5 ] = 0.4;
rgb[ 6 ] = 0.0; rgb[ 7 ] = 0.6; rgb[ 8 ] = 0.9;

rgb[ 9 ] = 0.8; rgb[ 10 ] = 0.3; rgb[ 11 ] = 0.0;
rgb[ 12 ] = 0.2; rgb[ 1313 ] = 0.5; rgb[ 14 ] = 0.8;
rgb[ 15 ] = 0.1; rgb[ 16 ] = 0.51; rgb[ 1417 ] = 0.86;
rgb[ 15 ] = 0.1; rgb[ 16 ] = 0.1; rgb[ 17 ] = 0.6;

extParam->setFloatArray( "HAIR_VERTEX_COLORS", rgb, 3*2*3 );
extParam->setFloatArray( "HAIR_VERTEX_COLORS", rgb, 3*2*3 );


"HAIR_FLAG_ROOT_UVS_1" to "HAIR_FLAG_ROOT_UVS_10"

Flag indicating whether root uvs arrays 1 to 10 are present or not. They are a byte array of length 1.


"HAIR_ROOT_UVS_1" to "HAIR_ROOT_UVS_10"

Linear arrays of uv coordinates at each hair root: u0 v0 u1 v1 u2 v2..., their length is 2*numberOfHairs.