r3rmplev

r3rmplev

Class

real/raytr/r3rmplev.h

Library

r3raytr

Description:

Renderer's level shader. Defines local variables and sub shaders.

See Also

real/raytr/r3rmprop.h

Super Class

r3Rmatprop

R3CLID_RMATPROP

JavaScript

r3Rmplevel

Class Identifier

R3CLID_RMPLEVEL - 731

Attributes

LocalCnt, PhaseCount, Phases, InParamCount, EvaluateSuper, PublicAttrCnt, PublicAttrSubCount, PublicAttrValues, LocalVarValues, Sub,

Registration

int R3RegisterRMatPropLevelClass(R3APP *app);

LocalCnt

Attribute

LocalCnt

Identifier

R3RMPLEVA_LocalCnt

JavaScript type

Integer

C type

R3INT

Description

number of local vars

Syntax


jsobj.SetLocalCnt(value);
value = jsobj.GetLocalCnt();


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

PhaseCount

Attribute

PhaseCount

Identifier

R3RMPLEVA_PhaseCount

JavaScript type

Integer

C type

R3INT

Description

number of phases in array defined by R3RMPLEVA_Phases

Syntax


jsobj.SetPhaseCount(value);


R3INT value = ...;
R3SetAttrs(r3obj, R3RMPLEVA_PhaseCount, value, R3TAG_END);

Phases

Attribute

Phases

Identifier

R3RMPLEVA_Phases

JavaScript type

Integer

C type

R3INT*

Description

array of R3RMPLEVA_PhaseCount phase clids

Syntax


jsobj.SetPhases(value);


R3INT* value = ...;
R3SetAttrs(r3obj, R3RMPLEVA_Phases, value, R3TAG_END);

InParamCount

Attribute

InParamCount

Identifier

R3RMPLEVA_InParamCount

JavaScript type

Integer

C type

R3INT

Description

nunber of declared input params. May be different from R3RMPA_InputCnt, which is the number of 'fixed' input params. For example procedure type objects can be called with different input params

Syntax


jsobj.SetInParamCount(value);
value = jsobj.GetInParamCount();


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

EvaluateSuper

Attribute

EvaluateSuper

Identifier

R3RMPLEVA_EvaluateSuper

JavaScript type

Integer

C type

R3INT

Description

R3BOOL. Set this to true in R3RM_GET method if your object needs the EVALBYPARAM execution by the super class R3CLID_RMATPROP (i.e. is not just a level but computes something)

Syntax


value = jsobj.GetEvaluateSuper();


R3INT value;
R3GetAttrs(r3obj, R3RMPLEVA_EvaluateSuper, &value, R3TAG_END);

PublicAttrCnt

Attribute

PublicAttrCnt

Identifier

R3RMPLEVA_PublicAttrCnt

JavaScript type

Integer

C type

R3INT

Description

number of public attrs of this class

Syntax


value = jsobj.GetPublicAttrCnt();


R3INT value;
R3GetAttrs(r3obj, R3RMPLEVA_PublicAttrCnt, &value, R3TAG_END);

PublicAttrSubCount

Attribute

PublicAttrSubCount

Identifier

R3RMPLEVA_PublicAttrSubCount

JavaScript type

Integer

C type

R3INT*

Description

array[R3RMPLEVA_PublicAttrCnt] of sub channel counts

Syntax


value = jsobj.GetPublicAttrSubCount();


R3INT* value;
R3GetAttrs(r3obj, R3RMPLEVA_PublicAttrSubCounts, &value, R3TAG_END);

PublicAttrValues

Attribute

PublicAttrValues

Identifier

R3RMPLEVA_PublicAttrValues

JavaScript type

Number

C type

R3FLOAT*

Description

array of PublicAttr values (vectors take 3 float slots)

Syntax


value = jsobj.GetPublicAttrValues();


R3FLOAT* value;
R3GetAttrs(r3obj, R3RMPLEVA_PublicAttrValues, &value, R3TAG_END);

LocalVarValues

Attribute

LocalVarValues

Identifier

R3RMPLEVA_LocalVarValues

JavaScript type

r3List

C type

R3LIST*

Description

array of initialization values (LocalCnt vectors)

