GraphicsDefs.h File Reference
#include "../Container/FlagSet.h"
#include "../Container/HashBase.h"
#include "../Math/StringHash.h"
This graph shows which files directly or indirectly include this file:

Classes

struct  Urho3D::VertexElement
 Vertex element description for arbitrary vertex declarations. More...
 

Macros

#define DESKTOP_GRAPHICS
 Graphics capability support level. Web platform (Emscripten) also uses OpenGL ES, but is considered a desktop platform capability-wise.
 

Enumerations

enum  Urho3D::PrimitiveType {
  TRIANGLE_LIST = 0, LINE_LIST, POINT_LIST, TRIANGLE_STRIP,
  LINE_STRIP, TRIANGLE_FAN
}
 Primitive type.
 
enum  Urho3D::GeometryType {
  GEOM_STATIC = 0, GEOM_SKINNED = 1, GEOM_INSTANCED = 2, GEOM_BILLBOARD = 3,
  GEOM_DIRBILLBOARD = 4, GEOM_TRAIL_FACE_CAMERA = 5, GEOM_TRAIL_BONE = 6, MAX_GEOMETRYTYPES = 7,
  GEOM_STATIC_NOINSTANCING = 7
}
 Geometry type for vertex shader geometry variations.
 
enum  Urho3D::BlendMode {
  BLEND_REPLACE = 0, BLEND_ADD, BLEND_MULTIPLY, BLEND_ALPHA,
  BLEND_ADDALPHA, BLEND_PREMULALPHA, BLEND_INVDESTALPHA, BLEND_SUBTRACT,
  BLEND_SUBTRACTALPHA, MAX_BLENDMODES
}
 Blending mode.
 
enum  Urho3D::CompareMode {
  CMP_ALWAYS = 0, CMP_EQUAL, CMP_NOTEQUAL, CMP_LESS,
  CMP_LESSEQUAL, CMP_GREATER, CMP_GREATEREQUAL, MAX_COMPAREMODES
}
 Depth or stencil compare mode.
 
enum  Urho3D::CullMode { CULL_NONE = 0, CULL_CCW, CULL_CW, MAX_CULLMODES }
 Culling mode.
 
enum  Urho3D::FillMode { FILL_SOLID = 0, FILL_WIREFRAME, FILL_POINT }
 Fill mode.
 
enum  Urho3D::StencilOp {
  OP_KEEP = 0, OP_ZERO, OP_REF, OP_INCR,
  OP_DECR
}
 Stencil operation.
 
enum  Urho3D::LockState { LOCK_NONE = 0, LOCK_HARDWARE, LOCK_SHADOW, LOCK_SCRATCH }
 Vertex/index buffer lock state.
 
enum  Urho3D::LegacyVertexElement {
  ELEMENT_POSITION = 0, ELEMENT_NORMAL, ELEMENT_COLOR, ELEMENT_TEXCOORD1,
  ELEMENT_TEXCOORD2, ELEMENT_CUBETEXCOORD1, ELEMENT_CUBETEXCOORD2, ELEMENT_TANGENT,
  ELEMENT_BLENDWEIGHTS, ELEMENT_BLENDINDICES, ELEMENT_INSTANCEMATRIX1, ELEMENT_INSTANCEMATRIX2,
  ELEMENT_INSTANCEMATRIX3, ELEMENT_OBJECTINDEX, MAX_LEGACY_VERTEX_ELEMENTS
}
 Hardcoded legacy vertex elements.
 
enum  Urho3D::VertexElementType {
  TYPE_INT = 0, TYPE_FLOAT, TYPE_VECTOR2, TYPE_VECTOR3,
  TYPE_VECTOR4, TYPE_UBYTE4, TYPE_UBYTE4_NORM, MAX_VERTEX_ELEMENT_TYPES
}
 Arbitrary vertex declaration element datatypes.
 
enum  Urho3D::VertexElementSemantic {
  SEM_POSITION = 0, SEM_NORMAL, SEM_BINORMAL, SEM_TANGENT,
  SEM_TEXCOORD, SEM_COLOR, SEM_BLENDWEIGHTS, SEM_BLENDINDICES,
  SEM_OBJECTINDEX, MAX_VERTEX_ELEMENT_SEMANTICS
}
 Arbitrary vertex declaration element semantics.
 
enum  Urho3D::TextureFilterMode {
  FILTER_NEAREST = 0, FILTER_BILINEAR, FILTER_TRILINEAR, FILTER_ANISOTROPIC,
  FILTER_NEAREST_ANISOTROPIC, FILTER_DEFAULT, MAX_FILTERMODES
}
 Texture filtering mode.
 
enum  Urho3D::TextureAddressMode {
  ADDRESS_WRAP = 0, ADDRESS_MIRROR, ADDRESS_CLAMP, ADDRESS_BORDER,
  MAX_ADDRESSMODES
}
 Texture addressing mode.
 
