BrainRenderer class.
More...
#include <brainrenderer.h>
|
| | 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) |
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.
◆ ShaderMode
◆ BrainRenderer()
| BrainRenderer::BrainRenderer |
( |
| ) |
|
◆ ~BrainRenderer()
| BrainRenderer::~BrainRenderer |
( |
| ) |
|
|
default |
◆ beginFrame()
| void BrainRenderer::beginFrame |
( |
QRhiCommandBuffer * | cb, |
|
|
QRhiRenderTarget * | rt ) |
Begin a rendering frame/pass. Clears the target.
- Parameters
-
| [in] | cb | Command buffer to record to. |
| [in] | rt | Render target to draw into. |
Definition at line 279 of file brainrenderer.cpp.
◆ endFrame()
| void BrainRenderer::endFrame |
( |
QRhiCommandBuffer * | cb | ) |
|
◆ 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] | rhi | Pointer to QRhi instance. |
| [in] | rp | Render pass descriptor. |
| [in] | sampleCount | MSAA 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] | cb | Command buffer. |
| [in] | rhi | QRhi pointer. |
| [in] | data | Scene uniforms. |
| [in] | dipoles | Pointer 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] | cb | Command buffer. |
| [in] | rhi | QRhi pointer. |
| [in] | data | Scene uniforms. |
| [in] | network | Pointer to NetworkObject. |
Definition at line 418 of file brainrenderer.cpp.
◆ renderSurface()
Render a single surface. Must be called between beginFrame and endFrame.
- Parameters
-
| [in] | cb | Command buffer. |
| [in] | rhi | QRhi pointer. |
| [in] | data | Scene uniforms (MVP, light, etc). |
| [in] | surface | Pointer to surface to draw. |
| [in] | mode | Shader 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] | data | Scene uniforms (MVP, light, etc). |
Definition at line 291 of file brainrenderer.cpp.
◆ Anatomical
| ShaderMode BrainRenderer::Anatomical = ::Anatomical |
|
staticconstexpr |
◆ Dipole
◆ Holographic
| ShaderMode BrainRenderer::Holographic = ::Holographic |
|
staticconstexpr |
◆ ShowNormals
| ShaderMode BrainRenderer::ShowNormals = ::ShowNormals |
|
staticconstexpr |
◆ Standard
◆ XRay
The documentation for this class was generated from the following files: