csRenderContext Class Reference
[Views & Cameras]
This structure keeps track of the current render context.
More...
#include <rview.h>
Public Attributes | |
iCamera * | icamera |
The current camera. | |
iClipper2D * | iview |
The 2D polygon describing how everything drawn inside should be clipped. | |
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. | |
iPortal * | last_portal |
The last portal we traversed through (or 0 if first sector). | |
iSector * | previous_sector |
The previous sector (or 0 if the first sector). | |
iSector * | this_sector |
This sector. | |
csPlane3 | clip_plane |
This variable holds the plane of the portal through which the camera is looking. | |
bool | do_clip_plane |
If true then we clip all objects to 'clip_plane'. | |
bool | do_clip_frustum |
If true then we have to clip all objects to the portal frustum (either in 2D or 3D). | |
csFogInfo * | fog_info |
Every fogged sector we encountered results in an extra structure in the following list. | |
bool | added_fog_info |
If the following variable is true then a fog_info was added in this recursion level. | |
int | draw_rec_level |
A number indicating the recursion level we are in. | |
uint32 | context_id |
This unique id can be used to check if you are still in the same render context. |
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 the following variable is true then a fog_info was added in this recursion level.
|
|
This variable holds the plane of the portal through which the camera is looking.
|
|
A set of clip planes for this context in world space.
|
|
A frustum masks which indicates which planes of clip_planes are used.
|
|
This unique id can be used to check if you are still in the same render context. Checking on pointers is not safe since render contexts are reused so a different render context can result in the same pointer. |
|
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. |
|
A number indicating the recursion level we are in. Starts with 0. Whenever the engine goes through a portal this number increases. Returning from a portal decreases the number again. |
|
Every fogged sector we encountered results in an extra structure in the following list. This is only used if we are doing vertex based fog. |
|
The current camera.
|
|
The 2D polygon describing how everything drawn inside should be clipped.
|
|
The last portal we traversed through (or 0 if first sector).
|
|
The previous sector (or 0 if the first sector).
|
|
This sector.
|
The documentation for this class was generated from the following file:
- iengine/rview.h
Generated for Crystal Space by doxygen 1.2.18