Foundation
Loading...
Searching...
No Matches
Classes | Typedefs | Functions | Variables
Foundation::RenderCore Namespace Reference

Core functionalities for rendering, including the Frame Graph implementation. More...

Classes

class  BindlessPool
 
struct  ExecuteResources
 Helper class containing runtime resources either imported, or created by the Renderer. More...
 
struct  FRecordDefault
 Default "no-op" functor for Record() More...
 
struct  FSetupDefault
 Default "no-op" functor for Setup() More...
 
class  ImmediateContext
 Single persistent command list for immediate submissions. More...
 
struct  ImmediateUpload
 Single persistent staging buffer + immediate context for quick, batchable uploads. More...
 
struct  LambdaPass
 Functional wrapper for a render pass. More...
 
class  Renderer
 Renderer implementing a Frame Graph system with automatic resource tracking and synchronization. More...
 
struct  RendererDesc
 Parameters for Renderer creation. More...
 
class  RenderPass
 Interface for a render pass. More...
 
class  Shader
 Runtime reflection data for a shader module. More...
 
struct  TrackedPass
 Internal tracking information for a render pass in the frame graph. More...
 
struct  TrackedResource
 Internal tracking information for a resource in the frame graph. More...
 

Typedefs

using PassHandle = size_t
 
using ResourceHandle = size_t
 
using ResourceDefinition = Variant< RHIBufferDesc, RHITextureDesc, RHIDeviceHandle< RHIBuffer >, RHIDeviceHandle< RHITexture >, RHIBuffer *, RHITexture * >
 

Functions

 ENUM_NAME (Undefined)
 
 ENUM_NAME (Setup)
 
 ENUM_NAME (PostSetup)
 
 ENUM_NAME (Execute)
 
 ENUM_NAME_CONV_END ()
 

Variables

constexpr size_t kMaxRenderPasses = 1024
 
constexpr size_t kMaxCommandListsPerThread = kMaxRenderPasses
 
constexpr size_t kExecuteArenaSize = 16 * (1 << 20)
 
const RHIPipelineStage kComputeStagesMask
 
const RHIResourceAccessBits kAllShaderWrites
 
const RHIResourceAccessBits kAllShaderReads
 
const size_t kTextureAspectCount = 3
 

Detailed Description

Core functionalities for rendering, including the Frame Graph implementation.

Typedef Documentation

◆ PassHandle

◆ ResourceDefinition

◆ ResourceHandle

Function Documentation

◆ ENUM_NAME() [1/4]

Foundation::RenderCore::ENUM_NAME ( Execute  )

◆ ENUM_NAME() [2/4]

Foundation::RenderCore::ENUM_NAME ( PostSetup  )

◆ ENUM_NAME() [3/4]

Foundation::RenderCore::ENUM_NAME ( Setup  )

◆ ENUM_NAME() [4/4]

Foundation::RenderCore::ENUM_NAME ( Undefined  )

◆ ENUM_NAME_CONV_END()

Foundation::RenderCore::ENUM_NAME_CONV_END ( )

Variable Documentation

◆ kAllShaderReads

const RHIResourceAccessBits Foundation::RenderCore::kAllShaderReads
Initial value:
= RHIResourceAccessBits::ShaderRead |
RHIResourceAccessBits::RenderTargetRead | RHIResourceAccessBits::UniformRead |
RHIResourceAccessBits::TransferRead | RHIResourceAccessBits::HostRead

◆ kAllShaderWrites

const RHIResourceAccessBits Foundation::RenderCore::kAllShaderWrites
Initial value:
= RHIResourceAccessBits::ShaderWrite |
RHIResourceAccessBits::RenderTargetWrite | RHIResourceAccessBits::DepthStencilWrite |
RHIResourceAccessBits::TransferWrite | RHIResourceAccessBits::HostWrite

◆ kComputeStagesMask

const RHIPipelineStage Foundation::RenderCore::kComputeStagesMask
Initial value:
= RHIPipelineStageBits::FragmentShader |
RHIPipelineStageBits::VertexShader | RHIPipelineStageBits::MeshShader | RHIPipelineStageBits::RayTracingShader |
RHIPipelineStageBits::AllGraphics

◆ kExecuteArenaSize

constexpr size_t Foundation::RenderCore::kExecuteArenaSize = 16 * (1 << 20)
constexpr

◆ kMaxCommandListsPerThread

constexpr size_t Foundation::RenderCore::kMaxCommandListsPerThread = kMaxRenderPasses
constexpr

◆ kMaxRenderPasses

constexpr size_t Foundation::RenderCore::kMaxRenderPasses = 1024
constexpr

◆ kTextureAspectCount

const size_t Foundation::RenderCore::kTextureAspectCount = 3