Add Asset system

- Add Abstract Asset class which defines Assets
- Add AssetManager class to keep track of all the Asset
- Add AssetFile class to cache the asset without loading it
- Add UUID class to uniquely identify assets
- Add MetaFile class to load meta asset files
This commit is contained in:
Thraix
2023-04-13 21:00:36 +02:00
parent 431ad9c573
commit d9e7fd7019
29 changed files with 1002 additions and 37 deletions
+47
View File
@@ -129,6 +129,27 @@
<ClCompile Include="src\copium\pipeline\ShaderBinding.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\copium\util\UUID.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\copium\asset\AssetManager.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\copium\util\MetaFile.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\copium\util\StringUtil.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\copium\asset\Asset.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\copium\asset\AssetFile.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\copium\util\RuntimeException.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="src\copium\sampler\DepthAttachment.h">
@@ -248,6 +269,30 @@
<ClInclude Include="src\copium\pipeline\ShaderBinding.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\copium\util\UUID.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\copium\asset\AssetMeta.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\copium\util\MetaFile.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\copium\util\StringUtil.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\copium\asset\Asset.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\copium\asset\AssetManager.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\copium\asset\AssetFile.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\copium\util\RuntimeException.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<None Include="res\shaders\shader.frag" />
@@ -256,5 +301,7 @@
<None Include="res\shaders\passthrough.vert" />
<None Include="res\shaders\renderer.frag" />
<None Include="res\shaders\renderer.vert" />
<None Include="assets\fox.meta" />
<None Include="assets\fox2.meta" />
</ItemGroup>
</Project>