ivideo/graph3d.h File Reference
3D graphics interface More...
#include "csutil/refarr.h"
#include "csutil/scf.h"
#include "csgeom/plane3.h"
#include "csgeom/vector2.h"
#include "csgeom/transfrm.h"
#include "csgeom/tri.h"
#include "csutil/cscolor.h"
#include "ivideo/rndbuf.h"
#include "ivideo/polyrender.h"
Go to the source code of this file.
Compounds | |
| struct | csAlphaMode |
| Describes how to deal with alpha values in textures. More... | |
| struct | csFog |
| Fog structure. More... | |
| class | G3DCam2TextureTransform |
| Information about a texture plane. More... | |
| class | G3DFogInfo |
| Extra information for vertex fogging. More... | |
| struct | G3DPolygonDFP |
| Structure containing all info needed by DrawFogPolygon (DFP). More... | |
| struct | G3DPolygonDP |
| Structure containing all info needed by DrawPolygon (DP). More... | |
| struct | G3DPolygonDPFX |
| Structure containing all info needed by DrawPolygonFX (DPFX). More... | |
| struct | G3DPolygonMesh |
| Structure containing all info needed by DrawPolygonMesh. More... | |
| struct | G3DTriangleMesh |
| Structure containing all info needed by DrawTriangeMesh. More... | |
| struct | iGraphics3D |
| This is the standard 3D graphics interface. More... | |
| struct | csGraphics3DCaps |
| Information about 3d renderer capabilities. More... | |
| struct | csSimpleRenderMesh |
| A simple render mesh. More... | |
iGraphics3D::BeginDraw() flags | |
| #define | CSDRAW_2DGRAPHICS 0x00000001 |
| We're going to draw 2D graphics. | |
| #define | CSDRAW_3DGRAPHICS 0x00000002 |
| We're going to draw 3D graphics. | |
| #define | CSDRAW_CLEARZBUFFER 0x00000010 |
| Clear Z-buffer ? | |
| #define | CSDRAW_CLEARSCREEN 0x00000020 |
| Clear frame buffer ? | |
Type of clipper (for iGraphics3D::SetClipper()) | |
| #define | CS_CLIPPER_NONE -1 |
| There is no clipper. | |
| #define | CS_CLIPPER_OPTIONAL 0 |
| Clipper is optional. | |
| #define | CS_CLIPPER_TOPLEVEL 1 |
| Clipper is top-level. | |
| #define | CS_CLIPPER_REQUIRED 2 |
| Clipper is required. | |
Clipping requirement for DrawTriangleMesh | |
| #define | CS_CLIP_NOT 0 |
| No clipping required. | |
| #define | CS_CLIP_NEEDED 1 |
| Clipping may be needed. | |
Mix modes for DrawPolygonFX () | |
| The constants can be ORed together if they belong to different masks. | |
| #define | CS_FX_MASK_MIXMODE 0xF0000000 |
| SRC/DST mixing mode mask. | |
| #define | CS_FX_COPY 0x00000000 |
| =SRC | |
| #define | CS_FX_MULTIPLY 0x10000000 |
| =SRC*DST | |
| #define | CS_FX_MULTIPLY2 0x20000000 |
| =2*SRC*DST | |
| #define | CS_FX_ADD 0x30000000 |
| =SRC+DST | |
| #define | CS_FX_ALPHA 0x40000000 |
| =(1-alpha)*SRC + alpha*DST | |
| #define | CS_FX_TRANSPARENT 0x50000000 |
| =DST | |
| #define | CS_FX_DESTALPHAADD 0x60000000 |
| =(dstalpha)*SRC + DST | |
| #define | CS_FX_SRCALPHAADD 0x70000000 |
| =(srcalpha)*SRC + DST | |
| #define | CS_FX_MESH 0xf0000000 |
| Use the mix mode of the mesh zmode. | |
| #define | CS_FX_KEYCOLOR 0x08000000 |
| color 0 is transparent | |
| #define | CS_FX_FLAT 0x04000000 |
| Flat shading. | |
| #define | CS_FX_TILING 0x02000000 |
| Tiling. | |
| #define | CS_FX_MASK_ALPHA 0x000000FF |
| alpha = 0..FF (opaque..transparent) | |
| #define | CS_FX_SETALPHA(alpha) (CS_FX_ALPHA | uint (alpha * CS_FX_MASK_ALPHA)) |
| Macro for setting of alpha bits into mixmode (alpha between 0 and 1). | |
| #define | CS_FX_SETALPHA_INT(alpha) (CS_FX_ALPHA | uint (alpha & CS_FX_MASK_ALPHA)) |
| Macro for setting of alpha bits into mixmode (alpha between 0 and 255). | |
Light parameters | |
| #define | CS_LIGHTPARAM_POSITION 0 |
| Position of the light. | |
| #define | CS_LIGHTPARAM_DIFFUSE 1 |
| Diffuse color of the light. | |
| #define | CS_LIGHTPARAM_SPECULAR 2 |
| Specular color of the light. | |
| #define | CS_LIGHTPARAM_ATTENUATION 3 |
| Attenuation of the light. | |
Shadow states | |
| #define | CS_SHADOW_VOLUME_BEGIN 1 |
| Clear stencil. | |
| #define | CS_SHADOW_VOLUME_PASS1 2 |
| Setup for pass 1. | |
| #define | CS_SHADOW_VOLUME_PASS2 3 |
| Setup for pass 2. | |
| #define | CS_SHADOW_VOLUME_FAIL1 4 |
| Setup for carmack's reverse pass 1. | |
| #define | CS_SHADOW_VOLUME_FAIL2 5 |
| Setup for carmack's reverse pass 2. | |
| #define | CS_SHADOW_VOLUME_USE 6 |
| Setup for shadow masking. | |
| #define | CS_SHADOW_VOLUME_FINISH 7 |
| Restore states. | |
Typedefs | |
| typedef G3DPolygonDP | G3DPolygonDPF |
| Structure containing all info needed by DrawPolygonFlat (DPF). | |
Enumerations | |
| enum | csZBufMode { CS_ZBUF_NONE = 0x00000000, CS_ZBUF_FILL = 0x00000001, CS_ZBUF_TEST = 0x00000002, CS_ZBUF_USE = 0x00000003, CS_ZBUF_FILLONLY = 0x00000004, CS_ZBUF_EQUAL = 0x00000005, CS_ZBUF_INVERT = 0x00000006, CS_ZBUF_MESH = 0x00000007, CS_ZBUF_MESH2 = 0x00000008 } |
| Z-buffer modes. More... | |
| enum | csVertexAttrib { CS_VATTRIB_0 = 0, CS_VATTRIB_1 = 1, CS_VATTRIB_2 = 2, CS_VATTRIB_3 = 3, CS_VATTRIB_4 = 4, CS_VATTRIB_5 = 5, CS_VATTRIB_6 = 6, CS_VATTRIB_7 = 7, CS_VATTRIB_8 = 8, CS_VATTRIB_9 = 9, CS_VATTRIB_10 = 10, CS_VATTRIB_11 = 11, CS_VATTRIB_12 = 12, CS_VATTRIB_13 = 13, CS_VATTRIB_14 = 14, CS_VATTRIB_15 = 15, CS_VATTRIB_POSITION = CS_VATTRIB_SPECIFIC_FIRST + 0, CS_VATTRIB_WEIGHT = CS_VATTRIB_SPECIFIC_FIRST + 1, CS_VATTRIB_NORMAL = CS_VATTRIB_SPECIFIC_FIRST + 2, CS_VATTRIB_COLOR = CS_VATTRIB_SPECIFIC_FIRST + 3, CS_VATTRIB_PRIMARY_COLOR = CS_VATTRIB_SPECIFIC_FIRST + 3, CS_VATTRIB_SECONDARY_COLOR = CS_VATTRIB_SPECIFIC_FIRST + 4, CS_VATTRIB_FOGCOORD = CS_VATTRIB_SPECIFIC_FIRST + 5, CS_VATTRIB_TEXCOORD = CS_VATTRIB_SPECIFIC_FIRST + 8, CS_VATTRIB_TEXCOORD0 = CS_VATTRIB_SPECIFIC_FIRST + 8, CS_VATTRIB_TEXCOORD1 = CS_VATTRIB_SPECIFIC_FIRST + 9, CS_VATTRIB_TEXCOORD2 = CS_VATTRIB_SPECIFIC_FIRST + 10, CS_VATTRIB_TEXCOORD3 = CS_VATTRIB_SPECIFIC_FIRST + 11, CS_VATTRIB_TEXCOORD4 = CS_VATTRIB_SPECIFIC_FIRST + 12, CS_VATTRIB_TEXCOORD5 = CS_VATTRIB_SPECIFIC_FIRST + 13, CS_VATTRIB_TEXCOORD6 = CS_VATTRIB_SPECIFIC_FIRST + 14, CS_VATTRIB_TEXCOORD7 = CS_VATTRIB_SPECIFIC_FIRST + 15 } |
| For NR: Vertex attributes. More... | |
| enum | G3D_RENDERSTATEOPTION { G3DRENDERSTATE_ZBUFFERMODE, G3DRENDERSTATE_DITHERENABLE, G3DRENDERSTATE_BILINEARMAPPINGENABLE, G3DRENDERSTATE_TRILINEARMAPPINGENABLE, G3DRENDERSTATE_TRANSPARENCYENABLE, G3DRENDERSTATE_MIPMAPENABLE, G3DRENDERSTATE_TEXTUREMAPPINGENABLE, G3DRENDERSTATE_LIGHTINGENABLE, G3DRENDERSTATE_INTERLACINGENABLE, G3DRENDERSTATE_MMXENABLE, G3DRENDERSTATE_INTERPOLATIONSTEP, G3DRENDERSTATE_MAXPOLYGONSTODRAW, G3DRENDERSTATE_GOURAUDENABLE, G3DRENDERSTATE_EDGES } |
| Graphics3D render state options. More... | |
| enum | csRenderMeshType { CS_MESHTYPE_TRIANGLES, CS_MESHTYPE_QUADS, CS_MESHTYPE_TRIANGLESTRIP, CS_MESHTYPE_TRIANGLEFAN, CS_MESHTYPE_POINTS, CS_MESHTYPE_POINT_SPRITES, CS_MESHTYPE_LINES, CS_MESHTYPE_LINESTRIP, CS_MESHTYPE_POLYGON } |
| Primitive type of a mesh. More... | |
| enum | csSimpleMeshFlags { csSimpleMeshScreenspace = 0x01 } |
| Flags to influence the behaviour of DrawSimpleMesh(). More... | |
Detailed Description
3D graphics interface
Definition in file graph3d.h.
Generated for Crystal Space by doxygen 1.2.18
