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
13
namespace
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()) {}
21
Grindstone::AssetReference<Grindstone::GraphicsPipelineAsset>
pipelineSetAsset;
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
}
Grindstone::Buffer
Definition
Buffer.hpp:9
Grindstone::GraphicsAPI::Buffer
Definition
Buffer.hpp:56
Grindstone::GraphicsAPI::DescriptorSet
Definition
DescriptorSet.hpp:15
Grindstone::Uuid
Definition
Uuid.hpp:7
Grindstone::AssetReference
Definition
AssetReference.hpp:45
sources
code
EngineCore
Assets
Materials
MaterialAsset.hpp
Generated by
1.13.2