FCT
载入中...
搜索中...
未找到
UniformWrapper.cpp
浏览该文件的文档.
1
#include "
../RHI/ConstBuffer.h
"
2
#include "
UniformWrapper.h
"
3
#include "
Context.h
"
4
#include "
Context.hpp
"
5
namespace
FCT
{
6
Uniform::Uniform
():
m_uniformBuffer
(nullptr),
m_constBuffer
(nullptr)
7
{
8
}
9
10
Uniform::Uniform
(
Uniform
&& other)
noexcept
:
m_uniformBuffer
(other.m_uniformBuffer),
m_constBuffer
(other.m_constBuffer)
11
{
12
other.m_uniformBuffer =
nullptr
;
13
other.m_constBuffer =
nullptr
;
14
}
15
16
Uniform
&
Uniform::operator=
(
Uniform
&& other)
noexcept
17
{
18
if
(
this
!= &other) {
19
if
(
m_uniformBuffer
)
20
{
21
delete
m_uniformBuffer
;
22
}
23
if
(
m_constBuffer
)
24
{
25
delete
m_constBuffer
;
26
}
27
28
m_uniformBuffer
= other.m_uniformBuffer;
29
m_constBuffer
= other.m_constBuffer;
30
31
other.m_uniformBuffer =
nullptr
;
32
other.m_constBuffer =
nullptr
;
33
}
34
return
*
this
;
35
}
36
37
Uniform::Uniform
(
FCT::Context
* ctx,
const
FCT::ConstLayout
& layout)
38
{
39
m_uniformBuffer
=
new
FCT::UniformBuffer
(layout);
40
m_constBuffer
= ctx->
createResource
<
FCT::RHI::ConstBuffer
>();
41
m_constBuffer
->layout(layout);
42
m_constBuffer
->buffer(
m_uniformBuffer
);
43
m_constBuffer
->create();
44
}
45
46
Uniform::~Uniform
()
47
{
48
if
(
m_uniformBuffer
)
49
{
50
delete
m_uniformBuffer
;
51
}
52
if
(
m_constBuffer
)
53
{
54
delete
m_constBuffer
;
55
}
56
}
57
58
void
Uniform::update
()
59
{
60
m_constBuffer
->updataData();
61
}
62
63
Uniform::operator
RHI::ConstBuffer
*()
const
64
{
65
return
m_constBuffer;
66
}
67
}
Context.h
Context.hpp
ConstBuffer.h
UniformWrapper.h
FCT::ConstLayout
定义
Uniform.h:268
FCT::Context
定义
Context.h:98
FCT::Context::createResource
T * createResource()
定义
Context.hpp:38
FCT::RHI::ConstBuffer
定义
ConstBuffer.h:8
FCT::UniformBuffer
定义
Uniform.h:444
FCT
定义
Enums.h:8
FCT::Uniform::m_uniformBuffer
FCT::UniformBuffer * m_uniformBuffer
定义
UniformWrapper.h:27
FCT::Uniform::operator=
Uniform & operator=(Uniform &&other) noexcept
定义
UniformWrapper.cpp:16
FCT::Uniform::Uniform
Uniform()
定义
UniformWrapper.cpp:6
FCT::Uniform::update
void update()
定义
UniformWrapper.cpp:58
FCT::Uniform::~Uniform
~Uniform()
定义
UniformWrapper.cpp:46
FCT::Uniform::m_constBuffer
FCT::RHI::ConstBuffer * m_constBuffer
定义
UniformWrapper.h:28
src
Context
UniformWrapper.cpp
制作者
1.14.0