Grindstone Game Engine v0.2.0
An open source game engine and toolkit.
Loading...
Searching...
No Matches
MaterialAsset.hpp
1#pragma once
2
3#include <string>
4#include <vector>
5
6#include <Common/Buffer.hpp>
7#include <Common/ResourcePipeline/Uuid.hpp>
8#include <EngineCore/Assets/AssetReference.hpp>
9#include <EngineCore/Assets/Asset.hpp>
10#include <EngineCore/Assets/PipelineSet/GraphicsPipelineAsset.hpp>
11#include <EngineCore/ECS/Entity.hpp>
12
13namespace Grindstone {
14 namespace GraphicsAPI {
15 class DescriptorSet;
16 class Buffer;
17 }
18
19 struct MaterialAsset : public Asset {
20 MaterialAsset(Grindstone::Uuid uuid) : Asset(uuid, uuid.ToString()) {}
22 Grindstone::GraphicsAPI::DescriptorSet* materialDescriptorSet = nullptr;
23 Grindstone::GraphicsAPI::Buffer* materialDataUniformBuffer = nullptr;
24 std::vector<Grindstone::AssetReference<Grindstone::TextureAsset>> textures;
25 Grindstone::Buffer materialDataBuffer;
26
27 DEFINE_ASSET_TYPE("Material", AssetType::Material)
28 };
29}
Definition Buffer.hpp:9
Definition Buffer.hpp:56
Definition DescriptorSet.hpp:15
Definition Uuid.hpp:7
Definition AssetReference.hpp:45