Syntax


value = jsobj.GetLocalVarValues();


R3LIST* value;
R3GetAttrs(r3obj, R3RMPLEVA_LocalVarValues, &value, R3TAG_END);

Sub

Attribute

Sub

Identifier

R3RMPLEVA_Sub

JavaScript type

r3List

C type

R3LIST*

Description

read-only list of child objects, see child node def below

Syntax


value = jsobj.GetSub();


R3LIST* value;
R3GetAttrs(r3obj, R3RMPLEVA_Sub, &value, R3TAG_END);

the rest is private

<sect6> <title>r3rmpcel</title>

r3rmpcel

Class

real/raytr/r3rmpcel.h

Library

r3raytr

Description:

Cell noise material property in rendering.

See Also

real/raytr/r3rmplev.h

Super Class

r3Rmplevel

R3CLID_RMPLEVEL

JavaScript

r3Rmpcellnoise

Class Identifier

R3CLID_RMPCELLNOISE - 1517

Attributes

1D, Additive, Degree, AmplitudeVariation, SupportVariation, Support, PositionVariation, Shape, SymmetryVariation, Density, Centered,

Registration

int R3RegisterRMatPropCellNoiseClass(R3APP *app);

1D

Attribute

1D

Identifier

R3RMPCNA_1D

JavaScript type

Boolean

C type

R3BOOL

Description

1d noise if TRUE

Syntax


jsobj.Set1D(value);


R3BOOL value = ...;
R3SetAttrs(r3obj, R3RMPCNA_1D, value, R3TAG_END);

Additive

Attribute

Additive

Identifier

R3RMPCNA_Additive

JavaScript type

Boolean

C type

R3BOOL

Description

additive cell interaction (iotherwise max oper)

Syntax


jsobj.SetAdditive(value);


R3BOOL value = ...;
R3SetAttrs(r3obj, R3RMPCNA_Additive, value, R3TAG_END);

Degree

Attribute

Degree

Identifier

R3RMPCNA_Degree

JavaScript type

Integer

C type

R3INT

Description

polynomial degree of function 0..3

Syntax


jsobj.SetDegree(value);


R3INT value = ...;
R3SetAttrs(r3obj, R3RMPCNA_Degree, value, R3TAG_END);

AmplitudeVariation

Attribute

AmplitudeVariation

Identifier

R3RMPCNA_AmplitudeVariation

JavaScript type

Number

C type

R3FLOAT

Description

0..1

Syntax


jsobj.SetAmplitudeVariation(value);


R3FLOAT value = ...;
R3SetAttrs(r3obj, R3RMPCNA_AmplitudeVariation, value, R3TAG_END);

SupportVariation

Attribute

SupportVariation

Identifier

R3RMPCNA_SupportVariation

JavaScript type

Number

C type

R3FLOAT

Description

0..1

Syntax


jsobj.SetSupportVariation(value);


R3FLOAT value = ...;
R3SetAttrs(r3obj, R3RMPCNA_SupportVariation, value, R3TAG_END);

Support

Attribute

Support

Identifier

R3RMPCNA_Support

JavaScript type

Number

C type

R3FLOAT

Description

>0

Syntax


jsobj.SetSupport(value);


R3FLOAT value = ...;
R3SetAttrs(r3obj, R3RMPCNA_Support, value, R3TAG_END);

PositionVariation

Attribute

PositionVariation

Identifier

R3RMPCNA_PositionVariation

JavaScript type

Number

C type

R3FLOAT

Description

0..1

Syntax


jsobj.SetPositionVariation(value);


R3FLOAT value = ...;
R3SetAttrs(r3obj, R3RMPCNA_PositionVariation, value, R3TAG_END);

Shape

Attribute

Shape

Identifier

R3RMPCNA_Shape

JavaScript type

Integer

C type

R3INT

Description

0..1

Syntax


jsobj.SetShape(value);


R3INT value = ...;
R3SetAttrs(r3obj, R3RMPCNA_Shape, value, R3TAG_END);

SymmetryVariation

Attribute

SymmetryVariation

Identifier

R3RMPCNA_SymmetryVariation

Type

r3Vect

Description

