v2.0.0
Loading...
Searching...
No Matches
BrainRenderer Class Reference

BrainRenderer class. More...

#include <brainrenderer.h>

Classes

struct  SceneData
struct  Impl

Public Types

using ShaderMode = ::ShaderMode

Public Member Functions

 BrainRenderer ()
 ~BrainRenderer ()
void initialize (QRhi *rhi, QRhiRenderPassDescriptor *rp, int sampleCount)
void beginFrame (QRhiCommandBuffer *cb, QRhiRenderTarget *rt)
void updateSceneUniforms (QRhi *rhi, const SceneData &data)
void renderSurface (QRhiCommandBuffer *cb, QRhi *rhi, const SceneData &data, BrainSurface *surface, ShaderMode mode)
void renderDipoles (QRhiCommandBuffer *cb, QRhi *rhi, const SceneData &data, DipoleObject *dipoles)
void renderNetwork (QRhiCommandBuffer *cb, QRhi *rhi, const SceneData &data, NetworkObject *network)
void endFrame (QRhiCommandBuffer *cb)

Static Public Attributes

static constexpr ShaderMode Standard = ::Standard
static constexpr ShaderMode Holographic = ::Holographic
static constexpr ShaderMode Anatomical = ::Anatomical
static constexpr ShaderMode Dipole = ::Dipole
static constexpr ShaderMode XRay = ::XRay
static constexpr ShaderMode ShowNormals = ::ShowNormals

Detailed Description

BrainRenderer class.

BrainRenderer handles the low-level RHI rendering logic, managing pipelines, shaders, and draw calls for brain surfaces.

Definition at line 71 of file brainrenderer.h.

Member Typedef Documentation

◆ ShaderMode

Definition at line 88 of file brainrenderer.h.

Constructor & Destructor Documentation

◆ BrainRenderer()

BrainRenderer::BrainRenderer ( )

Default Constructor

Definition at line 112 of file brainrenderer.cpp.

◆ ~BrainRenderer()

BrainRenderer::~BrainRenderer ( )
default

Destructor

Member Function Documentation

◆ beginFrame()

void BrainRenderer::beginFrame ( QRhiCommandBuffer * cb,
QRhiRenderTarget * rt )

Begin a rendering frame/pass. Clears the target.

Parameters
[in]cbCommand buffer to record to.
[in]rtRender target to draw into.

Definition at line 279 of file brainrenderer.cpp.

◆ endFrame()

void BrainRenderer::endFrame ( QRhiCommandBuffer * cb)

End the rendering frame/pass.

Parameters
[in]cbCommand buffer.

Definition at line 298 of file brainrenderer.cpp.

◆ initialize()

void BrainRenderer::initialize ( QRhi * rhi,
QRhiRenderPassDescriptor * rp,
int sampleCount )

Initialize resources (shaders, pipelines) for the given RHI and render pass. Ensures pipelines for all supported modes are created.

Parameters
[in]rhiPointer to QRhi instance.
[in]rpRender pass descriptor.
[in]sampleCountMSAA sample count.

Definition at line 123 of file brainrenderer.cpp.

◆ renderDipoles()

void BrainRenderer::renderDipoles ( QRhiCommandBuffer * cb,
QRhi * rhi,
const SceneData & data,
DipoleObject * dipoles )

Render dipoles using instanced rendering.

Parameters
[in]cbCommand buffer.
[in]rhiQRhi pointer.
[in]dataScene uniforms.
[in]dipolesPointer to DipoleObject.

Definition at line 372 of file brainrenderer.cpp.

◆ renderNetwork()

void BrainRenderer::renderNetwork ( QRhiCommandBuffer * cb,
QRhi * rhi,
const SceneData & data,
NetworkObject * network )

Render a connectivity network using instanced rendering. Renders both node spheres and edge cylinders as two draw calls.

Parameters
[in]cbCommand buffer.
[in]rhiQRhi pointer.
[in]dataScene uniforms.
[in]networkPointer to NetworkObject.

Definition at line 418 of file brainrenderer.cpp.

◆ renderSurface()

void BrainRenderer::renderSurface ( QRhiCommandBuffer * cb,
QRhi * rhi,
const SceneData & data,
BrainSurface * surface,
ShaderMode mode )

Render a single surface. Must be called between beginFrame and endFrame.

Parameters
[in]cbCommand buffer.
[in]rhiQRhi pointer.
[in]dataScene uniforms (MVP, light, etc).
[in]surfacePointer to surface to draw.
[in]modeShader mode to use for this surface.

Definition at line 305 of file brainrenderer.cpp.

◆ updateSceneUniforms()

void BrainRenderer::updateSceneUniforms ( QRhi * rhi,
const SceneData & data )

Set uniforms that are shared for the entire frame.

Parameters
[in]dataScene uniforms (MVP, light, etc).

Definition at line 291 of file brainrenderer.cpp.

Member Data Documentation

◆ Anatomical

ShaderMode BrainRenderer::Anatomical = ::Anatomical
staticconstexpr

Definition at line 91 of file brainrenderer.h.

◆ Dipole

ShaderMode BrainRenderer::Dipole = ::Dipole
staticconstexpr

Definition at line 92 of file brainrenderer.h.

◆ Holographic

ShaderMode BrainRenderer::Holographic = ::Holographic
staticconstexpr

Definition at line 90 of file brainrenderer.h.

◆ ShowNormals

ShaderMode BrainRenderer::ShowNormals = ::ShowNormals
staticconstexpr

Definition at line 94 of file brainrenderer.h.

◆ Standard

ShaderMode BrainRenderer::Standard = ::Standard
staticconstexpr

Definition at line 89 of file brainrenderer.h.

◆ XRay

ShaderMode BrainRenderer::XRay = ::XRay
staticconstexpr

Definition at line 93 of file brainrenderer.h.


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