Load data from a .sasset file.
210 {
212
213 bool isFind = false;
214 std::string filePath;
215 for (auto& it : ResourceSystem::GetSearchFolder())
216 {
219 {
220 isFind = true;
221 break;
222 }
223 }
224 if (!isFind) return false;
225
227 return false;
228 }
229
232
233 uint64_t readed = 0;
234
235 char startSign[100];
237
239 {
241 return false;
242 }
243
244 uint32_t positionsCount = 0;
246 outMeshPack->m_MeshResource.positions.attributes->resize(positionsCount);
247
248 uint32_t normalsCount = 0;
250 outMeshPack->m_MeshResource.normals.attributes->resize(normalsCount);
251
252 uint32_t colorsCount = 0;
254 outMeshPack->m_MeshResource.colors.attributes->resize(colorsCount);
255
256 uint32_t texCoordsCount = 0;
258 outMeshPack->m_MeshResource.texCoords.attributes->resize(texCoordsCount);
259
260 uint32_t verticesCount = 0;
262 outMeshPack->m_MeshResource.vertices.attributes->resize(verticesCount);
263
264 uint32_t primitivePointsCount = 0;
266 outMeshPack->m_MeshResource.primitivePoints.attributes->resize(primitivePointsCount);
267
268 uint32_t primitiveVerticesCount = 0;
270 outMeshPack->m_MeshResource.primitiveVertices.attributes->resize(primitiveVerticesCount);
271
272 uint32_t primitiveLocationsCount = 0;
274 outMeshPack->m_MeshResource.primitiveLocations.attributes->resize(primitiveLocationsCount);
275
276 uint32_t meshletsCount = 0;
278 outMeshPack->m_MeshResource.meshlets.attributes->resize(meshletsCount);
279
280 uint32_t lodsCount = 0;
282 outMeshPack->m_MeshResource.lods.attributes->resize(lodsCount);
283
289 FileLibrary::FileLibrary_Read(&f,
sizeof(glm::uvec3) * primitivePointsCount , outMeshPack->m_MeshResource.primitivePoints.attributes ->data(), &readed);
290 FileLibrary::FileLibrary_Read(&f,
sizeof(glm::uvec3) * primitiveVerticesCount , outMeshPack->m_MeshResource.primitiveVertices.attributes ->data(), &readed);
291 FileLibrary::FileLibrary_Read(&f,
sizeof(glm::uvec3) * primitiveLocationsCount , outMeshPack->m_MeshResource.primitiveLocations.attributes ->data(), &readed);
294
295 char overSign[100];
297
299 {
301 return false;
302 }
303
305
306 return true;
307 }
#define SPICES_PROFILE_ZONE
static bool FileLibrary_Read(const FileHandle *handle, uint64_t data_size, void *out_data, uint64_t *out_bytes_read)
Read Specific size of data form the current file handle pointer, and move pointer the same size.
static bool FileLibrary_Open(const char *path, FileModes mode, bool binary, FileHandle *out_handle)
Open the file using given string.
static void FileLibrary_Close(FileHandle *handle)
Close the file by the file handle.
static bool FileLibrary_Exists(const char *path)
Determine whether the given string is existing a file.
static bool StringsEqual(const char *str0, const char *str1)
Determine if the strings given are equal. Platform Specific.
constexpr char MeshLoaderSignOver[100]
Const variable: Mesh File Confirm header over.
constexpr char MeshLoaderSignStart[100]
Const variable: Mesh File Confirm header staer.
const std::string defaultBinMeshPath
Const variable: Bin Mesh File Path.
@ FILE_MODE_READ
model : read