0..1

Syntax


jsobj.SetSymmetryVariation(value);


R3VECTOR value = ...;
R3SetAttrs(r3obj, R3RMPCNA_SymmetryVariation, value, R3TAG_END);

Density

Attribute

Density

Identifier

R3RMPCNA_Density

Type

r3Vect

Description

Syntax


jsobj.SetDensity(value);


R3VECTOR value = ...;
R3SetAttrs(r3obj, R3RMPCNA_Density, value, R3TAG_END);

Centered

Attribute

Centered

Identifier

R3RMPCNA_Centered

JavaScript type

Boolean

C type

R3BOOL

Description

Syntax


jsobj.SetCentered(value);


R3BOOL value = ...;
R3SetAttrs(r3obj, R3RMPCNA_Centered, value, R3TAG_END);

</sect6>
<sect6> <title>r3rmpder</title>

r3rmpder

Class

real/raytr/r3rmpder.h

Library

r3raytr

Description:

Derivative level material property. The sub shaders are derived wrt the input parameter.

See Also

real/raytr/r3rmplev.h

Super Class

r3Rmplevel

R3CLID_RMPLEVEL

JavaScript

r3Rmpderive

Class Identifier

R3CLID_RMPDERIVE - 753

Attributes

Registration

int R3RegisterRMatPropDeriveClass(R3APP *app);

parent class is 'level' shader


r3appobj *

</sect6>
<sect6> <title>r3rmpif</title>

r3rmpif

Class

real/raytr/r3rmpif.h

Library

r3raytr

Description:

If/Loop/Level material property. The sub shaders are executed if/while specified tests are true.

See Also

real/raytr/r3rmplev.h

Super Class

r3Rmplevel

R3CLID_RMPLEVEL

JavaScript

r3Rmpif

Class Identifier

R3CLID_RMPIF - 700

Attributes

Condition1, Min1, Max1, ElseCondition,

Registration

int R3RegisterRMatPropIfClass(R3APP *app);

parent class is 'level' shader

Condition1

Attribute

Condition1

Identifier

R3RMPIFA_Condition1

JavaScript type

Integer

C type

R3INT

Description

see enum below

Syntax


jsobj.SetCondition1(value);


R3INT value = ...;
R3SetAttrs(r3obj, R3RMPIFA_Condition1, value, R3TAG_END);

Min1

Attribute

Min1

Identifier

R3RMPIFA_Min1

JavaScript type

Number

C type

R3FLOAT

Description

Syntax


jsobj.SetMin1(value);


R3FLOAT value = ...;
R3SetAttrs(r3obj, R3RMPIFA_Min1, value, R3TAG_END);

Max1

Attribute

Max1

Identifier

R3RMPIFA_Max1

JavaScript type

Number

C type

R3FLOAT

Description

Syntax


jsobj.SetMax1(value);


R3FLOAT value = ...;
R3SetAttrs(r3obj, R3RMPIFA_Max1, value, R3TAG_END);

ElseCondition

Attribute

ElseCondition

Identifier

R3RMPIFA_ElseCondition

JavaScript type

Boolean

C type

R3BOOL*

Description

optional address where negated test result is stored

Syntax


jsobj.SetElseCondition(value);


R3BOOL* value = ...;
R3SetAttrs(r3obj, R3RMPIFA_ElseCondition, value, R3TAG_END);

Condition alternatives:

R3RMPIFSTATE_OFF
R3RMPIFSTATE_TEST
R3RMPIFSTATE_NEGATED
R3RMPIFSTATE_GREATER
R3RMPIFSTATE_LESS

Types:

R3RMPIFTYPE_IF
R3RMPIFTYPE_WHILE

Operation between sub channel tests:

R3RMPIFCOMB_AND
R3RMPIFCOMB_OR


r3appobj *

</sect6>
<sect6> <title>r3rmpnoi</title>

r3rmpnoi

Class

real/raytr/r3rmpnoi.h

Library

r3raytr

Description:

Noise material property in rendering.

See Also

real/raytr/r3rmplev.h

Super Class

r3Rmplevel

R3CLID_RMPLEVEL

JavaScript

r3Rmpnoise

Class Identifier

