Urho3D
Classes | Macros | Enumerations | Functions | Variables
GraphicsDefs.h File Reference
#include "../Container/FlagSet.h"
#include "../Container/HashBase.h"
#include "../Math/StringHash.h"
#include "../Math/Vector3.h"

Classes

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

Enumerations

enum  GAPI { GAPI_NONE = 0 , GAPI_OPENGL , GAPI_D3D11 }
 
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 : u32 { QUALITY_LOW = 0 , QUALITY_MEDIUM = 1 , QUALITY_HIGH = 2 , QUALITY_MAX = 15 }
 
enum  ClearTarget : u32 { CLEAR_COLOR = 0x1 , CLEAR_DEPTH = 0x2 , CLEAR_STENCIL = 0x4 }
 
enum class  Urho3D::VertexElements : u32 {
  None = 0 , Position = 1 << 0 , Normal = 1 << 1 , Color = 1 << 2 ,
  TexCoord1 = 1 << 3 , TexCoord2 = 1 << 4 , CubeTexCoord1 = 1 << 5 , CubeTexCoord2 = 1 << 6 ,
  Tangent = 1 << 7 , BlendWeights = 1 << 8 , BlendIndices = 1 << 9 , InstanceMatrix1 = 1 << 10 ,
  InstanceMatrix2 = 1 << 11 , InstanceMatrix3 = 1 << 12 , ObjectIndex = 1 << 13
}
 Legacy vertex element bitmasks.
 

Functions

 Urho3D::URHO3D_FLAGSET (ClearTarget, ClearTargetFlags)
 
 Urho3D::URHO3D_FLAGS (VertexElements)
 

Variables

const StringHash Urho3D::VSP_AMBIENTENDCOLOR {"AmbientEndColor"}
 
const StringHash Urho3D::VSP_AMBIENTSTARTCOLOR {"AmbientStartColor"}
 
const StringHash Urho3D::VSP_BILLBOARDROT {"BillboardRot"}
 
const StringHash Urho3D::VSP_CLIPPLANE {"ClipPlane"}
 
const StringHash Urho3D::VSP_DEPTHMODE {"DepthMode"}
 
const StringHash Urho3D::VSP_FRUSTUMSIZE {"FrustumSize"}
 
const StringHash Urho3D::VSP_GBUFFEROFFSETS {"GBufferOffsets"}
 
const StringHash Urho3D::VSP_MODEL {"Model"}
 
const StringHash Urho3D::VSP_SKINMATRICES {"SkinMatrices"}
 
const StringHash Urho3D::VSP_UOFFSET {"UOffset"}
 
const StringHash Urho3D::VSP_VERTEXLIGHTS {"VertexLights"}
 
const StringHash Urho3D::VSP_VIEW {"View"}
 
const StringHash Urho3D::VSP_VIEWINV {"ViewInv"}
 
const StringHash Urho3D::VSP_VIEWPROJ {"ViewProj"}
 
const StringHash Urho3D::VSP_VOFFSET {"VOffset"}
 
const StringHash Urho3D::VSP_ZONE {"Zone"}
 
const StringHash Urho3D::PSP_AMBIENTCOLOR {"AmbientColor"}
 
const StringHash Urho3D::PSP_DEPTHRECONSTRUCT {"DepthReconstruct"}
 
const StringHash Urho3D::PSP_FOGCOLOR {"FogColor"}
 
const StringHash Urho3D::PSP_FOGPARAMS {"FogParams"}
 
const StringHash Urho3D::PSP_GBUFFERINVSIZE {"GBufferInvSize"}
 
const StringHash Urho3D::PSP_LIGHTCOLOR {"LightColor"}
 
const StringHash Urho3D::PSP_LIGHTLENGTH {"LightLength"}
 
const StringHash Urho3D::PSP_LIGHTRAD {"LightRad"}
 
const StringHash Urho3D::PSP_MATDIFFCOLOR {"MatDiffColor"}
 
const StringHash Urho3D::PSP_MATEMISSIVECOLOR {"MatEmissiveColor"}
 
const StringHash Urho3D::PSP_MATENVMAPCOLOR {"MatEnvMapColor"}
 
const StringHash Urho3D::PSP_MATSPECCOLOR {"MatSpecColor"}
 
const StringHash Urho3D::PSP_METALLIC {"Metallic"}
 
const StringHash Urho3D::PSP_ROUGHNESS {"Roughness"}
 
const StringHash Urho3D::PSP_SHADOWCUBEADJUST {"ShadowCubeAdjust"}
 
const StringHash Urho3D::PSP_SHADOWDEPTHFADE {"ShadowDepthFade"}
 
const StringHash Urho3D::PSP_SHADOWINTENSITY {"ShadowIntensity"}
 
const StringHash Urho3D::PSP_SHADOWMAPINVSIZE {"ShadowMapInvSize"}
 
const StringHash Urho3D::PSP_SHADOWSPLITS {"ShadowSplits"}
 
const StringHash Urho3D::PSP_VSMSHADOWPARAMS {"VSMShadowParams"}
 
const StringHash Urho3D::PSP_ZONEMAX {"ZoneMax"}
 
const StringHash Urho3D::PSP_ZONEMIN {"ZoneMin"}
 
const StringHash Urho3D::VSP_CAMERAPOS {"CameraPos"}
 
const StringHash Urho3D::PSP_CAMERAPOS {"CameraPosPS"}
 
const StringHash Urho3D::VSP_DELTATIME {"DeltaTime"}
 
const StringHash Urho3D::PSP_DELTATIME {"DeltaTimePS"}
 
const StringHash Urho3D::VSP_ELAPSEDTIME {"ElapsedTime"}
 
const StringHash Urho3D::PSP_ELAPSEDTIME {"ElapsedTimePS"}
 
const StringHash Urho3D::VSP_FARCLIP {"FarClip"}
 
const StringHash Urho3D::PSP_FARCLIP {"FarClipPS"}
 
const StringHash Urho3D::VSP_LIGHTDIR {"LightDir"}
 
const StringHash Urho3D::PSP_LIGHTDIR {"LightDirPS"}
 
const StringHash Urho3D::VSP_LIGHTMATRICES {"LightMatrices"}
 
const StringHash Urho3D::PSP_LIGHTMATRICES {"LightMatricesPS"}
 
const StringHash Urho3D::VSP_LIGHTPOS {"LightPos"}
 
const StringHash Urho3D::PSP_LIGHTPOS {"LightPosPS"}
 
const StringHash Urho3D::VSP_NEARCLIP {"NearClip"}
 
const StringHash Urho3D::PSP_NEARCLIP {"NearClipPS"}
 
const StringHash Urho3D::VSP_NORMALOFFSETSCALE {"NormalOffsetScale"}
 
const StringHash Urho3D::PSP_NORMALOFFSETSCALE {"NormalOffsetScalePS"}
 
const Vector3 Urho3D::DOT_SCALE {1 / 3.0f, 1 / 3.0f, 1 / 3.0f}
 
constexpr i32 Urho3D::MAX_RENDERTARGETS = 4
 
constexpr i32 Urho3D::MAX_VERTEX_STREAMS = 4
 
constexpr i32 Urho3D::MAX_CONSTANT_REGISTERS = 256
 
constexpr i32 Urho3D::BITS_PER_COMPONENT = 8