![]() |
Public API Reference |
Compounds | |
struct | iEffectClient |
Effect client. More... | |
struct | iEffectDefinition |
Effect definition. More... | |
struct | iEffectLayer |
A layer in an effect pass. More... | |
struct | iEffectPass |
An effect pass. More... | |
struct | iEffectServer |
Effect server. More... | |
struct | iEffectTechnique |
An effect technique. More... | |
struct | csEffectVector4 |
A simple 4-component vector, used by the effect system. More... | |
struct | iFireTexture |
Interface to the 'fire' procedural texture. 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 | iHalo |
iHalo: used to render halos (aka "light globes"). More... | |
struct | iMaterial |
This class represents a material as seen from the engine view. More... | |
struct | iMaterialHandle |
This class represents a material handle (compiled material) for the 3D rasterizer. More... | |
struct | iPolygonBuffer |
@@OR@@ This interface represents a black-box polygon buffer. More... | |
struct | iProcTexture |
Interface to a texture factory. More... | |
struct | iRenderBuffer |
This is a general buffer to be used by the renderer. More... | |
struct | iRenderBufferSource |
This interface is implemented by meshes, and exposes a call for the renderer to use to fetch vertex data. More... | |
struct | iRendererLightmap |
A lightmap registered with a renderer. More... | |
class | csRenderMesh |
Document me! @. More... | |
struct | iRenderStepFactory |
Interface to a render step factory. More... | |
struct | iRenderStepType |
Render step type. More... | |
struct | iSuperLightmap |
A super light map. More... | |
struct | iTextureFactory |
Interface to a texture factory. More... | |
struct | iTextureHandle |
A texture handle as returned by iTextureManager. More... | |
struct | csTextureLayer |
This structure represents an extra texture layer which is applied on top of the previous one. More... | |
struct | iTextureManager |
This is the standard texture manager interface. More... | |
struct | iTextureType |
Texture type. More... | |
struct | iVertexBuffer |
@@OR@@ This interface represents a black-box vertex buffer. More... | |
struct | iVertexBufferManager |
@@OR@@ This interface represents the vertex buffer manager. More... | |
struct | iVertexBufferManagerClient |
Objects using services provided by the vertexbuffermanager can register with the manager to receive information about it current state, e.g. More... | |
Technique Validation Status | |
#define | CS_TECHNIQUE_PASSED 0 |
Technique is validated. More... | |
#define | CS_TECHNIQUE_FAILED 1 |
Validation failed. More... | |
#define | CS_TECHNIQUE_NOTVALIDATED 2 |
Not yet tested for validity. More... | |
iGraphics3D::BeginDraw() flags | |
#define | CSDRAW_2DGRAPHICS 0x00000001 |
We're going to draw 2D graphics. More... | |
#define | CSDRAW_3DGRAPHICS 0x00000002 |
We're going to draw 3D graphics. More... | |
#define | CSDRAW_CLEARZBUFFER 0x00000010 |
Clear Z-buffer ? More... | |
#define | CSDRAW_CLEARSCREEN 0x00000020 |
Clear frame buffer ? More... | |
Type of clipper (for iGraphics3D::SetClipper()) | |
#define | CS_CLIPPER_NONE -1 |
There is no clipper. More... | |
#define | CS_CLIPPER_OPTIONAL 0 |
Clipper is optional. More... | |
#define | CS_CLIPPER_TOPLEVEL 1 |
Clipper is top-level. More... | |
#define | CS_CLIPPER_REQUIRED 2 |
Clipper is required. More... | |
Clipping requirement for DrawTriangleMesh | |
#define | CS_CLIP_NOT 0 |
No clipping required. More... | |
#define | CS_CLIP_NEEDED 1 |
Clipping may be needed. More... | |
#define | CS_CLIP_TOPLEVEL 2 |
Clipping is not needed for the current clipper but it might be needed for the toplevel clipper. More... | |
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. More... | |
#define | CS_FX_COPY 0x00000000 |
=SRC. More... | |
#define | CS_FX_MULTIPLY 0x10000000 |
=SRC*DST. More... | |
#define | CS_FX_MULTIPLY2 0x20000000 |
=2*SRC*DST. More... | |
#define | CS_FX_ADD 0x30000000 |
=SRC+DST. More... | |
#define | CS_FX_ALPHA 0x40000000 |
=(1-alpha)*SRC + alpha*DST. More... | |
#define | CS_FX_TRANSPARENT 0x50000000 |
=DST. More... | |
#define | CS_FX_DESTALPHAADD 0x60000000 |
=(dstalpha)*SRC + DST. More... | |
#define | CS_FX_SRCALPHAADD 0x70000000 |
=(srcalpha)*SRC + DST. More... | |
#define | CS_FX_KEYCOLOR 0x08000000 |
color 0 is transparent. More... | |
#define | CS_FX_GOURAUD 0x04000000 |
Gouraud shading. More... | |
#define | CS_FX_TILING 0x02000000 |
Tiling. More... | |
#define | CS_FX_MASK_ALPHA 0x000000FF |
alpha = 0..FF (opaque..transparent). More... | |
#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). More... | |
#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). More... | |
Light parameters | |
#define | CS_LIGHTPARAM_POSITION 0 |
Position of the light. More... | |
#define | CS_LIGHTPARAM_DIFFUSE 1 |
Diffuse color of the light. More... | |
#define | CS_LIGHTPARAM_SPECULAR 2 |
Specular color of the light. More... | |
#define | CS_LIGHTPARAM_ATTENUATION 3 |
Attenuation of the light. More... | |
Shadow states | |
#define | CS_SHADOW_VOLUME_BEGIN 1 |
Clear stencil. More... | |
#define | CS_SHADOW_VOLUME_PASS1 2 |
Setup for pass 1. More... | |
#define | CS_SHADOW_VOLUME_PASS2 3 |
Setup for pass 2. More... | |
#define | CS_SHADOW_VOLUME_FAIL1 4 |
Setup for carmack's reverse pass 1. More... | |
#define | CS_SHADOW_VOLUME_FAIL2 5 |
Setup for carmack's reverse pass 2. More... | |
#define | CS_SHADOW_VOLUME_USE 6 |
Setup for shadow masking. More... | |
#define | CS_SHADOW_VOLUME_FINISH 7 |
Restore states. More... | |
Texture registration flags. | |
During texture registration you should tell the manager which way you're going to use the texture: whenever you're going to use it for 2D (DrawPixmap ()), for 3D (DrawPolygon ()), whenever the texture will be dynamically modified. | |
#define | CS_TEXTURE_2D 0x00000001 |
You're going to use the texture for 2D drawing. More... | |
#define | CS_TEXTURE_3D 0x00000002 |
You're going to use the texture for 3D drawing. More... | |
#define | CS_TEXTURE_DITHER 0x00000004 |
Dither texture or not. More... | |
#define | CS_TEXTURE_NOMIPMAPS 0x00000008 |
Create mipmaps for this texture? Sometimes we know in advance that some texture will need just one mipmap (or we just don't care about the mipmapping artifacts because of, say, how texture is looking (smoothed etc)). More... | |
#define | CS_TEXTURE_CLAMP 0x00000010 |
This texture will not be tiled, and color lookups outside the 0..1 range will be clamped to the edge of the texture. More... | |
#define | CS_TEXTURE_NOFILTER 0x00000020 |
This texture will not be filtered, even if texture filtering is available. More... | |
Defines | |
#define | CS_DEFMAT_DIFFUSE 0.7f |
Default material `diffuse' parameter. More... | |
#define | CS_DEFMAT_AMBIENT 0.0f |
Default material `ambient' parameter. More... | |
#define | CS_DEFMAT_REFLECTION 0.0f |
Default material `reflection' parameter. More... | |
#define | CS_MATERIAL_VARNAME_DIFFUSE "mat diffuse" |
Name string for the material "diffuse" shader var. More... | |
#define | CS_MATERIAL_VARNAME_AMBIENT "mat ambient" |
Name string for the material "ambient" shader var. More... | |
#define | CS_MATERIAL_VARNAME_REFLECTION "mat reflection" |
Name string for the material "reflection" shader var. More... | |
#define | CS_MATERIAL_VARNAME_FLATCOLOR "mat flatcolor" |
Name string for the material "flat color" shader var. More... | |
#define | CS_MATERIAL_TEXTURE_DIFFUSE "tex diffuse" |
Name string for the material "diffuse" texture. More... | |
#define | CS_MATERIAL_TEXTURE_LAYER1 "tex layer1" |
Name string for old renderer: layer 1. More... | |
#define | CS_MATERIAL_TEXTURE_LAYER2 "tex layer2" |
Name string for old renderer: layer 2. More... | |
#define | CS_MATERIAL_TEXTURE_LAYER3 "tex layer3" |
Name string for old renderer: layer 3. More... | |
#define | CS_MATERIAL_TEXTURE_LAYER4 "tex layer4" |
Name string for old renderer: layer 4. More... | |
Typedefs | |
typedef G3DPolygonDP | G3DPolygonDPF |
Structure containing all info needed by DrawPolygonFlat (DPF). More... | |
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 } |
Z-buffer modes. More... | |
enum | csVertexAttrib |
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 |
Type of mesh. More... | |
enum | csRenderBufferType |
Where the buffer is placed CS_BUF_INDEX is special and only to be used by indexbuffers. More... | |
enum | csRenderBufferComponentType |
Type of components. More... | |
enum | csRenderBufferLockType |
Type of lock CS_BUF_LOCK_NORMAL: Just get a point to the buffer, nothing special CS_BUF_LOCK_RENDER: Special lock only to be used by renderer. More... |
|
Clipping may be needed. Depending on the type of the clipper (one of the CS_CLIPPER_??? flags) the renderer has to clip or not. (setting for clip_portal, clip_plane, or clip_z_plane). |
|
No clipping required. (setting for clip_portal, clip_plane, or clip_z_plane). |
|
Clipping is not needed for the current clipper but it might be needed for the toplevel clipper. (setting for clip_portal, will never be used for clip_plane or clip_z_plane). |
|
There is no clipper.
|
|
Clipper is optional.
|
|
Clipper is required.
|
|
Clipper is top-level.
|
|
Default material `ambient' parameter.
Definition at line 40 of file ivideo/material.h. |
|
Default material `diffuse' parameter.
Definition at line 38 of file ivideo/material.h. |
|
Default material `reflection' parameter.
Definition at line 42 of file ivideo/material.h. |
|
=SRC+DST.
|
|
=(1-alpha)*SRC + alpha*DST.
|
|
=SRC.
|
|
=(dstalpha)*SRC + DST.
|
|
Gouraud shading.
|
|
color 0 is transparent.
|
|
alpha = 0..FF (opaque..transparent).
|
|
SRC/DST mixing mode mask.
|
|
=SRC*DST.
|
|
=2*SRC*DST.
|
|
Macro for setting of alpha bits into mixmode (alpha between 0 and 1).
|
|
Macro for setting of alpha bits into mixmode (alpha between 0 and 255).
|
|
=(srcalpha)*SRC + DST.
|
|
Tiling.
|
|
=DST.
|
|
Attenuation of the light.
|
|
Diffuse color of the light.
|
|
Position of the light.
|
|
Specular color of the light.
|
|
Name string for the material "diffuse" texture.
Definition at line 53 of file ivideo/material.h. |
|
Name string for old renderer: layer 1.
Definition at line 56 of file ivideo/material.h. |
|
Name string for old renderer: layer 2.
Definition at line 58 of file ivideo/material.h. |
|
Name string for old renderer: layer 3.
Definition at line 60 of file ivideo/material.h. |
|
Name string for old renderer: layer 4.
Definition at line 62 of file ivideo/material.h. |
|
Name string for the material "ambient" shader var.
Definition at line 47 of file ivideo/material.h. |
|
Name string for the material "diffuse" shader var.
Definition at line 45 of file ivideo/material.h. |
|
Name string for the material "flat color" shader var.
Definition at line 51 of file ivideo/material.h. |
|
Name string for the material "reflection" shader var.
Definition at line 49 of file ivideo/material.h. |
|
Clear stencil.
|
|
Setup for carmack's reverse pass 1.
|
|
Setup for carmack's reverse pass 2.
|
|
Restore states.
|
|
Setup for pass 1.
|
|
Setup for pass 2.
|
|
Setup for shadow masking.
|
|
Validation failed.
|
|
Not yet tested for validity.
|
|
Technique is validated.
|
|
You're going to use the texture for 2D drawing.
|
|
You're going to use the texture for 3D drawing.
|
|
This texture will not be tiled, and color lookups outside the 0..1 range will be clamped to the edge of the texture.
|
|
Dither texture or not. Some renderers may use dithering while converting textures to internal format (say from truecolor to 8-bit paletted). For most textures dithering won't give any visual effect, but very seldom there are textures that looks relatively bad after being converted. In this case you can enable this per-texture flag. |
|
This texture will not be filtered, even if texture filtering is available.
|
|
Create mipmaps for this texture? Sometimes we know in advance that some texture will need just one mipmap (or we just don't care about the mipmapping artifacts because of, say, how texture is looking (smoothed etc)). This flag is a hint for texture manager so that it will know this. Note that if texture is not registered for 3D usage (i.e. if CS_TEXTURE_3D is not set) this flag does not matter - 2D textures do not use mipmaps. |
|
We're going to draw 2D graphics.
|
|
We're going to draw 3D graphics.
|
|
Clear frame buffer ?
Definition at line 76 of file graph3d.h. Referenced by csEngine::GetBeginDrawFlags. |
|
Clear Z-buffer ?
Definition at line 74 of file graph3d.h. Referenced by csEngine::GetBeginDrawFlags. |
|
Structure containing all info needed by DrawPolygonFlat (DPF).
|
|
Type of components.
|
|
Type of lock CS_BUF_LOCK_NORMAL: Just get a point to the buffer, nothing special CS_BUF_LOCK_RENDER: Special lock only to be used by renderer.
|
|
Where the buffer is placed CS_BUF_INDEX is special and only to be used by indexbuffers.
|
|
Type of mesh.
Definition at line 43 of file rendermesh.h. |
|
For NR: Vertex attributes. @@ Document me better! |
|
Z-buffer modes.
Definition at line 138 of file graph3d.h. Referenced by csMeshWrapper::GetZBufMode, and csMeshWrapper::SetZBufMode. |
|