Lugdunum
0.1.0
include
lug
Graphics
Vulkan
Render
Mesh.hpp
Go to the documentation of this file.
1
#pragma once
2
3
#include <memory>
4
#include <set>
5
#include <vector>
6
7
#include <
lug/Graphics/Export.hpp
>
8
#include <
lug/Graphics/Render/Mesh.hpp
>
9
#include <
lug/Graphics/Vulkan/API/Buffer.hpp
>
10
#include <
lug/Graphics/Vulkan/API/DeviceMemory.hpp
>
11
#include <
lug/Graphics/Vulkan/Builder/Mesh.hpp
>
12
#include <
lug/Graphics/Vulkan/Render/Pipeline.hpp
>
13
#include <
lug/Graphics/Vulkan/Vulkan.hpp
>
14
15
namespace
lug
{
16
namespace
Graphics {
17
namespace
Vulkan
{
18
namespace
Render {
19
20
class
LUG_GRAPHICS_API
Mesh
:
public
::lug::Graphics::Render::Mesh
{
21
friend
Resource::SharedPtr<lug::Graphics::Render::Mesh>
Builder::Mesh::build
(const ::lug::Graphics::Builder::Mesh&);
22
23
public
:
24
struct
PrimitiveSetData
{
25
Pipeline::Id::PrimitivePart
pipelineIdPrimitivePart
;
26
std::vector<API::Buffer>
buffers
;
27
};
28
29
public
:
30
Mesh
(
const
Mesh
&) =
delete
;
31
Mesh
(
Mesh
&& mesh) =
delete
;
32
33
Mesh
& operator=(
const
Mesh
&) =
delete
;
34
Mesh
& operator=(
Mesh
&& mesh) =
delete
;
35
36
~
Mesh
() override final;
37
38
void
destroy();
39
40
private:
41
explicit
Mesh
(const
std
::
string
& name);
42
43
private:
44
API::DeviceMemory _deviceMemory;
45
};
46
47
#include <lug/Graphics/Vulkan/Render/Mesh.inl>
48
49
}
// Render
50
}
// Vulkan
51
}
// Graphics
52
}
// lug
lug::Graphics::Builder::Mesh::build
Resource::SharedPtr< Render::Mesh > build()
Definition:
Mesh.cpp:24
Mesh.hpp
LUG_GRAPHICS_API
#define LUG_GRAPHICS_API
Definition:
Export.hpp:11
Mesh.hpp
std
Definition:
Pipeline.hpp:231
lug::Graphics::Render::Mesh
A Mesh, which itsef is a Resource. A mesh is composed of a vector of PrimitiveSet.
Definition:
Mesh.hpp:26
lug::Graphics::Vulkan::Render::Mesh
Definition:
Mesh.hpp:20
lug::Graphics::Resource::SharedPtr< lug::Graphics::Render::Mesh >
Vulkan
Definition:
Vulkan.hpp:155
lug::Graphics::Vulkan::Render::Mesh::PrimitiveSetData
Definition:
Mesh.hpp:24
lug::Graphics::Vulkan::Render::Mesh::PrimitiveSetData::pipelineIdPrimitivePart
Pipeline::Id::PrimitivePart pipelineIdPrimitivePart
Definition:
Mesh.hpp:25
Buffer.hpp
Pipeline.hpp
DeviceMemory.hpp
Vulkan.hpp
lug
Definition:
Application.hpp:11
lug::Graphics::Vulkan::Render::Pipeline::Id::PrimitivePart
Describes the primitive.
Definition:
Pipeline.hpp:37
lug::Graphics::Vulkan::Render::Mesh::PrimitiveSetData::buffers
std::vector< API::Buffer > buffers
Definition:
Mesh.hpp:26
Export.hpp
Generated by
1.8.13