CrystalSpace

Public API Reference

Main Page   Modules   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Related Pages  

csRenderContext Class Reference
[Views & Cameras]

This structure keeps track of the current render context. More...

#include <rview.h>

List of all members.

Public Attributes

iCameraicamera
 The current camera. More...

iClipper2Diview
 The 2D polygon describing how everything drawn inside should be clipped. More...

csRenderContextFrustumiview_frustum
 The frustum corresponding with iview. More...

iPolygon3Dportal_polygon
 The portal polygon (or 0 if the first sector). More...

iSectorprevious_sector
 The previous sector (or 0 if the first sector). More...

iSectorthis_sector
 This sector. More...

csPlane3 clip_plane
 This variable holds the plane of the portal through which the camera is looking. More...

bool do_clip_plane
 If true then we clip all objects to 'clip_plane'. More...

bool do_clip_frustum
 If true then we have to clip all objects to the portal frustum (either in 2D or 3D). More...

csFogInfofog_info
 Every fogged sector we encountered results in an extra structure in the following list. More...

bool added_fog_info
 If the following variable is true then a fog_info was added in this recursion level. More...

int draw_rec_level
 A number indicating the recursion level we are in. More...


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 115 of file iengine/rview.h.


Member Data Documentation

bool csRenderContext::added_fog_info
 

If the following variable is true then a fog_info was added in this recursion level.

Definition at line 178 of file iengine/rview.h.

Referenced by csRenderView::AddedFogInfo, csRenderView::ResetFogInfo, and csRenderView::SetFirstFogInfo.

csPlane3 csRenderContext::clip_plane
 

This variable holds the plane of the portal through which the camera is looking.

Definition at line 144 of file iengine/rview.h.

Referenced by csRenderView::GetClipPlane, and csRenderView::SetClipPlane.

bool csRenderContext::do_clip_frustum
 

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.

Definition at line 166 of file iengine/rview.h.

Referenced by csRenderView::IsClipperRequired, and csRenderView::UseClipFrustum.

bool csRenderContext::do_clip_plane
 

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.

Definition at line 156 of file iengine/rview.h.

Referenced by csRenderView::GetClipPlane, and csRenderView::UseClipPlane.

int csRenderContext::draw_rec_level
 

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.

Definition at line 185 of file iengine/rview.h.

Referenced by csRenderView::GetRenderRecursionLevel, and csRenderView::SetRenderRecursionLevel.

csFogInfo* csRenderContext::fog_info
 

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.

Definition at line 172 of file iengine/rview.h.

Referenced by csRenderView::GetFirstFogInfo, and csRenderView::SetFirstFogInfo.

iCamera* csRenderContext::icamera
 

The current camera.

Definition at line 127 of file iengine/rview.h.

Referenced by csRenderView::GetCamera.

iClipper2D* csRenderContext::iview
 

The 2D polygon describing how everything drawn inside should be clipped.

Definition at line 129 of file iengine/rview.h.

Referenced by csRenderView::GetClipper.

csRenderContextFrustum* csRenderContext::iview_frustum
 

The frustum corresponding with iview.

Definition at line 131 of file iengine/rview.h.

iPolygon3D* csRenderContext::portal_polygon
 

The portal polygon (or 0 if the first sector).

Definition at line 134 of file iengine/rview.h.

Referenced by csRenderView::GetPortalPolygon, and csRenderView::SetPortalPolygon.

iSector* csRenderContext::previous_sector
 

The previous sector (or 0 if the first sector).

Definition at line 136 of file iengine/rview.h.

Referenced by csRenderView::GetPreviousSector, and csRenderView::SetPreviousSector.

iSector* csRenderContext::this_sector
 

This sector.

Definition at line 138 of file iengine/rview.h.

Referenced by csRenderView::GetThisSector, and csRenderView::SetThisSector.


The documentation for this class was generated from the following file:
Generated for Crystal Space by doxygen 1.2.14