Foundation
Loading...
Searching...
No Matches
Classes | Namespaces | Typedefs | Functions | Variables
Renderer.hpp File Reference
#include <Core/AllocatorStack.hpp>
#include <Core/JobSystem.hpp>
#include <Core/Logging.hpp>
#include <Core/ThreadPool.hpp>
#include <RHICore/Command.hpp>
#include <RHICore/Descriptor.hpp>
#include <RHICore/Device.hpp>
#include <RHICore/PipelineState.hpp>
#include "Shader.hpp"

Go to the source code of this file.

Classes

struct  Foundation::RenderCore::RendererDesc
 Parameters for Renderer creation. More...
 
struct  Foundation::RenderCore::TrackedResource
 Internal tracking information for a resource in the frame graph. More...
 
struct  Foundation::RenderCore::TrackedResource::BufferState
 
struct  Foundation::RenderCore::TrackedResource::SubresourceState
 
struct  Foundation::RenderCore::ExecuteResources
 Helper class containing runtime resources either imported, or created by the Renderer. More...
 
class  Foundation::RenderCore::RenderPass
 Interface for a render pass. More...
 
struct  Foundation::RenderCore::FSetupDefault
 Default "no-op" functor for Setup() More...
 
struct  Foundation::RenderCore::FRecordDefault
 Default "no-op" functor for Record() More...
 
struct  Foundation::RenderCore::LambdaPass< FSetup, FRecord >
 Functional wrapper for a render pass. More...
 
struct  Foundation::RenderCore::TrackedPass
 Internal tracking information for a render pass in the frame graph. More...
 
class  Foundation::RenderCore::Renderer
 Renderer implementing a Frame Graph system with automatic resource tracking and synchronization. More...
 
struct  Foundation::RenderCore::Renderer::RendererSetup
 Helper class containing all states pertaining to Renderer's Setup phase. More...
 
struct  Foundation::RenderCore::Renderer::RendererSetup::ExecutionGroups
 
struct  Foundation::RenderCore::Renderer::FrameSyncObjects
 
struct  Foundation::RenderCore::Renderer::ExecutePerThreadCommandLists
 
struct  Foundation::RenderCore::Renderer::MemoryStat
 
struct  Foundation::RenderCore::Renderer::TexturePreviewStat
 

Namespaces

namespace  Foundation
 
namespace  Foundation::RenderCore
 Core functionalities for rendering, including the Frame Graph implementation.
 

Typedefs

using Foundation::RenderCore::PassHandle = Handle
 
using Foundation::RenderCore::ResourceHandle = Handle
 
using Foundation::RenderCore::ResourceDefinition = Variant< RHIBufferDesc, RHITextureDesc, RHIBuffer *, RHITexture *, RHIAccelerationStructure * >
 

Functions

 Foundation::RenderCore::ENUM_NAME (Undefined)
 
 Foundation::RenderCore::ENUM_NAME (Setup)
 
 Foundation::RenderCore::ENUM_NAME (PostSetup)
 
 Foundation::RenderCore::ENUM_NAME (Execute)
 
 Foundation::RenderCore::ENUM_NAME_CONV_END ()
 

Variables

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