csRenderContext Class Reference
[Views & Cameras]
This structure keeps track of the current render context.
More...
#include <iengine/rview.h>
Public Attributes | |
bool | added_fog_info |
If the following variable is true then a fog_info was added in this recursion level. | |
csPlane3 | clip_plane |
This variable holds the plane of the portal through which the camera is looking. | |
csPlane3 | clip_planes [7] |
A set of clip planes for this context in world space. | |
uint32 | clip_planes_mask |
A frustum masks which indicates which planes of clip_planes are used. | |
uint32 | context_id |
This unique id can be used to check if you are still in the same render context. | |
bool | do_clip_frustum |
If true then we have to clip all objects to the portal frustum (either in 2D or 3D). | |
bool | do_clip_plane |
If true then we clip all objects to 'clip_plane'. | |
int | draw_rec_level |
A number indicating the recursion level we are in. | |
csFogInfo * | fog_info |
Every fogged sector we encountered results in an extra structure in the following list. | |
csPlane3 | frustum [5] |
csRef< iCamera > | icamera |
The current camera. | |
csRef< iClipper2D > | iview |
The 2D polygon describing how everything drawn inside should be clipped. | |
iPortal * | last_portal |
The last portal we traversed through (or 0 if first sector). | |
csRenderContext * | previous |
A pointer back to the previous render context. | |
iSector * | previous_sector |
The previous sector (or 0 if the first sector). | |
iSector * | this_sector |
This sector. | |
Friends | |
class | csRenderView |
Detailed Description
This structure keeps track of the current render context.It is used by iRenderView. When recursing through a portal a new render context will be created and set in place of the old one.
Definition at line 89 of file rview.h.
Member Data Documentation
If true then we have to clip all objects to the portal frustum (either in 2D or 3D).
Normally this is not needed but some portals require this. If do_clip_plane is true then the value of this field is also implied to be true. The top-level portal should set do_clip_frustum to true in order for all geometry to be correctly clipped to screen boundaries.
If true then we clip all objects to 'clip_plane'.
In principle one should always clip to 'clip_plane'. However, in many cases this is not required because portals mostly arrive in at the boundaries of a sector so there can actually be no objects after the portal plane. But it is possible that portals arive somewhere in the middle of a sector (for example with BSP sectors or with Things containing portals). In that case this variable will be set to true and clipping to 'clip_plane' is required.
The documentation for this class was generated from the following file:
- iengine/rview.h
Generated for Crystal Space by doxygen 1.4.7