r3popaef

r3popaef

Class

real/raytr/r3popaef.h

Library

r3raytr

Description:

Post processing particle effect base class. Post processors derived from this class use particle objects in world geometry to define geometric information. The same effect can be associated with hundreds of particles and consiquently may be rendered many thousands of times into the same image. This situation requires 3 phase rendering: 1. Define ModelView attributes (R3PPEM_BEGIN) 2. Do RenderParticle several times (parent method R3FRMSRCM_EVALUATE) 3. Finish the effect drawing (R3PPEM_END)

See Also

real/raytr/r3mapsrc.h

Super Class

r3Frmapsource

R3CLID_FRMAPSOURCE

JavaScript

r3Postparticleeffect

Class Identifier

R3CLID_POSTPARTICLEEFFECT - 703

Methods

ENUMNEEDEDCHANNELS,

Attributes

XExtend, YExtend, XExtendRel, YExtendRel, Active,

Registration

int R3RegisterPostParticleEffectClass(R3APP *app);

R3PPEM_ENUMNEEDEDCHANNELS

Method

ENUMNEEDEDCHANNELS

Identifier

R3PPEM_ENUMNEEDEDCHANNELS

Param 1:

R3OBJ*, retobj

Param 3:

R3INT, retmth

JavaScript

obj.ENUMNEEDEDCHANNELS(p1, p3);

Description

enumerate all raysample channels that are needed (to render by raytracer)

In the BEGIN method, the parameters are: p1 = prt to a r3drawp object, the target of drawing p2 = matrix which transforms points to the drawp coord space msg = ptr to a tag array, see attrs below

/

XExtend

Attribute

XExtend

Identifier

R3PPEA_XExtend

JavaScript type

Integer

C type

R3INT

Description

number of pixels. Extend values define an additional area around the outputted area, which should be rendered for this effect to work continuously in animations, box rendering etc. Rendering engine clips the additional area automatically before outputting it. Maximum area defined by XExtend and XExtendRel if both are given, will be used

Syntax


value = jsobj.GetXExtend();


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

YExtend

Attribute

YExtend

Identifier

R3PPEA_YExtend

JavaScript type

Integer

C type

R3INT

Description

'R3PPEA_YExtend' not documented

Syntax


value = jsobj.GetYExtend();


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

XExtendRel

Attribute

XExtendRel

Identifier

R3PPEA_XExtendRel

JavaScript type

Number

C type

R3FLOAT

Description

proportion extension area width/image width. E.g 0.1 = 10 % of the image

Syntax


value = jsobj.GetXExtendRel();


R3FLOAT value;
R3GetAttrs(r3obj, R3PPEA_XExtendRel, &value, R3TAG_END);

YExtendRel

Attribute

YExtendRel

Identifier

R3PPEA_YExtendRel

JavaScript type

Number

C type

R3FLOAT

Description

'R3PPEA_YExtendRel' not documented

Syntax


value = jsobj.GetYExtendRel();


R3FLOAT value;
R3GetAttrs(r3obj, R3PPEA_YExtendRel, &value, R3TAG_END);

Active

Attribute

Active

Identifier

R3PPEA_Active

JavaScript type

Boolean

C type

R3BOOL

Description

base class uses this attribute when examining which objects are used

Syntax


jsobj.SetActive(value);
value = jsobj.GetActive();


R3BOOL value = ...;
R3SetAttrs(r3obj, R3PPEA_Active, value, R3TAG_END);
R3BOOL value;
R3GetAttrs(r3obj, R3PPEA_Active, &value, R3TAG_END);

R3PPE_PERSPECTIVE
R3PPE_ORTHOGRAPHIC

Tags

Tags

R3PPEA_ResolX
R3PPEA_ResolY
R3PPEA_Tracer
R3PPEA_TraceMethod