Skip to content

KDGpu

[2] More...

Namespaces

Name
KDGpu::MipmapLodClamping

Classes

Name
class KDGpu::AccelerationStructure
AccelerationStructure.
struct KDGpu::AccelerationStructureBinding
struct KDGpu::AccelerationStructureGeometryAabbsData
struct KDGpu::AccelerationStructureGeometryInstance
struct KDGpu::AccelerationStructureGeometryInstancesData
struct KDGpu::AccelerationStructureGeometryTrianglesData
struct KDGpu::AccelerationStructureOptions
class KDGpu::Adapter
Adapter is a representation of a physical hardware device.
struct KDGpu::AdapterAndDevice
struct KDGpu::AdapterDepthStencilResolveProperties
struct KDGpu::AdapterFeatures
struct KDGpu::AdapterGroup
struct KDGpu::AdapterLimits
struct KDGpu::AdapterMultiViewProperties
struct KDGpu::AdapterOptions
Holds option fields used for Adapter creation.
struct KDGpu::AdapterProperties
struct KDGpu::AdapterQueueType
struct KDGpu::AdapterSparseProperties
struct KDGpu::AdapterSwapchainProperties
struct KDGpu::ApiAccelerationStructure
ApiAccelerationStructure.
struct KDGpu::ApiAdapter
ApiAdapter.
struct KDGpu::ApiBindGroup
ApiBindGroup.
struct KDGpu::ApiBindGroupLayout
ApiBindGroupLayout.
struct KDGpu::ApiBuffer
ApiBuffer.
struct KDGpu::ApiCommandBuffer
ApiCommandBuffer.
struct KDGpu::ApiCommandRecorder
ApiCommandRecorder.
struct KDGpu::ApiComputePassCommandRecorder
ApiComputePassCommandRecorder.
struct KDGpu::ApiComputePipeline
ApiComputePipeline.
struct KDGpu::ApiDevice
ApiDevice.
struct KDGpu::ApiFence
ApiFence.
struct KDGpu::ApiFramebuffer
ApiFramebuffer.
struct KDGpu::ApiGpuSemaphore
ApiGpuSemaphore.
struct KDGpu::ApiGraphicsPipeline
ApiGraphicsPipeline.
struct KDGpu::ApiInstance
ApiInstance.
struct KDGpu::ApiPipelineLayout
ApiPipelineLayout.
struct KDGpu::ApiQueue
ApiQueue.
struct KDGpu::ApiRayTracingPassCommandRecorder
ApiRayTracingPassCommandRecorder.
struct KDGpu::ApiRayTracingPipeline
ApiRayTracingPipeline.
struct KDGpu::ApiRenderPass
ApiRenderPass.
struct KDGpu::ApiRenderPassCommandRecorder
ApiRenderPassCommandRecorder.
struct KDGpu::ApiSampler
ApiSampler.
struct KDGpu::ApiShaderModule
ApiShaderModule.
struct KDGpu::ApiSurface
ApiSurface.
struct KDGpu::ApiSwapchain
ApiSwapchain.
struct KDGpu::ApiTexture
ApiTexture.
struct KDGpu::ApiTextureView
ApiTextureView.
struct KDGpu::ApiTimestampQueryRecorder
ApiComputePassCommandRecorder.
struct KDGpu::AttachmentDescription
class KDGpu::BindGroup
BindGroup.
struct KDGpu::BindGroupEntry
struct KDGpu::BindGroupIndexingProperties
class KDGpu::BindGroupLayout
BindGroupLayout.
struct KDGpu::BindGroupLayoutOptions
struct KDGpu::BindGroupOptions
class KDGpu::BindingResource
struct KDGpu::BlendComponent
struct KDGpu::BlendOptions
class KDGpu::Buffer
Buffer.
struct KDGpu::BufferClear
struct KDGpu::BufferCopy
struct KDGpu::BufferMemoryBarrierOptions
struct KDGpu::BufferOptions
struct KDGpu::BufferTextureCopyRegion
struct KDGpu::BufferToTextureCopy
struct KDGpu::BufferUpdate
struct KDGpu::BufferUploadOptions
struct KDGpu::BuildAccelerationStructureOptions
struct KDGpu::ClearColorTexture
struct KDGpu::ClearDepthStencilTexture
struct KDGpu::ColorAttachment
union KDGpu::ColorClearValue
class KDGpu::CommandBuffer
CommandBuffer.
class KDGpu::CommandRecorder
CommandRecorder.
struct KDGpu::CommandRecorderOptions
struct KDGpu::ComputeCommand
struct KDGpu::ComputeCommandIndirect
class KDGpu::ComputePassCommandRecorder
ComputePassCommandRecorder.
struct KDGpu::ComputePassCommandRecorderOptions
class KDGpu::ComputePipeline
ComputePipeline.
struct KDGpu::ComputePipelineOptions
struct KDGpu::ComputeShaderStage
struct KDGpu::DebugLabelOptions
struct KDGpu::DepthBiasOptions
struct KDGpu::DepthStencilAttachment
struct KDGpu::DepthStencilOptions
class KDGpu::Device
Device is our main entry point to create Graphics Resources.
struct KDGpu::DeviceOptions
struct KDGpu::DrawCommand
struct KDGpu::DrawIndexedCommand
struct KDGpu::DrawIndexedIndirectCommand
struct KDGpu::DrawIndirectCommand
struct KDGpu::DrawMeshCommand
struct KDGpu::DrawMeshIndirectCommand
struct KDGpu::DynamicStateOptions
struct KDGpu::DynamicUniformBufferBinding
struct KDGpu::Extension
struct KDGpu::Extent2D
struct KDGpu::Extent2Df
struct KDGpu::Extent3D
class KDGpu::Fence
Fence.
struct KDGpu::FenceOptions
class KDGpu::Flags
struct KDGpu::FormatProperties
class KDGpu::GpuSemaphore
GpuSemaphore.
struct KDGpu::GpuSemaphoreOptions
class KDGpu::GraphicsApi
GraphicsApi is the link between our Application and the Rendering API.
class KDGpu::GraphicsPipeline
GraphicsPipeline.
struct KDGpu::GraphicsPipelineOptions
class KDGpu::Handle
Handle.
struct KDGpu::ImageBinding
struct KDGpu::InputAttachmentBinding
class KDGpu::Instance
Instance is used to initialize the Rendering API.
struct KDGpu::InstanceOptions
Holds option fields used for Instance creation.
class KDGpu::Logger
struct KDGpu::MemoryBarrier
struct KDGpu::MemoryBarrierOptions
struct KDGpu::MemoryHandle
struct KDGpu::MeshShaderProperties
struct KDGpu::MultisampleOptions
struct KDGpu::Offset2D
struct KDGpu::Offset3D
class KDGpu::PipelineLayout
PipelineLayout.
struct KDGpu::PipelineLayoutOptions
class KDGpu::Pool
Pool.
struct KDGpu::PresentOptions
struct KDGpu::PrimitiveOptions
struct KDGpu::PushConstantRange
class KDGpu::Queue
Queue is used to submit commands for execution and optionally present content.
struct KDGpu::QueueDescription
struct KDGpu::QueueRequest
struct KDGpu::RayTracingCommand
class KDGpu::RayTracingPassCommandRecorder
RayTracingPassCommandRecorder.
struct KDGpu::RayTracingPassCommandRecorderOptions
class KDGpu::RayTracingPipeline
RayTracingPipeline.
struct KDGpu::RayTracingPipelineOptions
struct KDGpu::RayTracingProperties
class KDGpu::RayTracingShaderBindingTable
RayTracingShaderBindingTable.
struct KDGpu::RayTracingShaderBindingTableOptions
struct KDGpu::RayTracingShaderGroupOptions
struct KDGpu::Rect2D
class KDGpu::RenderPass
RenderPass is a representation of a rendering instance.
class KDGpu::RenderPassCommandRecorder
RenderPassCommandRecorder.
struct KDGpu::RenderPassCommandRecorderOptions
struct KDGpu::RenderPassOptions
struct KDGpu::RenderTargetOptions
struct KDGpu::ResourceBindingLayout
class KDGpu::ResourceManager
ResourceManager manages Graphic API resources.
class KDGpu::Sampler
Sampler.
struct KDGpu::SamplerBinding
struct KDGpu::SamplerOptions
class KDGpu::ShaderModule
ShaderModule.
struct KDGpu::ShaderStage
struct KDGpu::SpecializationConstant
struct KDGpu::StencilOperationOptions
struct KDGpu::StorageBufferBinding
struct KDGpu::StridedDeviceRegion
class KDGpu::SubmitOptions
Holds information required to perform a queue submission.
struct KDGpu::SubpassDependenciesDescriptions
struct KDGpu::SubpassDescription
struct KDGpu::SubresourceLayout
class KDGpu::Surface
Surface.
struct KDGpu::SurfaceCapabilities
struct KDGpu::SurfaceFormat
struct KDGpu::SurfaceOptions
class KDGpu::Swapchain
Swapchain.
struct KDGpu::SwapchainOptions
struct KDGpu::SwapchainPresentInfo
class KDGpu::Texture
Texture.
struct KDGpu::TextureBlitOptions
struct KDGpu::TextureBlitRegion
struct KDGpu::TextureCopyRegion
struct KDGpu::TextureMemoryBarrierOptions
struct KDGpu::TextureOptions
struct KDGpu::TextureResolveOptions
struct KDGpu::TextureSubresource
struct KDGpu::TextureSubresourceLayers
struct KDGpu::TextureSubresourceRange
struct KDGpu::TextureToBufferCopy
struct KDGpu::TextureToTextureCopy
struct KDGpu::TextureUploadOptions
class KDGpu::TextureView
TextureView.
struct KDGpu::TextureViewBinding
struct KDGpu::TextureViewOptions
struct KDGpu::TextureViewSamplerBinding
class KDGpu::TimestampQueryRecorder
TimestampQueryRecorder.
struct KDGpu::TimestampQueryRecorderOptions
struct KDGpu::UniformBufferBinding
struct KDGpu::UploadStagingBuffer
struct KDGpu::VertexAttribute
struct KDGpu::VertexBufferLayout
struct KDGpu::VertexOptions
struct KDGpu::Viewport
struct KDGpu::VulkanAccelerationStructure
VulkanAccelerationStructure.
struct KDGpu::VulkanAdapter
VulkanAdapter.
struct KDGpu::VulkanAttachmentKey
struct KDGpu::VulkanBindGroup
VulkanBindGroup.
struct KDGpu::VulkanBindGroupLayout
VulkanBindGroupLayout.
struct KDGpu::VulkanBuffer
VulkanBuffer.
struct KDGpu::VulkanCommandBuffer
VulkanCommandBuffer.
struct KDGpu::VulkanCommandRecorder
VulkanCommandRecorder.
struct KDGpu::VulkanComputePassCommandRecorder
VulkanComputePassCommandRecorder.
struct KDGpu::VulkanComputePipeline
VulkanComputePipeline.
struct KDGpu::VulkanDevice
VulkanDevice.
struct KDGpu::VulkanFence
VulkanFence.
struct KDGpu::VulkanFramebuffer
struct KDGpu::VulkanFramebufferKey
struct KDGpu::VulkanGpuSemaphore
VulkanGpuSemaphore.
class KDGpu::VulkanGraphicsApi
VulkanGraphicsApi.
struct KDGpu::VulkanGraphicsPipeline
VulkanGraphicsPipeline.
struct KDGpu::VulkanInstance
VulkanInstance.
struct KDGpu::VulkanPipelineLayout
VulkanPipelineLayout.
struct KDGpu::VulkanQueue
VulkanQueue.
struct KDGpu::VulkanRayTracingPassCommandRecorder
VulkanRayTracingPassCommandRecorder.
struct KDGpu::VulkanRayTracingPipeline
VulkanRayTracingPipeline.
struct KDGpu::VulkanRenderPass
struct KDGpu::VulkanRenderPassCommandRecorder
VulkanRenderPassCommandRecorder.
struct KDGpu::VulkanRenderPassKey
struct KDGpu::VulkanRenderPassKeyColorAttachment
struct KDGpu::VulkanRenderPassKeyDepthStencilAttachment
class KDGpu::VulkanResourceManager
struct KDGpu::VulkanSampler
VulkanSampler.
struct KDGpu::VulkanShaderModule
VulkanShaderModule.
struct KDGpu::VulkanSurface
VulkanSurface.
struct KDGpu::VulkanSwapchain
VulkanSwapchain.
struct KDGpu::VulkanTexture
VulkanTexture.
struct KDGpu::VulkanTextureView
VulkanTextureView.
struct KDGpu::VulkanTimestampQueryRecorder
struct KDGpu::WaitForBufferUploadOptions
struct KDGpu::WaitForTextureUploadOptions

Types

Name
using std::variant< AccelerationStructureGeometryTrianglesData, AccelerationStructureGeometryAabbsData, AccelerationStructureGeometryInstancesData > AccelerationStructureGeometry
using TextureCopyRegion TextureResolveRegion

Functions

Name
bool operator==(const AccelerationStructure & a, const AccelerationStructure & b)
bool operator!=(const AccelerationStructure & a, const AccelerationStructure & b)
bool operator==(const BindGroup & a, const BindGroup & b)
bool operator!=(const BindGroup & a, const BindGroup & b)
bool operator==(const BindGroupLayout & a, const BindGroupLayout & b)
bool operator!=(const BindGroupLayout & a, const BindGroupLayout & b)
bool operator==(const Buffer & a, const Buffer & b)
bool operator!=(const Buffer & a, const Buffer & b)
bool operator==(const CommandBuffer & a, const CommandBuffer & b)
bool operator!=(const CommandBuffer & a, const CommandBuffer & b)
bool operator==(const ComputePipeline & a, const ComputePipeline & b)
bool operator!=(const ComputePipeline & a, const ComputePipeline & b)
bool operator==(const Fence & a, const Fence & b)
bool operator!=(const Fence & a, const Fence & b)
bool operator==(const GraphicsPipeline & a, const GraphicsPipeline & b)
bool operator!=(const GraphicsPipeline & a, const GraphicsPipeline & b)
template <typename T >
bool
operator==(const KDGpu::Handle< T > & lhs, const KDGpu::Handle< T > & rhs)
template <typename T >
bool
operator!=(const KDGpu::Handle< T > & lhs, const KDGpu::Handle< T > & rhs)
template <typename T >
bool
operator<(const KDGpu::Handle< T > & lhs, const KDGpu::Handle< T > & rhs)
bool operator==(const PipelineLayout & a, const PipelineLayout & b)
bool operator!=(const PipelineLayout & a, const PipelineLayout & b)
bool operator==(const RayTracingPipeline & a, const RayTracingPipeline & b)
bool operator!=(const RayTracingPipeline & a, const RayTracingPipeline & b)
bool operator==(const Sampler & a, const Sampler & b)
bool operator!=(const Sampler & a, const Sampler & b)
bool operator==(const Texture & a, const Texture & b)
bool operator!=(const Texture & a, const Texture & b)
bool operator==(const TextureView & a, const TextureView & b)
bool operator!=(const TextureView & a, const TextureView & b)
template <class T >
void
hash_combine(uint64_t & seed, const T & v)
std::vector< const char * > getDefaultRequestedInstanceExtensions()
std::vector< const char * > getDefaultRequestedDeviceExtensions()
AdapterDeviceType vkPhysicalDeviceTypeToAdapterDeviceType(VkPhysicalDeviceType deviceType)
Format vkFormatToFormat(VkFormat format)
VkFormat formatToVkFormat(Format format)
VkSampleCountFlagBits sampleCountFlagBitsToVkSampleFlagBits(SampleCountFlagBits samples)
SampleCountFlagBits vkSampleCountFlagBitsToSampleFlagBits(VkSampleCountFlagBits samples)
ColorSpace vkColorSpaceKHRToColorSpace(VkColorSpaceKHR colorSpace)
VkColorSpaceKHR colorSpaceToVkColorSpaceKHR(ColorSpace colorSpace)
PresentMode vkPresentModeKHRToPresentMode(VkPresentModeKHR presentMode)
VkPresentModeKHR presentModeToVkPresentModeKHR(PresentMode presentMode)
SurfaceTransformFlagBits vkSurfaceTransformFlagBitsKHRToSurfaceTransformFlagBits(VkSurfaceTransformFlagBitsKHR transform)
VkSurfaceTransformFlagBitsKHR surfaceTransformFlagBitsToVkSurfaceTransformFlagBitsKHR(SurfaceTransformFlagBits transform)
CompositeAlphaFlagBits vkCompositeAlphaFlagBitsKHRToCompositeAlphaFlagBits(VkCompositeAlphaFlagBitsKHR compositeAlpha)
VkCompositeAlphaFlagBitsKHR compositeAlphaFlagBitsToVkCompositeAlphaFlagBitsKHR(CompositeAlphaFlagBits compositeAlpha)
SharingMode vkSharingModeToSharingMode(VkSharingMode sharingMode)
VkSharingMode sharingModeToVkSharingMode(SharingMode sharingMode)
VkImageType textureTypeToVkImageType(TextureType textureType)
TextureType vkImageTypeToTextureType(VkImageType textureType)
VkImageTiling textureTilingToVkImageTiling(TextureTiling tiling)
TextureTiling vkImageTilingToTextureTiling(VkImageTiling tiling)
VkImageLayout textureLayoutToVkImageLayout(TextureLayout layout)
TextureLayout vkImageLayoutToTextureLayout(VkImageLayout layout)
ViewType vkImageViewTypeToViewType(VkImageViewType viewType)
VkImageViewType viewTypeToVkImageViewType(ViewType viewType)
MemoryUsage vmaMemoryUsageToMemoryUsage(VmaMemoryUsage memoryUsage)
VmaMemoryUsage memoryUsageToVmaMemoryUsage(MemoryUsage memoryUsage)
VkDescriptorType resourceBindingTypeToVkDescriptorType(ResourceBindingType type)
ResourceBindingType vkDescriptorTypeToVkDescriptorType(VkDescriptorType type)
VkShaderStageFlagBits shaderStageFlagBitsToVkShaderStageFlagBits(ShaderStageFlagBits stage)
ShaderStageFlagBits vkShaderStageFlagBitsToShaderStageFlagBits(VkShaderStageFlagBits stage)
VkVertexInputRate vertexRateToVkVertexInputRate(VertexRate rate)
VertexRate vkVertexInputRateToVertexRate(VkVertexInputRate rate)
VkPrimitiveTopology primitiveTopologyToVkPrimitiveTopology(PrimitiveTopology topology)
PrimitiveTopology vkPrimitiveTopologyToPrimitiveTopology(VkPrimitiveTopology topology)
VkPolygonMode polygonModeToVkPolygonMode(PolygonMode mode)
PolygonMode vkPolygonModeToPolygonMode(VkPolygonMode mode)
VkFrontFace frontFaceToVkFrontFace(FrontFace face)
FrontFace vkFrontFaceToFrontFace(VkFrontFace face)
VkCompareOp compareOperationToVkCompareOp(CompareOperation op)
CompareOperation vkCompareOpToCompareOperation(VkCompareOp op)
VkStencilOp stencilOperationToVkStencilOp(StencilOperation op)
StencilOperation vkStencilOpToStencilOperation(StencilOperation op)
VkBlendFactor blendFactorToVkBlendFactor(BlendFactor factor)
BlendFactor vkBlendFactorToBlendFactor(VkBlendFactor factor)
VkBlendOp blendOperationToVkBlendOp(BlendOperation op)
BlendOperation vkBlendOpToBlendOperation(VkBlendOp op)
VkAttachmentLoadOp attachmentLoadOperationToVkAttachmentLoadOp(AttachmentLoadOperation op)
AttachmentLoadOperation vkAttachmentLoadOperationToAttachmentLoadOperation(VkAttachmentLoadOp op)
VkAttachmentStoreOp attachmentStoreOperationToVkAttachmentStoreOp(AttachmentStoreOperation op)
AttachmentStoreOperation vkAttachmentStoreOperationToAttachmentStoreOperation(VkAttachmentStoreOp op)
VkFilter filterModeToVkFilterMode(FilterMode mode)
VkSamplerMipmapMode mipMapFilterModeToVkSamplerMipmapMode(MipmapFilterMode mode)
VkSamplerAddressMode addressModeToVkSamplerAddressMode(AddressMode mode)
VkIndexType indexTypeToVkIndexType(IndexType type)
IndexType vkIndexTypeToIndexType(VkIndexType type)
VkAccessFlagBits accessFlagsToVkAccessFlagBits(AccessFlags accessFlags)
VkPipelineStageFlagBits pipelineStageFlagsToVkPipelineStageFlagBits(PipelineStageFlags pipelineFlags)
VkCommandBufferLevel commandBufferLevelToVkCommandBufferLevel(CommandBufferLevel level)
ExternalSemaphoreHandleTypeFlags vkExternalSemaphoreHandleTypeToExternalSemaphoreHandleType(VkExternalSemaphoreHandleTypeFlagBits handleFlags)
VkExternalSemaphoreHandleTypeFlagBits externalSemaphoreHandleTypeToVkExternalSemaphoreHandleType(ExternalSemaphoreHandleTypeFlags handleFlags)
ExternalMemoryHandleTypeFlags vkExternalMemoryHandleTypeToExternalMemoryHandleType(VkExternalMemoryHandleTypeFlagBits handleFlags)
VkExternalMemoryHandleTypeFlagBits externalMemoryHandleTypeToVkExternalMemoryHandleType(ExternalMemoryHandleTypeFlags handleFlags)
ExternalFenceHandleTypeFlags vkExternalFenceHandleTypeToExternalFenceHandleType(VkExternalFenceHandleTypeFlagBits handleFlags)
VkExternalFenceHandleTypeFlagBits externalFenceHandleTypeToVkExternalFenceHandleType(ExternalFenceHandleTypeFlags handleFlags)
ResolveModeFlagBits vkResolveModeToResolveMode(VkResolveModeFlagBits resolveFlag)
VkResolveModeFlagBits resolveModeToVkResolveMode(ResolveModeFlagBits resolveFlag)
ResolveModeFlags vkResolveModesToResolveModes(VkResolveModeFlags resolveFlags)
VkResolveModeFlags resolveModesToVkResolveModes(ResolveModeFlags resolveFlags)
VkStencilFaceFlagBits stencilFaceToVkStencilFace(StencilFaceFlags flags)
VkDynamicState dynamicStateToVkDynamicState(DynamicState state)
VkDescriptorBindingFlags resourceBindingFlagsToVkDescriptorBindingFlags(ResourceBindingFlags flags)
VkBuildAccelerationStructureModeKHR accelerationStructureModeToVkStructureMode(BuildAccelerationStructureMode mode)
VkAccelerationStructureTypeKHR accelerationStructureTypeToVkAccelerationStructureType(AccelerationStructureType type)
VkGeometryInstanceFlagsKHR geometryInstanceFlagsToVkGeometryInstanceFlags(GeometryInstanceFlags flags)
VkRayTracingShaderGroupTypeKHR rayTracingShaderGroupTypeToVkRayTracingShaderGroupType(RayTracingShaderGroupType type)
VkBuildAccelerationStructureFlagsKHR accelerationStructureFlagsToVkBuildAccelerationStructureFlags(AccelerationStructureFlags flags)
VkDependencyFlags dependencyFlagsToVkDependencyFlags(DependencyFlags flags)
ResolveModeFlagBits vkResolveModeToResolveMode(VkResolveModeFlags resolveFlags)
std::string assetPath()
ImageData loadImage(const std::string & path)
[3]
void writeImage(const std::string & path, const ImageData & image)

