FCT
载入中...
搜索中...
未找到
InputLayout.h
浏览该文件的文档.
1
#pragma once
2
#include "
../MutilThreadBase/RefCount.h
"
3
#include "
./IPipelineResource.h
"
4
#include "
../Context/VertexFactory.h
"
5
#include "
../Type/Format.h
"
6
#include "
../Context/Vertex.h
"
7
#include "
./ShaderBinary.h
"
8
namespace
FCT
{
9
namespace
RHI
10
{
11
enum class
InputRate
12
{
13
PerVertex
,
14
PerInstance
15
};
16
class
Context
;
17
class
VertexBuffer
;
18
class
InputLayout
:
public
IPipelineResource
{
19
public
:
20
PipelineResourceType
getType
()
const
21
{
22
return
PipelineResourceType::InputLayout
;
23
}
24
virtual
~InputLayout
() =
default
;
25
void
inputShaderCode
(
ShaderBinary
binary)
26
{
27
m_shaderBinary
= binary;
28
}
29
void
add
(uint32_t slot,
VertexLayout
vertexLayout
)
30
{
31
m_vertexLayouts
[slot] =
vertexLayout
;
32
m_inputRates
[slot] =
InputRate::PerVertex
;
33
}
34
void
vertexLayout
(
VertexLayout
vertexLayout
,uint32_t slot = 0)
35
{
36
m_vertexLayouts
[slot] =
vertexLayout
;
37
m_inputRates
[slot] =
InputRate::PerVertex
;
38
}
39
void
inputRate
(
InputRate
inputRate
,uint32_t slot = 0)
40
{
41
m_inputRates
[slot] =
inputRate
;
42
}
43
virtual
void
create
() = 0;
44
protected
:
45
ShaderBinary
m_shaderBinary
;
46
std::map<uint32_t,VertexLayout>
m_vertexLayouts
;
47
std::map<uint32_t, InputRate>
m_inputRates
;
48
std::vector<char>
m_codes
;
49
};
50
}
51
}
// namespace FCT
IPipelineResource.h
RefCount.h
ShaderBinary.h
Format.h
Vertex.h
VertexFactory.h
FCT::Context
定义
Context.h:98
FCT::IPipelineResource
定义
IPipelineResource.h:22
FCT::RHI::InputLayout
定义
InputLayout.h:18
FCT::RHI::InputLayout::m_vertexLayouts
std::map< uint32_t, VertexLayout > m_vertexLayouts
定义
InputLayout.h:46
FCT::RHI::InputLayout::getType
PipelineResourceType getType() const
定义
InputLayout.h:20
FCT::RHI::InputLayout::create
virtual void create()=0
FCT::RHI::InputLayout::~InputLayout
virtual ~InputLayout()=default
FCT::RHI::InputLayout::m_shaderBinary
ShaderBinary m_shaderBinary
定义
InputLayout.h:45
FCT::RHI::InputLayout::add
void add(uint32_t slot, VertexLayout vertexLayout)
定义
InputLayout.h:29
FCT::RHI::InputLayout::m_codes
std::vector< char > m_codes
定义
InputLayout.h:48
FCT::RHI::InputLayout::vertexLayout
void vertexLayout(VertexLayout vertexLayout, uint32_t slot=0)
定义
InputLayout.h:34
FCT::RHI::InputLayout::inputRate
void inputRate(InputRate inputRate, uint32_t slot=0)
定义
InputLayout.h:39
FCT::RHI::InputLayout::inputShaderCode
void inputShaderCode(ShaderBinary binary)
定义
InputLayout.h:25
FCT::RHI::InputLayout::m_inputRates
std::map< uint32_t, InputRate > m_inputRates
定义
InputLayout.h:47
FCT::RHI::ShaderBinary
定义
ShaderBinary.h:14
FCT::VertexBuffer
定义
Vertex.h:542
FCT::VertexLayout
定义
Vertex.h:229
FCT::RHI
定义
CommandBufferGraph.h:14
FCT::RHI::InputRate
InputRate
定义
InputLayout.h:12
FCT::RHI::InputRate::PerVertex
@ PerVertex
定义
InputLayout.h:13
FCT::RHI::InputRate::PerInstance
@ PerInstance
定义
InputLayout.h:14
FCT
定义
Enums.h:8
FCT::PipelineResourceType
PipelineResourceType
定义
IPipelineResource.h:5
FCT::PipelineResourceType::InputLayout
@ InputLayout
定义
IPipelineResource.h:10
src
RHI
InputLayout.h
制作者
1.14.0