v2.0.0
Loading...
Searching...
No Matches
DISP3DLIB::BrainRenderer::Impl Struct Reference

Classes

struct  GpuMesh
struct  VideoOverlayResources
struct  SliceSlot
struct  SliceResources

Public Member Functions

void createResources (QRhi *rhi, QRhiRenderPassDescriptor *rp, int sampleCount)
int claimUniformSlot (const char *caller)
void beginPass (QRhiCommandBuffer *cb, QRhiRenderTarget *rt, QRhiResourceUpdateBatch *updates)
bool insidePass (const char *caller) const
void flushUniforms (QRhiResourceUpdateBatch *u)
GpuMesh & mesh (const RenderKey &key)
const GpuMesh * findMesh (const RenderKey &key) const
QRhiBuffer * upload (GpuMesh &mesh, int slot, QRhiBuffer::UsageFlags usage, const GpuStream &stream, QRhiResourceUpdateBatch *u)
bool uploadSurface (BrainSurface *surface, QRhiResourceUpdateBatch *u)
bool uploadInstanced (const RenderKey &key, const InstancedStreams &streams, QRhiResourceUpdateBatch *u)
void bindSurface (QRhiCommandBuffer *cb, const GpuMesh &mesh)
void issueInstanced (QRhiCommandBuffer *cb, int uniformOffset, const RenderKey &key, const InstancedStreams &streams, QRhiGraphicsPipeline *pipeline)
int writeInstancedUniforms (const SceneData &data, const char *caller)
bool videoOverlayUsesDepth (const VideoOverlay *overlay) const

Public Attributes

QRhi * rhi = nullptr
std::unordered_map< const void *, GpuMesh > meshes
quint64 frameIndex = 0
std::unique_ptr< QRhiShaderResourceBindings > srb
std::array< std::unique_ptr< QRhiGraphicsPipeline >, kNumShaderModes > pipelines {}
std::array< std::unique_ptr< QRhiGraphicsPipeline >, kNumShaderModes > pipelinesBackColor {}
std::unique_ptr< QRhiGraphicsPipeline > electrodePipeline
std::unique_ptr< QRhiBuffer > uniformBuffer
int uniformSlotStride = 0
int currentUniformOffset = 0
QByteArray uniformShadow
int flushedUniformBytes = 0
bool overflowReported = false
bool passRecording = false
bool passBegunThisFrame = false
bool resourcesDirty = true
std::unique_ptr< QRhiRenderBuffer > dsBuffer
std::unique_ptr< QRhiTextureRenderTarget > rtClear
std::unique_ptr< QRhiTextureRenderTarget > rtPreserve
std::unique_ptr< QRhiRenderPassDescriptor > rpClear
std::unique_ptr< QRhiRenderPassDescriptor > rpPreserve
QSize rtSize
QRhiTexture * rtColorTex = nullptr
VideoOverlayResources videoOverlay
SliceResources sliceRes

Static Public Attributes

static constexpr int kMaxStreams = 4
static constexpr int kMaxSliceSlots = 3

Detailed Description

Definition at line 48 of file brainrenderer.cpp.

Member Function Documentation

◆ beginPass()

void DISP3DLIB::BrainRenderer::Impl::beginPass ( QRhiCommandBuffer * cb,
QRhiRenderTarget * rt,
QRhiResourceUpdateBatch * updates )

Definition at line 608 of file brainrenderer.cpp.

◆ bindSurface()

void DISP3DLIB::BrainRenderer::Impl::bindSurface ( QRhiCommandBuffer * cb,
const GpuMesh & mesh )

Definition at line 395 of file brainrenderer.cpp.

◆ claimUniformSlot()

int DISP3DLIB::BrainRenderer::Impl::claimUniformSlot ( const char * caller)

Definition at line 287 of file brainrenderer.cpp.

◆ createResources()

void DISP3DLIB::BrainRenderer::Impl::createResources ( QRhi * rhi,
QRhiRenderPassDescriptor * rp,
int sampleCount )

Definition at line 403 of file brainrenderer.cpp.

◆ findMesh()

const BrainRenderer::Impl::GpuMesh * DISP3DLIB::BrainRenderer::Impl::findMesh ( const RenderKey & key) const

Definition at line 345 of file brainrenderer.cpp.

◆ flushUniforms()

void DISP3DLIB::BrainRenderer::Impl::flushUniforms ( QRhiResourceUpdateBatch * u)

Definition at line 309 of file brainrenderer.cpp.

◆ insidePass()

bool DISP3DLIB::BrainRenderer::Impl::insidePass ( const char * caller) const

Definition at line 626 of file brainrenderer.cpp.

◆ issueInstanced()

void DISP3DLIB::BrainRenderer::Impl::issueInstanced ( QRhiCommandBuffer * cb,
int uniformOffset,
const RenderKey & key,
const InstancedStreams & streams,
QRhiGraphicsPipeline * pipeline )

Definition at line 1549 of file brainrenderer.cpp.

◆ mesh()

BrainRenderer::Impl::GpuMesh & DISP3DLIB::BrainRenderer::Impl::mesh ( const RenderKey & key)

Definition at line 330 of file brainrenderer.cpp.

◆ upload()

QRhiBuffer * DISP3DLIB::BrainRenderer::Impl::upload ( GpuMesh & mesh,
int slot,
QRhiBuffer::UsageFlags usage,
const GpuStream & stream,
QRhiResourceUpdateBatch * u )

Definition at line 353 of file brainrenderer.cpp.

◆ uploadInstanced()

bool DISP3DLIB::BrainRenderer::Impl::uploadInstanced ( const RenderKey & key,
const InstancedStreams & streams,
QRhiResourceUpdateBatch * u )

Definition at line 385 of file brainrenderer.cpp.

