Kanzi 4.0.0-beta2
kanzi::gfx Namespace Reference

Namespaces

namespace  limits
 
namespace  reflection
 

Classes

class  AbstractBackend
 Defines of a graphics library backend. More...
 
struct  ArrayType
 
struct  AttachmentDescriptionSet
 Describes a set of attachment descriptions. More...
 
struct  BackendInformation
 Describes the backend implementation. More...
 
class  BackendLayer
 Base class for a backend layer. More...
 
class  BaseCommand
 The base class for all graphics commands. More...
 
struct  BaseCreateInfo
 The base class for all create info structures. More...
 
struct  BeginComputePipelineCommand
 Begins a compute pipeline in the command stream. More...
 
struct  BeginRenderPassCommand
 Begins a render pass in the command stream. More...
 
struct  BeginRenderPipelineCommand
 Begins a render pipeline in the command stream. More...
 
struct  BindComputeResourceSetCommand
 Binds the resource sets within the current render pipeline. More...
 
struct  BindRenderResourceSetCommand
 Binds the resource sets within the current render pipeline. More...
 
struct  BindVertexInputCommand
 Binds the vertex buffer bindings within the current render pipeline. More...
 
struct  BlendStateCreateInfo
 Creation information for a blend state. More...
 
struct  Box
 
struct  BufferCreateInfo
 Creation information for a buffer. More...
 
struct  ByteRange
 Defines a range of bytes. More...
 
struct  ClearCommand
 Clears viewport. More...
 
struct  ColorAttachmentDescription
 Describes the color attachment behavior for a render pass. More...
 
struct  CommandBufferCreateInfo
 Creation information for a command buffer. More...
 
struct  ComputePipelineCreateInfo
 Creation information for a compute pipeline. More...
 
struct  ComputeResourceSetCreateInfo
 Creation information for a set of compute resources used by a shader program. More...
 
struct  ConstantDataCommand
 Sets current constant data in a render pipeline. More...
 
struct  CopyBufferCommand
 Copies a region of a source buffer to a destination buffer. More...
 
struct  CopyBufferToImageCommand
 Copies a source buffer to a destination image. More...
 
struct  CopyImageCommand
 Copies a subresource of a source image to a destination image. More...
 
struct  CopyImageToBufferCommand
 Copies a source image to a destination buffer. More...
 
struct  CopySurfaceToBufferCommand
 Copies an on-screen surface to a destination buffer. More...
 
class  DebugInformation
 Interface to access Kanzi graphics debug information, such as object names. More...
 
struct  DefaultHandleGuardT
 Helper struct to construct a default handle of any type. More...
 
struct  DepthAttachmentDescription
 Describes the depth attachment behavior for a render pass. More...
 
struct  DepthStencilStateCreateInfo
 Creation information for a depth stencil state. More...
 
struct  DispatchCommand
 Dispatches a compute operation in a compute pipeline. More...
 
struct  DispatchIndirectCommand
 Dispatches an indirect compute operation in a compute pipeline. More...
 
struct  DispatchIndirectData
 DispatchIndirect data buffer format. More...
 
struct  DrawCommand
 Issues a draw command in a render pipeline. More...
 
struct  DrawIndirectCommand
 Issues an indirect draw command in a render pipeline. More...
 
struct  DrawIndirectData
 DrawIndirect data buffer format. More...
 
struct  DrawIndirectIndexedData
 DrawIndirect indexed data buffer format. More...
 
struct  EndComputePipelineCommand
 Ends a compute pipeline in the command stream. More...
 
struct  EndRenderPassCommand
 Ends a render pass in the command stream. More...
 
struct  EndRenderPipelineCommand
 Ends a render pipeline in the command stream. More...
 
struct  FrameBufferCreateInfo
 Creation information for a frame buffer. More...
 
struct  GenerateMipmapsCommand
 Generates mipmaps for an image. More...
 
struct  GpuFenceCreateInfo
 Creation information for a GPU fence. More...
 
class  HandleGuard
 The HandleGuard class provides a reference counted reference to a graphics handle. More...
 
struct  HandleObject
 Base class for internal backend objects that are referred to by Handles. More...
 
struct  ImageCreateInfo
 Creation information for an image. More...
 
struct  ImageSubresource
 The image subresource describes a subset of a full resource. More...
 
struct  InitializationInfo
 Graphics library initialization information. More...
 
struct  InvalidHandleGuardT
 Helper struct to construct an invalid handle of any type. More...
 
struct  Matrix
 
struct  MaxBoxT
 
struct  MaxVectorT
 
struct  NativeSurfaceHandle
 Information necessary for native surfaces such as windows. More...
 
struct  NativeTextureHandle
 Describes the native handle information. More...
 
struct  ObjectStatus
 Object status and message. More...
 
struct  OpenGLInitializationInfo
 Defines the initialization parameters for the OpenGL backend. More...
 
struct  PresentCommand
 Presents the surface frame buffer. More...
 
struct  RasterStateCreateInfo
 Creation information for a raster state. More...
 
struct  RenderPassCreateInfo
 Creation information for a render pass. More...
 
struct  RenderPipelineCreateInfo
 Creation information for a render pipeline. More...
 
struct  RenderResourceSetCreateInfo
 Creation information for a set of render resources used by a shader program. More...
 
struct  ResolveMultisampleImageCommand
 Resolves a multisampled image. More...
 
struct  ResourceSetCreateInfo
 Creation information for a resource set. More...
 
struct  SamplerCreateInfo
 Creation information for a sampler. More...
 
struct  SetLineWidthCommand
 Sets the line width for current render pipeline. More...
 
struct  SetScissorCommand
 Sets the scissor coordinates. More...
 
struct  SetUniformOffsetCommand
 Sets a Uniform Offset that will take effect with the next BindRenderResourceSetCommand or BindRenderResourceSetCommand. More...
 
struct  SetViewportCommand
 Sets the viewport coordinates. More...
 
struct  ShaderCreateInfo
 Creation information for a shader. More...
 
struct  SignalGpuFenceCommand
 Signals a GPU fence. More...
 
class  Statistics
 Interface to access Kanzi graphics statistics, such as object and command counts. More...
 
struct  SubroutineCommand
 Causes the command processing to transfer execution to the subroutine command buffer. More...
 
struct  SwizzleMask
 Swizzle options for each channel of a format. More...
 
struct  Vector
 
struct  VertexAttribute
 Describes an individual vertex attribute, typically part of a vertex binding. More...
 
struct  VertexBinding
 Describes a vertex buffer binding. More...
 
struct  VertexBufferBinding
 Describes a Vertex Buffer Binding. More...
 
struct  VertexInputStateCreateInfo
 Creation information for a vertex input state. More...
 
struct  VulkanInitializationInfo
 Defines the initialization parameters for the Vulkan backend. More...
 

Typedefs

using BlendStateHandleGuard
 Reference counted blend state handle.
 
using box3u32
 
using BufferHandleGuard
 Reference counted buffer handle.
 
using ColorClearValue
 The value to use for a color clear operation.
 
using CommandBufferHandleGuard
 Reference counted command buffer handle.
 
using ComputePipelineHandleGuard
 Reference counted compute pipeline handle.
 
using ComputeResourceSetHandleGuard
 Reference counted compute resource set handle.
 
using DepthStencilStateHandleGuard
 Reference counted depth stencil state handle.
 
using FrameBufferHandleGuard
 Reference counted frame buffer handle.
 
using GpuFenceHandleGuard
 Reference counted GPU fence handle.
 
using ImageHandleGuard
 Reference counted image handle.
 
using m2f
 
using m3f
 
using m4f
 
using RasterStateHandleGuard
 Reference counted raster state handle.
 
using rects32
 
using RenderPassHandleGuard
 Reference counted render pass handle.
 
using RenderPipelineHandleGuard
 Reference counted render pipeline handle.
 
using RenderResourceSetHandleGuard
 Reference counted render resource set handle.
 
using SamplerHandleGuard
 Reference counted sampler handle.
 
using ShaderHandleGuard
 Reference counted shader handle.
 
using TaskFn
 Simple function callback definition.
 
using v2f
 
using v2s16
 
using v2s32
 
using v2s8
 
using v2u16
 
using v2u32
 
using v2u8
 
using v3f
 
using v3s16
 
using v3s32
 
using v3s8
 
using v3u16
 
using v3u32
 
using v3u8
 
using v4f
 
using v4s16
 
using v4s32
 
using v4s8
 
using v4u16
 
using v4u32
 
using v4u8
 
using VertexInputStateHandleGuard
 Reference counted vertex input state handle.
 

Enumerations

enum class  AccessFlag : uint8_t {
  AccessFlag::None , AccessFlag::Write , AccessFlag::Read , AccessFlag::ReadWrite ,
  AccessFlag::Persistent
}
 Defines the options for resource access. More...
 
enum class  AddressMode : uint8_t {
  AddressMode::ClampEdge , AddressMode::ClampBorder , AddressMode::MirroredRepeat , AddressMode::Repeat ,
  AddressMode::MirroredClampEdge , AddressMode::Count
}
 Defines the image addressing modes. More...
 
enum class  APIBackend : uint8_t {
  APIBackend::OpenGL , APIBackend::OpenGLES , APIBackend::Vulkan , APIBackend::Unknown ,
  APIBackend::Count
}
 Defines the available API backend implementations. More...
 
enum class  AspectMask : uint8_t { AspectMask::None , AspectMask::Color , AspectMask::Depth , AspectMask::Stencil }
 Defines the aspect mask bits. More...
 
enum struct  AttachmentLoadOperation : uint8_t {
  AttachmentLoadOperation::Clear , AttachmentLoadOperation::Keep , AttachmentLoadOperation::DontCare , AttachmentLoadOperation::Count ,
  AttachmentLoadOperation::Default
}
 Defines the ways to handle the content of an attachment that you load. More...
 
enum struct  AttachmentStoreOperation : uint8_t { AttachmentStoreOperation::Store , AttachmentStoreOperation::DontCare , AttachmentStoreOperation::Count , AttachmentStoreOperation::Default }
 Defines if attachment contents need to be preserved after render pass. More...
 
enum class  BlendFactor : uint8_t {
  BlendFactor::Zero , BlendFactor::One , BlendFactor::SourceColor , BlendFactor::InverseSourceColor ,
  BlendFactor::SourceAlpha , BlendFactor::InverseSourceAlpha , BlendFactor::DestinationColor , BlendFactor::InverseDestinationColor ,
  BlendFactor::DestinationAlpha , BlendFactor::InverseDestinationAlpha , BlendFactor::SourceAlphaSaturate , BlendFactor::ConstantColor ,
  BlendFactor::InverseConstantColor , BlendFactor::ConstantAlpha , BlendFactor::InverseConstantAlpha , BlendFactor::Count
}
 Defines the blend factors. More...
 
