FCT
载入中...
搜索中...
未找到
Mesh.hpp
浏览该文件的文档.
1#ifndef FCT_MESH_HPP
2#define FCT_MESH_HPP
3namespace FCT {
4 template <typename IndexType>
6 {
7 m_gpuVertex = m_ctx->createResource<RHI::VertexBuffer>();
8 m_gpuVertex->vertexBuffer(m_cpuVertex);
9 m_gpuVertex->create();
10 m_gpuVertex->updataBuffer();
11
12 if (!m_cpuIndices.empty()) {
13 m_gpuIndex = m_ctx->createResource<RHI::IndexBuffer>();
14 m_gpuIndex->indexBuffer(m_cpuIndices);
15 m_gpuIndex->create();
16 m_gpuIndex->updataBuffer();
17 }
18 }
19
20 template <typename IndexType>
22 {
23 m_gpuVertex = m_ctx->createResource<RHI::VertexBuffer>();
24 m_gpuVertex->vertexBuffer(m_cpuVertex);
25 m_gpuVertex->updateFrequency(UpdateFrequency::PerFrame);
26
27 if (m_vertexCapacity > m_cpuVertex->getVertexCount()) {
28
29 } else {
30 m_vertexCapacity = m_cpuVertex->getVertexCount();
31 }
33
34 m_gpuVertex->create();
35 m_gpuVertex->updataBuffer();
36
37 if (!m_cpuIndices.empty() || m_indexCapacity > 0) {
38 m_gpuIndex = m_ctx->createResource<RHI::IndexBuffer>();
39 m_gpuIndex->indexBuffer(m_cpuIndices);
40 m_gpuIndex->updateFrequency(UpdateFrequency::PerFrame);
41
42 if (m_indexCapacity > m_cpuIndices.size()) {
43 } else {
45 }
47
48 m_gpuIndex->create();
49 m_gpuIndex->updataBuffer();
50 }
51 }
52}
53#endif
VertexBuffer * m_cpuVertex
定义 Mesh.h:256
RHI::IndexBuffer * m_gpuIndex
定义 Mesh.h:258
std::vector< IndexType > m_cpuIndices
定义 Mesh.h:259
Context * m_ctx
定义 Mesh.h:254
RHI::VertexBuffer * m_gpuVertex
定义 Mesh.h:257
size_t m_indexCapacity
定义 Mesh.h:262
size_t m_vertexCapacity
定义 Mesh.h:261
std::vector< IndexType > m_cpuIndices
定义 Mesh.h:96
RHI::VertexBuffer * m_gpuVertex
定义 Mesh.h:94
RHI::IndexBuffer * m_gpuIndex
定义 Mesh.h:95
VertexBuffer * m_cpuVertex
定义 Mesh.h:93
Context * m_ctx
定义 Mesh.h:91