#pragma once #include #include struct AssetData {}; template concept Asset = std::derived_from; struct AssetBinary : AssetData { uint8_t* content = nullptr; size_t size = 0; AssetBinary(uint8_t* &source, const size_t &sourceSize); ~AssetBinary(); }; struct AssetShader : AssetData { uint32_t* content = nullptr; size_t size = 0; AssetShader(uint8_t* &source, const size_t &sourceSize); ~AssetShader(); }; struct AssetMaterial : AssetData { uint32_t vertexShader; uint32_t fragmentShader; };