r3freng
real/raytr/r3freng.h
r3raytr
Fully 64 bit Floating point based rendering engine. FRENGINE is a configurable multi phase rendering environment. It uses two built-in phases, ray tracing and post processing, and arbitrary additional rendering phases. Ray tracing is handled by R3CLID_RAYTRACER class by default and post processing by R3CLID_POSTPROCESSING. A new rendering phase can be added by R3SendClassMsgA2(R3CLID_FRENGINE, R3FRCM_REGISTERRENDERSYSTEM, R3FLOAT priority, renderobjclid) Here priority is a pointer to a floating point number describing the execution order - the greater the number, the later the rendering phase will be executed. Ray tracing has priority 0.0 and post processing 10.0. Renderobjclid parameter is the class id of the object which handles the defined rendering phase. The volume-material data structure defined by BEGINLEVEL-ENDLEVEL etc. calls is shared by all rendering systems. It contains mapping objects (e.g. parallel mapping ) which are references to objects in a material library or other such library. This kind of libraries can be added to the system by R3SendClassMsgA2(R3CLID_FRENGINE, R3FRCM_REGISTERLIBRARY, clid). Here clid is the base class for objects which can be included in the library (for example R3CLID_FRMAT in case of standard material, which is added by the FRENGINE itself by default). Mapping objects define the base class of the library objects they should be linked to in their R3FRMA_SrcBaseClass attribute. For usage of other parts of the interface see r3frbase.h
r3Root
R3CLID_ROOT
r3Frengine
R3CLID_FRENGINE - 213
int R3RegisterFREngineClass(R3APP *app);
R3FREM_FINDPARENT
FINDPARENT
R3FREM_FINDPARENT
obj.FINDPARENT();
R3FREM_ADDLINKTARGET
ADDLINKTARGET
R3FREM_ADDLINKTARGET
R3INT, unique id
R3OBJ*, target object
obj.ADDLINKTARGET(p1, p3);
Adds a geometry object for optimized search
R3FREM_FINDLINKTARGET
FINDLINKTARGET
R3FREM_FINDLINKTARGET
R3INT, unique id
obj.FINDLINKTARGET(p3);
Finds a target object from optimized search targets
Registry function