Public Methods |
virtual bool | Open ()=0 |
| Open the 3D graphics display.
|
virtual void | Close ()=0 |
| Close the 3D graphics display.
|
virtual iGraphics2D* | GetDriver2D ()=0 |
| Get the 2D driver: This does NOT increment the refcount of 2D driver!
|
virtual void | SetDimensions (int width, int height)=0 |
| Change the dimensions of the display.
|
virtual int | GetWidth ()=0 |
| Get drawing buffer width.
|
virtual int | GetHeight ()=0 |
| Get drawing buffer height.
|
virtual csGraphics3DCaps* | GetCaps ()=0 |
| Get the current driver's capabilities. More...
|
virtual void | SetPerspectiveCenter (int x, int y)=0 |
| Set center of projection for perspective projection. More...
|
virtual void | GetPerspectiveCenter (int &x, int &y)=0 |
| Get perspective center.
|
virtual void | SetPerspectiveAspect (float aspect)=0 |
| Set aspect ratio for perspective projection.
|
virtual float | GetPerspectiveAspect ()=0 |
| Get aspect ratio.
|
virtual void | SetObjectToCamera (csReversibleTransform *o2c)=0 |
| Set world to camera transformation (currently only used by DrawTriangleMesh and DrawPolygonMesh).
|
virtual const csReversibleTransform& | GetObjectToCamera ()=0 |
| Get world to camera transformation.
|
virtual void | SetClipper (iClipper2D *clipper, int cliptype)=0 |
| Set optional clipper to use. More...
|
virtual iClipper2D* | GetClipper ()=0 |
| Get clipper that was used.
|
virtual int | GetClipType ()=0 |
| Return type of clipper.
|
virtual void | SetNearPlane (const csPlane3 &pl)=0 |
| Set near clip plane. More...
|
virtual void | ResetNearPlane ()=0 |
| Reset near clip plane (i.e. More...
|
virtual const csPlane3& | GetNearPlane ()=0 |
| Get near clip plane.
|
virtual bool | HasNearPlane ()=0 |
| Return true if we have a near plane.
|
virtual uint32* | GetZBuffAt (int x, int y)=0 |
| Debugging only: get a pointer to Z-buffer at some location.
|
virtual float | GetZBuffValue (int x, int y)=0 |
| Get Z-buffer value at given X,Y position.
|
virtual bool | BeginDraw (int DrawFlags)=0 |
| Start a new frame (see CSDRAW_XXX bit flags).
|
virtual void | FinishDraw ()=0 |
| End the frame and do a page swap.
|
virtual void | Print (csRect *area)=0 |
| Print the image in backbuffer. More...
|
virtual bool | SetRenderState (G3D_RENDERSTATEOPTION op, long val)=0 |
| Set a renderstate value.
|
virtual long | GetRenderState (G3D_RENDERSTATEOPTION op)=0 |
| Get a renderstate value.
|
virtual void | DrawPolygon (G3DPolygonDP &poly)=0 |
| Draw the projected polygon with light and texture.
|
virtual void | DrawPolygonDebug (G3DPolygonDP &poly)=0 |
| Draw the projected polygon with light and texture. More...
|
virtual void | DrawPolygonFX (G3DPolygonDPFX &poly)=0 |
| Draw a polygon with special effects. More...
|
virtual void | DrawTriangleMesh (G3DTriangleMesh &mesh)=0 |
| Draw a triangle mesh using features similar to DrawPolygonFX.
|
virtual void | DrawPolygonMesh (G3DPolygonMesh &mesh)=0 |
| Draw a triangle mesh using features similar to DrawPolygon.
|
virtual void | OpenFogObject (CS_ID id, csFog *fog)=0 |
| Initiate a volumetric fog object. More...
|
virtual void | DrawFogPolygon (CS_ID id, G3DPolygonDFP &poly, int fogtype)=0 |
| Add a front or back-facing fog polygon in the current fog object. More...
|
virtual void | CloseFogObject (CS_ID id)=0 |
| Close a volumetric fog object. More...
|
virtual void | DrawLine (const csVector3 &v1, const csVector3 &v2, float fov, int color)=0 |
| Draw a line in camera space.
|
virtual iHalo* | CreateHalo (float iR, float iG, float iB, unsigned char *iAlpha, int iWidth, int iHeight)=0 |
| Create a halo of the specified color and return a handle.
|
virtual void | DrawPixmap (iTextureHandle *hTex, int sx, int sy, int sw, int sh, int tx, int ty, int tw, int th, uint8 Alpha=0)=0 |
| Draw a pixmap using a rectangle from given texture. More...
|
virtual iTextureManager* | GetTextureManager ()=0 |
| Get the texture manager: do NOT increment the refcount of texture manager.
|
virtual void | DumpCache ()=0 |
| Dump the texture cache.
|
virtual void | ClearCache ()=0 |
| Clear the texture cache.
|
virtual void | RemoveFromCache (iPolygonTexture *poly_texture)=0 |
| Remove some polygon from the cache. More...
|
virtual iVertexBufferManager* | GetVertexBufferManager ()=0 |
| Get the vertex buffer manager. More...
|
virtual bool | IsLightmapOK (iPolygonTexture *poly_texture)=0 |
| Check if renderer can handle a lightmap. More...
|
All 3D graphics rasterizer servers for Crystal Space should implement this interface, as well as the iGraphics2D interface. The standard implementation is csGraphics3DSoftware.