28#include <QQuickRhiItemRenderer>
163 void initialize(QRhiCommandBuffer* cb)
override;
223 void render(QRhiCommandBuffer* cb)
override;
256 void createGeometry(QRhiCommandBuffer* cb);
286 void createPipeline();
348 std::unique_ptr<QRhiTexture> m_texture;
360 std::unique_ptr<QRhiSampler> m_sampler;
372 std::unique_ptr<QRhiBuffer> m_vertex_buffer;
381 std::unique_ptr<QRhiBuffer> m_index_buffer;
392 std::unique_ptr<QRhiBuffer> m_uniform_buffer;
402 std::unique_ptr<QRhiShaderResourceBindings> m_srb;
416 std::unique_ptr<QRhiGraphicsPipeline> m_pipeline;
429 int m_image_width{0};
438 int m_image_height{0};
486 std::vector<uint8_t> m_pixel_data;
495 QSize m_pixel_data_size;
510 bool m_texture_needs_update{
false};
519 bool m_initialized{
false};
537 float m_item_width { 0.0f };
551 float m_item_height { 0.0f };
Modern QQuickItem that renders an image via RHI (Vulkan/Metal/DX12/OpenGL) using QQuickRhiItem.
GPU renderer for RHIImageItem using Qt's Rendering Hardware Interface.
void render(QRhiCommandBuffer *cb) override
Performs the actual GPU rendering.
void synchronize(QQuickRhiItem *item) override
Synchronizes data from the GUI thread to the render thread.
RHIImageItemRenderer(RHIImageItemRenderer &&)=delete
RHIImageItemRenderer & operator=(RHIImageItemRenderer &&)=delete
void initialize(QRhiCommandBuffer *cb) override
Initializes all GPU resources when the RHI context is ready.
RHIImageItemRenderer(RHIImageItem *item)
Constructs the renderer with a reference to its parent item.
RHIImageItemRenderer & operator=(const RHIImageItemRenderer &)=delete
RHIImageItemRenderer(const RHIImageItemRenderer &)=delete
~RHIImageItemRenderer() override
Destructor releasing all GPU resources.
Namespace containing Qt-specific UI components for CaptureMoment.
Represents a rectangular region of an image and its pixel data.