enum class  BlendOperation : uint8_t {
  BlendOperation::Add , BlendOperation::Subtract , BlendOperation::Reverse_Subtract , BlendOperation::Min ,
  BlendOperation::Max , BlendOperation::Multiply , BlendOperation::Screen , BlendOperation::Overlay ,
  BlendOperation::Darken , BlendOperation::Lighten , BlendOperation::ColorDodge , BlendOperation::ColorBurn ,
  BlendOperation::HardLight , BlendOperation::SoftLight , BlendOperation::Difference , BlendOperation::Exclusion ,
  BlendOperation::HSL_Hue , BlendOperation::HSL_Saturation , BlendOperation::HSL_Color , BlendOperation::HSL_Luminosity ,
  BlendOperation::Count
}
 Defines the blend operations. More...
 
enum class  BlendStateHandle : uint16_t { BlendStateHandle::Default , BlendStateHandle::Invalid }
 Raw handle for blend state objects. More...
 
enum class  BufferHandle : uint16_t { BufferHandle::Default , BufferHandle::Invalid }
 Raw handle for buffer objects. More...
 
enum class  BufferUsageFlag : uint16_t {
  BufferUsageFlag::Invalid , BufferUsageFlag::IndexBuffer , BufferUsageFlag::VertexBuffer , BufferUsageFlag::UniformBuffer ,
  BufferUsageFlag::ShaderResource , BufferUsageFlag::UnorderedAccess , BufferUsageFlag::CopyDestination , BufferUsageFlag::CopySource ,
  BufferUsageFlag::StorageBuffer , BufferUsageFlag::IndirectBuffer
}
 Defines the options for Buffer usage. More...
 
enum class  ChannelType { ChannelType::Unknown , ChannelType::UnsignedInteger , ChannelType::SignedInteger , ChannelType::Float }
 Defines the formats of an individual channel. More...
 
enum class  ColorWriteMask : uint8_t {
  ColorWriteMask::None , ColorWriteMask::R , ColorWriteMask::G , ColorWriteMask::B ,
  ColorWriteMask::A , ColorWriteMask::RGBA
}
 Defines the write mask bits. More...
 
enum class  CommandBufferHandle : uint16_t { CommandBufferHandle::Default , CommandBufferHandle::Invalid }
 Raw handle for command buffer objects. More...
 
enum struct  CommandType : uint8_t {
  CommandType::CopyBuffer , CommandType::CopyBufferToImage , CommandType::CopyImage , CommandType::CopyImageToBuffer ,
  CommandType::CopySurfaceToBuffer , CommandType::BeginRenderPass , CommandType::EndRenderPass , CommandType::BeginRenderPipeline ,
  CommandType::EndRenderPipeline , CommandType::Draw , CommandType::DrawIndirect , CommandType::BeginComputePipeline ,
  CommandType::EndComputePipeline , CommandType::Dispatch , CommandType::DispatchIndirect , CommandType::ConstantData ,
  CommandType::Present , CommandType::Subroutine , CommandType::SignalGpuFence , CommandType::ResolveMultisampleImage ,
  CommandType::GenerateMipmaps , CommandType::SetViewport , CommandType::SetScissor , CommandType::Clear ,
  CommandType::SetLineWidth , CommandType::BindVertexInput , CommandType::SetUniformOffset , CommandType::BindRenderResourceSet ,
  CommandType::BindComputeResourceSet
}
 Specifies the types of graphics commands. More...
 
enum class  ComparisonFunction : uint8_t {
  ComparisonFunction::Never , ComparisonFunction::Less , ComparisonFunction::Equal , ComparisonFunction::LessEqual ,
  ComparisonFunction::Greater , ComparisonFunction::NotEqual , ComparisonFunction::GreaterEqual , ComparisonFunction::Always ,
  ComparisonFunction::Count
}
 Defines the comparison functions for depth testing. More...
 
enum class  ComputePipelineHandle : uint16_t { ComputePipelineHandle::Default , ComputePipelineHandle::Invalid }
 Raw handle for compute pipeline objects. More...
 
enum class  ComputeResourceSetHandle : uint16_t { ComputeResourceSetHandle::Default , ComputeResourceSetHandle::Invalid }
 Raw handle for compute resource set objects. More...
 
enum class  CullMode : uint8_t { CullMode::None , CullMode::Front , CullMode::Back , CullMode::Count }
 Defines the cull modes available to a raster state. More...
 
enum class  DepthStencilStateHandle : uint16_t { DepthStencilStateHandle::Default , DepthStencilStateHandle::Invalid }
 Raw handle for depth stencil state objects. More...
 
enum class  DevicePropertyId {
  DevicePropertyId::MaxColorAttachments , DevicePropertyId::MaxFramebufferHeight , DevicePropertyId::MaxFramebufferWidth , DevicePropertyId::MaxTextureSize ,
  DevicePropertyId::MaxCubemapTextureSize , DevicePropertyId::MaxTexelBufferElements , DevicePropertyId::MaxTessellationPatchSize , DevicePropertyId::UniformBufferOffsetAlignment ,
  DevicePropertyId::StorageBufferOffsetAlignment , DevicePropertyId::MaxSampleCount , DevicePropertyId::MaxSamplerAnisotropy , DevicePropertyId::MaxVertexAttributes ,
  DevicePropertyId::MaxVertexAttributeRelativeOffset , DevicePropertyId::MaxVertexAttributeStride , DevicePropertyId::MinLineWidth , DevicePropertyId::MaxLineWidth ,
  DevicePropertyId::Count
}
 Defines the queryable device properties. More...
 
enum class  FeatureId {
  FeatureId::AddressModeMirroredClampEdge , FeatureId::AddressModeClampBorder , FeatureId::SamplerCustomBorderColor , FeatureId::IndependentBlend ,
  FeatureId::CubeMapArray , FeatureId::TextureSubView , FeatureId::GeometryShaders , FeatureId::TessellationShaders ,
  FeatureId::ComputeShaders , FeatureId::sRGBSurface , FeatureId::TexelBufferView , FeatureId::IndexBufferTypeUint8 ,
  FeatureId::TextureStorage2DMultisample , FeatureId::TextureStorage3DMultisample , FeatureId::NonSolidPolygonFillMode , FeatureId::DrawIndirect ,
  FeatureId::WideLines , FeatureId::AdvancedBlendModes , FeatureId::FlipSurface , FeatureId::SamplerAnisotropy ,
  FeatureId::DebugOutput , FeatureId::DepthStencilResolve , FeatureId::ExternalTextureHandle , FeatureId::Caching ,
  FeatureId::PersistentMapping , FeatureId::MultiUseBuffers , FeatureId::Count
}
 Defines the KzGfx features that can be present or missing on a specific platform. More...
 
enum class  FillMode : uint8_t { FillMode::Solid , FillMode::Wireframe , FillMode::Point , FillMode::Count }
 Defines the fill modes available to a raster state. More...
 
enum class  FilterMode : uint8_t { FilterMode::Nearest , FilterMode::Linear , FilterMode::Count }
 Defines the pixel filter modes available to a sampler. More...
 
enum class  Format : uint16_t {
  Format::None , Format::R8_UNorm , Format::R8_SNorm , Format::R8_Int ,
  Format::R8_UInt , Format::R16_UNorm , Format::R16_SNorm , Format::R16_Float ,
  Format::R16_Int , Format::R16_UInt , Format::R32_Float , Format::R32_Int ,
  Format::R32_UInt , Format::RG8_UNorm , Format::RG8_SNorm , Format::RG8_Int ,
  Format::RG8_UInt , Format::RG16_UNorm , Format::RG16_SNorm , Format::RG16_Float ,
  Format::RG16_Int , Format::RG16_UInt , Format::RG32_Float , Format::RG32_Int ,
  Format::RG32_UInt , Format::RGB8_UNorm , Format::RGB8_SNorm , Format::RGB8_Int ,
  Format::RGB8_UInt , Format::RGB8_sRGB , Format::RGB16_UNorm , Format::RGB16_SNorm ,
  Format::RGB16_Float , Format::RGB16_Int , Format::RGB16_UInt , Format::RGB32_Float ,
  Format::RGB32_Int , Format::RGB32_UInt , Format::RGBA8_UNorm , Format::RGBA8_SNorm ,
  Format::RGBA8_Int , Format::RGBA8_UInt , Format::RGBA8_sRGB , Format::BGRA8_UNorm ,
  Format::BGRA8_sRGB , Format::RGBA16_UNorm , Format::RGBA16_SNorm , Format::RGBA16_Float ,
  Format::RGBA16_Int , Format::RGBA16_UInt , Format::RGBA32_Float , Format::RGBA32_Int ,
  Format::RGBA32_UInt , Format::A2BGR10_UNorm , Format::A2BGR10_SNorm , Format::D16 ,
  Format::D24 , Format::D24S8 , Format::D32 , Format::D32S8 ,
  Format::S8 , Format::R5G6B5_Unorm , Format::ETC2_RGB8_UNorm , Format::ETC2_RGB8_sRGB ,
  Format::ETC2_RGB8A1_UNorm , Format::ETC2_RGB8A1_sRGB , Format::ETC2_RGBA8_UNorm , Format::ETC2_RGBA8_sRGB ,
  Format::BC1_RGB_UNorm , Format::BC1_RGB_sRGB , Format::BC1_RGBA_UNorm , Format::BC1_RGBA_sRGB ,
  Format::BC2_UNorm , Format::BC2_sRGB , Format::BC3_UNorm , Format::BC3_sRGB ,
  Format::BC4_UNorm , Format::BC4_SNorm , Format::BC5_UNorm , Format::BC5_SNorm ,
  Format::BC6H_UFloat , Format::BC6H_Float , Format::BC7_UNorm , Format::BC7_sRGB ,
  Format::ASTC_4x4_UNorm , Format::ASTC_5x4_UNorm , Format::ASTC_5x5_UNorm , Format::ASTC_6x5_UNorm ,
  Format::ASTC_6x6_UNorm , Format::ASTC_8x5_UNorm , Format::ASTC_8x6_UNorm , Format::ASTC_8x8_UNorm ,
  Format::ASTC_10x5_UNorm , Format::ASTC_10x6_UNorm , Format::ASTC_10x8_UNorm , Format::ASTC_10x10_UNorm ,
  Format::ASTC_12x10_UNorm , Format::ASTC_12x12_UNorm , Format::ASTC_4x4_sRGB , Format::ASTC_5x4_sRGB ,
  Format::ASTC_5x5_sRGB , Format::ASTC_6x5_sRGB , Format::ASTC_6x6_sRGB , Format::ASTC_8x5_sRGB ,
  Format::ASTC_8x6_sRGB , Format::ASTC_8x8_sRGB , Format::ASTC_10x5_sRGB , Format::ASTC_10x6_sRGB ,
  Format::ASTC_10x8_sRGB , Format::ASTC_10x10_sRGB , Format::ASTC_12x10_sRGB , Format::ASTC_12x12_sRGB ,
  Format::ASTC_4x4_Float , Format::ASTC_5x4_Float , Format::ASTC_5x5_Float , Format::ASTC_6x5_Float ,
  Format::ASTC_6x6_Float , Format::ASTC_8x5_Float , Format::ASTC_8x6_Float , Format::ASTC_8x8_Float ,
  Format::ASTC_10x5_Float , Format::ASTC_10x6_Float , Format::ASTC_10x8_Float , Format::ASTC_10x10_Float ,
  Format::ASTC_12x10_Float , Format::ASTC_12x12_Float , Format::A2RGB10_UNorm , Format::A2RGB10_SNorm ,
  Format::A2RGB10_UScaled , Format::A2RGB10_SScaled , Format::A2RGB10_UInt , Format::A2RGB10_SInt ,
  Format::A2BGR10_UScaled , Format::A2BGR10_SScaled , Format::A2BGR10_UInt , Format::A2BGR10_SInt ,
  Format::B10GR11_UFloat , Format::E5BGR9_UFloat , Format::Count
}
 Defines the formats of graphics data used in images and vertex attributes. More...
 
