World Sectors contain static geometry - if we use a TV studio metaphor, these represent the scenery and sets. These objects are stored using a BSP-tree structure to speed up the rendering process. The World object passes dynamic scene objects, such as Atomics, Cameras and Lights, to World Sectors for storage. For this reason, World Sectors contain iterators which can be used to access such dynamic objects. World Sector geometry data is not expected to change. This opens up more optimization techniques, such as Potentially Visible Sets (available by attaching the RpPVS plugin). The disadvantage is that the geometry data must remain static.
Further information is available in the World & Static Models chapter of the User Guide.
|
RpWorldSectorCallBack represents the function called from RpWorldForAllWorldSectors, RpAtomicForAllWorldSectors and RpLightForAllWorldSectors for all world sectors in a given world or world sectors a given atomic or light lies in. This function should return a pointer to the current world sector to indicate success. The callback may return NULL to terminate further callbacks on the atomic or light.
|
|
RpWorldSectorCallBackRender represents the function called from RpWorldSectorRender when the specified world sector lies inside the current camera's view frustum. The default callback initiates execution of the world sector rendering pipeline. This function should return a pointer to the world sector to indicate success
|
|
RpWorldSectorForAllAtomics is used to apply the given callback function to all atomics lying in the specified world sector. The format of the callback function is: RpAtomic * (*RpAtomicCallBack)(RpAtomic *atomic, void *data); where data is a user-supplied data pointer to pass to the callback function. If any invocation of the callback function returns a failure status the iteration is terminated. However, RpWorldSectorForAllAtomics will still return successfully. The world plugin must be attached before using this function.
|
|
RpWorldSectorForAllCollisionAtomics is used to apply the given callback function to all atomics lying in the specified world sector which are marked as collision atomics. This applies to atomics which have their rpATOMICCOLLISIONTEST flag set (see RpAtomicFlag), but note that any change in this flag will not be registered until after the next synchronistion phase during an RwCameraBeginUpdate. The use of this function is potentially faster than using RpWorldSectorForAllAtomics and testing the collision flag for each atomic. The format of the callback function is: RpAtomic * (*RpAtomicCallBack)(RpAtomic *atomic, void *data); where data is a user-supplied data pointer to pass to the callback function. If any invocation of the callback function returns a failure status the iteration is terminated. However, RpWorldSectorForAllCollisionAtomics will still return successfully. The world plugin must be attached before using this function.
|
|
RpWorldSectorForAllLights is used to apply the given callback function to all lights lying in the specified world sector. The format of the callback function is: RpLight * (*RpLightCallBack)(RpLight *light, void *data); where data is a user-supplied data pointer to pass to the callback function. If any invocation of the callback function returns a failure status the iteration is terminated. However, RpWorldSectorForAllLights will still return successfully. The world plugin must be attached before using this function.
|
|
RpWorldSectorForAllMeshes is used to apply the given callback function to all meshes in the given world sector. The format of the callback function is: RpMesh *(*RpMeshCallBack)(RpMesh *mesh, RpMeshHeader *meshHeader, void *data); where data is a user-supplied data pointer to pass to the callback function. If any invocation of the callback function returns a failure status the iteration is terminated. However, RpWorldSectorForAllMeshes will still return successfully. The world plugin must be attached before using this function.
|
|
RpWorldSectorGetBBox is used to retrieve the specified world sector's bounding box. This corresponds to the maximum extent of the world sector based on the planes of the BSP tree. The function RpWorldSectorGetTightBBox may be used instead to obtain a bounding box that tightly encloses the geometry in the sector. Note that this function is used for debug purposes only and, for efficiency, is available as a macro for final release versions of an application. The world plugin must be attached before using this function.
|
|
RpWorldSectorGetNumPolygons is used to retrieve the number of triangles that reside within the specified world sector. Only triangles associated with static geometry are counted. The world plugin must be attached before using this function.
|
|
RpWorldSectorGetNumVertices is used to retrieve the number of vertices that reside within the specified atomic sector. Only vertices associated with static geometry are counted. The world plugin must be attached before using this function.
|
|
RpWorldSectorGetPipeline returns the object pipeline for the specified world sector. The pipeline is executed from the default render callback and indirectly from RpWorldSectorRender and RpWorldRender) when a world sector enters the current camera's view frustum. The world sector will use this pipeline, unless it is set to NULL, in which case the current world's pipeline will be used. If the world's pipeline is set to NULL then the global default world sector pipeline will be used. Note that this function is used for debug purposes only and, for efficiency, is available as a macro for final release versions of an application. The world plugin must be attached before using this function.
|
|
RpWorldSectorGetPluginOffset is used to get the offset of a previously registered world sector plugin. The world plugin must be attached before using this function.
|
|
RpWorldSectorGetTightBBox is used to retrieve the tight bounding box of the specified world sector. This tightly encloses the geometry of the sector. Use RpWorldSectorGetBBox to retrieve the outer bounding box that extends to the BSP planes. For space filling (empty) sectors, both functions return the full extent. Atomics and other objects in the world sector may or may not lie within the tight bounding box. Note that this function is used for debug purposes only and, for efficiency, is available as a macro for final release versions of an application. The world plugin must be attached before using this function.
|
|
RpWorldSectorGetWorld is used to retrieve the specified world sector's parent world. Use this function to determine the world that contains the world sector. The world plugin must be attached before using this function.
|
|
RpWorldSectorRegisterPlugin is used to register a plugin and reserve some space within a world sector. This must happen after the engine has been initialized but before the engine is opened. The world plugin must be attached before using this function.
|
|
RpWorldSectorRegisterPluginStream is used to associate a set of binary stream functionality with a previously registered world sector plugin. The world plugin must be attached before using this function.
|
|
RpWorldSectorRender is used to render all static objects in the specified world sector to the current camera's image raster. Note this function should only be called between RwCameraBeginUpdate and RwCameraEndUpdate to ensure that any rendering that takes place is directed towards an image raster connected to a camera. The world plugin must be attached before using this function.
|
|
RpWorldSectorSetPipeline defines the object pipeline for the specified world sector. The pipeline is executed from the default render callback and indirectly from RpWorldSectorRender and RpWorldRender) when a world sector enters the current camera's view frustum, giving the application the opportunity to alter the way in which static objects in the world sector are rendered. The world sector will use this pipeline, unless it is set to NULL, in which case the current world's pipeline will be used. If the world's pipeline is set to NULL then the global default world sector pipeline will be used. Note that this function is used for debug purposes only and, for efficiency, is available as a macro for final release versions of an application. The world plugin must be attached before using this function.
|
|
RpWorldSectorSetStreamAlwaysCallBack is used to associate a binary stream callback with a previously registered world sector plugin. This callback is called for all plugins after stream data reading has completed. The world plugin must be attached before using this function.
|
|
RpWorldSectorSetStreamRightsCallBack is used to associate a binary stream callback with a previously registered world sector plugin. This callback is called for the plugin with rights after stream data reading has * completed. The world plugin must be attached before using this function.
|
|
RpWorldSectorValidatePlugins is used to validate the plugin memory allocated within the specified world sector. This function is useful for determining where memory trampling may be occuring within an application. This function only returns a meaningful response under a debug library. The world plugin must be attached before using this function.
|
Converted from CHM to HTML with chm2web Pro 2.85 (unicode) |