Attributes

Name
bool enableValidationLayers
const std::vector< const char * > requestedInstanceLayers
std::array< const char *, 1 > requestedInstanceExtensions
const std::vector< std::string > defaultIgnoredErrors

Detailed Description

[2]

This example demonstrate an advance use of raytracing and raster graphics used together.

The scene is composed of:

  • An Opaque Ground Plane
  • Multiple Alpha Blended Spheres
  • Multiple Opaque Spheres

1) The sphere's positions are animated using a compute shader 2) A Deferred Rendering approach is used where we record Depth in a Z-Fill pre-pass and then record WorldPosition and WorldNormals and Colors for the Opaque Meshes. 3) For Alpha Blended meshes, we use a linked list to store alpha fragments along with their depth 4) For all meshes, we generate AccelerationStructures. This allows use to use RayTracing to create a Shadow Texture. Essentially for each world position we recorded in our GBuffer, we compute a ray from that world position to the light source. Any Intersection against that ray means that some other mesh is obstructing the light, hence we have shadows. 5) Finally we composite everything together by:

  • Retrieving the color for Opaque Meshes
  • Sorting Alpha fragments by depth and blending against the opaque color
  • Retrieve Shadow information and modifying the color accordingly

Types Documentation

using AccelerationStructureGeometry

1
using KDGpu::AccelerationStructureGeometry =  std::variant<AccelerationStructureGeometryTrianglesData, AccelerationStructureGeometryAabbsData, AccelerationStructureGeometryInstancesData>;

using TextureResolveRegion

1
using KDGpu::TextureResolveRegion =  TextureCopyRegion;

Functions Documentation

function operator==

1
2
3
4
bool operator==(
    const AccelerationStructure & a,
    const AccelerationStructure & b
)

function operator!=

1
2
3
4
bool operator!=(
    const AccelerationStructure & a,
    const AccelerationStructure & b
)

function operator==

1
2
3
4
bool operator==(
    const BindGroup & a,
    const BindGroup & b
)

function operator!=

1
2
3
4
bool operator!=(
    const BindGroup & a,
    const BindGroup & b
)

function operator==

1
2
3
4
bool operator==(
    const BindGroupLayout & a,
    const BindGroupLayout & b
)

function operator!=

1
2
3
4
bool operator!=(
    const BindGroupLayout & a,
    const BindGroupLayout & b
)

function operator==

1
2
3
4
bool operator==(
    const Buffer & a,
    const Buffer & b
)

function operator!=

1
2
3
4
bool operator!=(
    const Buffer & a,
    const Buffer & b
)

function operator==

