3#include "mathtypes.hpp"
7#include "Filesystem.hpp"
11 #include <RGL/Types.hpp>
13#include "MeshAllocation.hpp"
15#include "MaterialShared.hpp"
23 bool keepInSystemRAM =
false;
24 bool uploadToGPU =
true;
33 auto GetAttributes()
const {
40 size_t totalVerts = 0, totalIndices = 0;
66 MeshPart DeserializeMesh(
const std::istream& stream);
67 std::pair<MeshPart,uint32_t> DeserializeMeshFromMemory(
const std::span<uint8_t> mem);
73 auto GetRadius()
const {
77 auto GetAllocation()
const {
78 return meshAllocation;
112 InitializeFromRawMeshView(mesh,options);
115 constexpr inline const decltype(bounds)& GetBounds()
const{
119 virtual ~MeshAsset();
121 constexpr inline const decltype(totalVerts) GetNumVerts()
const {
125 constexpr inline const decltype(totalIndices) GetNumIndices()
const {
129 constexpr inline decltype(systemRAMcopy)& GetSystemCopy(){
130 return systemRAMcopy;
133 inline bool hasSystemRAMCopy()
const{
134 return systemRAMcopy.positions.size() > 0;
Definition MeshAsset.hpp:27
MeshAsset(const std::string &path, const MeshAssetOptions &options=MeshAssetOptions())
void InitializeFromMeshPartFragments(const RavEngine::Vector< MeshPart > &mp, const MeshAssetOptions &options=MeshAssetOptions())
Definition MeshAsset.cpp:106
MeshAsset(const MeshPart &mesh, const MeshAssetOptions &options=MeshAssetOptions())
Definition MeshAsset.hpp:107
void DeallocSystemCopy()
Definition MeshAsset.hpp:141
MeshAsset(const RavEngine::Vector< MeshPart > &rawMeshData, const MeshAssetOptions &options=MeshAssetOptions())
Definition MeshAsset.hpp:99
void InitializeFromRawMesh(const MeshPart &mp, const MeshAssetOptions &options=MeshAssetOptions())
Definition MeshAsset.cpp:147
Definition RenderEngine.hpp:64
Definition concurrentqueue.h:747
Definition Animation.hpp:6
Definition mathtypes.hpp:122
Definition Manager.hpp:20
Definition MeshAsset.hpp:22
Definition MeshAsset.hpp:82
Definition MaterialShared.hpp:9
Definition MeshAllocation.hpp:9