r3postef
real/code/r3postef.h
r3code
Base class for post processing effects
r3Ttag
R3CLID_TTAG
r3Posteffectmodel
R3CLID_POSTEFFECTMODEL - 1211
RENDER, RENDERBEGIN, RENDEREND, ENUMCHANNELS, RENAMECHANNELREF,
R3PEFMM_RENDER
RENDER
R3PEFMM_RENDER
R3OBJ*, rendering engine
obj.RENDER(p3);
Object describes its structure to the rendering engine. This base class does this in 2 phases by sending R3PEFMM_RENDERBEGIN and R3PEFMM_RENDEREND methods to itself, see the methods below.
R3PEFMM_RENDERBEGIN
RENDERBEGIN
R3PEFMM_RENDERBEGIN
R3OBJ*, rendering engine
obj.RENDERBEGIN(p1, 0);
1st phase of rendering description. A sub class should make the following actions: - Define the clid of the object which will be created by the rendering engine to render this effect. The clid is defined by the parameter p2. If it is not 0, then a sub class has already set it and the value must be inherited further as is. - Add the own attributes in the tag list given in 'p3'. - Inherit the method to its super class with the abovementioned parameter changes When this base class receives the RENDERBEGIN method, it sends R3FRM_BEGINLIBOBJECT to the rendering engine.
R3PEFMM_RENDEREND
RENDEREND
R3PEFMM_RENDEREND
R3OBJ*, rendering engine
obj.RENDEREND(p3);
2nd phase of rendering description. Sub classes usually simply inherit this to the super class. This base class sends R3FRM_ENDLIBOBJECT to the rendering engine when it receives this method. This finishes the rendering actions.
R3PEFMM_ENUMCHANNELS
ENUMCHANNELS
R3PEFMM_ENUMCHANNELS
R3OBJ*, callback object
R3INT, callback method
void*, callback context
obj.ENUMCHANNELS(p1, p2, p3);
enumerate all (static and dynamic) channel requirements R3DoA3(cbobj, cbmth, channelname, typeid (0 if unknown), context);
R3PEFMM_RENAMECHANNELREF
RENAMECHANNELREF
R3PEFMM_RENAMECHANNELREF
char*, old name
char*, new name
obj.RENAMECHANNELREF(p1, p3);
rename possible references to a given channel
RenderBaseClass
RenderBaseClass
R3PEFMA_RenderBaseClass
Integer
int
class id of rendering base class or NULL
jsobj.SetRenderBaseClass(value);
value = jsobj.GetRenderBaseClass();
int value = ...;
R3SetAttrs(r3obj, R3PEFMA_RenderBaseClass, value, R3TAG_END);
int value;
R3GetAttrs(r3obj, R3PEFMA_RenderBaseClass, &value, R3TAG_END);