graphics_enums.hpp File Reference

Classes

class  kanzi::VertexAttribute
 A base class for mesh and shader program vertex attributes. More...
 
class  kanzi::MeshVertexAttribute
 MeshVertexAttribute describes how mesh vertex data is stored in memory. More...
 
class  kanzi::ShaderVertexAttribute
 ShaderVertexAttribute describes the attributes that shader program will read when executed by graphics device. More...
 

Namespaces

 kanzi
 

Macros

#define KANZI_RENDERER_MAX_TEXTURE_UNITS
 Maximum number of supported texture units. More...
 
#define KANZI_RENDERER_BUFFER_VALUE_NONE
 Null value for vertex and index buffers. More...
 
#define KANZI_RENDERER_ENABLE_UNIFORM_CACHE
 Flag for rendering client vertex arrays using VBO. More...
 
#define KANZI_GPU_BUFFER_MANAGER_ENABLED
 Is the GPU buffer manager in use. More...
 

Typedefs

typedef vector< MeshVertexAttribute > kanzi::MeshAttributeCollection
 
typedef MeshAttributeCollection::iterator kanzi::MeshAttributeCollectionIterator
 
typedef MeshAttributeCollection::const_iterator kanzi::MeshAttributeCollectionConstIterator
 
typedef vector< ShaderVertexAttribute > kanzi::ShaderAttributeCollection
 
typedef ShaderAttributeCollection::iterator kanzi::ShaderAttributeCollectionIterator
 
typedef ShaderAttributeCollection::const_iterator kanzi::ShaderAttributeCollectionConstIterator
 

Enumerations

enum  kanzi::GraphicsClearTarget {
  kanzi::GraphicsClearTargetColor0, kanzi::GraphicsClearTargetColor1, kanzi::GraphicsClearTargetColor2, kanzi::GraphicsClearTargetColor3,
  kanzi::GraphicsClearTargetDepth, kanzi::GraphicsClearTargetStencil, kanzi::GraphicsClearTargetCoverage
}
 Clear target options for renderer. More...
 
enum  kanzi::GraphicsCullMode { kanzi::GraphicsCullModeNone, kanzi::GraphicsCullModeBack, kanzi::GraphicsCullModeFront }
 List of available cull modes. More...
 
enum  kanzi::GraphicsScalar { kanzi::GraphicsScalarClearDepth, kanzi::GraphicsScalarCameraNearPlane, kanzi::GraphicsScalarCameraFarPlane, kanzi::GraphicsScalarCount }
 List of active renderer scalars for fixed functionality. More...
 
enum  kanzi::GraphicsCompareFunction {
  kanzi::GraphicsCompareFunctionNever, kanzi::GraphicsCompareFunctionAlways, kanzi::GraphicsCompareFunctionLess, kanzi::GraphicsCompareFunctionLessOrEqual,
  kanzi::GraphicsCompareFunctionGreater, kanzi::GraphicsCompareFunctionGreaterOrEqual, kanzi::GraphicsCompareFunctionEqual, kanzi::GraphicsCompareFunctionNotEqual,
  kanzi::GraphicsCompareFunctionDisabled
}
 Renderer stencil modes. More...
 
enum  kanzi::GraphicsStencilOperation {
  kanzi::GraphicsStencilOperationKeep, kanzi::GraphicsStencilOperationZero, kanzi::GraphicsStencilOperationReplace, kanzi::GraphicsStencilOperationIncrement,
  kanzi::GraphicsStencilOperationIncrementWrap, kanzi::GraphicsStencilOperationDecrement, kanzi::GraphicsStencilOperationDecrementWrap, kanzi::GraphicsStencilOperationInvert
}
 Renderer stencil operations. More...
 
enum  kanzi::GraphicsColorWriteMode {
  kanzi::GraphicsColorWriteModeNone, kanzi::GraphicsColorWriteModeRGB, kanzi::GraphicsColorWriteModeRGBA, kanzi::GraphicsColorWriteModeR,
  kanzi::GraphicsColorWriteModeG, kanzi::GraphicsColorWriteModeB, kanzi::GraphicsColorWriteModeGB, kanzi::GraphicsColorWriteModeA
}
 List of color write modes. More...
 
enum  kanzi::GraphicsBlendMode {
  kanzi::GraphicsBlendModeOpaque, kanzi::GraphicsBlendModeAlpha, kanzi::GraphicsBlendModeAdditive, kanzi::GraphicsBlendModePremultipliedAlpha,
  kanzi::GraphicsBlendModeMixedAlpha
}
 List of renderer blend modes. More...
 
enum  kanzi::GraphicsPrimitiveType {
  kanzi::GraphicsPrimitiveTypeInvalid, kanzi::GraphicsPrimitiveTypePoints, kanzi::GraphicsPrimitiveTypeLines, kanzi::GraphicsPrimitiveTypeLineLoop,
  kanzi::GraphicsPrimitiveTypeLineStrip, kanzi::GraphicsPrimitiveTypeTriangles, kanzi::GraphicsPrimitiveTypeTriangleStrip, kanzi::GraphicsPrimitiveTypeTriangleFan
}
 Enumeration for index buffer primitive type. More...
 
enum  kanzi::GraphicsFillMode { kanzi::GraphicsFillModeSolid, kanzi::GraphicsFillModeWireframe }
 
enum  kanzi::ShaderType { kanzi::ShaderTypeInvalid, kanzi::ShaderTypeVertex, kanzi::ShaderTypeFragment }
 List of shader types. More...
 
enum  kanzi::GraphicsFormatFeature {
  kanzi::GraphicsFormatFeatureRenderbuffer, kanzi::GraphicsFormatFeatureSampledImage, kanzi::GraphicsFormatFeatureSampledImageFilterLinear, kanzi::GraphicsFormatFeatureColorAttachment,
  kanzi::GraphicsFormatFeatureColorAttachmentBlend, kanzi::GraphicsFormatFeatureDepthStencilAttachment, kanzi::GraphicsFormatFeatureBlitSource, kanzi::GraphicsFormatFeatureBlitDestination,
  kanzi::GraphicsFormatFeatureVertexBuffer, kanzi::GraphicsFormatFeatureUniformTexelBuffer, kanzi::GraphicsFormatFeatureStorageTexelBuffer, kanzi::GraphicsFormatFeatureStorageTexelBufferAtomic,
  kanzi::GraphicsFormatFeatureStorageImage, kanzi::GraphicsFormatFeatureStorageImageAtomic, kanzi::GraphicsFormatFeatureRenderbufferMask, kanzi::GraphicsFormatFeatureTextureMask
}
 How GraphicsFormat is used. More...
 

Functions

void kanzi::swap (VertexAttribute &attribute1, VertexAttribute &attribute2)
 
void kanzi::swap (MeshVertexAttribute &attribute1, MeshVertexAttribute &attribute2)
 
void kanzi::swap (ShaderVertexAttribute &attribute1, ShaderVertexAttribute &attribute2)
 
KANZI_API optional< VertexAttribute::Semantic > kanzi::toVertexAttributeSemantic (unsigned int kzbVertexAttributeSemantic)
 Converts KZB vertex attribute semantic to runtime VertexAttribute::Semantic. More...
 
KANZI_API FixedString kanzi::toFixedString (VertexAttribute::Semantic semantic)
 Returns human readable string for semantic. More...
 

Macro Definition Documentation

#define KANZI_RENDERER_MAX_TEXTURE_UNITS

Maximum number of supported texture units.

OpenGL ES 3 minimum requirements: 32 textures, max 16 used in either vertex shader or fragment shader

#define KANZI_RENDERER_BUFFER_VALUE_NONE

Null value for vertex and index buffers.

#define KANZI_RENDERER_ENABLE_UNIFORM_CACHE

Flag for rendering client vertex arrays using VBO.

Defines if uniform cache is enabled, can be disabled if CPU is bottleneck instead of GPU.

#define KANZI_GPU_BUFFER_MANAGER_ENABLED

Is the GPU buffer manager in use.