enum  Urho3D::TextureCoordinate { COORD_U = 0, COORD_V, COORD_W, MAX_COORDS }
 Texture coordinates.
 
enum  Urho3D::TextureUsage { TEXTURE_STATIC = 0, TEXTURE_DYNAMIC, TEXTURE_RENDERTARGET, TEXTURE_DEPTHSTENCIL }
 Texture usage types.
 
enum  Urho3D::CubeMapFace {
  FACE_POSITIVE_X = 0, FACE_NEGATIVE_X, FACE_POSITIVE_Y, FACE_NEGATIVE_Y,
  FACE_POSITIVE_Z, FACE_NEGATIVE_Z, MAX_CUBEMAP_FACES
}
 Cube map faces.
 
enum  Urho3D::CubeMapLayout {
  CML_HORIZONTAL = 0, CML_HORIZONTALNVIDIA, CML_HORIZONTALCROSS, CML_VERTICALCROSS,
  CML_BLENDER
}
 Cubemap single image layout modes.
 
enum  Urho3D::RenderSurfaceUpdateMode { SURFACE_MANUALUPDATE = 0, SURFACE_UPDATEVISIBLE, SURFACE_UPDATEALWAYS }
 Update mode for render surface viewports.
 
enum  Urho3D::ShaderType { VS = 0, PS }
 Shader types.
 
enum  Urho3D::ShaderParameterGroup {
  SP_FRAME = 0, SP_CAMERA, SP_ZONE, SP_LIGHT,
  SP_MATERIAL, SP_OBJECT, SP_CUSTOM, MAX_SHADER_PARAMETER_GROUPS
}
 Shader parameter groups for determining need to update. On APIs that support constant buffers, these correspond to different constant buffers.
 
enum  Urho3D::TextureUnit {
  TU_DIFFUSE = 0, TU_ALBEDOBUFFER = 0, TU_NORMAL = 1, TU_NORMALBUFFER = 1,
  TU_SPECULAR = 2, TU_EMISSIVE = 3, TU_ENVIRONMENT = 4, TU_VOLUMEMAP = 5,
  TU_CUSTOM1 = 6, TU_CUSTOM2 = 7, TU_LIGHTRAMP = 8, TU_LIGHTSHAPE = 9,
  TU_SHADOWMAP = 10, TU_FACESELECT = 11, TU_INDIRECTION = 12, TU_DEPTHBUFFER = 13,
  TU_LIGHTBUFFER = 14, TU_ZONE = 15, MAX_MATERIAL_TEXTURE_UNITS = 8, MAX_TEXTURE_UNITS = 16
}
 Texture units.
 
enum  Urho3D::FaceCameraMode {
  FC_NONE = 0, FC_ROTATE_XYZ, FC_ROTATE_Y, FC_LOOKAT_XYZ,
  FC_LOOKAT_Y, FC_LOOKAT_MIXED, FC_DIRECTION
}
 Billboard camera facing modes.
 
enum  Urho3D::ShadowQuality {
  SHADOWQUALITY_SIMPLE_16BIT = 0, SHADOWQUALITY_SIMPLE_24BIT, SHADOWQUALITY_PCF_16BIT, SHADOWQUALITY_PCF_24BIT,
  SHADOWQUALITY_VSM, SHADOWQUALITY_BLUR_VSM
}
 Shadow type.
 
enum  MaterialQuality : unsigned { QUALITY_LOW = 0, QUALITY_MEDIUM = 1, QUALITY_HIGH = 2, QUALITY_MAX = 15 }
 
enum  ClearTarget : unsigned { CLEAR_COLOR = 0x1, CLEAR_DEPTH = 0x2, CLEAR_STENCIL = 0x4 }
 
enum  VertexMask : unsigned {
  MASK_NONE = 0x0, MASK_POSITION = 0x1, MASK_NORMAL = 0x2, MASK_COLOR = 0x4,
  MASK_TEXCOORD1 = 0x8, MASK_TEXCOORD2 = 0x10, MASK_CUBETEXCOORD1 = 0x20, MASK_CUBETEXCOORD2 = 0x40,
  MASK_TANGENT = 0x80, MASK_BLENDWEIGHTS = 0x100, MASK_BLENDINDICES = 0x200, MASK_INSTANCEMATRIX1 = 0x400,
  MASK_INSTANCEMATRIX2 = 0x800, MASK_INSTANCEMATRIX3 = 0x1000, MASK_OBJECTINDEX = 0x2000
}
 

Functions

 Urho3D::URHO3D_FLAGSET (ClearTarget, ClearTargetFlags)
 
 Urho3D::URHO3D_FLAGSET (VertexMask, VertexMaskFlags)
 

Variables

URHO3D_API const StringHash Urho3D::VSP_AMBIENTSTARTCOLOR
 
URHO3D_API const StringHash Urho3D::VSP_AMBIENTENDCOLOR
 
URHO3D_API const StringHash Urho3D::VSP_BILLBOARDROT
 