◆ uploadSurface()

bool DISP3DLIB::BrainRenderer::Impl::uploadSurface ( BrainSurface * surface,
QRhiResourceUpdateBatch * u )

Definition at line 375 of file brainrenderer.cpp.

◆ videoOverlayUsesDepth()

bool DISP3DLIB::BrainRenderer::Impl::videoOverlayUsesDepth ( const VideoOverlay * overlay) const
inline

Definition at line 86 of file brainrenderer.cpp.

◆ writeInstancedUniforms()

int DISP3DLIB::BrainRenderer::Impl::writeInstancedUniforms ( const SceneData & data,
const char * caller )

Definition at line 1465 of file brainrenderer.cpp.

Member Data Documentation

◆ currentUniformOffset

int DISP3DLIB::BrainRenderer::Impl::currentUniformOffset = 0

Definition at line 101 of file brainrenderer.cpp.

◆ dsBuffer

std::unique_ptr<QRhiRenderBuffer> DISP3DLIB::BrainRenderer::Impl::dsBuffer

Definition at line 116 of file brainrenderer.cpp.

◆ electrodePipeline

std::unique_ptr<QRhiGraphicsPipeline> DISP3DLIB::BrainRenderer::Impl::electrodePipeline

Definition at line 96 of file brainrenderer.cpp.

◆ flushedUniformBytes

int DISP3DLIB::BrainRenderer::Impl::flushedUniformBytes = 0

Definition at line 103 of file brainrenderer.cpp.

◆ frameIndex

quint64 DISP3DLIB::BrainRenderer::Impl::frameIndex = 0

Definition at line 84 of file brainrenderer.cpp.

◆ kMaxSliceSlots

int DISP3DLIB::BrainRenderer::Impl::kMaxSliceSlots = 3
staticconstexpr

Definition at line 156 of file brainrenderer.cpp.

◆ kMaxStreams

int DISP3DLIB::BrainRenderer::Impl::kMaxStreams = 4
staticconstexpr

Definition at line 64 of file brainrenderer.cpp.

◆ meshes

std::unordered_map<const void*, GpuMesh> DISP3DLIB::BrainRenderer::Impl::meshes

Definition at line 83 of file brainrenderer.cpp.

◆ overflowReported

bool DISP3DLIB::BrainRenderer::Impl::overflowReported = false

Definition at line 104 of file brainrenderer.cpp.

◆ passBegunThisFrame

bool DISP3DLIB::BrainRenderer::Impl::passBegunThisFrame = false

Definition at line 106 of file brainrenderer.cpp.

◆ passRecording

bool DISP3DLIB::BrainRenderer::Impl::passRecording = false

Definition at line 105 of file brainrenderer.cpp.

◆ pipelines

std::array<std::unique_ptr<QRhiGraphicsPipeline>, kNumShaderModes> DISP3DLIB::BrainRenderer::Impl::pipelines {}

Definition at line 94 of file brainrenderer.cpp.

◆ pipelinesBackColor

std::array<std::unique_ptr<QRhiGraphicsPipeline>, kNumShaderModes> DISP3DLIB::BrainRenderer::Impl::pipelinesBackColor {}

Definition at line 95 of file brainrenderer.cpp.

◆ resourcesDirty

bool DISP3DLIB::BrainRenderer::Impl::resourcesDirty = true

Definition at line 108 of file brainrenderer.cpp.

◆ rhi

QRhi* DISP3DLIB::BrainRenderer::Impl::rhi = nullptr

Definition at line 82 of file brainrenderer.cpp.

◆ rpClear

std::unique_ptr<QRhiRenderPassDescriptor> DISP3DLIB::BrainRenderer::Impl::rpClear

Definition at line 119 of file brainrenderer.cpp.

◆ rpPreserve

std::unique_ptr<QRhiRenderPassDescriptor> DISP3DLIB::BrainRenderer::Impl::rpPreserve

Definition at line 120 of file brainrenderer.cpp.

◆ rtClear

std::unique_ptr<QRhiTextureRenderTarget> DISP3DLIB::BrainRenderer::Impl::rtClear

Definition at line 117 of file brainrenderer.cpp.

◆ rtColorTex

QRhiTexture* DISP3DLIB::BrainRenderer::Impl::rtColorTex = nullptr

Definition at line 122 of file brainrenderer.cpp.

◆ rtPreserve

std::unique_ptr<QRhiTextureRenderTarget> DISP3DLIB::BrainRenderer::Impl::rtPreserve

Definition at line 118 of file brainrenderer.cpp.

◆ rtSize

QSize DISP3DLIB::BrainRenderer::Impl::rtSize

Definition at line 121 of file brainrenderer.cpp.

◆ sliceRes

SliceResources DISP3DLIB::BrainRenderer::Impl::sliceRes

Definition at line 182 of file brainrenderer.cpp.

◆ srb

std::unique_ptr<QRhiShaderResourceBindings> DISP3DLIB::BrainRenderer::Impl::srb

Definition at line 91 of file brainrenderer.cpp.

◆ uniformBuffer

std::unique_ptr<QRhiBuffer> DISP3DLIB::BrainRenderer::Impl::uniformBuffer

Definition at line 98 of file brainrenderer.cpp.

◆ uniformShadow

QByteArray DISP3DLIB::BrainRenderer::Impl::uniformShadow

Definition at line 102 of file brainrenderer.cpp.

◆ uniformSlotStride

int DISP3DLIB::BrainRenderer::Impl::uniformSlotStride = 0

Definition at line 100 of file brainrenderer.cpp.

◆ videoOverlay

VideoOverlayResources DISP3DLIB::BrainRenderer::Impl::videoOverlay

Definition at line 151 of file brainrenderer.cpp.


The documentation for this struct was generated from the following file: