Kanzi 3.9.10
graphics_enums.hpp File Reference

Classes

class  kanzi::MeshVertexAttribute
 MeshVertexAttribute describes how Kanzi stores mesh vertex and instance data in memory. More...
 
class  kanzi::ShaderVertexAttribute
 ShaderVertexAttribute describes the attributes that shader program will read when executed by graphics device. More...
 
class  kanzi::VertexAttribute
 Base class for the vertex and instance attributes of mesh and shader program. More...
 

Namespaces

namespace  kanzi
 

Macros

#define KANZI_RENDERER_BUFFER_VALUE_NONE
 Null value for vertex and index buffers.
 
#define KANZI_RENDERER_ENABLE_UNIFORM_CACHE
 Defines if uniform cache is enabled, can be disabled if CPU is bottleneck instead of GPU.
 
#define KANZI_RENDERER_MAX_TEXTURE_UNITS
 Maximum number of supported texture units.
 

Typedefs

typedef vector< MeshVertexAttributekanzi::MeshAttributeCollection
 
typedef MeshAttributeCollection::const_iterator kanzi::MeshAttributeCollectionConstIterator
 
typedef MeshAttributeCollection::iterator kanzi::MeshAttributeCollectionIterator
 
typedef vector< ShaderVertexAttributekanzi::ShaderAttributeCollection
 
typedef ShaderAttributeCollection::const_iterator kanzi::ShaderAttributeCollectionConstIterator
 
typedef ShaderAttributeCollection::iterator kanzi::ShaderAttributeCollectionIterator
 

Enumerations

enum  kanzi::DrawBuffers { kanzi::DrawBuffersNone , kanzi::DrawBuffersDefault , kanzi::DrawBuffersExt , kanzi::DrawBuffersNV }
 Draw multiple buffers support code path in Renderer. More...
 
enum  kanzi::FixedMatrix {
  kanzi::FixedMatrixProjection , kanzi::FixedMatrixCamera , kanzi::FixedMatrixWorld , kanzi::FixedMatrixCameraWorld ,
  kanzi::FixedMatrixProjectionCameraWorld , kanzi::FixedMatrixCount
}
 List of active matrices renderer keeps track of. More...
 
enum  kanzi::FloatTexture { kanzi::FloatTextureNone , kanzi::FloatTextureARB , kanzi::FloatTextureES3 , kanzi::FloatTextureES2Ext }
 Float texture support code path in Renderer. More...
 
enum  kanzi::FramebufferAttachmentPoint {
  kanzi::FramebufferAttachmentPointColor0 , kanzi::FramebufferAttachmentPointColor1 , kanzi::FramebufferAttachmentPointColor2 , kanzi::FramebufferAttachmentPointColor3 ,
  kanzi::FramebufferAttachmentPointDepthStencil , kanzi::FramebufferAttachmentPointCount
}
 
enum  kanzi::FramebufferTarget { kanzi::FramebufferTargetReadAndDraw , kanzi::FramebufferTargetRead , kanzi::FramebufferTargetDraw }
 Framebuffer target selects draw or read framebuffer, or both. More...
 
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::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::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::GraphicsCullMode { kanzi::GraphicsCullModeNone , kanzi::GraphicsCullModeBack , kanzi::GraphicsCullModeFront }
 List of available cull modes. More...
 
enum  kanzi::GraphicsFillMode { kanzi::GraphicsFillModeSolid , kanzi::GraphicsFillModeWireframe }
 
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...
 
enum  kanzi::GraphicsPrimitiveType {
  kanzi::GraphicsPrimitiveTypeInvalid , kanzi::GraphicsPrimitiveTypePoints , kanzi::GraphicsPrimitiveTypeLines , kanzi::GraphicsPrimitiveTypeLineLoop ,
  kanzi::GraphicsPrimitiveTypeLineStrip , kanzi::GraphicsPrimitiveTypeTriangles , kanzi::GraphicsPrimitiveTypeTriangleStrip , kanzi::GraphicsPrimitiveTypeTriangleFan ,
  kanzi::GraphicsPrimitiveTypePatches
}
 Enumeration for index buffer primitive type. More...
 
enum  kanzi::GraphicsScalar { kanzi::GraphicsScalarClearDepth , kanzi::GraphicsScalarCameraNearPlane , kanzi::GraphicsScalarCameraFarPlane , kanzi::GraphicsScalarCount }
 List of active renderer scalars for fixed functionality. 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::HalfFloatTexture { kanzi::HalfFloatTextureNone , kanzi::HalfFloatTextureARB , kanzi::HalfFloatTextureES3 , kanzi::HalfFloatTextureES2Ext }
 Half float texture support code path in Renderer. More...
 
enum  kanzi::HalfFloatVertexAttribute { kanzi::HalfFloatVertexAttributeNone , kanzi::HalfFloatVertexAttributeDefault , kanzi::HalfFloatVertexAttributeOES }
 Half float vertex attribute code path in Renderer. More...
 
enum  kanzi::IndexBufferType { kanzi::IndexBufferTypeUInt16 , kanzi::IndexBufferTypeUInt32 }
 List of available types available for index buffers. More...
 
enum  kanzi::InvalidateFramebuffer { kanzi::InvalidateFramebufferNone , kanzi::InvalidateFramebufferARB , kanzi::InvalidateFramebufferES3 , kanzi::InvalidateFramebufferES2Ext }
 Framebuffer invalidation support code path in Renderer. More...
 
enum  kanzi::Multisample {
  kanzi::MultisampleNone , kanzi::MultisampleARB , kanzi::MultisampleES2NVidia , kanzi::MultisampleES3 ,
  kanzi::MultisampleES2Ext , kanzi::MultisampleES2Img
}
 Multisample support code path in Renderer. More...
 
enum class  kanzi::MultisampleCount {
  kanzi::NoMSAA , kanzi::MSAAx2 , kanzi::MSAAx4 , kanzi::MSAAx8 ,
  kanzi::MSAAx16 , kanzi::MSAAx32
}
 Specifies the available numbers of samples for multisample anti-aliasing (MSAA). More...
 
enum  kanzi::ProgramBinary { kanzi::ProgramBinaryNone , kanzi::ProgramBinaryARB , kanzi::ProgramBinaryES3 , kanzi::ProgramBinaryES2Ext }
 Program binary support code path in Renderer. More...
 
enum  kanzi::RendererState {
  kanzi::RendererStateDepthTest , kanzi::RendererStateCullFace , kanzi::RendererStateBlend , kanzi::RendererStateDepthWrite ,
  kanzi::RendererStateStencilTest , kanzi::RendererStateStencilWrite , kanzi::RendererStateMultisample , kanzi::RendererStateScissorTest ,
  kanzi::RendererStateCoverageWrite , kanzi::RendererStateCount
}
 Renderer state enumerations. More...
 
enum  kanzi::RendererSupport {
  kanzi::RendererSupportHalfFloatTextureFormatLinear , kanzi::RendererSupportHalfFloatColorAttachment , kanzi::RendererSupportNPOTTextureFilter , kanzi::RendererSupportRenderToMipmapLevels ,
  kanzi::RendererSupportDepth16Renderbuffer , kanzi::RendererSupportDepth16Texture , kanzi::RendererSupportDepth24Renderbuffer , kanzi::RendererSupportDepth24Texture ,
  kanzi::RendererSupportDepth24Stencil8Renderbuffer , kanzi::RendererSupportDepth24Stencil8Texture , kanzi::RendererSupportDepth32Renderbuffer , kanzi::RendererSupportDepth32fRenderbuffer ,
  kanzi::RendererSupportDepth32fTexture , kanzi::RendererSupportStencil8Renderbuffer , kanzi::RendererSupportStencil8Texture , kanzi::RendererSupportExternalTexture ,
  kanzi::RendererSupportTexture2DArray , kanzi::RendererSupportTexture3D , kanzi::RendererSupportTextureCubeMapArray , kanzi::RendererSupportTextureMultisample2D ,
  kanzi::RendererSupportTextureMultisample2DArray , kanzi::RendererSupportTextureFilterAnisotropic , kanzi::RendererSupportTextureSwizzle , kanzi::RendererSupportTextureSwizzleComponent ,
  kanzi::RendererSupportTextureMaximumLevel , kanzi::RendererSupportSeamlessCubeMap , kanzi::RendererSupportRGB8Renderbuffer , kanzi::RendererSupportRG8Formats ,
  kanzi::RendererSupportRGFormats , kanzi::RendererSupportIntegerFormats , kanzi::RendererSupportRGB8Texture , kanzi::RendererSupportRGBA8Renderbuffer ,
  kanzi::RendererSupportRGBA8Texture , kanzi::RendererSupportDiscardFramebuffer , kanzi::RendererSupportInvalidateFramebuffer , kanzi::RendererSupportImplementationColorRead ,
  kanzi::RendererSupportKHRDebug , kanzi::RendererSupportShaderBinary , kanzi::RendererSupportSRGB , kanzi::RendererSupportSRGB8Texture ,
  kanzi::RendererSupportSRGB8TexStorage , kanzi::RendererSupportETC1NPOT , kanzi::RendererSupport10_10_10_2VertexAttribute , kanzi::RendererSupportDepthComparison ,
  kanzi::RendererSupport32BitIndexBuffer , kanzi::RendererSupportMapBufferRange , kanzi::RendererSupportSNORMFormats , kanzi::RendererSupportFloatTextureFormatLinear ,
  kanzi::RendererSupportFloatColorAttachment , kanzi::SupportTextureNorm16Formats , kanzi::RendererSupportTextureMirrorClampToEdge , kanzi::RendererSupportUnpackRowLength ,
  kanzi::RendererSupportClearBuffer , kanzi::RendererSupportKHRBlendEquationAdvanced , kanzi::RendererSupportInstancing , kanzi::RendererSupportGeometryShader ,
  kanzi::RendererSupportTessellationShader , kanzi::RendererSupportES30 , kanzi::RendererSupportES31 , kanzi::RendererSupportES32 ,
  kanzi::RendererSupportCount
}
 List of optionally supported renderer features. More...
 
enum  kanzi::RenderTargetMode { kanzi::RenderTargetModeNone , kanzi::RenderTargetModeInternal , kanzi::RenderTargetModeExternal }
 RenderTarget mode for Texture. More...
 
enum  kanzi::ShaderType {
  kanzi::ShaderTypeInvalid , kanzi::ShaderTypeVertex , kanzi::ShaderTypeFragment , kanzi::ShaderTypeGeometry ,
  kanzi::ShaderTypeTessellationControl , kanzi::ShaderTypeTessellationEvaluation
}
 List of shader types. More...
 
enum  kanzi::SphereTessellationType { kanzi::SphereTypeUvSphere , kanzi::SphereTypeIcosphere , kanzi::SphereTypeQuadSphere }
 Specifies the available sphere tessellation types. More...
 
enum  kanzi::TexStorage {
  kanzi::TexStorageNone , kanzi::TexStorageMultisampleARB , kanzi::TexStorageARB , kanzi::TexStorageES2Ext ,
  kanzi::TexStorageES3 , kanzi::TexStorageES31 , kanzi::TexStorageES32
}
 Texture Storage support code path in Renderer. More...
 
enum  kanzi::TextureType {
  kanzi::TextureTypeTwoDimensional , kanzi::TextureTypeTwoDimensionalArray , kanzi::TextureTypeTwoDimensionalMultisample , kanzi::TextureTypeTwoDimensionalMultisampleArray ,
  kanzi::TextureTypeThreeDimensional , kanzi::TextureTypeCubeMap , kanzi::TextureTypeCubeMapArray , kanzi::TextureTypeExternal ,
  kanzi::TextureTypeCount , kanzi::TextureTypeInvalid
}
 Texture type. More...
 

Functions

unsigned int kanzi::getFaceCount (TextureType type)
 Gets face count for a given texture type.
 
size_t kanzi::getIndexTypeStride (IndexBufferType type)
 Returns the stride of a given index type.
 
bool kanzi::isImplicitMultisampleSupport (Multisample multisampleSupport)
 Tell if multisample support is of implicit type.
 
void kanzi::swap (MeshVertexAttribute &attribute1, MeshVertexAttribute &attribute2)
 
void kanzi::swap (ShaderVertexAttribute &attribute1, ShaderVertexAttribute &attribute2)
 
void kanzi::swap (VertexAttribute &attribute1, VertexAttribute &attribute2)
 
FixedString kanzi::toFixedString (VertexAttribute::Semantic semantic)
 Returns human readable string for semantic.
 
optional< VertexAttribute::Semantickanzi::toVertexAttributeSemantic (unsigned int kzbVertexAttributeSemantic)
 Converts KZB vertex attribute semantic to runtime VertexAttribute::Semantic.
 

Macro Definition Documentation

◆ KANZI_RENDERER_MAX_TEXTURE_UNITS

#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

◆ KANZI_RENDERER_BUFFER_VALUE_NONE

#define KANZI_RENDERER_BUFFER_VALUE_NONE

Null value for vertex and index buffers.

◆ KANZI_RENDERER_ENABLE_UNIFORM_CACHE

#define KANZI_RENDERER_ENABLE_UNIFORM_CACHE

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