URHO3D_API const StringHash Urho3D::VSP_CAMERAPOS
 
URHO3D_API const StringHash Urho3D::VSP_CLIPPLANE
 
URHO3D_API const StringHash Urho3D::VSP_NEARCLIP
 
URHO3D_API const StringHash Urho3D::VSP_FARCLIP
 
URHO3D_API const StringHash Urho3D::VSP_DEPTHMODE
 
URHO3D_API const StringHash Urho3D::VSP_DELTATIME
 
URHO3D_API const StringHash Urho3D::VSP_ELAPSEDTIME
 
URHO3D_API const StringHash Urho3D::VSP_FRUSTUMSIZE
 
URHO3D_API const StringHash Urho3D::VSP_GBUFFEROFFSETS
 
URHO3D_API const StringHash Urho3D::VSP_LIGHTDIR
 
URHO3D_API const StringHash Urho3D::VSP_LIGHTPOS
 
URHO3D_API const StringHash Urho3D::VSP_NORMALOFFSETSCALE
 
URHO3D_API const StringHash Urho3D::VSP_MODEL
 
URHO3D_API const StringHash Urho3D::VSP_VIEW
 
URHO3D_API const StringHash Urho3D::VSP_VIEWINV
 
URHO3D_API const StringHash Urho3D::VSP_VIEWPROJ
 
URHO3D_API const StringHash Urho3D::VSP_UOFFSET
 
URHO3D_API const StringHash Urho3D::VSP_VOFFSET
 
URHO3D_API const StringHash Urho3D::VSP_ZONE
 
URHO3D_API const StringHash Urho3D::VSP_LIGHTMATRICES
 
URHO3D_API const StringHash Urho3D::VSP_SKINMATRICES
 
URHO3D_API const StringHash Urho3D::VSP_VERTEXLIGHTS
 
URHO3D_API const StringHash Urho3D::PSP_AMBIENTCOLOR
 
URHO3D_API const StringHash Urho3D::PSP_CAMERAPOS
 
URHO3D_API const StringHash Urho3D::PSP_DELTATIME
 
URHO3D_API const StringHash Urho3D::PSP_DEPTHRECONSTRUCT
 
URHO3D_API const StringHash Urho3D::PSP_ELAPSEDTIME
 
URHO3D_API const StringHash Urho3D::PSP_FOGCOLOR
 
URHO3D_API const StringHash Urho3D::PSP_FOGPARAMS
 
URHO3D_API const StringHash Urho3D::PSP_GBUFFERINVSIZE
 
URHO3D_API const StringHash Urho3D::PSP_LIGHTCOLOR
 
URHO3D_API const StringHash Urho3D::PSP_LIGHTDIR
 
URHO3D_API const StringHash Urho3D::PSP_LIGHTPOS
 
URHO3D_API const StringHash Urho3D::PSP_NORMALOFFSETSCALE
 
URHO3D_API const StringHash Urho3D::PSP_MATDIFFCOLOR
 
URHO3D_API const StringHash Urho3D::PSP_MATEMISSIVECOLOR
 
URHO3D_API const StringHash Urho3D::PSP_MATENVMAPCOLOR
 
URHO3D_API const StringHash Urho3D::PSP_MATSPECCOLOR
 
URHO3D_API const StringHash Urho3D::PSP_NEARCLIP
 
URHO3D_API const StringHash Urho3D::PSP_FARCLIP
 
URHO3D_API const StringHash Urho3D::PSP_SHADOWCUBEADJUST
 
URHO3D_API const StringHash Urho3D::PSP_SHADOWDEPTHFADE
 
URHO3D_API const StringHash Urho3D::PSP_SHADOWINTENSITY
 
URHO3D_API const StringHash Urho3D::PSP_SHADOWMAPINVSIZE
 
URHO3D_API const StringHash Urho3D::PSP_SHADOWSPLITS
 
URHO3D_API const StringHash Urho3D::PSP_LIGHTMATRICES
 
URHO3D_API const StringHash Urho3D::PSP_VSMSHADOWPARAMS
 
URHO3D_API const StringHash Urho3D::PSP_ROUGHNESS
 
URHO3D_API const StringHash Urho3D::PSP_METALLIC
 
URHO3D_API const StringHash Urho3D::PSP_LIGHTRAD
 
URHO3D_API const StringHash Urho3D::PSP_LIGHTLENGTH
 
URHO3D_API const StringHash Urho3D::PSP_ZONEMIN
 
URHO3D_API const StringHash Urho3D::PSP_ZONEMAX
 
URHO3D_API const Vector3 Urho3D::DOT_SCALE
 
static const int Urho3D::MAX_RENDERTARGETS = 4
 
static const int Urho3D::MAX_VERTEX_STREAMS = 4
 
static const int Urho3D::MAX_CONSTANT_REGISTERS = 256
 
static const int Urho3D::BITS_PER_COMPONENT = 8