r3postpr
real/raytr/r3postpr.h
r3raytr
Post processing image effect base class. Post processors derived from this class manipulate the image without any external geometric information (such a processor may contain geometric data itself, but it does not refer to particles etc. objects in the scene). This class is suitable base class for example for all purely 2d image effects.
r3Frlibobject
R3CLID_FRLIBOBJECT
r3Postprocessor
R3CLID_POSTPROCESSOR - 251
LINK, UPDATE, ENUMNEEDEDCHANNELS, FINDEFFECT, FINDCHILDEFFECT,
XExtend, YExtend, XExtendRel, YExtendRel, ResolX, ResolY, Parent, IsActive,
int R3RegisterPostProcessorClass(R3APP *app);
R3POSTPRM_LINK
LINK
R3POSTPRM_LINK
R3LIST, the list of post particles. Each node is R3REFNODE and its .obj field points to a particle.
R3TAG*, tag array including R3POSTPRA_Time, R3POSTPRA_PeriodicTime, R3POSTPRA_Projection, * R3POSTPRA_FocusingDistance, R3POSTPRA_FStop and R3POSTPRA_DepthOfField
obj.LINK(p1, p3);
informs post effect system that all objects have been defined. Some camera attributes such * as modelview projection and image resolution are still unknown.
R3POSTPRM_UPDATE
UPDATE
R3POSTPRM_UPDATE
R3TAG*, tag array, see attribute list below
obj.UPDATE(p3);
informs post effect system that whole configuration is ready.
R3POSTPRM_ENUMNEEDEDCHANNELS
ENUMNEEDEDCHANNELS
R3POSTPRM_ENUMNEEDEDCHANNELS
R3OBJ*, retobj
R3INT, retmth
obj.ENUMNEEDEDCHANNELS(p1, p3);
enumerate all raysample channels that are needed (to render by raytracer) * by sending R3SendMsgA(retobj, retmth, channelname)
R3POSTPRM_FINDEFFECT
FINDEFFECT
R3POSTPRM_FINDEFFECT
char*, name of the effect
obj.FINDEFFECT(p3);
search for an effect whose name is specified. Search starting from the root effect
R3POSTPRM_FINDCHILDEFFECT
FINDCHILDEFFECT
R3POSTPRM_FINDCHILDEFFECT
obj.FINDCHILDEFFECT();
used internally by R3POSTPRM_FINDEFFECT
In the PROCESS method, the parameters are: p1 = prt to a r3drawp object, p2 = matrix which transforms points to the drawp coord space msg = ptr to a tag array, see attrs below
/XExtend
XExtend
R3POSTPRA_XExtend
Integer
R3INT
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
value = jsobj.GetXExtend();
R3INT value;
R3GetAttrs(r3obj, R3POSTPRA_XExtend, &value, R3TAG_END);
YExtend
YExtend
R3POSTPRA_YExtend
Integer
R3INT
'R3POSTPRA_YExtend' not documented
value = jsobj.GetYExtend();
R3INT value;
R3GetAttrs(r3obj, R3POSTPRA_YExtend, &value, R3TAG_END);
XExtendRel
XExtendRel
R3POSTPRA_XExtendRel
Number
R3FLOAT
proportion extension area width/image width. E.g 0.1 = 10 % of the image
value = jsobj.GetXExtendRel();
R3FLOAT value;
R3GetAttrs(r3obj, R3POSTPRA_XExtendRel, &value, R3TAG_END);
YExtendRel
YExtendRel
R3POSTPRA_YExtendRel
Number
R3FLOAT
'R3POSTPRA_YExtendRel' not documented
value = jsobj.GetYExtendRel();
R3FLOAT value;
R3GetAttrs(r3obj, R3POSTPRA_YExtendRel, &value, R3TAG_END);
ResolX
ResolX
R3POSTPRA_ResolX
Integer
R3INT
width of the image in pixels
jsobj.SetResolX(value);
R3INT value = ...;
R3SetAttrs(r3obj, R3POSTPRA_ResolX, value, R3TAG_END);
ResolY
ResolY
R3POSTPRA_ResolY
Integer
R3INT
height of the image in pixels
jsobj.SetResolY(value);
R3INT value = ...;
R3SetAttrs(r3obj, R3POSTPRA_ResolY, value, R3TAG_END);
Parent
Parent
R3POSTPRA_Parent
Object
R3OBJ*
parent effect
jsobj.SetParent(value);
value = jsobj.GetParent();
R3OBJ* value = ...;
R3SetAttrs(r3obj, R3POSTPRA_Parent, value, R3TAG_END);
R3OBJ* value;
R3GetAttrs(r3obj, R3POSTPRA_Parent, &value, R3TAG_END);
IsActive
IsActive
R3POSTPRA_IsActive
Integer
R3INT
TRUE if the effect can be rendered and will have an effect
value = jsobj.GetIsActive();
R3INT value;
R3GetAttrs(r3obj, R3POSTPRA_IsActive, &value, R3TAG_END);