R3CLID_RMPNOISE - 472

Attributes

1D, Smooth, 4DInput, Density, Centered,

Registration

int R3RegisterRMatPropNoiseClass(R3APP *app);

1D

Attribute

1D

Identifier

R3RMPNOA_1D

JavaScript type

Boolean

C type

R3BOOL

Description

1d noise if TRUE

Syntax


jsobj.Set1D(value);


R3BOOL value = ...;
R3SetAttrs(r3obj, R3RMPNOA_1D, value, R3TAG_END);

Smooth

Attribute

Smooth

Identifier

R3RMPNOA_Smooth

JavaScript type

Boolean

C type

R3BOOL

Description

c2 continuous noise if TRUE

Syntax


jsobj.SetSmooth(value);


R3BOOL value = ...;
R3SetAttrs(r3obj, R3RMPNOA_Smooth, value, R3TAG_END);

4DInput

Attribute

4DInput

Identifier

R3RMPNOA_4DInput

JavaScript type

Boolean

C type

R3BOOL

Description

if TRUE uses two input channels (vector+float)

Syntax


jsobj.Set4DInput(value);


R3BOOL value = ...;
R3SetAttrs(r3obj, R3RMPNOA_4DInput, value, R3TAG_END);

Density

Attribute

Density

Identifier

R3RMPNOA_Density

Type

r3Vect

Description

Syntax


jsobj.SetDensity(value);


R3VECTOR value = ...;
R3SetAttrs(r3obj, R3RMPNOA_Density, value, R3TAG_END);

Centered

Attribute

Centered

Identifier

R3RMPNOA_Centered

JavaScript type

Boolean

C type

R3BOOL

Description

Syntax


jsobj.SetCentered(value);


R3BOOL value = ...;
R3SetAttrs(r3obj, R3RMPNOA_Centered, value, R3TAG_END);

</sect6>
<sect6> <title>r3rmprnd</title>

r3rmprnd

Class

real/raytr/r3rmprnd.h

Library

r3raytr

Description:

Random material property in rendering.

See Also

real/raytr/r3rmplev.h

Super Class

r3Rmplevel

R3CLID_RMPLEVEL

JavaScript

r3Rmprandom

Class Identifier

R3CLID_RMPRANDOM - 474

Attributes

1D, Centered,

Registration

int R3RegisterRMatPropRandomClass(R3APP *app);

1D

Attribute

1D

Identifier

R3RMPRNDA_1D

JavaScript type

Boolean

C type

R3BOOL

Description

1d random signal created if TRUE

Syntax


jsobj.Set1D(value);


R3BOOL value = ...;
R3SetAttrs(r3obj, R3RMPRNDA_1D, value, R3TAG_END);

Centered

Attribute

Centered

Identifier

R3RMPRNDA_Centered

JavaScript type

Boolean

C type

R3BOOL

Description

Syntax


jsobj.SetCentered(value);


R3BOOL value = ...;
R3SetAttrs(r3obj, R3RMPRNDA_Centered, value, R3TAG_END);

</sect6>
<sect6> <title>r3rmpray</title>

r3rmpray

Class

real/raytr/r3rmpray.h

Library

r3raytr

Description:

Ray tracer material property in rendering.

See Also

real/raytr/r3rmplev.h

Super Class

r3Rmplevel

R3CLID_RMPLEVEL

JavaScript

r3Rmpraytracer

Class Identifier

R3CLID_RMPRAYTRACER - 1548

Attributes

Count, NormalSide, WeightByAngle, TraceMode,

Registration

int R3RegisterRMatPropRayTracerClass(R3APP *app);

Count

Attribute

Count

Identifier

R3RMPRAYA_Count

JavaScript type

Integer

C type

R3INT

Description

amount of sampled random rays

Syntax


jsobj.SetCount(value);


R3INT value = ...;
R3SetAttrs(r3obj, R3RMPRAYA_Count, value, R3TAG_END);

NormalSide

Attribute

NormalSide

Identifier

R3RMPRAYA_NormalSide

JavaScript type

Boolean

C type

R3BOOL

Description

if true randomized rays are forced to same side of normal as the ray

Syntax


