Vulkan Schnee 0.0.1
High-performance rendering engine
Loading...
Searching...
No Matches
TextureAsset.h
Go to the documentation of this file.
1#pragma once
2#include "Engine/Core/Asset.h"
3#include "ExrLoader.h"
4#include <filesystem>
5#include <tiny_gltf.h>
6
7namespace Engine::Core
8{
9 class AssetManager;
10} // namespace Engine::Core
11
12namespace Engine::Assets {
16 class Texture : public Asset::AssetBase {
17 friend class Core::AssetManager;
18 public:
19 explicit Texture(bool initEcsData = false);
20 ~Texture() override = default;
25 void setImage( tinygltf::Image && image );
26
30 void unload() override;
31
35 void updateLoadingState() override;
36 };
37
41 class ExrTextureAsset : public Texture {
42 public:
44 ~ExrTextureAsset() override = default;
46 };
47
54 class GltfTextureAsset : public Texture {
55 public:
57 ~GltfTextureAsset() override = default;
58 };
59
60 class TextureAssetManager : public Asset::AssetManager<std::filesystem::path, Texture> {
61 public:
63 };
64}
Base class for asset wrappers. The data is stored in the private member variable 'data' in form of en...
Definition Asset.h:168
A manager which is used to look up existing assets and their loading state.
Definition Asset.h:250
~ExrTextureAsset() override=default
void setHeader(Textures::ExrHeader &header)
~GltfTextureAsset() override=default
void unload() override
unloads all data of this asset
void setImage(tinygltf::Image &&image)
sets the image data to an image. The image data will be moved into this asset
void updateLoadingState() override
updates the loading state according to all components required by this asset
~Texture() override=default
Texture(bool initEcsData=false)
Core audio subsystem owning the miniaudio engine and managing playback.
Definition AudioConfig.h:9
Wrapper for EXR file header information with owned data.
Definition ExrLoader.h:28