Bicameral Engine
GPU-resident engine for a magic-research open-world game
Loading...
Searching...
No Matches
bicameral::sim::ProbePeek Class Reference

#include <probe_peek.h>

Collaboration diagram for bicameral::sim::ProbePeek:
[legend]

Public Member Functions

void Look (PeekCell cell)
void Stop ()
bool IsLooking () const
PeekCell Requested () const
void RecordAfterExtract (ID3D12GraphicsCommandList10 *list, const ProbeExtractContext &context)
void RecordReadback (ID3D12GraphicsCommandList10 *list)
bool Read (MultiresNest &nest) const

Static Public Member Functions

static std::expected< ProbePeek, std::string > Create (ID3D12Device5 *device, const BakedReactionTable &table)

Private Member Functions

 ProbePeek (GpuMultires &&nest, const std::array< uint32_t, PROBE_VIEW_SPECIES_COUNT > &viewSpecies)

Private Attributes

GpuMultires m_nest
ComPtr< ID3D12PipelineState > m_mirrorPipeline
ComPtr< ID3D12PipelineState > m_extractPipeline
std::array< uint32_t, PROBE_VIEW_SPECIES_COUNT > m_viewSpecies {}
PeekState m_state
bool m_uploaded = false

Detailed Description

Definition at line 87 of file probe_peek.h.

Constructor & Destructor Documentation

◆ ProbePeek()

bicameral::sim::ProbePeek::ProbePeek ( GpuMultires && nest,
const std::array< uint32_t, PROBE_VIEW_SPECIES_COUNT > & viewSpecies )
inlineprivate

Definition at line 105 of file probe_peek.h.

References m_nest, and m_viewSpecies.

Referenced by Create().

Here is the caller graph for this function:

Member Function Documentation

◆ Create()

std::expected< ProbePeek, std::string > bicameral::sim::ProbePeek::Create ( ID3D12Device5 * device,
const BakedReactionTable & table )
staticnodiscard

Definition at line 82 of file probe_peek.cpp.

References bicameral::sim::GpuMultires::Create(), bicameral::gpu::CreateComputePipeline(), bicameral::gpu::LoadShader(), m_extractPipeline, m_mirrorPipeline, m_nest, ProbePeek(), bicameral::sim::ProbeViewSpecies(), and bicameral::sim::GpuMultires::RootSignature().

Referenced by bicameral::frame::anonymous_namespace{frame_loop.cpp}::CreateParts().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ IsLooking()

bool bicameral::sim::ProbePeek::IsLooking ( ) const
inlinenodiscard

Definition at line 94 of file probe_peek.h.

References m_state.

◆ Look()

void bicameral::sim::ProbePeek::Look ( PeekCell cell)
inline

Definition at line 92 of file probe_peek.h.

References m_state.

◆ Read()

bool bicameral::sim::ProbePeek::Read ( MultiresNest & nest) const
inlinenodiscard

Definition at line 102 of file probe_peek.h.

References m_nest.

◆ RecordAfterExtract()

◆ RecordReadback()

void bicameral::sim::ProbePeek::RecordReadback ( ID3D12GraphicsCommandList10 * list)
inline

Definition at line 101 of file probe_peek.h.

References m_nest.

◆ Requested()

PeekCell bicameral::sim::ProbePeek::Requested ( ) const
inlinenodiscard

Definition at line 95 of file probe_peek.h.

References m_state.

◆ Stop()

void bicameral::sim::ProbePeek::Stop ( )
inline

Definition at line 93 of file probe_peek.h.

References m_state.

Member Data Documentation

◆ m_extractPipeline

ComPtr<ID3D12PipelineState> bicameral::sim::ProbePeek::m_extractPipeline
private

Definition at line 110 of file probe_peek.h.

Referenced by Create(), and RecordAfterExtract().

◆ m_mirrorPipeline

ComPtr<ID3D12PipelineState> bicameral::sim::ProbePeek::m_mirrorPipeline
private

Definition at line 109 of file probe_peek.h.

Referenced by Create(), and RecordAfterExtract().

◆ m_nest

GpuMultires bicameral::sim::ProbePeek::m_nest
private

Definition at line 108 of file probe_peek.h.

Referenced by Create(), ProbePeek(), Read(), RecordAfterExtract(), and RecordReadback().

◆ m_state

PeekState bicameral::sim::ProbePeek::m_state
private

Definition at line 112 of file probe_peek.h.

Referenced by IsLooking(), Look(), RecordAfterExtract(), Requested(), and Stop().

◆ m_uploaded

bool bicameral::sim::ProbePeek::m_uploaded = false
private

Definition at line 113 of file probe_peek.h.

Referenced by RecordAfterExtract().

◆ m_viewSpecies

std::array<uint32_t, PROBE_VIEW_SPECIES_COUNT> bicameral::sim::ProbePeek::m_viewSpecies {}
private

Definition at line 111 of file probe_peek.h.

Referenced by ProbePeek(), and RecordAfterExtract().


The documentation for this class was generated from the following files: