r3mpif
real/code/r3mpif.h
r3code
IF shader. Evalutes sub shaders only if given condition is true.
r3Mplevel
R3CLID_MPLEVEL
r3Mpif
R3CLID_MPIF - 399
Condition1, Condition2, Condition3, Min1, Min2, Min3, Max1, Max2, Max3, Type, CombineOperation,
int R3RegisterMPIfClass(R3APP *app);
Condition1
Condition1
R3MPIFA_Condition1
Integer
R3INT
see types below
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
Condition2
R3MPIFA_Condition2
Integer
R3INT
see types below
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
Condition3
R3MPIFA_Condition3
Integer
R3INT
see types below
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
Min1
R3MPIFA_Min1
Number
R3FLOAT
min value for inside test in X
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
Min2
R3MPIFA_Min2
Number
R3FLOAT
min value for inside test in Y
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
Min3
R3MPIFA_Min3
Number
R3FLOAT
min value for inside test in Z
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
Max1
R3MPIFA_Max1
Number
R3FLOAT
max value for range test in X
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
Max2
R3MPIFA_Max2
Number
R3FLOAT
max value for range test in Y
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
Max3
R3MPIFA_Max3
Number
R3FLOAT
max value for range test in Z
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
Type
R3MPIFA_Type
Integer
R3INT
see types below
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
CombineOperation
R3MPIFA_CombineOperation
Integer
R3INT
see IFCOMB values below
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:
types
Operation between sub channel tests: