Qt RHI-based 3-D renderer managing scene objects, lighting, camera, and render pipeline for brain visualization. More...
#include <brainrenderer.h>
Classes | |
| struct | SceneData |
| Aggregated GPU resources and render state for the 3-D brain visualization scene. More... | |
| 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 |
Qt RHI-based 3-D renderer managing scene objects, lighting, camera, and render pipeline for brain visualization.
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.
Definition at line 88 of file brainrenderer.h.
| BrainRenderer::BrainRenderer | ( | ) |
Default Constructor
Definition at line 112 of file brainrenderer.cpp.
|
default |
Destructor
| void BrainRenderer::beginFrame | ( | QRhiCommandBuffer * | cb, |
| QRhiRenderTarget * | rt ) |
Begin a rendering frame/pass. Clears the target.
| [in] | cb | Command buffer to record to. |
| [in] | rt | Render target to draw into. |
Definition at line 279 of file brainrenderer.cpp.
| void BrainRenderer::endFrame | ( | QRhiCommandBuffer * | cb | ) |
End the rendering frame/pass.
| [in] | cb | Command buffer. |
Definition at line 298 of file brainrenderer.cpp.
| 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.
| [in] | rhi | Pointer to QRhi instance. |
| [in] | rp | Render pass descriptor. |
| [in] | sampleCount | MSAA sample count. |
Definition at line 123 of file brainrenderer.cpp.
| void BrainRenderer::renderDipoles | ( | QRhiCommandBuffer * | cb, |
| QRhi * | rhi, | ||
| const SceneData & | data, | ||
| DipoleObject * | dipoles ) |
Render dipoles using instanced rendering.
| [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.
| 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.
| [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.
| 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.
| [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.
| void BrainRenderer::updateSceneUniforms | ( | QRhi * | rhi, |
| const SceneData & | data ) |
Set uniforms that are shared for the entire frame.
| [in] | data | Scene uniforms (MVP, light, etc). |
Definition at line 291 of file brainrenderer.cpp.
|
staticconstexpr |
Definition at line 91 of file brainrenderer.h.
|
staticconstexpr |
Definition at line 92 of file brainrenderer.h.
|
staticconstexpr |
Definition at line 90 of file brainrenderer.h.
|
staticconstexpr |
Definition at line 94 of file brainrenderer.h.
|
staticconstexpr |
Definition at line 89 of file brainrenderer.h.
|
staticconstexpr |
Definition at line 93 of file brainrenderer.h.