Crate rafx_framework

Source
Expand description

A mid-level framework for rendering that provides tools for resource lifetime management, descriptor set management, materials, renderpass management, and draw call dispatching

Modules§

cooked_shader
descriptor_sets
graph
reflected_shader
render_features
Part of rafx-framework. Handles extracting, preparing, and writing draw calls
upload
visibility
Part of rafx-framework.

Macros§

declare_render_feature
Use to declare a new render feature that can be registered. Registration allows easy global access to the render feature index from anywhere in the binary
declare_render_feature_flag
Use to declare a new render feature flag that can be registered. Registration allows easy global access to the render feature flag index from anywhere in the binary
declare_render_phase

Structs§

BufferKey
BufferResource
ComputePipelineKey
ComputePipelineResource
DescriptorSetAllocator
DescriptorSetAllocatorMetrics
DescriptorSetAllocatorProvider
DescriptorSetAllocatorRef
DescriptorSetArc
DescriptorSetLayoutResource
DescriptorSetWriteSet
DescriptorSetWriterContext
DynCommandBuffer
DynCommandPool
A helper that can be allocated as needed to create very short-lived command buffers. The object may not be persisted across frames. Instead, allocated a new one every frame. They are pooled, allocation is cheap and thread-safe.
DynCommandPoolAllocator
An allocator for DynCommandPools, objects that are short-lived and NOT persisted across frames. Meant for allocating command buffers that are usually single use and only for the current frame. The allocator is multi-thread friendly, but the pools themselves are not. So if writing command buffers from multiple threads, allocate a pool per thread.
DynDescriptorSet
DynResourceAllocatorSet
DynResourceAllocatorSetProvider
FixedFunctionState
GraphicsPipelineCache
GraphicsPipelineRenderTargetMeta
GraphicsPipelineRenderTargetMetaHash
GraphicsPipelineResource
ImageKey
ImageResource
ImageViewKey
ImageViewResource
MaterialPass
MaterialPassResource
MaterialPassVertexInput
PooledResourceAllocator
This handles waiting for N frames to pass before resetting the pool. “Restting” could mean different things depending on the resource. This allocator also has a callback for allocating new pools for use. A maximum pool count should be provided so that an unbounded leak of pools can be detected.
ReflectedShader
ReflectedShaderMetadata
RenderResources
A key-value structure. The key is a type, and the value is a single object of that type
ResourceArc
ResourceContext
ResourceDropSink
This handles waiting for N frames to pass before dropping the resource.
ResourceHash
ResourceLookupSet
ResourceManager
ResourceManagerMetrics
RootSignatureResource
SamplerResource
ShaderModuleResource
SlotLocation
VertexData
VertexDataLayout
VertexDataLayoutHash
VertexDataSet
VertexDataSetLayout
VertexMember

Enums§

MaterialShaderStage
VertexCopyError

Constants§

MAX_FRAMES_IN_FLIGHT

Traits§

DescriptorSetBindings
DescriptorSetInitializer
DescriptorSetWriter
PooledResourceImpl
Implement to customize how PoolAllocator resets and destroys pools

Functions§

load_compute_pipeline_from_package
load_material_pass_from_packages

Type Aliases§

DescriptorSetArrayPoolAllocator
RafxResult
SlotNameLookup