FCT
载入中...
搜索中...
未找到
InputLayout.h
浏览该文件的文档.
1#pragma once
5#include "../Type/Format.h"
6#include "../Context/Vertex.h"
7#include "./ShaderBinary.h"
8namespace FCT {
9 namespace RHI
10 {
11 enum class InputRate
12 {
15 };
16 class Context;
17 class VertexBuffer;
19 public:
24 virtual ~InputLayout() = default;
26 {
27 m_shaderBinary = binary;
28 }
29 void add(uint32_t slot,VertexLayout vertexLayout)
30 {
33 }
34 void vertexLayout(VertexLayout vertexLayout,uint32_t slot = 0)
35 {
38 }
39 void inputRate(InputRate inputRate,uint32_t slot = 0)
40 {
41 m_inputRates[slot] = inputRate;
42 }
43 virtual void create() = 0;
44 protected:
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
std::map< uint32_t, VertexLayout > m_vertexLayouts
PipelineResourceType getType() const
virtual void create()=0
virtual ~InputLayout()=default
void add(uint32_t slot, VertexLayout vertexLayout)
std::vector< char > m_codes
void vertexLayout(VertexLayout vertexLayout, uint32_t slot=0)
void inputRate(InputRate inputRate, uint32_t slot=0)
void inputShaderCode(ShaderBinary binary)
std::map< uint32_t, InputRate > m_inputRates