Lugdunum
0.1.0
include
lug
Graphics
Vulkan
API
ShaderModule.hpp
Go to the documentation of this file.
1
#pragma once
2
3
#include <
lug/Graphics/Export.hpp
>
4
#include <
lug/Graphics/Vulkan/Vulkan.hpp
>
5
6
namespace
lug
{
7
namespace
Graphics {
8
namespace
Vulkan
{
9
namespace
API {
10
11
namespace
Builder {
12
class
ShaderModule;
13
}
// Builder
14
15
class
Device;
16
17
class
LUG_GRAPHICS_API
ShaderModule
{
18
friend
class
Builder::ShaderModule
;
19
20
public
:
21
ShaderModule
() =
default
;
22
23
ShaderModule
(
const
ShaderModule
&) =
delete
;
24
ShaderModule
(
ShaderModule
&& shaderModule);
25
26
ShaderModule
& operator=(
const
ShaderModule
&) =
delete
;
27
ShaderModule
& operator=(
ShaderModule
&& shaderModule);
28
29
~
ShaderModule
();
30
31
explicit
operator
VkShaderModule()
const
{
32
return
_shaderModule;
33
}
34
35
void
destroy();
36
37
private
:
38
explicit
ShaderModule
(VkShaderModule shaderModule,
const
Device
* device);
39
40
private
:
41
VkShaderModule _shaderModule{VK_NULL_HANDLE};
42
const
Device
* _device{
nullptr
};
43
};
44
45
}
// API
46
}
// Vulkan
47
}
// Graphics
48
}
// lug
lug::Graphics::Vulkan::API::ShaderModule
Definition:
ShaderModule.hpp:17
LUG_GRAPHICS_API
#define LUG_GRAPHICS_API
Definition:
Export.hpp:11
Vulkan
Definition:
Vulkan.hpp:155
lug::Graphics::Vulkan::API::Device
Definition:
Device.hpp:16
Vulkan.hpp
lug::Graphics::Vulkan::API::Builder::ShaderModule
Definition:
ShaderModule.hpp:17
lug
Definition:
Application.hpp:11
Export.hpp
Generated by
1.8.13