Lugdunum
0.1.0
include
lug
Graphics
Vulkan
Render
Technique
Technique.hpp
Go to the documentation of this file.
1
#pragma once
2
3
#include <
lug/Graphics/Export.hpp
>
4
#include <
lug/Graphics/Vulkan/API/ImageView.hpp
>
5
#include <
lug/Graphics/Vulkan/Render/Queue.hpp
>
6
7
namespace
lug
{
8
namespace
Graphics {
9
10
namespace
Render {
11
class
Queue;
12
}
// Render
13
14
namespace
Vulkan
{
15
16
namespace
API {
17
class
DescriptorPool;
18
class
Semaphore;
19
}
// API
20
21
class
Renderer;
22
23
namespace
Render {
24
25
class
View;
26
27
namespace
Technique {
28
29
class
LUG_GRAPHICS_API
Technique
{
30
public
:
31
Technique
(
Renderer
& renderer,
const
View
& renderView);
32
33
Technique
(
const
Technique
&) =
delete
;
34
Technique
(
Technique
&&) =
delete
;
35
36
Technique
& operator=(
const
Technique
&) =
delete
;
37
Technique
& operator=(
Technique
&&) =
delete
;
38
39
virtual
~
Technique
() =
default
;
40
41
virtual
bool
render(
42
const
Render::Queue
& renderQueue,
43
const
API::Semaphore
& imageReadySemaphore,
44
const
API::Semaphore
& drawCompleteSemaphore,
45
uint32_t currentImageIndex
46
) = 0;
47
48
virtual
bool
init(
const
std::vector<API::ImageView>& imageViews) = 0;
49
virtual
void
destroy() = 0;
50
51
virtual
bool
initDepthBuffers(
const
std::vector<API::ImageView>& imageViews) = 0;
52
virtual
bool
initFramebuffers(
const
std::vector<API::ImageView>& imageViews) = 0;
53
54
protected
:
55
Renderer
&
_renderer
;
56
const
View
&
_renderView
;
57
};
58
59
}
// Technique
60
}
// Render
61
}
// Vulkan
62
}
// Graphics
63
}
// lug
lug::Graphics::Vulkan::Render::View
Definition:
View.hpp:22
LUG_GRAPHICS_API
#define LUG_GRAPHICS_API
Definition:
Export.hpp:11
lug::Graphics::Vulkan::Render::Technique::Technique
Definition:
Technique.hpp:29
ImageView.hpp
Vulkan
Definition:
Vulkan.hpp:155
Queue.hpp
lug::Graphics::Vulkan::API::Semaphore
Definition:
Semaphore.hpp:17
lug
Definition:
Application.hpp:11
lug::Graphics::Vulkan::Renderer
Definition:
Renderer.hpp:21
lug::Graphics::Vulkan::Render::Technique::Technique::_renderView
const View & _renderView
Definition:
Technique.hpp:56
lug::Graphics::Vulkan::Render::Technique::Technique::_renderer
Renderer & _renderer
Definition:
Technique.hpp:55
Export.hpp
lug::Graphics::Vulkan::Render::Queue
Definition:
Queue.hpp:17
Generated by
1.8.13