MythTV
master
mythtv
libs
libmythtv
visualisations
vulkan
mythvisualmonoscopevulkan.h
Go to the documentation of this file.
1
#ifndef MYTHVISUALMONOSCOPEVULKAN_H
2
#define MYTHVISUALMONOSCOPEVULKAN_H
3
4
// MythTV
5
#include "
libmythui/vulkan/mythrendervulkan.h
"
6
#include "
visualisations/vulkan/mythvisualvulkan.h
"
7
#include "
visualisations/videovisualmonoscope.h
"
8
9
class
MythShaderVulkan
;
10
class
MythUniformBufferVulkan
;
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
25
class
MythVisualMonoScopeVulkan
:
public
VideoVisualMonoScope
,
public
MythVisualVulkan
26
{
27
public
:
28
MythVisualMonoScopeVulkan
(
AudioPlayer
* Audio,
MythRender
*
Render
,
bool
Fade);
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
38
VertexStates
m_vertexBuffers
;
39
PushBuffer
m_pushBuffer
{ };
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:22
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:34
PushBuffer
Definition:
mythvisualmonoscopevulkan.h:18
mythvisualvulkan.h
MythRenderVulkan
Definition:
mythrendervulkan.h:57
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
Generated on Tue Jan 7 2025 03:18:35 for MythTV by
1.8.17