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 "Common/ResourcePipeline/Uuid.hpp"
5#include "EngineCore/Assets/Asset.hpp"
6#include "EngineCore/ECS/Entity.hpp"
7
8namespace Grindstone {
9 namespace GraphicsAPI {
10 class DescriptorSet;
11 class UniformBuffer;
12 }
13
14 struct ShaderAsset;
15
16 struct MaterialAsset : public Asset {
17 MaterialAsset(Uuid uuid, std::string_view name, Uuid shaderUuid) : Asset(uuid, name), shaderUuid(shaderUuid) {}
18 Uuid shaderUuid;
19 GraphicsAPI::UniformBuffer* uniformBufferObject = nullptr;
20 GraphicsAPI::DescriptorSet* descriptorSet = nullptr;
21 char* buffer = nullptr;
22
23 DEFINE_ASSET_TYPE("Material", AssetType::Material)
24 };
25}
Definition DescriptorSet.hpp:11
Definition UniformBuffer.hpp:10
Definition Uuid.hpp:6
Definition Asset.hpp:18
Definition MaterialAsset.hpp:16