Google

Main Page   Class Hierarchy   Compound List   File List   Compound Members  

csGraphicsPipeline Class Reference

Graphics System pipeline class <. More...

#include <csgfxppl.h>

List of all members.

Friends

class  csApp


Detailed Description

Graphics System pipeline class <.

p> This class implements all actual drawing operations (which are then passed to iGraphics2D/iGraphics3D objects). The rectangle which encapsulates all changes made to the screen is tracked. Upon frame completion, this rectangle is kept in a memory buffer and then propagated to all other videopages, thus for optimal performance you should switch to single-buffered mode, if possible.

At the end of each frame, application object calls FinishFrame() method. It will remember the dirty rectangle for current frame and call iGraphics3D::Print() method to update the screen.

Since all drawing is made in real-time, the pipeline should call BeginDraw with appropiate flags when needed. The graphics pipeline tracks whenever the BeginDraw() with appropiate flags has been already called, and doesn't do that again if it was done already. But if you are doing interleaved drawing of 2D/3D primitives BeginDraw/FinishDraw will be often called, thus reducing performance. That's why you should try to group all 3D primitives together (like polygons) and draw all them in one shot.

All methods and variables of this class are private. Only csApp should have access to its internals, all graphics pipeline management is done through main application object.


The documentation for this class was generated from the following file:
Generated for Crystal Space by doxygen 1.2.5 written by Dimitri van Heesch, ©1997-2000