1
2
3
4
bool operator==(
    const CommandBuffer & a,
    const CommandBuffer & b
)

function operator!=

1
2
3
4
bool operator!=(
    const CommandBuffer & a,
    const CommandBuffer & b
)

function operator==

1
2
3
4
bool operator==(
    const ComputePipeline & a,
    const ComputePipeline & b
)

function operator!=

1
2
3
4
bool operator!=(
    const ComputePipeline & a,
    const ComputePipeline & b
)

function operator==

1
2
3
4
bool operator==(
    const Fence & a,
    const Fence & b
)

function operator!=

1
2
3
4
bool operator!=(
    const Fence & a,
    const Fence & b
)

function operator==

1
2
3
4
bool operator==(
    const GraphicsPipeline & a,
    const GraphicsPipeline & b
)

function operator!=

1
2
3
4
bool operator!=(
    const GraphicsPipeline & a,
    const GraphicsPipeline & b
)

function operator==

1
2
3
4
5
template <typename T >
bool operator==(
    const KDGpu::Handle< T > & lhs,
    const KDGpu::Handle< T > & rhs
)

function operator!=

1
2
3
4
5
template <typename T >
bool operator!=(
    const KDGpu::Handle< T > & lhs,
    const KDGpu::Handle< T > & rhs
)

function operator<

1
2
3
4
5
template <typename T >
bool operator<(
    const KDGpu::Handle< T > & lhs,
    const KDGpu::Handle< T > & rhs
)

function operator==

1
2
3
4
bool operator==(
    const PipelineLayout & a,
    const PipelineLayout & b
)

function operator!=

1
2
3
4
bool operator!=(
    const PipelineLayout & a,
    const PipelineLayout & b
)

function operator==

1
2
3
4
bool operator==(
    const RayTracingPipeline & a,
    const RayTracingPipeline & b
)

function operator!=

1
2
3
4
bool operator!=(
    const RayTracingPipeline & a,
    const RayTracingPipeline & b
)

function operator==

1
2
3
4
bool operator==(
    const Sampler & a,
    const Sampler & b
)

function operator!=

1
2
3
4
bool operator!=(
    const Sampler & a,
    const Sampler & b
)

function operator==

1
2
3
4
bool operator==(
    const Texture & a,
    const Texture & b
)

function operator!=

1
2
3
4
bool operator!=(
    const Texture & a,
    const Texture & b
)

function operator==

1
2
3
4
bool operator==(
    const TextureView & a,
    const TextureView & b
)

function operator!=

1
2
3
4
bool operator!=(
    const TextureView & a,
    const TextureView & b
)

function hash_combine

1
2
3
4
5
template <class T >
inline void hash_combine(
    uint64_t & seed,
    const T & v
)

function getDefaultRequestedInstanceExtensions

1
std::vector< const char * > getDefaultRequestedInstanceExtensions()

function getDefaultRequestedDeviceExtensions

1
std::vector< const char * > getDefaultRequestedDeviceExtensions()

function vkPhysicalDeviceTypeToAdapterDeviceType

1
2
3
AdapterDeviceType vkPhysicalDeviceTypeToAdapterDeviceType(
    VkPhysicalDeviceType deviceType
)

function vkFormatToFormat

1
2
3
Format vkFormatToFormat(
    VkFormat format
)

function formatToVkFormat

1
2
3
VkFormat formatToVkFormat(
    Format format
)

function sampleCountFlagBitsToVkSampleFlagBits

1
2
3
VkSampleCountFlagBits sampleCountFlagBitsToVkSampleFlagBits(
    SampleCountFlagBits samples
)

function vkSampleCountFlagBitsToSampleFlagBits

1
2
3
SampleCountFlagBits vkSampleCountFlagBitsToSampleFlagBits(
    VkSampleCountFlagBits samples
)

function vkColorSpaceKHRToColorSpace

1
2
3
ColorSpace vkColorSpaceKHRToColorSpace(
    VkColorSpaceKHR colorSpace
)

function colorSpaceToVkColorSpaceKHR

1
2
3
VkColorSpaceKHR colorSpaceToVkColorSpaceKHR(
    ColorSpace colorSpace
)

function vkPresentModeKHRToPresentMode

1
2
3
PresentMode vkPresentModeKHRToPresentMode(
    VkPresentModeKHR presentMode
)

function presentModeToVkPresentModeKHR

1
2
3
VkPresentModeKHR presentModeToVkPresentModeKHR(
    PresentMode presentMode
)

function vkSurfaceTransformFlagBitsKHRToSurfaceTransformFlagBits

1
2
3
SurfaceTransformFlagBits vkSurfaceTransformFlagBitsKHRToSurfaceTransformFlagBits(
    VkSurfaceTransformFlagBitsKHR transform
)

function surfaceTransformFlagBitsToVkSurfaceTransformFlagBitsKHR

1
2
3
VkSurfaceTransformFlagBitsKHR surfaceTransformFlagBitsToVkSurfaceTransformFlagBitsKHR(
    SurfaceTransformFlagBits transform
)

function vkCompositeAlphaFlagBitsKHRToCompositeAlphaFlagBits

1
2
3
CompositeAlphaFlagBits vkCompositeAlphaFlagBitsKHRToCompositeAlphaFlagBits(
    VkCompositeAlphaFlagBitsKHR compositeAlpha
)

function compositeAlphaFlagBitsToVkCompositeAlphaFlagBitsKHR

1
2
3
VkCompositeAlphaFlagBitsKHR compositeAlphaFlagBitsToVkCompositeAlphaFlagBitsKHR(
    CompositeAlphaFlagBits compositeAlpha
)

function vkSharingModeToSharingMode

1
2
3
SharingMode vkSharingModeToSharingMode(
    VkSharingMode sharingMode
)

function sharingModeToVkSharingMode

1
2
3
VkSharingMode sharingModeToVkSharingMode(
    SharingMode sharingMode
)

function textureTypeToVkImageType

1
2
3
VkImageType textureTypeToVkImageType(
    TextureType textureType
)

function vkImageTypeToTextureType

1
2
3
TextureType vkImageTypeToTextureType(
    VkImageType textureType
)

function textureTilingToVkImageTiling

1
2
3
VkImageTiling textureTilingToVkImageTiling(
    TextureTiling tiling
)

function vkImageTilingToTextureTiling

1
2
3
TextureTiling vkImageTilingToTextureTiling(
    VkImageTiling tiling
)

function textureLayoutToVkImageLayout

1
2
3
VkImageLayout textureLayoutToVkImageLayout(
    TextureLayout layout
)

function vkImageLayoutToTextureLayout

1
2
3
TextureLayout vkImageLayoutToTextureLayout(
    VkImageLayout layout
)

function vkImageViewTypeToViewType

1
2
3
ViewType vkImageViewTypeToViewType(
    VkImageViewType viewType
)

function viewTypeToVkImageViewType

1
2
3
VkImageViewType viewTypeToVkImageViewType(
    ViewType viewType
)

function vmaMemoryUsageToMemoryUsage

1
2
3
MemoryUsage vmaMemoryUsageToMemoryUsage(
    VmaMemoryUsage memoryUsage
)

function memoryUsageToVmaMemoryUsage

1
2
3
VmaMemoryUsage memoryUsageToVmaMemoryUsage(
    MemoryUsage memoryUsage
)

function resourceBindingTypeToVkDescriptorType

1
2
3
VkDescriptorType resourceBindingTypeToVkDescriptorType(
    ResourceBindingType type
)

function vkDescriptorTypeToVkDescriptorType

1
2
3
ResourceBindingType vkDescriptorTypeToVkDescriptorType(
    VkDescriptorType type
)

function shaderStageFlagBitsToVkShaderStageFlagBits

1
2
3
VkShaderStageFlagBits shaderStageFlagBitsToVkShaderStageFlagBits(
    ShaderStageFlagBits stage
)

function vkShaderStageFlagBitsToShaderStageFlagBits

1
2
3
ShaderStageFlagBits vkShaderStageFlagBitsToShaderStageFlagBits(
    VkShaderStageFlagBits stage
)

function vertexRateToVkVertexInputRate

1
2
3
VkVertexInputRate vertexRateToVkVertexInputRate(
    VertexRate rate
)

function vkVertexInputRateToVertexRate

1
2
3
VertexRate vkVertexInputRateToVertexRate(
    VkVertexInputRate rate
)

function primitiveTopologyToVkPrimitiveTopology

1
2
3
VkPrimitiveTopology primitiveTopologyToVkPrimitiveTopology(
    PrimitiveTopology topology
)

function vkPrimitiveTopologyToPrimitiveTopology

1
2
3
PrimitiveTopology vkPrimitiveTopologyToPrimitiveTopology(
    VkPrimitiveTopology topology
)

function polygonModeToVkPolygonMode

1
2
3
VkPolygonMode polygonModeToVkPolygonMode(
    PolygonMode mode
)

function vkPolygonModeToPolygonMode

1
2
3
PolygonMode vkPolygonModeToPolygonMode(
    VkPolygonMode mode
)

function frontFaceToVkFrontFace

1
2
3
VkFrontFace frontFaceToVkFrontFace(
    FrontFace face
)

function vkFrontFaceToFrontFace

1
2
3
FrontFace vkFrontFaceToFrontFace(
    VkFrontFace face
)

function compareOperationToVkCompareOp

1
2
3
VkCompareOp compareOperationToVkCompareOp(
    CompareOperation op
)

function vkCompareOpToCompareOperation

1
2
3
CompareOperation vkCompareOpToCompareOperation(
    VkCompareOp op
)

function stencilOperationToVkStencilOp

1
2
3
VkStencilOp stencilOperationToVkStencilOp(
    StencilOperation op
)

function vkStencilOpToStencilOperation

1
2
3
StencilOperation vkStencilOpToStencilOperation(
    StencilOperation op
)

function blendFactorToVkBlendFactor

1
2
3
VkBlendFactor blendFactorToVkBlendFactor(
    BlendFactor factor
)

function vkBlendFactorToBlendFactor

1
2
3
BlendFactor vkBlendFactorToBlendFactor(
    VkBlendFactor factor
)

function blendOperationToVkBlendOp

1
2
3
VkBlendOp blendOperationToVkBlendOp(
    BlendOperation op
)

function vkBlendOpToBlendOperation

1
2
3
BlendOperation vkBlendOpToBlendOperation(
    VkBlendOp op
)

function attachmentLoadOperationToVkAttachmentLoadOp

1
2
3
VkAttachmentLoadOp attachmentLoadOperationToVkAttachmentLoadOp(
    AttachmentLoadOperation op
)

function vkAttachmentLoadOperationToAttachmentLoadOperation

1
2
3
AttachmentLoadOperation vkAttachmentLoadOperationToAttachmentLoadOperation(
    VkAttachmentLoadOp op
)

function attachmentStoreOperationToVkAttachmentStoreOp

1
2
3
VkAttachmentStoreOp attachmentStoreOperationToVkAttachmentStoreOp(
    AttachmentStoreOperation op
)

function vkAttachmentStoreOperationToAttachmentStoreOperation

1
2
3
AttachmentStoreOperation vkAttachmentStoreOperationToAttachmentStoreOperation(
    VkAttachmentStoreOp op
)

function filterModeToVkFilterMode

1
2
3
VkFilter filterModeToVkFilterMode(
    FilterMode mode
)

function mipMapFilterModeToVkSamplerMipmapMode

1
2
3
VkSamplerMipmapMode mipMapFilterModeToVkSamplerMipmapMode(
    MipmapFilterMode mode
)

function addressModeToVkSamplerAddressMode

1
2
3
VkSamplerAddressMode addressModeToVkSamplerAddressMode(
    AddressMode mode
)

function indexTypeToVkIndexType

1
2
3
VkIndexType indexTypeToVkIndexType(
    IndexType type
)

function vkIndexTypeToIndexType

1
2
3
IndexType vkIndexTypeToIndexType(
    VkIndexType type
)

function accessFlagsToVkAccessFlagBits

1
2
3
VkAccessFlagBits accessFlagsToVkAccessFlagBits(
    AccessFlags accessFlags
)

function pipelineStageFlagsToVkPipelineStageFlagBits

1
2
3
VkPipelineStageFlagBits pipelineStageFlagsToVkPipelineStageFlagBits(
    PipelineStageFlags pipelineFlags
)

