Lugdunum
0.1.0
include
lug
Graphics
Vulkan
Render
Texture.hpp
Go to the documentation of this file.
1
#pragma once
2
3
#include <string>
4
5
#include <
lug/Graphics/Export.hpp
>
6
#include <
lug/Graphics/Render/Texture.hpp
>
7
#include <
lug/Graphics/Vulkan/API/DeviceMemory.hpp
>
8
#include <
lug/Graphics/Vulkan/API/Image.hpp
>
9
#include <
lug/Graphics/Vulkan/API/ImageView.hpp
>
10
#include <
lug/Graphics/Vulkan/API/Sampler.hpp
>
11
#include <
lug/Graphics/Vulkan/Builder/Texture.hpp
>
12
13
namespace
lug
{
14
namespace
Graphics {
15
namespace
Vulkan
{
16
namespace
Render {
17
18
class
LUG_GRAPHICS_API
Texture
final :
public
::lug::Graphics::Render::Texture
{
19
friend
Resource::SharedPtr<lug::Graphics::Render::Texture>
Builder::Texture::build
(const ::lug::Graphics::Builder::Texture&);
20
21
public
:
22
Texture
(
const
Texture
&) =
delete
;
23
Texture
(
Texture
&&) =
delete
;
24
25
Texture
& operator=(
const
Texture
&) =
delete
;
26
Texture
& operator=(
Texture
&&) =
delete
;
27
28
~
Texture
();
29
30
const
API::DeviceMemory
& getDeviceMemory()
const
;
31
const
API::Image
& getImage()
const
;
32
const
API::ImageView
& getImageView()
const
;
33
const
API::Sampler
& getSampler()
const
;
34
35
void
destroy();
36
37
private
:
38
Texture
(
const
std::string& name);
39
40
private
:
41
API::DeviceMemory
_deviceMemory
;
42
API::Image
_image
;
43
API::ImageView
_imageView
;
44
API::Sampler
_sampler
;
45
};
46
47
#include <
lug/Graphics/Vulkan/Render/Texture.inl
>
48
49
}
// Render
50
}
// Vulkan
51
}
// Graphics
52
}
// lug
lug::Graphics::Render::Texture
Definition:
Texture.hpp:16
lug::Graphics::Vulkan::Render::Texture::_imageView
API::ImageView _imageView
Definition:
Texture.hpp:43
Image.hpp
lug::Graphics::Vulkan::Render::Texture::_image
API::Image _image
Definition:
Texture.hpp:42
LUG_GRAPHICS_API
#define LUG_GRAPHICS_API
Definition:
Export.hpp:11
lug::Graphics::Resource::SharedPtr< lug::Graphics::Render::Texture >
ImageView.hpp
Texture.inl
Vulkan
Definition:
Vulkan.hpp:155
lug::Graphics::Vulkan::Render::Texture::_sampler
API::Sampler _sampler
Definition:
Texture.hpp:44
lug::Graphics::Vulkan::Render::Texture
Definition:
Texture.hpp:18
Sampler.hpp
lug::Graphics::Vulkan::API::DeviceMemory
Definition:
DeviceMemory.hpp:19
lug::Graphics::Vulkan::API::ImageView
Definition:
ImageView.hpp:18
lug::Graphics::Vulkan::Render::Texture::_deviceMemory
API::DeviceMemory _deviceMemory
Definition:
Texture.hpp:41
DeviceMemory.hpp
Texture.hpp
lug
Definition:
Application.hpp:11
Texture.hpp
lug::Graphics::Builder::Texture::build
Resource::SharedPtr< Render::Texture > build()
Definition:
Texture.cpp:37
lug::Graphics::Vulkan::API::Sampler
Definition:
Sampler.hpp:17
Export.hpp
lug::Graphics::Vulkan::API::Image
Definition:
Image.hpp:21
Generated by
1.8.13