| 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 | { |
nothing calls this directly
no test coverage detected