Render
FidelityFX Cauldron Framework Render reference documentation.
Typedefs
Type |
Description |
---|---|
typedef void |
(*cauldron::DeviceRemovedCallback )(void *customData)
Callback to be used when detecting device removed error while presenting the frame.
|
typedef std::map<const std::wstring, std::wstring> |
DefineList, holds pairs of key & value that will be used by the compiler as defines.
|
Enumerations
Name |
Description |
---|---|
AddressMode |
An enumeration for uv addressing mode.
Wrap – Tiles the texture.
Mirror – Mirrors the texture when tiling.
Clamp – Clamps accesses to 0.0 or 1.0.
Border – Texture coordinates outside 0.0 or 1.0 return border color.
MirrorOnce – Takes the absolute value of the coordinate and clamps to the maximum value.
|
AttributeFormat |
An enumeration for various attribute formats.
Unknown – Unknown attribute format.
Scalar – Scalar (float) attribute format.
Vec2 – 2-Component vector attribute format.
Vec3 – 3-Component vector attribute format.
Vec4 – 4-Component vector attribute format.
|
BarrierType |
An enumeration of supported barrier types.
Transition – Resource transition barrier.
Aliasing – Resource aliasing barrier.
UAV – Resource UAV-sync barrier.
|
BindingType |
An enumeration for binding types. Used to bind parameters to root signatures and parameter sets.
TextureSRV = 0 – Binds as a texture srv.
TextureUAV – Binds as a texture uav.
BufferSRV – Binds as a buffer srv.
BufferUAV – Binds as a buffer uav.
AccelStructRT – Binds as an acceleration structure.
CBV – Binds as a constant buffer.
Sampler – Binds as a sampler.
RootConstant – Binds as a root constant buffer.
Root32BitConstant – Binds as a 32-bit push constant.
Invalid – Invalid binding.
Count = Invalid – Binding type count.
|
Blend |
An enumeration for blend factors.
Zero = 0 – Blend factor zero.
One – Blend factor one.
SrcColor – Blend factor source color.
DstColor – Blend factor destination color.
InvSrcColor – Blend factor 1 – source color.
InvDstColor – Blend factor 1 – destination color.
SrcAlpha – Blend factor source alpha.
DstAlpha – Blend factor destination alpha.
InvSrcAlpha – Blend factor 1 – source alpha.
InvDstAlpha – Blend factor 1 – destination alpha.
SrcAlphaSat – Blend factor is (f, f, f, 1) where f = min(source alpha, 1 – destination alpha).
BlendFactor – Blend factor is a custom value.
InvBlendFactor – Blend factor is 1 – custom value.
|
BlendOp |
An enumeration for blend operations.
Add = 0 – Source + destination blend operation.
Subtract – Source – destination blend operation.
RevSubtract – Destination – source blend operation.
Min – Min(source, destination) blend operation.
Max – Max(source, destination) blend operation.
|
BufferType |
An enumeration for various types of buffers which can be created through “FidelityFX Cauldron Framework“
Vertex – Resource represents a vertex buffer.
Index – Resource represents an index buffer.
Constant – Resource represents a constant buffer.
AccelerationStructure – Resource represents an acceleration structure.
Data – Resource represents a generic data buffer.
|
CellStatus |
An enumeration for shadow cell status.
Empty – The cell is empty.
Allocated – The cell has been allocated.
Subdivided – The cell was subdivided into 4 cells.
|
ColorPrimaries |
An enumeration representing the red, green, blue and white points for above colour spaces’ gamut triangle.
ColorPrimaries_WHITE – White.
ColorPrimaries_RED – Red.
ColorPrimaries_GREEN – Green.
ColorPrimaries_BLUE – Blue.
|
ColorPrimariesCoordinates |
An enumeration for storing xy triangle gamut points for above red, green, blue and white color primairies.
ColorPrimariesCoordinates_X – The x coordinate.
ColorPrimariesCoordinates_Y – The y coordinate.
|
ColorSpace |
An enumeration for color space to use for attached monitor display.
ColorSpace_REC709 – Display using Rec. 709 (also known as Rec.709, BT.709, and ITU 709).
ColorSpace_P3 – Display using DCI-P3 sRGB color space.
ColorSpace_REC2020 – Display using Rec. 2020 (also known as Rec. 2020 or BT.2020).
ColorSpace_Display – Current display color space id.
|
ColorWriteMask |
An enumeration for color write mask.
Red = 0x1 – Write red channel.
Green = 0x2 – Write green channel.
Blue = 0x4 – Write blue channel.
Alpha = 0x8 – Write alpha channel.
All = (Red | Green | Blue | Alpha) – Write all channels.
|
CommandQueue |
An enumeration for command queue types.
Graphics = 0 – Graphics command queue (single threaded).
Compute – Compute command queue (single threaded).
Copy – Copy command queue (multi threaded).
Count – CommandQueue type count.
|
ComparisonFunc |
An enumeration for comparison functions.
Never = 0 – Always fail.
Less – Accept new if less than current.
Equal – Accept new if equal to current.
LessEqual – Accept new if less or equal to current.
Greater – Accept new if greater than current.
NotEqual – Accept new if not equal to current.
GreaterEqual – Accept new if greater or equal to current.
Always – Always accept.
|
CullMode |
An enumeration for culling mode.
None = 0 – No culling.
Front – Front face culling.
Back – Backface culling.
|
DeviceFeature |
An enumeration for device features to query.
None = 0 – No device features. Used for initialization.
FP16 = 1 << 0 – Does the device support FP16 capabilities.
VRSTier1 = 1 << 1 – Does the device support VRS Tier 1 capabilities.
VRSTier2 = 1 << 2 – Does the device support VRS Tier 2 capabilities.
RT_1_0 = 1 << 3 – Does the device support RT 1.0 capabilities.
RT_1_1 = 1 << 4 – Does the device support RT 1.1 capabilities.
WaveSize = 1 << 5 – Does the device support wave size control capabilities.
CoherentMemoryAMD = 1 << 6 – Does the device support coherent memory from AMD extension.
DedicatedAllocs = 1 << 7 – Does the device support dedicated allocations for resources.
BufferMarkerAMD = 1 << 8 – Does the device support buffer markers from AMD extension.
ExtendedSync = 1 << 9 – Does the device support extended synchronization methods.
ShaderStorageBufferArrayNonUniformIndexing = 1 << 10 – Does the device support shader storage buffer array non uniform indexing (always supported for DX12, device dependent for Vulkan).
|
FilterFunc |
An enumeration for filter functions.
MinMagMipPoint
MinMagPointMipLinear
MinPointMagLinearMipPoint
MinPointMagMipLinear
MintMagPointMipLinear
MinLinearMagMipPoint
MinLinearMagPointMipLinear
MinMagLinearMipPoint
MinMagMipLinear
Anisotropic
ComparisonMinMagMipPoint
ComparisonMinMagPointMipLinear
ComparisonMinPointMagLinearMipPoint
ComparisonMinPointMagMipLinear
ComparisonMintMagPointMipLinear
ComparisonMinLinearMagMipPoint
ComparisonMinLinearMagPointMipLinear
ComparisonMinMagLinearMipPoint
ComparisonMinMagMipLinear
ComparisonAnisotropic
|
GPUResourceType |
An enumeration of supported GPU resource types.
Texture = 0 – A texture resource. This is either a loaded texture, rendertarget or depthtarget.
Buffer – A buffer resource.
BufferBreadcrumbs – AMD FidelityFX Breadcrumbs Library markers buffer resource.
Swapchain – A Swapchain resource (special handling is provided).
|
IndirectCommandType |
An enumeration of indirect workload types.
Draw = 0 – Indirect Draw workload.
DrawIndexed – Indirect DrawIndexed workload.
Dispatch – Indirect Dispatch workload.
|
MaterialBlend |
An enumeration of supported surface blend types.
Opaque = 0 – Opaque blend type (no blending).
Mask – Mask blend type (alpha to mask).
AlphaBlend – Alpha blend type (Cb(1 – alpha) + Ca).
Count – Number of blend types.
|
PipelineType |
An enumeration for pipeline types.
Undefined = 0 – Undefined (default)
Graphics – Graphics pipeline.
Compute – Compute pipeline.
|
PrimitiveTopology |
An enumeration for primitive topology options.
Undefined = 0 – Undefined topology.
PointList – Point list primitive topology.
LineList – Line list primitive topology.
TriangleList – Triangle list primitive topology.
TriangleStrip – Triangle strip primitive topology.
|
PrimitiveTopologyType |
An enumeration for primitive topology types.
Undefined = 0 – Undefined primitive topology.
Point – Point primitive topology.
Line – Line primitive topology.
Triangle – Triangle primitive topology.
Patch – Patch primitive topology.
|
ResourceFlags |
An enumeration for resource flags.
None = 0x0 – No flags.
AllowRenderTarget = 0x1 << 0 – Allow resource to be used as rasterization target.
AllowDepthStencil = 0x1 << 1 – Allow resource to be used as depth/stencil target.
AllowUnorderedAccess = 0x1 << 3 – Allow unordered access to resource.
DenyShaderResource = 0x1 << 4 – Prevents the resource from having an SRV created for it.
AllowSimultaneousAccess = 0x1 << 6 – Allow resource to be accessed from different queues simultaneously.
AllowShadingRate = 0x1 << 7 – Allow resource to be a shading rate resource.
AllowIndirect = 0x1 << 8 – Allow resource to be an indirect argument.
AllowConstantBuffer = 0x1 << 9 – All resource to be used as a constant buffer.
BreadcrumbsBuffer = 0x1 << 10 – Special purpose buffer for holding AMD FidelityFX Breadcrumbs Library markers.
|
ResourceFormat |
An enumeration for Resource formats.
Unknown – Unknown resource format.
R8_SINT – Single-component (R) 8-bit (signed int) type.
R8_UINT – Single-component (R) 8-bit (unsigned int) type.
R8_UNORM – Single-component (R) 8-bit (unsigned normalized) type.
R16_SINT – Single-component (R) 16-bit (signed int) type.
R16_UINT – Single-component (R) 16-bit (unsigned int) type.
R16_FLOAT – Single-component (R) 16-bit (floating point) type.
R16_UNORM – Single-component (R) 16-bit (unsigned normalized) type.
R16_SNORM – Single-component (R) 16-bit (signed normalized) type.
RG8_SINT – 2-component (RG) 16-bit (signed int) type.
RG8_UINT – 2-component (RG) 16-bit (unsigned int) type.
RG8_UNORM – 2-component (RG) 16-bit (unsigned normalized) type.
R32_SINT – Single-Component (R) 32-bit (signed int) type.
R32_UINT – Single-Component (R) 32-bit (unsigned int) type.
RGBA8_SINT – 4-Component (RGBA) 32-bit (signed int) type.
BGRA8_SINT – 4-Component (BGRA) 32-bit (signed int) type.
RGBA8_UINT – 4-Component (RGBA) 32-bit (unsigned int) type.
BGRA8_UINT – 4-Component (BGRA) 32-bit (unsigned int) type.
RGBA8_UNORM – 4-Component (RGBA) 32-bit (unsigned normalized) type.
BGRA8_UNORM – 4-Component (BGRA) 32-bit (unsigned normalized) type.
RGBA8_SNORM – 4-Component (RGBA) 32-bit (signed normalized) type.
RGBA8_SRGB – 4-Component (RGBA) 32-bit (SRGB) type.
BGRA8_SRGB – 4-Component (BGRA) 32-bit (SRGB) type.
RGBA8_TYPELESS – 4-Component (RGBA) 32-bit (typeless) type.
BGRA8_TYPELESS – 4-Component (BGRA) 32-bit (typeless) type.
RGB10A2_UNORM – 4-Component (RGBA) 32-bit (unsigned normalized) type.
RG11B10_FLOAT – 3-Component (RGB) 32-bit (floating point) type.
RGB9E5_SHAREDEXP – 3-Component (RGB) 32-bit (floating point) type.
RG16_SINT – 2-Component (RG) 32-bit (signed int) type.
RG16_UINT – 2-Component (RG) 32-bit (unsigned int) type.
RG16_FLOAT – 2-Component (R) 32-bit (floating point) type.
R32_FLOAT – Single-Component (R) 32-bit (floating point) type.
RGBA16_SINT – 4-Component (RGBA) 64-bit (signed int) type.
RGBA16_UINT – 4-Component (RGBA) 64-bit (unsigned int) type.
RGBA16_UNORM – 4-Component (RGBA) 64-bit (unsigned normalized) type.
RGBA16_SNORM – 4-Component (RGBA) 64-bit (signed normalized) type.
RGBA16_FLOAT – 4-Component (RGBA) 64-bit (floating point) type.
RG32_SINT – 2-Component (RG) 64-bit (signed int) type.
RG32_UINT – 2-Component (RG) 64-bit (unsigned int) type.
RG32_FLOAT – 2-Component (RG) 64-bit (floating point) type.
RGB32_SINT – 3-Component (RGB) 96-bit (signed int) type.
RGB32_UINT – 3-Component (RGB) 96-bit (unsigned int) type.
RGB32_FLOAT – 3-Component (RGB) 96-bit (floating point) type.
RGBA32_SINT – 4-Component (RGBA) 128-bit (signed int) type.
RGBA32_UINT – 4-Component (RGBA) 128-bit (unsigned int) type.
RGBA32_FLOAT – 4-Component (RGBA) 128-bit (floating point) type.
RGBA32_TYPELESS – 4-Component (RGBA) 128-bit (typeless) type.
D16_UNORM – 16-bit depth (unsigned int) type.
D32_FLOAT – 32-bit depth (floating point) type.
BC1_UNORM – BC1 compressed (unsigned int) type.
BC1_SRGB – BC1 compressed (SRGB) type.
BC2_UNORM – BC2 compressed (unsigned normalized) type.
BC2_SRGB – BC2 compressed (SRGB) type.
BC3_UNORM – BC3 compressed (unsigned normalized) type.
BC3_SRGB – BC3 compressed (SRGB) type.
BC4_UNORM – BC4 compressed (unsigned normalized) type.
BC4_SNORM – BC4 compressed (signed normalized) type.
BC5_UNORM – BC5 compressed (unsigned normalized) type.
BC5_SNORM – BC5 compressed (signed normalized) type.
BC6_UNSIGNED – BC6 compressed (unsigned) type.
BC6_SIGNED – BC6 compressed (signed) type.
BC7_UNORM – BC7 compressed (unsigned normalized) type.
BC7_SRGB – BC7 compressed (SRGB) type.
|
ResourceState |
An enumeration for resource states.
CommonResource = 0x0 – Common resource state.
VertexBufferResource = 0x1 << 0 – Vertex buffer resource state.
ConstantBufferResource = 0x1 << 1 – Constant buffer resource state.
IndexBufferResource = 0x1 << 2 – Index buffer resource state.
RenderTargetResource = 0x1 << 3 – Render target resource state.
UnorderedAccess = 0x1 << 4 – Unordered access resource state.
DepthWrite = 0x1 << 5 – Depth write resource state.
DepthRead = 0x1 << 6 – Depth read resource state.
NonPixelShaderResource = 0x1 << 7 – Non-pixel shader resource state.
PixelShaderResource = 0x1 << 8 – Pixel shader resource state.
IndirectArgument = 0x1 << 9 – Indirect argument resource state.
CopyDest = 0x1 << 10 – Copy destination resource state.
CopySource = 0x1 << 11 – Copy source resource state.
ResolveDest = 0x1 << 12 – Resolve destination resource state.
ResolveSource = 0x1 << 13 – Resolve source resource state.
RTAccelerationStruct = 0x1 << 14 – Ray tracing acceleration structure resource state.
ShadingRateSource = 0x1 << 15 – Shading rate source resource state.
GenericRead = 0x1 << 16 – Generic read resource state.
Present = 0x1 << 17 – Present resource state.
DepthShaderResource = DepthRead | NonPixelShaderResource | PixelShaderResource – Depth shader resource state.
ShaderResource = NonPixelShaderResource | PixelShaderResource – Shader resource (general) state.
|
ResourceViewHeapType |
An enumeration for resource view heap types.
GPUResourceView = 0 – GPU resource view type.
CPUResourceView – CPU resource view type.
CPURenderView – CPU render view type (renter targets).
CPUDepthView – CPU depth view type (depth targets).
GPUSamplerView – GPU sampler view types (samplers).
Count – Resource view heap type count.
|
ResourceViewType |
An enumeration for resource view types.
CBV = 0 – Constant buffer view type.
TextureSRV – Texture shader resource view type.
BufferSRV – Buffer shader resource view type.
TextureUAV – Texture unordered access view type.
BufferUAV – Buffer unordered access view type.
RTV – Render target view type.
DSV – Depth stencil view type.
Sampler – Sampler view type.
Count – Resource view type count.
Invalid = 0xffffffff – Invalid resource view type (used for initializations)
|
ShaderBindStage |
An enumeration for shader binding stages.
Unassigned = 0 – Unassigned (default).
Vertex = 1 << 0 – Vertex shader binding.
Pixel = 1 << 1 – Pixel shader binding.
Compute = 1 << 2 – Compute shader binding.
VertexAndPixel = Vertex | Pixel – Vertex and Pixel shader binding.
|
ShaderModel |
An enumeration for shader stage Note, need to also update the JSON config enums in Framework.cpp when this changes Note2, need to also update defines strings in shaderbuild_win.cpp.
SM5_1 = 0 – default basic hsls support.
SM6_0 – wave intrinsics & 64-integers for arithmetic.
SM6_1 – SV_ViewID, barycentric semantics, and GetAttributeAtVertex.
SM6_2 – float16 support (instead of minfloat16) and denorm mode selection.
SM6_3 – DXR support.
SM6_4 – low-precision packed dot product, library sub-object support for RT.
SM6_5 – DXR 1.1, Sampler Feedback, Mesh and Amplification shaders, and more wave intrinsics.
SM6_6 – New Atomic operations, Dynamic Resources, Helper Lane Detection, Compute derivatives, new Pack/Unpack intrinsics, WaveSize, RT payload access qualifiers.
SM6_7 – Expanded texture fetching, quad querying, and wave capabilities.
SM6_8 – Work Graphs.
|
ShaderStage |
An enumeration for shader stage.
Vertex = 0 – Shader vertex stage.
Pixel – Shader pixel stage.
Hull – Shader hull stage.
Domain – Shader domain stage.
Geometry – Shader geometry stage.
Compute – Shader compute stage.
|
ShadingRate |
An enumeration for shading rate modes.
ShadingRate_1X1 = ((uint32_t)ShadingRate1D::ShadingRate1D_1X << 3 ) | (uint32_t)ShadingRate1D::ShadingRate1D_1X – 1×1 shading rate.
ShadingRate_1X2 = ((uint32_t)ShadingRate1D::ShadingRate1D_1X << 3 ) | (uint32_t)ShadingRate1D::ShadingRate1D_2X – 1×2 shading rate.
ShadingRate_1X4 = ((uint32_t)ShadingRate1D::ShadingRate1D_1X << 3 ) | (uint32_t)ShadingRate1D::ShadingRate1D_4X – 1×4 shading rate.
ShadingRate_2X1 = ((uint32_t)ShadingRate1D::ShadingRate1D_2X << 3 ) | (uint32_t)ShadingRate1D::ShadingRate1D_1X – 2×1 shading rate.
ShadingRate_2X2 = ((uint32_t)ShadingRate1D::ShadingRate1D_2X << 3 ) | (uint32_t)ShadingRate1D::ShadingRate1D_2X – 2×2 shading rate.
ShadingRate_2X4 = ((uint32_t)ShadingRate1D::ShadingRate1D_2X << 3 ) | (uint32_t)ShadingRate1D::ShadingRate1D_4X – 2×4 shading rate.
ShadingRate_4X1 = ((uint32_t)ShadingRate1D::ShadingRate1D_4X << 3 ) | (uint32_t)ShadingRate1D::ShadingRate1D_1X – 4×1 shading rate.
ShadingRate_4X2 = ((uint32_t)ShadingRate1D::ShadingRate1D_4X << 3 ) | (uint32_t)ShadingRate1D::ShadingRate1D_2X – 4×2 shading rate.
ShadingRate_4X4 = ((uint32_t)ShadingRate1D::ShadingRate1D_4X << 3 ) | (uint32_t)ShadingRate1D::ShadingRate1D_4X – 4×4 shading rate.
|
ShadingRate1D |
An enumeration for 1 dimensional shading rates.
ShadingRate1D_1X = 1 << 0 – 1×1 shading rate.
ShadingRate1D_2X = 1 << 1 – 1×2 shading rate.
ShadingRate1D_4X = 1 << 2 – 1×4 shading rate.
|
ShadingRateCombiner |
An enumeration for shading rate combiners.
ShadingRateCombiner_Passthrough = 1 << 0 – Pass through.
ShadingRateCombiner_Override = 1 << 1 – Override.
ShadingRateCombiner_Min = 1 << 2 – Minimum.
ShadingRateCombiner_Max = 1 << 3 – Maximum.
ShadingRateCombiner_Sum = 1 << 4 – Sum.
ShadingRateCombiner_Mul = 1 << 5 – Multiply.
|
ShadowMapResolution |
An enumeration for shadow map resolution occupancy.
Full = 1 – Shadow map entry occupies full shadow map resolution.
Half = 2 – Shadow map entry occupies half the shadow map resolution.
Quarter = 4 – Shadow map entry occupies a quarter of the shadow map resolution.
Eighth = 8 – Shadow map entry occupies an eighth of the shadow map resolution.
|
StencilOp |
An enumeration for stencil operations.
Zero = 0 – Set stencil buffer entry to 0.
Keep – Do not update the stencil buffer entry.
Replace – Replace the stencil buffer entry with a specified value.
IncrementSat – Increment the stencil buffer entry. Clamp to maximum value.
DecrementSat – Decrement the stencil buffer entry. Clamp to minimum value.
Invert – Invert the stencil buffer entry.
Increment – Increment the stencil buffer entry. Wrap to zero.
Decrement – Decrement the stencil buffer entry. Wrap to maximum value.
|
TextureClass |
An enumeration of supported texture class types.
Albedo = 0 – Texture represents albedo data.
Normal – Texture represents normal data.
Emissive – Texture represents emissive data.
Occlusion – Texture represents occlusion data.
MetalRough – Texture represents metal-rough data.
SpecGloss – Texture represents spec-gloss data.
Count – Number of texture classes.
|
TextureDimension |
An enumeration for texture dimension.
Unknown = 0 – Unknown texture dimension.
Texture1D – 1D texture dimension.
Texture2D – 2D texture dimension.
Texture3D – 3D texture dimension.
CubeMap – Cubed texture dimension.
|
UpscalerState |
An enumeration for upscaler state.
None = 0 – No upscaling.
PreUpscale – Currently in pre-upscale state.
PostUpscale – Currently in post-upscale state.
|
VariableShadingMode |
An enumeration for variable shading mode.
VariableShadingMode_None = 0 – No variable rate shading.
VariableShadingMode_Per_Draw – Per-draw variable rate shading.
VariableShadingMode_Image – Image-based variable rate shading.
|
VertexAttributeFlag |
An enumeration for vertex attribute flags (convenience masks built from “VertexAttributeType“)
VertexAttributeFlag_Position = 0x1 << static_cast<uint32_t>(VertexAttributeType::Position)
VertexAttributeFlag_Normal = 0x1 << static_cast<uint32_t>(VertexAttributeType::Normal)
VertexAttributeFlag_Tangent = 0x1 << static_cast<uint32_t>(VertexAttributeType::Tangent)
VertexAttributeFlag_Texcoord0 = 0x1 << static_cast<uint32_t>(VertexAttributeType::Texcoord0)
VertexAttributeFlag_Texcoord1 = 0x1 << static_cast<uint32_t>(VertexAttributeType::Texcoord1)
VertexAttributeFlag_Color0 = 0x1 << static_cast<uint32_t>(VertexAttributeType::Color0)
VertexAttributeFlag_Color1 = 0x1 << static_cast<uint32_t>(VertexAttributeType::Color1)
VertexAttributeFlag_Weights0 = 0x1 << static_cast<uint32_t>(VertexAttributeType::Weights0)
VertexAttributeFlag_Weights1 = 0x1 << static_cast<uint32_t>(VertexAttributeType::Weights1)
VertexAttributeFlag_Joints0 = 0x1 << static_cast<uint32_t>(VertexAttributeType::Joints0)
VertexAttributeFlag_Joints1 = 0x1 << static_cast<uint32_t>(VertexAttributeType::Joints1)
VertexAttributeFlag_PreviousPosition = 0x1 << static_cast<uint32_t>(VertexAttributeType::PreviousPosition)
|
VertexAttributeType |
An enumeration for vertex attribute types.
Position = 0 – Position vertex attribute.
Normal – Normal vertex attribute.
Tangent – Tangent vertex attribute.
Texcoord0 – Texcoord0 vertex attribute.
Texcoord1 – Texcoord1 vertex attribute.
Color0 – Color0 vertex attribute.
Color1 – Color1 vertex attribute.
Weights0 – Weights0 (blend weights) vertex attribute.
Weights1 – Weights1 (blend weights) vertex attribute.
Joints0 – Joint0 (blend indices) vertex attribute.
Joints1 – Joint1 (blend indices) vertex attribute.
PreviousPosition – PreviousPosition vertex attribute.
Count – Vertex attribute count.
|
ViewDimension |
An enumeration for resource view dimensions.
Unknown = 0 – View dimension for unknown resource.
Buffer – View dimension for buffer resource.
Texture1D – View dimension for 1D texture resource.
Texture1DArray – View dimension for 1D texture array resource.
Texture2D – View dimension for 2D texture resource.
Texture2DArray – View dimension for 2D texture array resource.
Texture2DMS – View dimension for 2D multi-sampled texture resource.
Texture2DMSArray – View dimension for 2D texture multi-sampled array resource.
Texture3D – View dimension for 3D texture resource.
TextureCube – View dimension for cube map resource.
TextureCubeArray – View dimension for cube map array resource.
RTAccelerationStruct – View dimension for rt acceleration structure resource.
|
Structs
Name |
Description |
---|---|
A structure representing an allocation block used to upload CPU-side memory to a GPU resource.
|
|
Represents animation interpolation data for a specific frame of animation
|
|
Represents an Animation Skin data for a specific mesh
|
|
A structure encapsulating information needed for resource barrier execution.
|
|
Structure representing a binding description for resource binding.
|
|
Structure representing the blend description needed for a pipeline object.
|
|
A structure representing buffer addressing information used to bind buffer resources to the GPU. Private implementations can be found under each API/Platform folder.
|
|
A structure representing buffer copy job description used to copy buffer resources on the GPU. Private implementations can be found under each API/Platform folder.
|
|
A buffer description structure used to create buffer resources. Provides convenience functions for creating buffer descriptions of all supported types of buffers.
|
|
An structure represnting a shadow cell entry.
|
|
Structure representing the depth description needed for a pipeline object.
|
|
Structure representing the needed information for the creation of particle emitters.
|
|
A structure holding Variable Shading Rate feature information.
|
|
A structure holding HDR meta data.
|
|
Structure representing the index buffer information.
|
|
Structure representing the input layout description for a single vertex attribute. Needed for a pipeline object.
|
|
A structure representing optional shader instructions and targets to apply to translucency pipelines.
|
|
Structure representing the needed information for the creation of particle spawners.
|
|
The description used to build a pipeline object.
|
|
Profiling capture identification structure.
|
|
Structure representing the rasterization description needed for a pipeline object.
|
|
A structure representing a rect (quad) construct.
|
|
A structure holding resolution information.
|
|
A structure representing resource view information used to bind resources to the GPU. Private implementations can be found under each API/Platform folder.
|
|
The description structure used to construct “FidelityFX Cauldron Framework“ ‘s “RootSignature“
|
|
A structure representing a sampler description.
|
|
A structure representing shader blob description information.
|
|
A structure representing shader build description information.
|
|
Stores all the skins and skinning matrices for animated meshes
|
|
Structure representing the stencil description needed for a pipeline object.
|
|
A structure representing texture copy job description used to copy texture resources on the GPU. Private implementations can be found under each API/Platform folder.
|
|
A structure representing a texture description.
|
|
Structure representing the needed information for the usage of a material texture.
|
|
Structure holding the information of a timing capture.
|
|
A structure representing data transfer information. Is backed by an allocation block.
|
|
A structure representing variable shading rate information.
|
|
Structure representing the vertex buffer information for a vertex data stream (component channel).
|
|
A structure representing a viewport construct.
|
Classes
Name |
Description |
---|---|
The Acceleration Structure instance representation stored in the acceleration structure manager.
|
|
The Acceleration Structure manager used to update and build various rt acceleration structures.
|
|
An animation channel represents a single channel of an
Animation . |
|
Holds all high level information related to an animation instance.
|
|
The
FidelityFX Cauldron Framework api/platform-agnostic representation of the Bottom Level Acceleration Structure. |
|
The
FidelityFX Cauldron Framework api/platform-agnostic representation of a buffer gpu resource. |
|
Convenience class to perform scoped CPU profiling captures.
|
|
The
FidelityFX Cauldron Framework api/platform-agnostic representation of a command list. |
|
Copy resources are used to prime GPU resources with data (copied over via the Copy queue).
|
|
The
FidelityFX Cauldron Framework api/platform-agnostic representation of the rendering device. |
|
The GBuffer render module is responsible for rendering the gbuffer for all loaded scene entities.
|
|
The GPUParticlesRenderModule is responsible for spawning and simulating all entities with ParticleSpawnerComponents.
|
|
The
FidelityFX Cauldron Framework api/platform-agnostic representation of a GPU resource. |
|
Convenience class to perform scoped GPU profiling captures.
|
|
A structure encapsulating an indirect workload to execute.
|
|
The lighting render module is responsible rendering deferred lighting from the gbuffer information.
|
|
The
FidelityFX Cauldron Framework material representation. |
|
The
FidelityFX Cauldron Framework mesh representation. |
|
The parameter sets are how resource binding is handled in
FidelityFX Cauldron Framework . |
|
Represents a run-time particle spawning system as defined by a
ParticleSpawnerDesc . |
|
The
FidelityFX Cauldron Framework pipeline object instance used to execute GPU workloads. |
|
The
FidelityFX Cauldron Framework representation of the CPU/GPU profiler. |
|
The raster shadow render module is responsible for rendering all rasterized shadow geometry.
|
|
The
FidelityFX Cauldron Framework representation of a rasterization resource view. |
|
Allocator used for the creation of
RasterView instances. |
|
The
FidelityFX Cauldron Framework render module base class. |
|
Factory class for RenderModule registration and creation.
|
|
Convenience class to help constructs register for resize event notifications.
|
|
The
FidelityFX Cauldron Framework api/platform-agnostic representation of the resource view. |
|
The
FidelityFX Cauldron Framework api/platform-agnostic representation of the resource view allocator. |
|
The
FidelityFX Cauldron Framework api/platform-agnostic representation of the root signature. |
|
The
FidelityFX Cauldron Framework api/platform-agnostic representation of the sampler resource. |
|
Convenience class to perform scoped GPU and CPU profiling captures.
|
|
Convenience calss to perform scoped profiling captures.
|
|
The
FidelityFX Cauldron Framework shadow map atlas representation. |
|
The
FidelityFX Cauldron Framework shadow map resource pool. |
|
The sky dome render module is responsible for rendering the set ibl map to background or to generate a procedural sky.
|
|
The
FidelityFX Cauldron Framework surface representation. |
|
The
FidelityFX Cauldron Framework api/platform-agnostic representation of the swapchain object. |
|
The
FidelityFX Cauldron Framework api/platform-agnostic representation of a swap chain render target resource. |
|
The TAA render module is responsible for performing the Temporal Anti-Aliasing GPU work when included.
|
|
The
FidelityFX Cauldron Framework api/platform-agnostic representation of the Top Level Acceleration Structure. |
|
The
FidelityFX Cauldron Framework api/platform-agnostic representation of a texture resource. |
|
The Translucency render module is responsible for rendering all translucent geometry and particles in a sorted (back to front) manner.
|
|
The
FidelityFX Cauldron Framework api/platform-agnostic representation of an upload context. |
|
The
FidelityFX Cauldron Framework api/platform-agnostic representation of the upload heap. |
Functions
Return type |
Description |
---|---|
const void* |
cauldron::GetInterpolant (const AnimInterpolants * pInterpolant, int32_t index)
Gets the “AnimInterpolants“ for the given index (frame)
|
int32_t |
cauldron::FindClosestInterpolant ( const AnimInterpolants * pInterpolant, float value )
Gets the closest “AnimInterpolants“ for the given animation value.
|
void |
cauldron::FillDisplaySpecificPrimaries ( float xw, float yw, float xr, float yr, float xg, float yg, float xb, float yb )
Fills the ColorSpace_Display entry with the provided primaries.
|
void |
cauldron::SetupGamutMapperMatrices ( ColorSpace gamutIn, ColorSpace gamutOut, Mat4 * inputToOutputRecMatrix )
Calculates conversion matrix to to transform RGB values from one gamut to another. gamutIn is colorspace to convert from and gamutOut is target colourspace to convert to.
|
void |
cauldron::SetAllResourceViewHeaps ( CommandList * pCmdList, ResourceViewAllocator * pAllocator = nullptr )
Set all resource view heaps to the CommandList.
|
void |
cauldron::CloseCmdList (CommandList * pCmdList)
Closes the CommandList.
|
void |
cauldron::ResourceBarrier ( CommandList * pCmdList, uint32_t barrierCount, const Barrier * pBarriers )
Submits 1 (or more) resource barriers.
|
void |
Copy texture data from one resource to another.
|
void |
Copy buffer data from one resource to another.
|
void |
cauldron::ClearRenderTarget ( CommandList * pCmdList, const ResourceViewInfo * pRendertargetView, const float clearColor[4] )
Clears a render target with the specified value.
|
void |
cauldron::ClearDepthStencil ( CommandList * pCmdList, const ResourceViewInfo * pDepthStencilView, uint8_t stencilValue )
Clears a depth(/stencil) target with the specified value.
|
void |
cauldron::ClearUAVFloat ( CommandList * pCmdList, const GPUResource * pResource, const ResourceViewInfo * pGPUView, const ResourceViewInfo * pCPUView, float clearColor[4] )
Clears a resource with the specified value.
|
void |
cauldron::ClearUAVUInt ( CommandList * pCmdList, const GPUResource * pResource, const ResourceViewInfo * pGPUView, const ResourceViewInfo * pCPUView, uint32_t clearColor[4] )
Clears a resource with the specified value.
|
void |
cauldron::BeginRaster ( CommandList * pCmdList, uint32_t numRasterViews, const RasterView ** pRasterViews, const RasterView * pDepthView = nullptr, const VariableShadingRateInfo * pVrsInfo = nullptr )
Begins rasterization workload submission to the CommandList.
|
void |
cauldron::BeginRaster ( CommandList * pCmdList, uint32_t numColorViews, const ResourceViewInfo * pColorViews, const ResourceViewInfo * pDepthView = nullptr, const VariableShadingRateInfo * pVrsInfo = nullptr )
Begins rasterization workload submission to the CommandList.
|
void |
cauldron::SetRenderTargets ( CommandList * pCmdList, uint32_t numRasterViews, const ResourceViewInfo * pRasterViews, const ResourceViewInfo * pDepthView = nullptr )
Binds the rendertarget/depth views to the GPU for rendering.
|
void |
Ends rasterization workload submissions to the CommandList.
|
void |
Sets a viewport for rasterization work.
|
void |
Sets the scissor rect for rasterization work.
|
void |
cauldron::SetViewportScissorRect ( CommandList * pCmdList, uint32_t left, uint32_t top, uint32_t width, uint32_t height, float nearDist, float farDist )
Convenience function to set both viewport and scissor rect through a single call.
|
void |
Set the pipeline object to use for Draw/Dispatch.
|
void |
Sets the primitive topology to use on rasterization workloads.
|
void |
cauldron::SetVertexBuffers ( CommandList * pCmdList, uint32_t startSlot, uint32_t numBuffers, BufferAddressInfo * pVertexBufferView )
Sets a vertex buffer for rasterization work.
|
void |
Sets an index buffer for rasterization work.
|
void |
cauldron::DrawInstanced ( CommandList * pCmdList, uint32_t vertexCountPerInstance, uint32_t instanceCount = 1, uint32_t startVertex = 0, uint32_t startInstance = 0 )
Instanced draw function.
|
void |
cauldron::DrawIndexedInstanced ( CommandList * pCmdList, uint32_t indexCountPerInstance, uint32_t instanceCount = 1, uint32_t startIndex = 0, uint32_t baseVertex = 0, uint32_t startInstance = 0 )
Instanced drawindexed function.
|
void |
cauldron::ExecuteIndirect ( CommandList * pCmdList, IndirectWorkload * pIndirectWorkload, const Buffer * pArgumentBuffer, uint32_t drawCount, uint32_t offset )
Executes indirect workloads.
|
void |
cauldron::Dispatch ( CommandList * pCmdList, uint32_t numGroupX, uint32_t numGroupY, uint32_t numGroupZ )
Dispatches GPU workloads.
|
void |
cauldron::WriteBufferImmediate ( CommandList * pCmdList, const GPUResource * pResource, uint32_t numParams, const uint32_t* offsets, const uint32_t* values )
Does immediate writes to buffer resources.
|
void |
cauldron::WriteBreadcrumbsMarker ( Device * pDevice, CommandList * pCmdList, Buffer * pBuffer, uint64_t gpuAddress, uint32_t value, bool isBegin )
Writes AMD FidelityFX Breadcrumbs Library marker to specified GPU locations.
|
void |
cauldron::SetShadingRate ( CommandList * pCmdList, const ShadingRate shadingRate, const ShadingRateCombiner * combiners, const GPUResource * pShadingRateImage = nullptr )
Sets the shading rate to use for rasterization workloads.
|
int |
Initializes the shader compilation system.
|
void |
Terminates the shader compilation system.
|
void* |
cauldron::CompileShaderToByteCode ( const ShaderBuildDesc & shaderDesc, std::vector<const wchar_t*>* pAdditionalParameters = nullptr )
Compiles the shader description to byte code.
|
void |
cauldron::AddTextureToDefineList ( DefineList & defineList, uint32_t& attributes, const uint32_t surfaceAttributes, const Material * pMaterial, const TextureClass textureClass, const wchar_t* pTextureKey, const wchar_t* pTexCoordKey )
Helpers to construct the defines for the shader Adds the texcoord support.
|
size_t |
Helper function to construct hash from defines and attributes in a geometric shader.
|
Macros
Name |
Description |
---|---|
Maximum number of supported push-type entries.
|
Detailed description
FidelityFX Cauldron Framework Render reference documentation.
Typedefs
DeviceRemovedCallback
Callback to be used when detecting device removed error while presenting the frame.
DefineList
DefineList, holds pairs of key & value that will be used by the compiler as defines.
Global variables
Global functions
GetInterpolant
const void* cauldron::GetInterpolant (
const AnimInterpolants * pInterpolant,
int32_t index
)
Gets the AnimInterpolants
for the given index (frame)
Parameters:
pInterpolant |
The animation interpolants to read from. |
index |
The index of frame of the data to fetch. |
Returns:
A pointer to the offsetted interpolant data.
FindClosestInterpolant
int32_t cauldron::FindClosestInterpolant (
const AnimInterpolants * pInterpolant,
float value
)
Gets the closest AnimInterpolants
for the given animation value.
Parameters:
pInterpolant |
The animation interpolants to read from. |
value |
The value (time) at which to get nearest interpolated data from. |
Returns:
The index of the closest interpolant data to the desired value.
FillDisplaySpecificPrimaries
Fills the ColorSpace_Display entry with the provided primaries.
SetupGamutMapperMatrices
void cauldron::SetupGamutMapperMatrices (
ColorSpace gamutIn,
ColorSpace gamutOut,
Mat4 * inputToOutputRecMatrix
)
Calculates conversion matrix to to transform RGB values from one gamut to another. gamutIn is colorspace to convert from and gamutOut is target colourspace to convert to.
SetAllResourceViewHeaps
void cauldron::SetAllResourceViewHeaps (
CommandList * pCmdList,
ResourceViewAllocator * pAllocator = nullptr
)
Set all resource view heaps to the CommandList.
CloseCmdList
void cauldron::CloseCmdList (CommandList * pCmdList)
Closes the CommandList.
ResourceBarrier
void cauldron::ResourceBarrier (
CommandList * pCmdList,
uint32_t barrierCount,
const Barrier * pBarriers
)
Submits 1 (or more) resource barriers.
CopyTextureRegion
void cauldron::CopyTextureRegion (
CommandList * pCmdList,
const TextureCopyDesc * pCopyDesc
)
Copy texture data from one resource to another.
CopyBufferRegion
void cauldron::CopyBufferRegion (
CommandList * pCmdList,
const BufferCopyDesc * pCopyDesc
)
Copy buffer data from one resource to another.
ClearRenderTarget
void cauldron::ClearRenderTarget (
CommandList * pCmdList,
const ResourceViewInfo * pRendertargetView,
const float clearColor[4]
)
Clears a render target with the specified value.
ClearDepthStencil
void cauldron::ClearDepthStencil (
CommandList * pCmdList,
const ResourceViewInfo * pDepthStencilView,
uint8_t stencilValue
)
Clears a depth(/stencil) target with the specified value.
ClearUAVFloat
void cauldron::ClearUAVFloat (
CommandList * pCmdList,
const GPUResource * pResource,
const ResourceViewInfo * pGPUView,
const ResourceViewInfo * pCPUView,
float clearColor[4]
)
Clears a resource with the specified value.
ClearUAVUInt
void cauldron::ClearUAVUInt (
CommandList * pCmdList,
const GPUResource * pResource,
const ResourceViewInfo * pGPUView,
const ResourceViewInfo * pCPUView,
uint32_t clearColor[4]
)
Clears a resource with the specified value.
BeginRaster
void cauldron::BeginRaster (
CommandList * pCmdList,
uint32_t numRasterViews,
const RasterView ** pRasterViews,
const RasterView * pDepthView = nullptr,
const VariableShadingRateInfo * pVrsInfo = nullptr
)
Begins rasterization workload submission to the CommandList.
BeginRaster
void cauldron::BeginRaster (
CommandList * pCmdList,
uint32_t numColorViews,
const ResourceViewInfo * pColorViews,
const ResourceViewInfo * pDepthView = nullptr,
const VariableShadingRateInfo * pVrsInfo = nullptr
)
Begins rasterization workload submission to the CommandList.
SetRenderTargets
void cauldron::SetRenderTargets (
CommandList * pCmdList,
uint32_t numRasterViews,
const ResourceViewInfo * pRasterViews,
const ResourceViewInfo * pDepthView = nullptr
)
Binds the rendertarget/depth views to the GPU for rendering.
EndRaster
void cauldron::EndRaster (
CommandList * pCmdList,
const VariableShadingRateInfo * pVrsInfo = nullptr
)
Ends rasterization workload submissions to the CommandList.
SetViewport
void cauldron::SetViewport (CommandList * pCmdList, Viewport * pViewport)
Sets a viewport for rasterization work.
SetScissorRects
void cauldron::SetScissorRects (
CommandList * pCmdList,
uint32_t numRects,
Rect * pRectList
)
Sets the scissor rect for rasterization work.
SetViewportScissorRect
void cauldron::SetViewportScissorRect (
CommandList * pCmdList,
uint32_t left,
uint32_t top,
uint32_t width,
uint32_t height,
float nearDist,
float farDist
)
Convenience function to set both viewport and scissor rect through a single call.
SetPipelineState
void cauldron::SetPipelineState (
CommandList * pCmdList,
PipelineObject * pPipeline
)
Set the pipeline object to use for Draw/Dispatch.
SetPrimitiveTopology
void cauldron::SetPrimitiveTopology (
CommandList * pCmdList,
PrimitiveTopology topology
)
Sets the primitive topology to use on rasterization workloads.
SetVertexBuffers
void cauldron::SetVertexBuffers (
CommandList * pCmdList,
uint32_t startSlot,
uint32_t numBuffers,
BufferAddressInfo * pVertexBufferView
)
Sets a vertex buffer for rasterization work.
SetIndexBuffer
void cauldron::SetIndexBuffer (
CommandList * pCmdList,
BufferAddressInfo * pIndexBufferView
)
Sets an index buffer for rasterization work.
DrawInstanced
void cauldron::DrawInstanced (
CommandList * pCmdList,
uint32_t vertexCountPerInstance,
uint32_t instanceCount = 1,
uint32_t startVertex = 0,
uint32_t startInstance = 0
)
Instanced draw function.
DrawIndexedInstanced
void cauldron::DrawIndexedInstanced (
CommandList * pCmdList,
uint32_t indexCountPerInstance,
uint32_t instanceCount = 1,
uint32_t startIndex = 0,
uint32_t baseVertex = 0,
uint32_t startInstance = 0
)
Instanced drawindexed function.
ExecuteIndirect
void cauldron::ExecuteIndirect (
CommandList * pCmdList,
IndirectWorkload * pIndirectWorkload,
const Buffer * pArgumentBuffer,
uint32_t drawCount,
uint32_t offset
)
Executes indirect workloads.
Dispatch
void cauldron::Dispatch (
CommandList * pCmdList,
uint32_t numGroupX,
uint32_t numGroupY,
uint32_t numGroupZ
)
Dispatches GPU workloads.
WriteBufferImmediate
void cauldron::WriteBufferImmediate (
CommandList * pCmdList,
const GPUResource * pResource,
uint32_t numParams,
const uint32_t* offsets,
const uint32_t* values
)
Does immediate writes to buffer resources.
WriteBreadcrumbsMarker
void cauldron::WriteBreadcrumbsMarker (
Device * pDevice,
CommandList * pCmdList,
Buffer * pBuffer,
uint64_t gpuAddress,
uint32_t value,
bool isBegin
)
Writes AMD FidelityFX Breadcrumbs Library marker to specified GPU locations.
SetShadingRate
void cauldron::SetShadingRate (
CommandList * pCmdList,
const ShadingRate shadingRate,
const ShadingRateCombiner * combiners,
const GPUResource * pShadingRateImage = nullptr
)
Sets the shading rate to use for rasterization workloads.
InitShaderCompileSystem
Initializes the shader compilation system.
TerminateShaderCompileSystem
Terminates the shader compilation system.
CompileShaderToByteCode
void* cauldron::CompileShaderToByteCode (
const ShaderBuildDesc & shaderDesc,
std::vector<const wchar_t*>* pAdditionalParameters = nullptr
)
Compiles the shader description to byte code.
AddTextureToDefineList
void cauldron::AddTextureToDefineList (
DefineList & defineList,
uint32_t& attributes,
const uint32_t surfaceAttributes,
const Material * pMaterial,
const TextureClass textureClass,
const wchar_t* pTextureKey,
const wchar_t* pTexCoordKey
)
Helpers to construct the defines for the shader Adds the texcoord support.
Hash
size_t cauldron::Hash (
DefineList & defineList,
uint32_t usedAttributes,
const Surface * pSurface
)
Helper function to construct hash from defines and attributes in a geometric shader.
Macros
MAX_PUSH_CONSTANTS_ENTRIES
Maximum number of supported push-type entries.