MythTV  master
mythvisualmonoscopevulkan.h
Go to the documentation of this file.
1 #ifndef MYTHVISUALMONOSCOPEVULKAN_H
2 #define MYTHVISUALMONOSCOPEVULKAN_H
3 
4 // MythTV
8 
9 class MythShaderVulkan;
11 class MythBufferVulkan;
12 
13 // Vertex buffer + Hue,Alpha,Zoom
14 using VertexState = std::pair<MythBufferVulkan*, std::array<float,3>>;
15 using VertexStates = QVector<VertexState>;
16 
17 extern "C" {
18 struct alignas(16) PushBuffer
19 {
20  float transform [16];
21  float color [4];
22 };
23 }
24 
26 {
27  public:
29  ~MythVisualMonoScopeVulkan() override;
30 
31  void Prepare (QRect Area) override;
32  void Draw (QRect Area, MythPainter* /*Painter*/, QPaintDevice* /*Device*/) override;
33 
34  private:
35  MythRenderVulkan* InitialiseVulkan (QRect Area) override;
36  void TearDownVulkan () override;
37 
40 };
41 
42 #endif
MythVisualMonoScopeVulkan::m_pushBuffer
PushBuffer m_pushBuffer
Definition: mythvisualmonoscopevulkan.h:39
videovisualmonoscope.h
MythVisualMonoScopeVulkan::~MythVisualMonoScopeVulkan
~MythVisualMonoScopeVulkan() override
Definition: mythvisualmonoscopevulkan.cpp:196
MythVisualMonoScopeVulkan
Definition: mythvisualmonoscopevulkan.h:25
AudioPlayer
Definition: audioplayer.h:28
MythVisualVulkan
Definition: mythvisualvulkan.h:9
MythVisualMonoScopeVulkan::m_vertexBuffers
VertexStates m_vertexBuffers
Definition: mythvisualmonoscopevulkan.h:38
MythVisualMonoScopeVulkan::MythVisualMonoScopeVulkan
MythVisualMonoScopeVulkan(AudioPlayer *Audio, MythRender *Render, bool Fade)
Definition: mythvisualmonoscopevulkan.cpp:186
PushBuffer::transform
float transform[16]
Definition: mythvisualmonoscopevulkan.h:20
MythVisualMonoScopeVulkan::InitialiseVulkan
MythRenderVulkan * InitialiseVulkan(QRect Area) override
Definition: mythvisualmonoscopevulkan.cpp:298
MythVisualMonoScopeVulkan::TearDownVulkan
void TearDownVulkan() override
Definition: mythvisualmonoscopevulkan.cpp:342
PushBuffer::color
float color[4]
Definition: mythvisualmonoscopevulkan.h:21
MythVisualMonoScopeVulkan::Draw
void Draw(QRect Area, MythPainter *, QPaintDevice *) override
Definition: mythvisualmonoscopevulkan.cpp:237
MythUniformBufferVulkan
Definition: mythuniformbuffervulkan.h:7
VertexState
std::pair< MythBufferVulkan *, std::array< float, 3 > > VertexState
Definition: mythvisualmonoscopevulkan.h:14
VideoVisualMonoScope
Definition: videovisualmonoscope.h:11
MythRender
Definition: mythrender_base.h:23
MythPainter
Definition: mythpainter.h:32
PushBuffer
Definition: mythvisualmonoscopevulkan.h:18
mythvisualvulkan.h
MythRenderVulkan
Definition: mythrendervulkan.h:54
mythrendervulkan.h
MythShaderVulkan
Creates shader objects suitable for use with the Vulkan API.
Definition: mythshadervulkan.h:20
MythVulkanObject::Render
MythRenderVulkan * Render()
Definition: mythrendervulkan.cpp:68
VertexStates
QVector< VertexState > VertexStates
Definition: mythvisualmonoscopevulkan.h:15
MythBufferVulkan
Definition: mythvertexbuffervulkan.h:7
MythVisualMonoScopeVulkan::Prepare
void Prepare(QRect Area) override
Definition: mythvisualmonoscopevulkan.cpp:201