Grindstone Game Engine v0.2.0
An open source game engine and toolkit.
Loading...
Searching...
No Matches
ShaderAsset.hpp
1#pragma once
2
3#include <string>
4#include <vector>
5#include "ShaderReflectionData.hpp"
6#include "EngineCore/Assets/Asset.hpp"
7
8namespace Grindstone {
9 namespace GraphicsAPI {
10 class GraphicsPipeline;
11 class DescriptorSetLayout;
12 }
13
14 struct ShaderAsset : public Asset {
15 ShaderAsset(Uuid uuid) : Asset(uuid, uuid.ToString()) {}
16 ShaderAsset(Uuid uuid, std::string_view name, GraphicsAPI::GraphicsPipeline* pipeline) : Asset(uuid, name), pipeline(pipeline) {}
17 ShaderReflectionData reflectionData;
18 uint8_t renderQueue = UINT8_MAX;
19 GraphicsAPI::GraphicsPipeline* pipeline = nullptr;
20 GraphicsAPI::DescriptorSetLayout* descriptorSetLayout = nullptr;
21
22 DEFINE_ASSET_TYPE("Shader", AssetType::Shader)
23 };
24}
Definition DescriptorSetLayout.hpp:11
Definition GraphicsPipeline.hpp:18
Definition Uuid.hpp:6
Definition Asset.hpp:18
Definition ShaderAsset.hpp:14
Definition ShaderReflectionData.hpp:7