jsobj.SetNormalSide(value);


R3BOOL value = ...;
R3SetAttrs(r3obj, R3RMPRAYA_NormalSide, value, R3TAG_END);

WeightByAngle

Attribute

WeightByAngle

Identifier

R3RMPRAYA_WeightByAngle

JavaScript type

Boolean

C type

R3BOOL

Description

if true traced ray color is weighted by dot product ray*normal

Syntax


jsobj.SetWeightByAngle(value);


R3BOOL value = ...;
R3SetAttrs(r3obj, R3RMPRAYA_WeightByAngle, value, R3TAG_END);

TraceMode

Attribute

TraceMode

Identifier

R3RMPRAYA_TraceMode

JavaScript type

Integer

C type

R3UBYTE

Description

Syntax


jsobj.SetTraceMode(value);


R3UBYTE value = ...;
R3SetAttrs(r3obj, R3RMPRAYA_TraceMode, value, R3TAG_END);

R3RMPRAY_TRACEALL
R3RMPRAY_TRACEDISTANCE
R3RMPRAY_TRACEOCCLUSION

</sect6>
<sect6> <title>r3rmpspe</title>

r3rmpspe

Class

real/raytr/r3rmpspe.h

Library

r3raytr

Description:

Specular light shader

See Also

real/raytr/r3rmplev.h

Super Class

r3Rmplevel

R3CLID_RMPLEVEL

JavaScript

r3Rmpspecular

Class Identifier

R3CLID_RMPSPECULAR - 789

Attributes

Sharpness, Brightness,

Registration

int R3RegisterRMatPropSpecularClass(R3APP *app);

Sharpness

Attribute

Sharpness

Identifier

R3RMPSPEA_Sharpness

JavaScript type

Number

C type

R3FLOAT

Description

> 0

Syntax


jsobj.SetSharpness(value);


R3FLOAT value = ...;
R3SetAttrs(r3obj, R3RMPSPEA_Sharpness, value, R3TAG_END);

Brightness

Attribute

Brightness

Identifier

R3RMPSPEA_Brightness

JavaScript type

Number

C type

R3FLOAT

Description

Syntax


jsobj.SetBrightness(value);


R3FLOAT value = ...;
R3SetAttrs(r3obj, R3RMPSPEA_Brightness, value, R3TAG_END);

</sect6>
<sect6> <title>r3rmpwav</title>

r3rmpwav

Class

real/raytr/r3rmpwav.h

Library

r3raytr

Description:

Wave material property renderer

See Also

real/raytr/r3rmplev.h

Super Class

r3Rmplevel

R3CLID_RMPLEVEL

JavaScript

r3Rmpwave

Class Identifier

R3CLID_RMPWAVE - 473

Attributes

Amplitude, Base, 1D, Centered,

Registration

int R3RegisterRMatPropWaveClass(R3APP *app);

Amplitude

Attribute

Amplitude

Identifier

R3RMPWAVEA_Amplitude

JavaScript type

Number

C type

R3FLOAT

Description

Syntax


jsobj.SetAmplitude(value);


R3FLOAT value = ...;
R3SetAttrs(r3obj, R3RMPWAVEA_Amplitude, value, R3TAG_END);

Base

Attribute

Base

Identifier

R3RMPWAVEA_Base

JavaScript type

Number

C type

R3FLOAT

Description

Syntax


jsobj.SetBase(value);


R3FLOAT value = ...;
R3SetAttrs(r3obj, R3RMPWAVEA_Base, value, R3TAG_END);

1D

Attribute

1D

Identifier

R3RMPWAVEA_1D

JavaScript type

Boolean

C type

R3BOOL

Description

1d wave if TRUE

Syntax


jsobj.Set1D(value);


R3BOOL value = ...;
R3SetAttrs(r3obj, R3RMPWAVEA_1D, value, R3TAG_END);

Centered

Attribute

Centered

Identifier

R3RMPWAVEA_Centered

JavaScript type

Boolean

C type

R3BOOL

Description

Syntax


jsobj.SetCentered(value);


R3BOOL value = ...;
R3SetAttrs(r3obj, R3RMPWAVEA_Centered, value, R3TAG_END);

</sect6>