MCPcopy Create free account
hub / github.com/crownengine/crown / online

Function online

src/resource/mesh_resource.cpp:151–172  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

149 }
150
151 void online(StringId64 id, ResourceManager &rm)
152 {
153 MeshResource *mr = (MeshResource *)rm.get(RESOURCE_TYPE_MESH, id);
154
155 for (u32 i = 0; i < array::size(mr->geometries); ++i) {
156 MeshGeometry &mg = *mr->geometries[i];
157
158 const u32 vsize = mg.vertices.num * mg.vertices.stride;
159 const u32 isize = mg.indices.num * sizeof(u16);
160
161 const bgfx::Memory *vmem = bgfx::makeRef(mg.vertices.data, vsize);
162 const bgfx::Memory *imem = bgfx::makeRef(mg.indices.data, isize);
163
164 bgfx::VertexBufferHandle vbh = bgfx::createVertexBuffer(vmem, mg.layout);
165 bgfx::IndexBufferHandle ibh = bgfx::createIndexBuffer(imem);
166 CE_ASSERT(bgfx::isValid(vbh), "Invalid vertex buffer");
167 CE_ASSERT(bgfx::isValid(ibh), "Invalid index buffer");
168
169 mg.vertex_buffer = vbh;
170 mg.index_buffer = ibh;
171 }
172 }
173
174 void offline(StringId64 id, ResourceManager &rm)
175 {

Callers

nothing calls this directly

Calls 6

makeRefFunction · 0.85
createVertexBufferFunction · 0.85
createIndexBufferFunction · 0.85
sizeFunction · 0.50
isValidFunction · 0.50
getMethod · 0.45

Tested by

no test coverage detected