r3mpif

r3mpif

Class

real/code/r3mpif.h

Library

r3code

Description:

IF shader. Evalutes sub shaders only if given condition is true.

See Also

real/code/r3mpleve.h

Super Class

r3Mplevel

R3CLID_MPLEVEL

JavaScript

r3Mpif

Class Identifier

R3CLID_MPIF - 399

Methods

Attributes

Condition1, Condition2, Condition3, Min1, Min2, Min3, Max1, Max2, Max3, Type, CombineOperation,

Registration

int R3RegisterMPIfClass(R3APP *app);

Condition1

Attribute

Condition1

Identifier

R3MPIFA_Condition1

JavaScript type

Integer

C type

R3INT

Description

see types below

Syntax


jsobj.SetCondition1(value);
value = jsobj.GetCondition1();


R3INT value = ...;
R3SetAttrs(r3obj, R3MPIFA_Condition1, value, R3TAG_END);
R3INT value;
R3GetAttrs(r3obj, R3MPIFA_Condition1, &value, R3TAG_END);

Condition2

Attribute

Condition2

Identifier

R3MPIFA_Condition2

JavaScript type

Integer

C type

R3INT

Description

see types below

Syntax


jsobj.SetCondition2(value);
value = jsobj.GetCondition2();


R3INT value = ...;
R3SetAttrs(r3obj, R3MPIFA_Condition2, value, R3TAG_END);
R3INT value;
R3GetAttrs(r3obj, R3MPIFA_Condition2, &value, R3TAG_END);

Condition3

Attribute

Condition3

Identifier

R3MPIFA_Condition3

JavaScript type

Integer

C type

R3INT

Description

see types below

Syntax


jsobj.SetCondition3(value);
value = jsobj.GetCondition3();


R3INT value = ...;
R3SetAttrs(r3obj, R3MPIFA_Condition3, value, R3TAG_END);
R3INT value;
R3GetAttrs(r3obj, R3MPIFA_Condition3, &value, R3TAG_END);

Min1

Attribute

Min1

Identifier

R3MPIFA_Min1

JavaScript type

Number

C type

R3FLOAT

Description

min value for inside test in X

Syntax


jsobj.SetMin1(value);
value = jsobj.GetMin1();


R3FLOAT value = ...;
R3SetAttrs(r3obj, R3MPIFA_Min1, value, R3TAG_END);
R3FLOAT value;
R3GetAttrs(r3obj, R3MPIFA_Min1, &value, R3TAG_END);

Min2

Attribute

Min2

Identifier

R3MPIFA_Min2

JavaScript type

Number

C type

R3FLOAT

Description

min value for inside test in Y

Syntax


jsobj.SetMin2(value);
value = jsobj.GetMin2();


R3FLOAT value = ...;
R3SetAttrs(r3obj, R3MPIFA_Min2, value, R3TAG_END);
R3FLOAT value;
R3GetAttrs(r3obj, R3MPIFA_Min2, &value, R3TAG_END);

Min3

Attribute

Min3

Identifier

R3MPIFA_Min3

JavaScript type

Number

C type

R3FLOAT

Description

min value for inside test in Z

Syntax


jsobj.SetMin3(value);
value = jsobj.GetMin3();


R3FLOAT value = ...;
R3SetAttrs(r3obj, R3MPIFA_Min3, value, R3TAG_END);
R3FLOAT value;
R3GetAttrs(r3obj, R3MPIFA_Min3, &value, R3TAG_END);

Max1

Attribute

Max1

Identifier

R3MPIFA_Max1

JavaScript type

Number

C type

R3FLOAT

Description

max value for range test in X

Syntax


jsobj.SetMax1(value);
value = jsobj.GetMax1();


R3FLOAT value = ...;
R3SetAttrs(r3obj, R3MPIFA_Max1, value, R3TAG_END);
R3FLOAT value;
R3GetAttrs(r3obj, R3MPIFA_Max1, &value, R3TAG_END);

Max2

Attribute

Max2

Identifier

R3MPIFA_Max2

JavaScript type

Number

C type

R3FLOAT

Description

max value for range test in Y

Syntax


jsobj.SetMax2(value);
value = jsobj.GetMax2();


R3FLOAT value = ...;
R3SetAttrs(r3obj, R3MPIFA_Max2, value, R3TAG_END);
R3FLOAT value;
R3GetAttrs(r3obj, R3MPIFA_Max2, &value, R3TAG_END);

Max3

Attribute

Max3

Identifier

R3MPIFA_Max3

JavaScript type

Number

C type

R3FLOAT

Description

max value for range test in Z

Syntax


jsobj.SetMax3(value);
value = jsobj.GetMax3();


R3FLOAT value = ...;
R3SetAttrs(r3obj, R3MPIFA_Max3, value, R3TAG_END);
R3FLOAT value;
R3GetAttrs(r3obj, R3MPIFA_Max3, &value, R3TAG_END);

Type

Attribute

Type

Identifier

R3MPIFA_Type

JavaScript type

Integer

C type

R3INT

Description

see types below

Syntax


jsobj.SetType(value);
value = jsobj.GetType();


R3INT value = ...;
R3SetAttrs(r3obj, R3MPIFA_Type, value, R3TAG_END);
R3INT value;
R3GetAttrs(r3obj, R3MPIFA_Type, &value, R3TAG_END);

CombineOperation

Attribute

CombineOperation

Identifier

R3MPIFA_CombineOperation

JavaScript type

Integer

C type

R3INT

Description

see IFCOMB values below

Syntax


jsobj.SetCombineOperation(value);
value = jsobj.GetCombineOperation();


R3INT value = ...;
R3SetAttrs(r3obj, R3MPIFA_CombineOperation, value, R3TAG_END);
R3INT value;
R3GetAttrs(r3obj, R3MPIFA_CombineOperation, &value, R3TAG_END);

Condition types:

R3MPIFSTATE_OFF
R3MPIFSTATE_TEST
R3MPIFSTATE_NEGATED
R3MPIFSTATE_GREATER
R3MPIFSTATE_LESS

types

R3MPTYPE_IF
R3MPTYPE_WHILE

Operation between sub channel tests:

R3MPIFCOMB_AND
R3MPIFCOMB_OR