31#ifndef BRAINRENDERER_H
32#define BRAINRENDERER_H
51class QRhiCommandBuffer;
52class QRhiRenderTarget;
53class QRhiRenderPassDescriptor;
54class QRhiResourceUpdateBatch;
56class QRhiRenderBuffer;
57class QRhiTextureRenderTarget;
131 void initialize(QRhi* rhi, QRhiRenderPassDescriptor* rp,
int sampleCount);
156 QRhiRenderTarget*
rtClear()
const;
252 const QVector<BrainSurface*>& surfaces,
253 const QString& groupName = QStringLiteral(
"default"));
286 const QString& groupName = QStringLiteral(
"default"));
335 QRhiResourceUpdateBatch* u,
380 QRhiResourceUpdateBatch* u,
421 void endPass(QRhiCommandBuffer* cb);
426 std::unique_ptr<Impl> d;
Library export/import macros and namespace marker for the disp3D library.
#define DISP3DSHARED_EXPORT
Lightweight render-related enums (ShaderMode, VisualizationMode) shared across disp3D.
3-D brain visualisation using the Qt RHI rendering backend.
Renderable cortical surface mesh with per-vertex color, curvature data, and GPU buffer management.
Renderable dipole arrow set with instanced GPU rendering for QRhi.
Renderable network visualization for QRhi.
Connected line segments through an ordered list of points.
Data model for a single 2-D MRI volume slice.
Camera-facing textured quad rendered at a focus point in the 3-D scene.
void updateSceneUniforms(QRhi *rhi, const SceneData &data)
static constexpr ShaderMode Dipole
void renderVideoOverlay(QRhiCommandBuffer *cb, QRhi *rhi, const SceneData &data, DISP3DLIB::VideoOverlay *overlay)
void renderVideoOverlayOnSurface(QRhiCommandBuffer *cb, QRhi *rhi, const SceneData &data, DISP3DLIB::VideoOverlay *overlay, BrainSurface *surface)
void prepareSlice(QRhi *rhi, QRhiResourceUpdateBatch *u, DISP3DLIB::SliceObject *slice, int slotIndex)
void ensureRenderTargets(QRhi *rhi, QRhiTexture *colorTex, const QSize &pixelSize)
int prepareSliceDraw(QRhiResourceUpdateBatch *u, const SceneData &data, int slotIndex)
void issueSliceDraw(QRhiCommandBuffer *cb, int slotIndex, int uniformOffset)
void renderDipoles(QRhiCommandBuffer *cb, QRhi *rhi, const SceneData &data, DipoleObject *dipoles)
static constexpr ShaderMode ShowNormals
QRhiRenderTarget * rtPreserve() const
void initialize(QRhi *rhi, QRhiRenderPassDescriptor *rp, int sampleCount)
void prepareMergedSurfaces(QRhi *rhi, QRhiResourceUpdateBatch *u, const QVector< BrainSurface * > &surfaces, const QString &groupName=QStringLiteral("default"))
void issueSurfaceDraw(QRhiCommandBuffer *cb, BrainSurface *surface, ShaderMode mode, int uniformOffset)
QRhiRenderTarget * rtClear() const
bool hasMergedContent(const QString &groupName) const
void invalidateMergedGroup(const QString &groupName=QStringLiteral("default"))
static constexpr ShaderMode Standard
void endPass(QRhiCommandBuffer *cb)
int prepareSurfaceDraw(QRhiResourceUpdateBatch *u, const SceneData &data, BrainSurface *surface)
static constexpr ShaderMode Holographic
static constexpr ShaderMode Anatomical
void renderSurface(QRhiCommandBuffer *cb, QRhi *rhi, const SceneData &data, BrainSurface *surface, ShaderMode mode)
void prepareVideoOverlay(QRhi *rhi, QRhiResourceUpdateBatch *u, DISP3DLIB::VideoOverlay *overlay)
static constexpr ShaderMode XRay
void beginPreservingPass(QRhiCommandBuffer *cb)
void renderNetwork(QRhiCommandBuffer *cb, QRhi *rhi, const SceneData &data, NetworkObject *network)
void renderPolyline(QRhiCommandBuffer *cb, QRhi *rhi, const SceneData &data, PolylineObject *polyline)
void drawMergedSurfaces(QRhiCommandBuffer *cb, QRhi *rhi, const SceneData &data, ShaderMode mode, const QString &groupName=QStringLiteral("default"))
DISP3DLIB::ShaderMode ShaderMode
void beginFrame(QRhiCommandBuffer *cb)
Aggregated GPU resources and render state for the 3-D brain visualization scene.