enum class  FormatFeatureFlag : uint16_t {
  FormatFeatureFlag::None , FormatFeatureFlag::SampledShaderResource , FormatFeatureFlag::SampledShaderResourceLinear , FormatFeatureFlag::ShaderResource ,
  FormatFeatureFlag::ShaderResourceAtomic , FormatFeatureFlag::ColorAttachment , FormatFeatureFlag::ColorAttachmentBlend , FormatFeatureFlag::DepthStencilAttachment ,
  FormatFeatureFlag::CopyDestination , FormatFeatureFlag::CopySource , FormatFeatureFlag::VertexAttribute
}
 Defines the features for an image format. More...
 
enum class  FrameBufferHandle : uint16_t { FrameBufferHandle::Default , FrameBufferHandle::Invalid }
 Raw handle for frame buffer objects. More...
 
enum class  FrontFaceOrientation : uint8_t { FrontFaceOrientation::CounterClockwise , FrontFaceOrientation::Clockwise , FrontFaceOrientation::Count }
 Defines the winding orders of a polygon. More...
 
enum class  GpuFenceHandle : uint16_t { GpuFenceHandle::Default , GpuFenceHandle::Invalid }
 Raw handle for GPU fence objects. More...
 
enum class  GpuSelectionType {
  GpuSelectionType::First , GpuSelectionType::LargestMemory , GpuSelectionType::Discrete , GpuSelectionType::Integrated ,
  GpuSelectionType::CPU
}
 Defines the preferred GPU selection type. More...
 
enum class  ImageHandle : uint16_t { ImageHandle::Default , ImageHandle::Invalid }
 Raw handle for image objects. More...
 
enum class  ImageType : uint8_t {
  ImageType::Image2D , ImageType::Image3D , ImageType::CubeMap , ImageType::Image2DExt ,
  ImageType::Count
}
 Defines the image types. More...
 
enum class  ImageUsageFlag : uint8_t {
  ImageUsageFlag::None , ImageUsageFlag::SampledShaderResource , ImageUsageFlag::ShaderResource , ImageUsageFlag::Attachment ,
  ImageUsageFlag::CopyDestination , ImageUsageFlag::CopySource , ImageUsageFlag::All
}
 Defines the options for image usage. More...
 
enum class  IndexBufferType : uint8_t { IndexBufferType::Uint8 , IndexBufferType::Uint16 , IndexBufferType::Uint32 , IndexBufferType::Count }
 Defines the index buffer types. More...
 
enum class  MipMapMode : uint8_t { MipMapMode::Base , MipMapMode::Nearest , MipMapMode::Linear , MipMapMode::Count }
 Defines the mipmap modes available to a sampler. More...
 
enum class  NativeTextureHandleType { NotSet , OpenGL , AHardwareBuffer }
 Defines the image native handle types. More...
 
enum class  PrimitiveTopology : uint8_t {
  PrimitiveTopology::Points , PrimitiveTopology::LineList , PrimitiveTopology::LineStrip , PrimitiveTopology::TriangleList ,
  PrimitiveTopology::TriangleStrip , PrimitiveTopology::TriangleFan , PrimitiveTopology::Patches , PrimitiveTopology::Count
}
 Defines the primitive topology formats. More...
 
enum class  RasterStateHandle : uint16_t { RasterStateHandle::Default , RasterStateHandle::Invalid }
 Raw handle for raster state objects. More...
 
enum class  RenderPassHandle : uint16_t { RenderPassHandle::Default , RenderPassHandle::Invalid }
 Raw handle for render pass objects. More...
 
enum class  RenderPipelineHandle : uint16_t { RenderPipelineHandle::Default , RenderPipelineHandle::Invalid }
 Raw handle for render pipeline objects. More...
 
enum class  RenderResourceSetHandle : uint16_t { RenderResourceSetHandle::Default , RenderResourceSetHandle::Invalid }
 Raw handle for render resource set objects. More...
 
enum class  SamplerHandle : uint16_t { SamplerHandle::Default , SamplerHandle::Invalid }
 Raw handle for sampler objects. More...
 
enum class  ShaderFormat : uint32_t {
  ShaderFormat::Classic , ShaderFormat::VulkanSpirv13 , ShaderFormat::VulkanSpirv14 , ShaderFormat::VulkanSpirv15 ,
  ShaderFormat::VulkanSpirv16 , ShaderFormat::GlslES30 , ShaderFormat::GlslES31 , ShaderFormat::GlslES32 ,
  ShaderFormat::Glsl33 , ShaderFormat::Glsl40 , ShaderFormat::Glsl41 , ShaderFormat::Glsl42 ,
  ShaderFormat::Glsl43 , ShaderFormat::Glsl44 , ShaderFormat::Glsl45 , ShaderFormat::Glsl46
}
 Defines shader formats. More...
 
enum class  ShaderFormatFamily : uint16_t { ShaderFormatFamily::Classic , ShaderFormatFamily::VulkanSpirv , ShaderFormatFamily::GlslES , ShaderFormatFamily::Glsl }
 Defines a shader format family. More...
 
enum class  ShaderHandle : uint16_t { ShaderHandle::Default , ShaderHandle::Invalid }
 Raw handle for shader objects. More...
 
enum class  ShaderStage : uint8_t {
  ShaderStage::Vertex , ShaderStage::TessellationControl , ShaderStage::TessellationEvaluation , ShaderStage::Geometry ,
  ShaderStage::Fragment , ShaderStage::Compute , ShaderStage::Combined , ShaderStage::Count
}
 Defines the shader stages. More...
 
enum class  StencilOperation : uint8_t {
  StencilOperation::Keep , StencilOperation::Zero , StencilOperation::Replace , StencilOperation::IncrementSaturate ,
  StencilOperation::DecrementSaturate , StencilOperation::Invert , StencilOperation::Increment , StencilOperation::Decrement ,
  StencilOperation::Count
}
 Defines the stencil operations. More...
 
enum class  SwizzleChannel : uint8_t {
  SwizzleChannel::Zero , SwizzleChannel::One , SwizzleChannel::Identity , SwizzleChannel::R ,
  SwizzleChannel::G , SwizzleChannel::B , SwizzleChannel::A
}
 Defines the channel swizzle options. More...
 
enum class  VertexInputRate : uint8_t { VertexInputRate::Vertex , VertexInputRate::Instance }
 Defines the rates for advancing vertex attributes. More...
 
enum class  VertexInputStateHandle : uint16_t { VertexInputStateHandle::Default , VertexInputStateHandle::Invalid }
 Raw handle for vertex input state objects. More...
 
enum class  WaitResult { WaitResult::TimeoutExpired , WaitResult::Signaled , WaitResult::Failed }
 Defines the results of a wait operation. More...
 

Functions

template<typename T >
span< TallocateCommandBufferCommands (const CommandBufferHandleGuard &handle, uint32_t count)
 Allocates typed command buffer memory.
 
KANZI_GFX_API span< byte > allocateCommandBufferMemory (const CommandBufferHandleGuard &handle, uint32_t size)
 Allocates raw memory into a command buffer.
 
template<typename T >
constexpr T angle (const Vector< T, 2 > &v)
 
template<typename T >
constexpr Box< T, 2 > asBox2 (const Box< T, 3 > &b)
 
template<typename T , uint32_t TSize>
constexpr Vector< T, TSize+1 > asDirection (const Vector< T, TSize > &v)
 
template<typename T , uint32_t TSize>
constexpr Vector< T, TSize+1 > asPosition (const Vector< T, TSize > &v)
 
template<typename T , uint32_t TSize>
Vector< T, 2 > asV2 (const Vector< T, TSize > &v)
 
template<typename T , uint32_t TSize>
Vector< T, 3 > asV3 (const Vector< T, TSize > &v)
 
template<typename T >
Vector< T, 4 > asV4 (const Box< T, 2 > b)
 
template<typename T , uint32_t TSize>
constexpr const Tat (const Matrix< T, TSize > &m, uint32_t col, uint32_t row)
 
template<typename T , uint32_t TSize>
constexpr const Tat (const Matrix< T, TSize > &m, uint32_t i)
 
template<typename T , uint32_t TSize>
constexpr const Tat (const Vector< T, TSize > &m, uint32_t i)
 
template<typename T , uint32_t TSize>
constexpr Tat (Matrix< T, TSize > &m, uint32_t col, uint32_t row)
 
template<typename T , uint32_t TSize>
constexpr Tat (Matrix< T, TSize > &m, uint32_t i)
 
template<typename T , uint32_t TSize>
constexpr Tat (Vector< T, TSize > &m, uint32_t i)
 
constexpr v2u32 calculateDimensionsForMip (v2u32 dims, uint8_t mip)
 Calculates the dimensions of a 2-dimensional mip level.
 
constexpr v3u32 calculateDimensionsForMip (v3u32 dims, uint8_t mip)
 Calculates the dimensions of a 3-dimensional mip level.
 
template<typename T , uint32_t TSize>
constexpr Vector< T, TSizecenter (const Box< T, TSize > &b)
 
template<typename T1 , typename T2 , uint32_t TSize>
Vector< T1, TSizeconvertType (const Vector< T2, TSize > &v)
 
KANZI_GFX_API HandleGuard< BlendStateHandlecreate (const BlendStateCreateInfo &info)
 Creates a blend state graphics object.
 
KANZI_GFX_API HandleGuard< BufferHandlecreate (const BufferCreateInfo &info)
 Creates a buffer graphics object.
 
KANZI_GFX_API HandleGuard< CommandBufferHandlecreate (const CommandBufferCreateInfo &info)
 Creates a command buffer graphics object.
 
KANZI_GFX_API HandleGuard< ComputePipelineHandlecreate (const ComputePipelineCreateInfo &info)
 Creates a compute pipeline graphics object.
 
KANZI_GFX_API HandleGuard< ComputeResourceSetHandlecreate (const ComputeResourceSetCreateInfo &info)
 Creates a compute resource set graphics object.
 
KANZI_GFX_API HandleGuard< DepthStencilStateHandlecreate (const DepthStencilStateCreateInfo &info)
 Creates a depth stencil state graphics object.
 
KANZI_GFX_API HandleGuard< FrameBufferHandlecreate (const FrameBufferCreateInfo &info)
 Creates a frame buffer graphics object.
 
KANZI_GFX_API HandleGuard< GpuFenceHandlecreate (const GpuFenceCreateInfo &info)
 Creates a GPU fence graphics object.
 
KANZI_GFX_API HandleGuard< ImageHandlecreate (const ImageCreateInfo &info)
 Creates an image graphics object.
 
KANZI_GFX_API HandleGuard< RasterStateHandlecreate (const RasterStateCreateInfo &info)
 Creates a raster state graphics object.
 
KANZI_GFX_API HandleGuard< RenderPassHandlecreate (const RenderPassCreateInfo &info)
 Creates a render pass graphics object.
 
KANZI_GFX_API HandleGuard< RenderPipelineHandlecreate (const RenderPipelineCreateInfo &info)
 Creates a render pipeline graphics object.
 
KANZI_GFX_API HandleGuard< RenderResourceSetHandlecreate (const RenderResourceSetCreateInfo &info)
 Creates a render resource set graphics object.
 
KANZI_GFX_API HandleGuard< SamplerHandlecreate (const SamplerCreateInfo &info)
 Creates a sampler graphics object.
 
KANZI_GFX_API HandleGuard< ShaderHandlecreate (const ShaderCreateInfo &info)
 Creates a shader graphics object.
 
KANZI_GFX_API HandleGuard< VertexInputStateHandlecreate (const VertexInputStateCreateInfo &info)
 Creates a vertex input state graphics object.
 
template<typename T , uint32_t TSize>
constexpr Box< T, TSizecreateBox (const Vector< T, TSize > &min, const Vector< T, TSize > &size)
 
template<typename T >
constexpr Matrix< T, 4 > createLeftHandedLookAt (const Vector< T, 3 > &eye, const Vector< T, 3 > &target)
 
template<typename T >
constexpr Matrix< T, 4 > createLeftHandedLookAt (const Vector< T, 3 > &eye, const Vector< T, 3 > &target, const Vector< T, 3 > &up)
 
template<typename T >
constexpr Matrix< T, 4 > createLeftHandedLookAt (const Vector< T, 4 > &eye, const Vector< T, 4 > &target, const Vector< T, 4 > &up)
 
template<typename T >
constexpr Matrix< T, 4 > createLeftHandedLookAtView (const Vector< T, 3 > &eye, const Vector< T, 3 > &target)
 
template<typename T >
constexpr Matrix< T, 4 > createLeftHandedLookAtView (const Vector< T, 3 > &eye, const Vector< T, 3 > &target, const Vector< T, 3 > &up)
 
template<typename T >
constexpr Matrix< T, 4 > createLeftHandedProjection (T fov, T aspectRatio, T near, T far)
 
KANZI_GFX_API shared_ptr< AbstractBackendcreateOpenGLBackend (const OpenGLInitializationInfo &info)
 Creates an OpenGL 4.x and OpenGLES 3.x compatible backend for the graphics library.
 
template<typename T >
constexpr Matrix< T, 4 > createRightHandedLookAt (const Vector< T, 3 > &eye, const Vector< T, 3 > &target)
 
template<typename T >
constexpr Matrix< T, 4 > createRightHandedLookAt (const Vector< T, 3 > &eye, const Vector< T, 3 > &target, const Vector< T, 3 > &up)
 
template<typename T >
constexpr Matrix< T, 4 > createRightHandedLookAt (const Vector< T, 4 > &eye, const Vector< T, 4 > &target, const Vector< T, 4 > &up)
 
template<typename T >
constexpr Matrix< T, 4 > createRightHandedLookAtView (const Vector< T, 3 > &eye, const Vector< T, 3 > &target)
 
template<typename T >
constexpr Matrix< T, 4 > createRightHandedLookAtView (const Vector< T, 3 > &eye, const Vector< T, 3 > &target, const Vector< T, 3 > &up)
 
template<typename T >
constexpr Matrix< T, 4 > createRightHandedProjection (T fov, T aspectRatio, T near, T far)
 
template<typename T >
constexpr Matrix< T, 4 > createRightHandedProjection (T left, T right, T bottom, T top, T near, T far)
 
template<typename T >
constexpr Matrix< T, 3 > createRotation (T angle)
 
template<typename T >
constexpr Matrix< T, 4 > createRotation (T angle, Vector< T, 3 > axis)
 
template<typename T , uint32_t TSize>
constexpr Matrix< T, TSizecreateScale (const Vector< T, TSize > &s)
 
KANZI_GFX_API shared_ptr< BackendLayercreateStatisticsLayer ()
 Constructs a statistics layer for the Kanzi graphics library.
 
KANZI_GFX_API shared_ptr< BackendLayercreateValidationLayer ()
 Constructs a validation layer for the Kanzi graphics library.
 
template<typename T , uint32_t TSize>
constexpr Vector< T, TSizecreateVector (const T &fill)
 
KANZI_GFX_API shared_ptr< AbstractBackendcreateVulkanBackend (VulkanInitializationInfo &&info)
 Creates a Vulkan 1.1 compatible backend for the graphics library.
 
template<typename T >
constexpr Vector< T, 3 > cross (const Vector< T, 3 > &a, const Vector< T, 3 > &b)
 
template<typename T >
constexpr Vector< T, 4 > cross (const Vector< T, 4 > &a, const Vector< T, 4 > &b)
 
template<typename T , uint32_t TSize>
constexpr T depth (const Box< T, TSize > &b)
 
template<typename T >
constexpr T determinant (const Matrix< T, 2 > &m)
 
template<typename T >
constexpr T determinant (const Vector< T, 2 > &v0, const Vector< T, 2 > &v1)
 
template<typename T , uint32_t TSize>
constexpr Vector< T, TSizedimensions (const Box< T, TSize > &b)
 
template<typename T , uint32_t TSize>
constexpr T distance (const Vector< T, TSize > &v1, const Vector< T, TSize > &v2)
 
template<typename T , uint32_t TSize>
constexpr T distanceSquared (const Vector< T, TSize > &v1, const Vector< T, TSize > &v2)
 
template<typename T , uint32_t TSize>
Vector< T, TSizedivideUp (const Vector< T, TSize > &v, const Vector< T, TSize > &d)
 
template<typename T >
T divideUp (T count, T division)
 
template<typename T , uint32_t TSize>
constexpr T dot (const Vector< T, TSize > &v1, const Vector< T, TSize > &v2)
 
template<typename T , uint32_t TSize>
constexpr Box< T, TSizeensureNonNegativeSize (const Box< T, TSize > &inputBox)
 Converts a box to have a nonnegative size.
 
template<typename T >
constexpr T extractRotation (const Matrix< T, 3 > &rot)
 
template<typename T >
constexpr Vector< T, 2 > extractScale (const Matrix< T, 3 > scale)
 
template<typename T , uint32_t TSize>
constexpr Vector< T, TSize - 1 > extractTranslation (const Matrix< T, TSize > translation)
 
KANZI_GFX_API ChannelType formatToChannelType (Format format)
 Gets the channel encoding type for a graphics format.
 
KANZI_GFX_API BackendInformation getBackendInformation ()
 Gets information about the current backend.
 
KANZI_GFX_API v2u8 getBlockSize (Format format)
 Gets the block size in pixels of a compressed format.
 
KANZI_GFX_API uint32_t getBlockStride (Format format)
 Gets the block stride in bytes for a compressed graphics format.
 
KANZI_GFX_API uint32_t getChannelCount (Format format)
 Gets the number of color and alpha channels in a graphics format.
 
KANZI_GFX_API v4u8 getColorBits (Format format)
 Gets the number of bits used to represent each color and alpha channel.
 
template<typename T , uint32_t TSize>
constexpr Vector< T, TSizegetColumn (const Matrix< T, TSize > &m, uint32_t row)
 
KANZI_GFX_API v2u8 getDepthStencilBits (Format format)
 Gets the number of bits used to represent each depth and stencil channel.
 
KANZI_GFX_API uint32_t getDeviceProperty (DevicePropertyId property)
 Gets the value of a property for the current device.
 
uint8_t getFaceCount (gfx::ImageType type)
 Gets the face count for a given resource type.
 
KANZI_GFX_API AspectMask getFormatAspects (Format format)
 Gets the aspect mask for a given graphics format.
 
KANZI_GFX_API FormatFeatureFlag getFormatFeatures (Format format)
 Gets device feature flags for a format for the current backend and device.
 
KANZI_GFX_API AttachmentDescriptionSet getFrameBufferAttachmentDescriptionSet (const FrameBufferHandleGuard &handle)
 Gets a default frame buffer attachment description set that is compatible with a frame buffer.
 
KANZI_GFX_API size_t getImageSize (Format format, v3u32 dimensions)
 Gets the size in bytes of an image with the specified format and dimensions.
 
uint32_t getIndexBufferStride (IndexBufferType type)
 Gets the stride in bytes of an index buffer type.
 
KANZI_GFX_API uint32_t getPixelStride (Format format)
 Gets the pixel stride in bytes for an uncompressed graphics format.
 
template<typename T , uint32_t TSize>
constexpr Vector< T, TSizegetRow (const Matrix< T, TSize > &m, uint32_t col)
 
constexpr ShaderFormatFamily getShaderFormatFamily (ShaderFormat format)
 Gets the Shader format family for a given shader format.
 
KANZI_GFX_API ObjectStatus getStatus (const RenderPipelineHandleGuard &handle)
 Gets the status of a render pipeline graphics object.
 
KANZI_GFX_API ObjectStatus getStatus (const ShaderHandleGuard &handle)
 Gets the status of a shader graphics object.
 
KANZI_GFX_API platform::SurfaceBits getSurfaceBitsFromFormat (Format color, Format depthStencil=Format::None)
 Converts a color and depth stencil Format into a SurfaceBits structure.
 
template<typename T , uint32_t TSize>
constexpr void grow (Box< T, TSize > &box, const Box< T, TSize > &otherBox)
 
template<typename T , uint32_t TSize>
constexpr void grow (Box< T, TSize > &box, const Vector< T, TSize > &point)
 
template<typename T , uint32_t TSize>
constexpr T height (const Box< T, TSize > &b)
 
KANZI_GFX_API bool initialize (const InitializationInfo &info)
 Initializes the Kanzi graphics library.
 
template<typename T , uint32_t TSize>
constexpr optional< Box< T, TSize > > intersection (const Box< T, TSize > &a, const Box< T, TSize > &b)
 Creates an intersection of two boxes.
 
template<typename T , uint32_t TSize>
constexpr bool intersects (const Box< T, TSize > &b1, const Box< T, TSize > &b2)
 
template<typename T , uint32_t TSize>
constexpr bool intersects (const Box< T, TSize > &b1, const Vector< T, TSize > &b2)
 
template<typename T >
constexpr Matrix< T, 4 > inverse (const Matrix< T, 4 > &m)
 
template<typename T >
constexpr Vector< T, 4 > inverse (const Vector< T, 4 > &src)
 
template<typename T , uint32_t TSize>
constexpr Vector< T, TSizeinverse (const Vector< T, TSize > &src)
 
KANZI_GFX_API bool isAlpha (Format format)
 Returns whether a graphics format contains an alpha channel.
 
KANZI_GFX_API bool isAstcHdrCompressed (Format format)
 Returns whether a graphics format is ASTC HDR compressed.
 
KANZI_GFX_API bool isColor (Format format)
 Returns whether a graphics format contains a color channel.
 
KANZI_GFX_API bool isCompressed (Format format)
 Returns whether a graphics format is compressed.
 
KANZI_GFX_API bool isDepth (Format format)
 Returns whether a graphics format contains a depth channel.
 
KANZI_GFX_API bool isFeatureEnabled (FeatureId feature)
 Returns whether a graphics feature is supported by the current backend and device.
 
KANZI_GFX_API bool isInitialized ()
 Returns whether the graphics library is initialized.
 
template<typename T , uint32_t TSize>
constexpr bool isInverted (const Box< T, TSize > &b)
 
KANZI_GFX_API bool isNativeTextureHandleTypeSupported (const gfx::NativeTextureHandle &handle)
 Returns whether a native handle type for texture is supported by the current backend.
 
KANZI_GFX_API bool isShaderFormatSupported (ShaderFormat format)
 Returns whether a shader format is supported by the current backend and device.
 
KANZI_GFX_API bool isSRGBEncoded (Format format)
 Returns whether the color channels of a graphics format are sRGB-encoded.
 
KANZI_GFX_API bool isStencil (Format format)
 Returns whether a graphics format contains a stencil channel.
 
template<typename T , uint32_t TSize>
constexpr T magnitude (const Vector< T, TSize > &v)
 
template<typename T , uint32_t TSize>
constexpr T magnitudeSquared (const Vector< T, TSize > &v)
 
KANZI_GFX_API span< byte > mapBuffer (const BufferHandleGuard &handle, uint32_t offset=0, uint32_t size=limits::MaxBufferSize)
 Maps buffer memory into CPU-addressable memory for reading or writing.
 
template<typename T , uint32_t TSize>
constexpr Box< T, TSizemax (const Box< T, TSize > &a, const Box< T, TSize > &b)
 
template<typename T , uint32_t TSize>
constexpr Vector< T, TSizemax (const Vector< T, TSize > &a, const Vector< T, TSize > &b)
 
template<typename T , uint32_t TSize>
constexpr Vector< T, TSizemax (const Vector< T, TSize > &a, T b)
 
template<typename T , uint32_t TSize>
constexpr Box< T, TSizemin (const Box< T, TSize > &a, const Box< T, TSize > &b)
 
template<typename T , uint32_t TSize>
constexpr Vector< T, TSizemin (const Vector< T, TSize > &a, const Vector< T, TSize > &b)
 
template<typename T , uint32_t TSize>
constexpr Vector< T, TSizemin (const Vector< T, TSize > &a, T b)
 
template<typename T , uint32_t TSize>
constexpr Vector< T, TSizenormalize (const Vector< T, TSize > &v)
 
template<typename T , uint32_t TSize>
bool operator!= (const Box< T, TSize > &lhs, const Box< T, TSize > &rhs)
 
template<typename T_Handle >
bool operator!= (const HandleGuard< T_Handle > &lhs, const HandleGuard< T_Handle > &rhs)
 Handle non-equality operator.
 
template<typename T_Handle >
bool operator!= (const HandleGuard< T_Handle > &lhs, const T_Handle &rhs)
 Handle non-equality operator.
 
constexpr bool operator!= (const ImageSubresource &lhs, const ImageSubresource &rhs)
 Not equal operator for ImageSubresource.
 
template<typename T , uint32_t TSize>
bool operator!= (const Vector< T, TSize > &lhs, const Vector< T, TSize > &rhs)
 
template<typename T , uint32_t TSize>
constexpr Matrix< T, TSizeoperator* (const Matrix< T, TSize > &lhs, const Matrix< T, TSize > &rhs)
 
template<typename T , uint32_t TSize>
constexpr Vector< T, TSizeoperator* (const T &lhs, const Vector< T, TSize > &rhs)
 
template<typename T , uint32_t TSize>
constexpr Vector< T, TSizeoperator* (const Vector< T, TSize > &lhs, const T &rhs)
 
template<typename T , uint32_t TSize>
constexpr Vector< T, TSizeoperator* (const Vector< T, TSize > &lhs, const Vector< T, TSize > &rhs)
 
template<typename T , uint32_t TSize>
constexpr Matrix< T, TSizeoperator* (Matrix< T, TSize > mat, T scalar)
 
template<typename T , uint32_t TSize>
constexpr Matrix< T, TSize > & operator*= (Matrix< T, TSize > &mat, T scalar)
 
template<typename T , uint32_t TSize>
constexpr Matrix< T, TSizeoperator*= (Matrix< T, TSize > lhs, const Matrix< T, TSize > &rhs)
 
template<typename T , uint32_t TSize>
constexpr Vector< T, TSize > & operator*= (Vector< T, TSize > &lhs, const T &rhs)
 
template<typename T , uint32_t TSize>
constexpr Vector< T, TSize > & operator*= (Vector< T, TSize > &lhs, const Vector< T, TSize > &rhs)
 
template<typename T , uint32_t TSize>
constexpr Box< T, TSizeoperator+ (const Box< T, TSize > &b, const Vector< T, TSize > &v)
 
template<typename T , uint32_t TSize>
constexpr Box< T, TSizeoperator+ (const Box< T, TSize > &b1, const Box< T, TSize > &b2)
 
template<typename T , uint32_t TSize>
constexpr Vector< T, TSizeoperator+ (const T &lhs, const Vector< T, TSize > &rhs)
 
template<typename T , uint32_t TSize>
constexpr Vector< T, TSizeoperator+ (const Vector< T, TSize > &lhs, const T &rhs)
 
template<typename T , uint32_t TSize>
constexpr Vector< T, TSizeoperator+ (const Vector< T, TSize > &lhs, const Vector< T, TSize > &rhs)
 
template<typename T , uint32_t TSize>
constexpr Box< T, TSize > & operator+= (Box< T, TSize > &b, const Vector< T, TSize > &v)
 
template<typename T , uint32_t TSize>
constexpr Box< T, TSize > & operator+= (Box< T, TSize > &b1, const Box< T, TSize > &b2)
 
template<typename T , uint32_t TSize>
constexpr Vector< T, TSize > & operator+= (Vector< T, TSize > &lhs, const T &rhs)
 
template<typename T , uint32_t TSize>
constexpr Vector< T, TSize > & operator+= (Vector< T, TSize > &lhs, const Vector< T, TSize > &rhs)
 
template<typename T , uint32_t TSize>
constexpr Box< T, TSizeoperator- (const Box< T, TSize > &b, const Vector< T, TSize > &v)
 
template<typename T , uint32_t TSize>
constexpr Box< T, TSizeoperator- (const Box< T, TSize > &b1, const Box< T, TSize > &b2)
 
template<typename T , uint32_t TSize>
constexpr Vector< T, TSizeoperator- (const T &lhs, const Vector< T, TSize > &rhs)
 
template<typename T , uint32_t TSize>
constexpr Vector< T, TSizeoperator- (const Vector< T, TSize > &lhs, const T &rhs)
 
template<typename T , uint32_t TSize>
constexpr Vector< T, TSizeoperator- (const Vector< T, TSize > &lhs, const Vector< T, TSize > &rhs)
 
template<typename T , uint32_t TSize>
constexpr Box< T, TSize > & operator-= (Box< T, TSize > &b, const Vector< T, TSize > &v)
 
template<typename T , uint32_t TSize>
constexpr Box< T, TSize > & operator-= (Box< T, TSize > &b1, const Box< T, TSize > &b2)
 
template<typename T , uint32_t TSize>
constexpr Vector< T, TSize > & operator-= (Vector< T, TSize > &lhs, const T &rhs)
 
template<typename T , uint32_t TSize>
constexpr Vector< T, TSize > & operator-= (Vector< T, TSize > &lhs, const Vector< T, TSize > &rhs)
 
template<typename T , uint32_t TSize>
constexpr Vector< T, TSizeoperator/ (const T &lhs, const Vector< T, TSize > &rhs)
 
template<typename T , uint32_t TSize>
constexpr Vector< T, TSizeoperator/ (const Vector< T, TSize > &lhs, const T &rhs)
 
template<typename T , uint32_t TSize>
constexpr Vector< T, TSizeoperator/ (const Vector< T, TSize > &lhs, const Vector< T, TSize > &rhs)
 
template<typename T , uint32_t TSize>
constexpr Vector< T, TSize > & operator/= (Vector< T, TSize > &lhs, const T &rhs)
 
template<typename T , uint32_t TSize>
constexpr Vector< T, TSize > & operator/= (Vector< T, TSize > &lhs, const Vector< T, TSize > &rhs)
 
template<typename T , uint32_t TSize, typename enable_if< is_integral< T >::value, int >::type = 0>
constexpr Vector< T, TSizeoperator<< (const Vector< T, TSize > &lhs, size_t shift)
 
template<typename T , uint32_t TSize, typename enable_if< is_integral< T >::value, int >::type = 0>
constexpr Vector< T, TSize > & operator<<= (Vector< T, TSize > &lhs, size_t shift)
 
template<typename T , uint32_t TSize>
bool operator== (const Box< T, TSize > &lhs, const Box< T, TSize > &rhs)
 
bool operator== (const gfx::NativeTextureHandle &lhs, const gfx::NativeTextureHandle &rhs)
 
template<typename T_Handle >
bool operator== (const HandleGuard< T_Handle > &lhs, const HandleGuard< T_Handle > &rhs)
 Handle equality operator.
 
template<typename T_Handle >
bool operator== (const HandleGuard< T_Handle > &lhs, const T_Handle &rhs)
 Handle equality operator.
 
constexpr bool operator== (const ImageSubresource &lhs, const ImageSubresource &rhs)
 Equality operator for ImageSubresource.
 
template<typename T , uint32_t TSize>
constexpr bool operator== (const Vector< T, TSize > &lhs, const Vector< T, TSize > &rhs)
 
template<typename T , uint32_t TSize, typename enable_if< is_integral< T >::value, int >::type = 0>
constexpr Vector< T, TSizeoperator>> (const Vector< T, TSize > &lhs, size_t shift)
 
template<typename T , uint32_t TSize, typename enable_if< is_integral< T >::value, int >::type = 0>
constexpr Vector< T, TSize > & operator>>= (Vector< T, TSize > &lhs, size_t shift)
 
KANZI_GFX_API string outputCommandBuffer (DebugInformation &debugInformation, const CommandBufferHandleGuard &commandBuffer)
 Outputs the contents of a command buffer into a string.
 
KANZI_GFX_API span< const byte > peekCommandBufferMemory (const CommandBufferHandleGuard &handle)
 Peeks at the currently allocated memory inside a command buffer.
 
KANZI_GFX_API void processCommands (CommandBufferHandleGuard commands, TaskFn callback={})
 Notifies the backend to start processing the commands within a command buffer.
 
template<typename T , uint32_t TSize>
constexpr T productElements (const Vector< T, TSize > &v1)
 
KANZI_GFX_API void resetGpuFence (const GpuFenceHandleGuard &handle)
 Resets the state of a GPU fence so that it can be used again.
 
template<typename T >
constexpr Vector< T, 2 > rotate (const Vector< T, 2 > &p, T a)
 
template<typename T , uint32_t TSize>
constexpr Matrix< T, TSizescale (const Matrix< T, TSize > &mat, const Vector< T, TSize > &v)
 
KANZI_GFX_API void shutdown ()
 Shuts down the graphics library.
 
template<typename T , uint32_t TSize>
constexpr T sumElements (const Vector< T, TSize > &v1)
 
KANZI_GFX_API FixedString toFixedString (FilterMode filter)
 Gets a string representation of a filter mode.
 
KANZI_GFX_API string toString (DevicePropertyId propertyId)
 Gets the device property identifier as a string.
 
KANZI_GFX_API string toString (FeatureId feature)
 Gets the Feature identifier as a string.
 
KANZI_GFX_API string toString (ShaderFormat format)
 Gets the shader format as a string.
 
KANZI_GFX_API string toString (ShaderStage stage)
 Gets the shader stage as a string.
 
template<typename T , uint32_t TSize>
constexpr Vector< T, TSizetransform (const Vector< T, TSize > &v, const Matrix< T, TSize > &mat)
 
template<typename T , uint32_t TSize>
constexpr Vector< T, TSizetransformDirection (const Vector< T, TSize > &v, const Matrix< T, TSize+1 > &mat)
 
template<typename T , uint32_t TSize>
constexpr Vector< T, TSizetransformPosition (const Vector< T, TSize > &v, const Matrix< T, TSize+1 > &mat)
 
template<typename T , uint32_t TSize, uint32_t TNewSize = TSize - 1>
constexpr Vector< T, TNewSizetruncate (const Vector< T, TSize > &v)
 
Format tryGetDepthStencilFromSurfaceBits (const platform::SurfaceBits &properties)
 Matches a SurfaceBits structure to a depth stencil graphics format.
 
Format tryGetFormatFromSurfaceBits (const platform::SurfaceBits &properties)
 Matches a SurfaceBits structure to a graphics format.
 
KANZI_GFX_API void unmapBuffer (const BufferHandleGuard &handle)
 Unmaps buffer memory from CPU-addressable memory.
 
KANZI_GFX_API void unmapBuffer (const BufferHandleGuard &handle, span< ByteRange > updatedRanges)
 Unmaps buffer memory from CPU-addressable memory.
 
KANZI_GFX_API void updateSurfaceDimensions (const FrameBufferHandleGuard &handle, v2u32 dimensions)
 Updates the dimensions for a frame buffer that was created as an on-screen surface.
 
template<typename T_Func >
void visitCommands (const span< const byte > &commandMemory, T_Func &&func)
 Traverses the command memory.
 
KANZI_GFX_API WaitResult waitForGpuFence (const GpuFenceHandleGuard &handle, chrono::nanoseconds timeout)
 Blocks the current thread until the GPU fence has been signaled or the timeout occurs.
 
template<typename T , uint32_t TSize>
constexpr T width (const Box< T, TSize > &b)
 

Variables

struct kanzi::gfx::DefaultHandleGuardT DefaultHandleGuard
 
struct kanzi::gfx::InvalidHandleGuardT InvalidHandleGuard
 
struct kanzi::gfx::MaxBoxT MaxBox
 
struct kanzi::gfx::MaxVectorT MaxVector
 

Typedef Documentation

◆ v2f

◆ v3f

◆ v4f

◆ v2u8

◆ v3u8

◆ v4u8

◆ v2u16

◆ v3u16

◆ v4u16

◆ v2u32

◆ v3u32

◆ v4u32

◆ v2s8

◆ v3s8

◆ v4s8

◆ v2s16

◆ v3s16

◆ v4s16

◆ v2s32

◆ v3s32

◆ v4s32

◆ m2f

◆ m3f

◆ m4f

◆ rects32

◆ box3u32

Enumeration Type Documentation

◆ NativeTextureHandleType

Defines the image native handle types.

Since
Kanzi 4.0.0
Enumerator
NotSet 

No set.

OpenGL 

OpenGL Texture Handle.

AHardwareBuffer 

Android Hardware Buffer.

Function Documentation

◆ operator==() [1/3]

template<typename T , uint32_t TSize>
constexpr bool kanzi::gfx::operator== ( const Vector< T, TSize > & lhs,
const Vector< T, TSize > & rhs )
constexpr

◆ operator!=() [1/2]

template<typename T , uint32_t TSize>
bool kanzi::gfx::operator!= ( const Vector< T, TSize > & lhs,
const Vector< T, TSize > & rhs )

◆ createVector()

template<typename T , uint32_t TSize>
constexpr Vector< T, TSize > kanzi::gfx::createVector ( const T & fill)
constexpr

◆ asPosition()

template<typename T , uint32_t TSize>
constexpr Vector< T, TSize+1 > kanzi::gfx::asPosition ( const Vector< T, TSize > & v)
constexpr

◆ asDirection()

template<typename T , uint32_t TSize>
constexpr Vector< T, TSize+1 > kanzi::gfx::asDirection ( const Vector< T, TSize > & v)
constexpr

◆ truncate()

template<typename T , uint32_t TSize, uint32_t TNewSize = TSize - 1>
constexpr Vector< T, TNewSize > kanzi::gfx::truncate ( const Vector< T, TSize > & v)
constexpr

◆ asV2()

template<typename T , uint32_t TSize>
Vector< T, 2 > kanzi::gfx::asV2 ( const Vector< T, TSize > & v)

◆ asV3()

template<typename T , uint32_t TSize>
Vector< T, 3 > kanzi::gfx::asV3 ( const Vector< T, TSize > & v)

◆ divideUp() [1/2]

template<typename T >
T kanzi::gfx::divideUp ( T count,
T division )
inline

◆ divideUp() [2/2]

template<typename T , uint32_t TSize>
Vector< T, TSize > kanzi::gfx::divideUp ( const Vector< T, TSize > & v,
const Vector< T, TSize > & d )

◆ convertType()

template<typename T1 , typename T2 , uint32_t TSize>
Vector< T1, TSize > kanzi::gfx::convertType ( const Vector< T2, TSize > & v)

◆ at() [1/6]

template<typename T , uint32_t TSize>
constexpr T & kanzi::gfx::at ( Vector< T, TSize > & m,
uint32_t i )
constexpr

◆ at() [2/6]

template<typename T , uint32_t TSize>
constexpr const T & kanzi::gfx::at ( const Vector< T, TSize > & m,
uint32_t i )
constexpr

◆ sumElements()

template<typename T , uint32_t TSize>
constexpr T kanzi::gfx::sumElements ( const Vector< T, TSize > & v1)
constexpr

◆ productElements()

template<typename T , uint32_t TSize>
constexpr T kanzi::gfx::productElements ( const Vector< T, TSize > & v1)
constexpr

◆ dot()

template<typename T , uint32_t TSize>
constexpr T kanzi::gfx::dot ( const Vector< T, TSize > & v1,
const Vector< T, TSize > & v2 )
constexpr

◆ magnitudeSquared()

template<typename T , uint32_t TSize>
constexpr T kanzi::gfx::magnitudeSquared ( const Vector< T, TSize > & v)
constexpr

◆ magnitude()

template<typename T , uint32_t TSize>
constexpr T kanzi::gfx::magnitude ( const Vector< T, TSize > & v)
constexpr

◆ distance()

template<typename T , uint32_t TSize>
constexpr T kanzi::gfx::distance ( const Vector< T, TSize > & v1,
const Vector< T, TSize > & v2 )
constexpr

◆ distanceSquared()

template<typename T , uint32_t TSize>
constexpr T kanzi::gfx::distanceSquared ( const Vector< T, TSize > & v1,
const Vector< T, TSize > & v2 )
constexpr

◆ normalize()

template<typename T , uint32_t TSize>
constexpr Vector< T, TSize > kanzi::gfx::normalize ( const Vector< T, TSize > & v)
constexpr

◆ cross() [1/2]

template<typename T >
constexpr Vector< T, 3 > kanzi::gfx::cross ( const Vector< T, 3 > & a,
const Vector< T, 3 > & b )
constexpr

◆ cross() [2/2]

template<typename T >
constexpr Vector< T, 4 > kanzi::gfx::cross ( const Vector< T, 4 > & a,
const Vector< T, 4 > & b )
constexpr

◆ operator+() [1/5]

template<typename T , uint32_t TSize>
constexpr Vector< T, TSize > kanzi::gfx::operator+ ( const Vector< T, TSize > & lhs,
const Vector< T, TSize > & rhs )
constexpr

◆ operator+() [2/5]

template<typename T , uint32_t TSize>
constexpr Vector< T, TSize > kanzi::gfx::operator+ ( const Vector< T, TSize > & lhs,
const T & rhs )
constexpr

◆ operator+() [3/5]

template<typename T , uint32_t TSize>
constexpr Vector< T, TSize > kanzi::gfx::operator+ ( const T & lhs,
const Vector< T, TSize > & rhs )
constexpr

◆ operator+=() [1/4]

template<typename T , uint32_t TSize>
constexpr Vector< T, TSize > & kanzi::gfx::operator+= ( Vector< T, TSize > & lhs,
const Vector< T, TSize > & rhs )
constexpr

◆ operator+=() [2/4]

template<typename T , uint32_t TSize>
constexpr Vector< T, TSize > & kanzi::gfx::operator+= ( Vector< T, TSize > & lhs,
const T & rhs )
constexpr

◆ operator*() [1/5]

template<typename T , uint32_t TSize>
constexpr Vector< T, TSize > kanzi::gfx::operator* ( const Vector< T, TSize > & lhs,
const Vector< T, TSize > & rhs )
constexpr

◆ operator*() [2/5]

template<typename T , uint32_t TSize>
constexpr Vector< T, TSize > kanzi::gfx::operator* ( const Vector< T, TSize > & lhs,
const T & rhs )
constexpr

◆ operator*() [3/5]

template<typename T , uint32_t TSize>
constexpr Vector< T, TSize > kanzi::gfx::operator* ( const T & lhs,
const Vector< T, TSize > & rhs )
constexpr

◆ operator*=() [1/4]

template<typename T , uint32_t TSize>
constexpr Vector< T, TSize > & kanzi::gfx::operator*= ( Vector< T, TSize > & lhs,
const Vector< T, TSize > & rhs )
constexpr

◆ operator*=() [2/4]

template<typename T , uint32_t TSize>
constexpr Vector< T, TSize > & kanzi::gfx::operator*= ( Vector< T, TSize > & lhs,
const T & rhs )
constexpr

◆ operator-() [1/5]

template<typename T , uint32_t TSize>
constexpr Vector< T, TSize > kanzi::gfx::operator- ( const Vector< T, TSize > & lhs,
const Vector< T, TSize > & rhs )
constexpr

◆ operator-() [2/5]

template<typename T , uint32_t TSize>
constexpr Vector< T, TSize > kanzi::gfx::operator- ( const Vector< T, TSize > & lhs,
const T & rhs )
constexpr

◆ operator-() [3/5]

template<typename T , uint32_t TSize>
constexpr Vector< T, TSize > kanzi::gfx::operator- ( const T & lhs,
const Vector< T, TSize > & rhs )
constexpr

◆ operator-=() [1/4]

template<typename T , uint32_t TSize>
constexpr Vector< T, TSize > & kanzi::gfx::operator-= ( Vector< T, TSize > & lhs,
const Vector< T, TSize > & rhs )
constexpr

◆ operator-=() [2/4]

template<typename T , uint32_t TSize>
constexpr Vector< T, TSize > & kanzi::gfx::operator-= ( Vector< T, TSize > & lhs,
const T & rhs )
constexpr

◆ operator/() [1/3]

template<typename T , uint32_t TSize>
constexpr Vector< T, TSize > kanzi::gfx::operator/ ( const Vector< T, TSize > & lhs,
const Vector< T, TSize > & rhs )
constexpr

◆ operator/() [2/3]

template<typename T , uint32_t TSize>
constexpr Vector< T, TSize > kanzi::gfx::operator/ ( const Vector< T, TSize > & lhs,
const T & rhs )
constexpr

◆ operator/() [3/3]

template<typename T , uint32_t TSize>
constexpr Vector< T, TSize > kanzi::gfx::operator/ ( const T & lhs,
const Vector< T, TSize > & rhs )
constexpr

◆ operator/=() [1/2]

template<typename T , uint32_t TSize>
constexpr Vector< T, TSize > & kanzi::gfx::operator/= ( Vector< T, TSize > & lhs,
const Vector< T, TSize > & rhs )
constexpr

◆ operator/=() [2/2]

template<typename T , uint32_t TSize>
constexpr Vector< T, TSize > & kanzi::gfx::operator/= ( Vector< T, TSize > & lhs,
const T & rhs )
constexpr

◆ operator>>()

template<typename T , uint32_t TSize, typename enable_if< is_integral< T >::value, int >::type = 0>
constexpr Vector< T, TSize > kanzi::gfx::operator>> ( const Vector< T, TSize > & lhs,
size_t shift )
constexpr

◆ operator<<()

template<typename T , uint32_t TSize, typename enable_if< is_integral< T >::value, int >::type = 0>
constexpr Vector< T, TSize > kanzi::gfx::operator<< ( const Vector< T, TSize > & lhs,
size_t shift )
constexpr

◆ operator>>=()

template<typename T , uint32_t TSize, typename enable_if< is_integral< T >::value, int >::type = 0>
constexpr Vector< T, TSize > & kanzi::gfx::operator>>= ( Vector< T, TSize > & lhs,
size_t shift )
constexpr

◆ operator<<=()

template<typename T , uint32_t TSize, typename enable_if< is_integral< T >::value, int >::type = 0>
constexpr Vector< T, TSize > & kanzi::gfx::operator<<= ( Vector< T, TSize > & lhs,
size_t shift )
constexpr

◆ min() [1/3]

template<typename T , uint32_t TSize>
constexpr Vector< T, TSize > kanzi::gfx::min ( const Vector< T, TSize > & a,
const Vector< T, TSize > & b )
constexpr

◆ max() [1/3]

template<typename T , uint32_t TSize>
constexpr Vector< T, TSize > kanzi::gfx::max ( const Vector< T, TSize > & a,
const Vector< T, TSize > & b )
constexpr

◆ min() [2/3]

template<typename T , uint32_t TSize>
constexpr Vector< T, TSize > kanzi::gfx::min ( const Vector< T, TSize > & a,
T b )
constexpr

◆ max() [2/3]

template<typename T , uint32_t TSize>
constexpr Vector< T, TSize > kanzi::gfx::max ( const Vector< T, TSize > & a,
T b )
constexpr

◆ inverse() [1/3]

template<typename T , uint32_t TSize>
constexpr Vector< T, TSize > kanzi::gfx::inverse ( const Vector< T, TSize > & src)
constexpr

◆ inverse() [2/3]

template<typename T >
constexpr Vector< T, 4 > kanzi::gfx::inverse ( const Vector< T, 4 > & src)
constexpr

◆ determinant() [1/2]

template<typename T >
constexpr T kanzi::gfx::determinant ( const Vector< T, 2 > & v0,
const Vector< T, 2 > & v1 )
constexpr

◆ angle()

template<typename T >
constexpr T kanzi::gfx::angle ( const Vector< T, 2 > & v)
constexpr

◆ rotate()

template<typename T >
constexpr Vector< T, 2 > kanzi::gfx::rotate ( const Vector< T, 2 > & p,
T a )
constexpr

◆ getRow()

template<typename T , uint32_t TSize>
constexpr Vector< T, TSize > kanzi::gfx::getRow ( const Matrix< T, TSize > & m,
uint32_t col )
constexpr

◆ getColumn()

template<typename T , uint32_t TSize>
constexpr Vector< T, TSize > kanzi::gfx::getColumn ( const Matrix< T, TSize > & m,
uint32_t row )
constexpr

◆ at() [3/6]

template<typename T , uint32_t TSize>
constexpr T & kanzi::gfx::at ( Matrix< T, TSize > & m,
uint32_t col,
uint32_t row )
constexpr

◆ at() [4/6]

template<typename T , uint32_t TSize>
constexpr const T & kanzi::gfx::at ( const Matrix< T, TSize > & m,
uint32_t col,
uint32_t row )
constexpr

◆ at() [5/6]

template<typename T , uint32_t TSize>
constexpr T & kanzi::gfx::at ( Matrix< T, TSize > & m,
uint32_t i )
constexpr

◆ at() [6/6]

template<typename T , uint32_t TSize>
constexpr const T & kanzi::gfx::at ( const Matrix< T, TSize > & m,
uint32_t i )
constexpr

◆ operator*=() [3/4]

template<typename T , uint32_t TSize>
constexpr Matrix< T, TSize > & kanzi::gfx::operator*= ( Matrix< T, TSize > & mat,
T scalar )
constexpr

◆ operator*() [4/5]

template<typename T , uint32_t TSize>
constexpr Matrix< T, TSize > kanzi::gfx::operator* ( Matrix< T, TSize > mat,
T scalar )
constexpr

◆ operator*() [5/5]

template<typename T , uint32_t TSize>
constexpr Matrix< T, TSize > kanzi::gfx::operator* ( const Matrix< T, TSize > & lhs,
const Matrix< T, TSize > & rhs )
constexpr

◆ operator*=() [4/4]

template<typename T , uint32_t TSize>
constexpr Matrix< T, TSize > kanzi::gfx::operator*= ( Matrix< T, TSize > lhs,
const Matrix< T, TSize > & rhs )
constexpr

◆ scale()

template<typename T , uint32_t TSize>
constexpr Matrix< T, TSize > kanzi::gfx::scale ( const Matrix< T, TSize > & mat,
const Vector< T, TSize > & v )
constexpr

◆ transform()

template<typename T , uint32_t TSize>
constexpr Vector< T, TSize > kanzi::gfx::transform ( const Vector< T, TSize > & v,
const Matrix< T, TSize > & mat )
constexpr

◆ transformPosition()

template<typename T , uint32_t TSize>
constexpr Vector< T, TSize > kanzi::gfx::transformPosition ( const Vector< T, TSize > & v,
const Matrix< T, TSize+1 > & mat )
constexpr

◆ transformDirection()

template<typename T , uint32_t TSize>
constexpr Vector< T, TSize > kanzi::gfx::transformDirection ( const Vector< T, TSize > & v,
const Matrix< T, TSize+1 > & mat )
constexpr

◆ determinant() [2/2]

template<typename T >
constexpr T kanzi::gfx::determinant ( const Matrix< T, 2 > & m)
constexpr

◆ inverse() [3/3]

template<typename T >
constexpr Matrix< T, 4 > kanzi::gfx::inverse ( const Matrix< T, 4 > & m)
constexpr

◆ createLeftHandedProjection()

template<typename T >
constexpr Matrix< T, 4 > kanzi::gfx::createLeftHandedProjection ( T fov,
T aspectRatio,
T near,
T far )
constexpr

◆ createRightHandedProjection() [1/2]

template<typename T >
constexpr Matrix< T, 4 > kanzi::gfx::createRightHandedProjection ( T fov,
T aspectRatio,
T near,
T far )
constexpr

◆ createRightHandedProjection() [2/2]

template<typename T >
constexpr Matrix< T, 4 > kanzi::gfx::createRightHandedProjection ( T left,
T right,
T bottom,
T top,
T near,
T far )
constexpr

◆ createLeftHandedLookAt() [1/3]

template<typename T >
constexpr Matrix< T, 4 > kanzi::gfx::createLeftHandedLookAt ( const Vector< T, 4 > & eye,
const Vector< T, 4 > & target,
const Vector< T, 4 > & up )
constexpr

◆ createLeftHandedLookAtView() [1/2]

template<typename T >
constexpr Matrix< T, 4 > kanzi::gfx::createLeftHandedLookAtView ( const Vector< T, 3 > & eye,
const Vector< T, 3 > & target,
const Vector< T, 3 > & up )
constexpr

◆ createLeftHandedLookAtView() [2/2]

template<typename T >
constexpr Matrix< T, 4 > kanzi::gfx::createLeftHandedLookAtView ( const Vector< T, 3 > & eye,
const Vector< T, 3 > & target )
constexpr

◆ createLeftHandedLookAt() [2/3]

template<typename T >
constexpr Matrix< T, 4 > kanzi::gfx::createLeftHandedLookAt ( const Vector< T, 3 > & eye,
const Vector< T, 3 > & target,
const Vector< T, 3 > & up )
constexpr

◆ createLeftHandedLookAt() [3/3]

template<typename T >
constexpr Matrix< T, 4 > kanzi::gfx::createLeftHandedLookAt ( const Vector< T, 3 > & eye,
const Vector< T, 3 > & target )
constexpr

◆ createRightHandedLookAt() [1/3]

template<typename T >
constexpr Matrix< T, 4 > kanzi::gfx::createRightHandedLookAt ( const Vector< T, 4 > & eye,
const Vector< T, 4 > & target,
const Vector< T, 4 > & up )
constexpr

◆ createRightHandedLookAtView() [1/2]

template<typename T >
constexpr Matrix< T, 4 > kanzi::gfx::createRightHandedLookAtView ( const Vector< T, 3 > & eye,
const Vector< T, 3 > & target,
const Vector< T, 3 > & up )
constexpr

◆ createRightHandedLookAtView() [2/2]

template<typename T >
constexpr Matrix< T, 4 > kanzi::gfx::createRightHandedLookAtView ( const Vector< T, 3 > & eye,
const Vector< T, 3 > & target )
constexpr

◆ createRightHandedLookAt() [2/3]

template<typename T >
constexpr Matrix< T, 4 > kanzi::gfx::createRightHandedLookAt ( const Vector< T, 3 > & eye,
const Vector< T, 3 > & target,
const Vector< T, 3 > & up )
constexpr

◆ createRightHandedLookAt() [3/3]

template<typename T >
constexpr Matrix< T, 4 > kanzi::gfx::createRightHandedLookAt ( const Vector< T, 3 > & eye,
const Vector< T, 3 > & target )
constexpr

◆ createScale()

template<typename T , uint32_t TSize>
constexpr Matrix< T, TSize > kanzi::gfx::createScale ( const Vector< T, TSize > & s)
constexpr

◆ createRotation() [1/2]

template<typename T >
constexpr Matrix< T, 3 > kanzi::gfx::createRotation ( T angle)
constexpr

◆ extractRotation()

template<typename T >
constexpr T kanzi::gfx::extractRotation ( const Matrix< T, 3 > & rot)
constexpr

◆ extractScale()

template<typename T >
constexpr Vector< T, 2 > kanzi::gfx::extractScale ( const Matrix< T, 3 > scale)
constexpr

◆ extractTranslation()

template<typename T , uint32_t TSize>
constexpr Vector< T, TSize - 1 > kanzi::gfx::extractTranslation ( const Matrix< T, TSize > translation)
constexpr

◆ createRotation() [2/2]

template<typename T >
constexpr Matrix< T, 4 > kanzi::gfx::createRotation ( T angle,
Vector< T, 3 > axis )
constexpr

◆ operator==() [2/3]

template<typename T , uint32_t TSize>
bool kanzi::gfx::operator== ( const Box< T, TSize > & lhs,
const Box< T, TSize > & rhs )

◆ operator!=() [2/2]

template<typename T , uint32_t TSize>
bool kanzi::gfx::operator!= ( const Box< T, TSize > & lhs,
const Box< T, TSize > & rhs )

◆ asV4()

template<typename T >
Vector< T, 4 > kanzi::gfx::asV4 ( const Box< T, 2 > b)

◆ createBox()

template<typename T , uint32_t TSize>
constexpr Box< T, TSize > kanzi::gfx::createBox ( const Vector< T, TSize > & min,
const Vector< T, TSize > & size )
constexpr

◆ width()

template<typename T , uint32_t TSize>
constexpr T kanzi::gfx::width ( const Box< T, TSize > & b)
constexpr

◆ height()

template<typename T , uint32_t TSize>
constexpr T kanzi::gfx::height ( const Box< T, TSize > & b)
constexpr

◆ depth()

template<typename T , uint32_t TSize>
constexpr T kanzi::gfx::depth ( const Box< T, TSize > & b)
constexpr

◆ center()

template<typename T , uint32_t TSize>
constexpr Vector< T, TSize > kanzi::gfx::center ( const Box< T, TSize > & b)
constexpr

◆ dimensions()

template<typename T , uint32_t TSize>
constexpr Vector< T, TSize > kanzi::gfx::dimensions ( const Box< T, TSize > & b)
constexpr

◆ asBox2()

template<typename T >
constexpr Box< T, 2 > kanzi::gfx::asBox2 ( const Box< T, 3 > & b)
constexpr

◆ operator+() [4/5]

template<typename T , uint32_t TSize>
constexpr Box< T, TSize > kanzi::gfx::operator+ ( const Box< T, TSize > & b1,
const Box< T, TSize > & b2 )
constexpr

◆ operator+() [5/5]

template<typename T , uint32_t TSize>
constexpr Box< T, TSize > kanzi::gfx::operator+ ( const Box< T, TSize > & b,
const Vector< T, TSize > & v )
constexpr

◆ operator+=() [3/4]

template<typename T , uint32_t TSize>
constexpr Box< T, TSize > & kanzi::gfx::operator+= ( Box< T, TSize > & b1,
const Box< T, TSize > & b2 )
constexpr

◆ operator+=() [4/4]

template<typename T , uint32_t TSize>
constexpr Box< T, TSize > & kanzi::gfx::operator+= ( Box< T, TSize > & b,
const Vector< T, TSize > & v )
constexpr

◆ operator-() [4/5]

template<typename T , uint32_t TSize>
constexpr Box< T, TSize > kanzi::gfx::operator- ( const Box< T, TSize > & b1,
const Box< T, TSize > & b2 )
constexpr

◆ operator-() [5/5]

template<typename T , uint32_t TSize>
constexpr Box< T, TSize > kanzi::gfx::operator- ( const Box< T, TSize > & b,
const Vector< T, TSize > & v )
constexpr

◆ operator-=() [3/4]

template<typename T , uint32_t TSize>
constexpr Box< T, TSize > & kanzi::gfx::operator-= ( Box< T, TSize > & b1,
const Box< T, TSize > & b2 )
constexpr

◆ operator-=() [4/4]

template<typename T , uint32_t TSize>
constexpr Box< T, TSize > & kanzi::gfx::operator-= ( Box< T, TSize > & b,
const Vector< T, TSize > & v )
constexpr

◆ min() [3/3]

template<typename T , uint32_t TSize>
constexpr Box< T, TSize > kanzi::gfx::min ( const Box< T, TSize > & a,
const Box< T, TSize > & b )
constexpr

◆ max() [3/3]

template<typename T , uint32_t TSize>
constexpr Box< T, TSize > kanzi::gfx::max ( const Box< T, TSize > & a,
const Box< T, TSize > & b )
constexpr

◆ intersection()

template<typename T , uint32_t TSize>
constexpr optional< Box< T, TSize > > kanzi::gfx::intersection ( const Box< T, TSize > & a,
const Box< T, TSize > & b )
constexpr

Creates an intersection of two boxes.

Parameters
aBox A.
bBox B.
Returns
The intersection of the boxes. If the boxes do not intersect, returns nullopt.

◆ ensureNonNegativeSize()

template<typename T , uint32_t TSize>
constexpr Box< T, TSize > kanzi::gfx::ensureNonNegativeSize ( const Box< T, TSize > & inputBox)
constexpr

Converts a box to have a nonnegative size.

Preserves the minimum corner. Can alter the maximum corner.

Parameters
inputBoxInput box.
Returns
Box with nonnegative size.

◆ isInverted()

template<typename T , uint32_t TSize>
constexpr bool kanzi::gfx::isInverted ( const Box< T, TSize > & b)
constexpr

◆ intersects() [1/2]

template<typename T , uint32_t TSize>
constexpr bool kanzi::gfx::intersects ( const Box< T, TSize > & b1,
const Box< T, TSize > & b2 )
constexpr

◆ intersects() [2/2]

template<typename T , uint32_t TSize>
constexpr bool kanzi::gfx::intersects ( const Box< T, TSize > & b1,
const Vector< T, TSize > & b2 )
constexpr

◆ grow() [1/2]

template<typename T , uint32_t TSize>
constexpr void kanzi::gfx::grow ( Box< T, TSize > & box,
const Box< T, TSize > & otherBox )
constexpr

◆ grow() [2/2]

template<typename T , uint32_t TSize>
constexpr void kanzi::gfx::grow ( Box< T, TSize > & box,
const Vector< T, TSize > & point )
constexpr

◆ operator==() [3/3]

bool kanzi::gfx::operator== ( const gfx::NativeTextureHandle & lhs,
const gfx::NativeTextureHandle & rhs )
inline

Variable Documentation

◆ MaxVector

struct kanzi::gfx::MaxVectorT kanzi::gfx::MaxVector

◆ MaxBox

struct kanzi::gfx::MaxBoxT kanzi::gfx::MaxBox