Crate rafx_framework[][src]

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
render_features

Part of rafx-framework. Handles extracting, preparing, and writing draw calls

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
CookedShaderPackage
DescriptorSetAllocator
DescriptorSetAllocatorMetrics
DescriptorSetAllocatorProvider
DescriptorSetAllocatorRef
DescriptorSetArc
DescriptorSetLayout
DescriptorSetLayoutBinding
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
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.

ReflectedDescriptorSetLayout
ReflectedDescriptorSetLayoutBinding
ReflectedEntryPoint
ReflectedShader
ReflectedVertexInput
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
SamplerResource
ShaderModuleHash
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

Type Definitions

DescriptorSetArrayPoolAllocator
RafxResult
SlotNameLookup