function commandBufferLevelToVkCommandBufferLevel

1
2
3
VkCommandBufferLevel commandBufferLevelToVkCommandBufferLevel(
    CommandBufferLevel level
)

function vkExternalSemaphoreHandleTypeToExternalSemaphoreHandleType

1
2
3
ExternalSemaphoreHandleTypeFlags vkExternalSemaphoreHandleTypeToExternalSemaphoreHandleType(
    VkExternalSemaphoreHandleTypeFlagBits handleFlags
)

function externalSemaphoreHandleTypeToVkExternalSemaphoreHandleType

1
2
3
VkExternalSemaphoreHandleTypeFlagBits externalSemaphoreHandleTypeToVkExternalSemaphoreHandleType(
    ExternalSemaphoreHandleTypeFlags handleFlags
)

function vkExternalMemoryHandleTypeToExternalMemoryHandleType

1
2
3
ExternalMemoryHandleTypeFlags vkExternalMemoryHandleTypeToExternalMemoryHandleType(
    VkExternalMemoryHandleTypeFlagBits handleFlags
)

function externalMemoryHandleTypeToVkExternalMemoryHandleType

1
2
3
VkExternalMemoryHandleTypeFlagBits externalMemoryHandleTypeToVkExternalMemoryHandleType(
    ExternalMemoryHandleTypeFlags handleFlags
)

function vkExternalFenceHandleTypeToExternalFenceHandleType

1
2
3
ExternalFenceHandleTypeFlags vkExternalFenceHandleTypeToExternalFenceHandleType(
    VkExternalFenceHandleTypeFlagBits handleFlags
)

function externalFenceHandleTypeToVkExternalFenceHandleType

1
2
3
VkExternalFenceHandleTypeFlagBits externalFenceHandleTypeToVkExternalFenceHandleType(
    ExternalFenceHandleTypeFlags handleFlags
)

function vkResolveModeToResolveMode

1
2
3
ResolveModeFlagBits vkResolveModeToResolveMode(
    VkResolveModeFlagBits resolveFlag
)

function resolveModeToVkResolveMode

1
2
3
VkResolveModeFlagBits resolveModeToVkResolveMode(
    ResolveModeFlagBits resolveFlag
)

function vkResolveModesToResolveModes

1
2
3
ResolveModeFlags vkResolveModesToResolveModes(
    VkResolveModeFlags resolveFlags
)

function resolveModesToVkResolveModes

1
2
3
VkResolveModeFlags resolveModesToVkResolveModes(
    ResolveModeFlags resolveFlags
)

function stencilFaceToVkStencilFace

1
2
3
VkStencilFaceFlagBits stencilFaceToVkStencilFace(
    StencilFaceFlags flags
)

function dynamicStateToVkDynamicState

1
2
3
VkDynamicState dynamicStateToVkDynamicState(
    DynamicState state
)

function resourceBindingFlagsToVkDescriptorBindingFlags

1
2
3
VkDescriptorBindingFlags resourceBindingFlagsToVkDescriptorBindingFlags(
    ResourceBindingFlags flags
)

function accelerationStructureModeToVkStructureMode

1
2
3
VkBuildAccelerationStructureModeKHR accelerationStructureModeToVkStructureMode(
    BuildAccelerationStructureMode mode
)

function accelerationStructureTypeToVkAccelerationStructureType

1
2
3
VkAccelerationStructureTypeKHR accelerationStructureTypeToVkAccelerationStructureType(
    AccelerationStructureType type
)

function geometryInstanceFlagsToVkGeometryInstanceFlags

1
2
3
VkGeometryInstanceFlagsKHR geometryInstanceFlagsToVkGeometryInstanceFlags(
    GeometryInstanceFlags flags
)

function rayTracingShaderGroupTypeToVkRayTracingShaderGroupType

1
2
3
VkRayTracingShaderGroupTypeKHR rayTracingShaderGroupTypeToVkRayTracingShaderGroupType(
    RayTracingShaderGroupType type
)

function accelerationStructureFlagsToVkBuildAccelerationStructureFlags

1
2
3
VkBuildAccelerationStructureFlagsKHR accelerationStructureFlagsToVkBuildAccelerationStructureFlags(
    AccelerationStructureFlags flags
)

function dependencyFlagsToVkDependencyFlags

1
2
3
VkDependencyFlags dependencyFlagsToVkDependencyFlags(
    DependencyFlags flags
)

function vkResolveModeToResolveMode

1
2
3
ResolveModeFlagBits vkResolveModeToResolveMode(
    VkResolveModeFlags resolveFlags
)

function assetPath

1
inline std::string assetPath()

function loadImage

1
2
3
ImageData loadImage(
    const std::string & path
)

[3]

function writeImage

1
2
3
4
void writeImage(
    const std::string & path,
    const ImageData & image
)

Attributes Documentation

variable enableValidationLayers

1
bool enableValidationLayers = true;

variable requestedInstanceLayers

1
2
3
4
5
6
const std::vector< const char * > requestedInstanceLayers = {
    "VK_LAYER_KHRONOS_validation",



};

variable requestedInstanceExtensions

1
2
3
std::array< const char *, 1 > requestedInstanceExtensions = {
    VK_EXT_DEBUG_UTILS_EXTENSION_NAME
};

variable defaultIgnoredErrors

1
2
3
4
5
6
7
8
9
const std::vector< std::string > defaultIgnoredErrors = {






    "VUID-VkSwapchainCreateInfoKHR-imageExtent-01274"
};

Updated on 2024-11-24 at 00:04:04 +0000