Hubris Engine
Dev
A Project to learn and get into Game Engine developement.
Loading...
Searching...
No Matches
Pipeline.h
Go to the documentation of this file.
1
#pragma once
2
#include "
Core/Graphics/Shader.h
"
3
4
namespace
Hubris::Graphics
{
5
struct
ShaderPack
{
6
Shader
*
Vertex
;
7
Shader
*
Fragment
;
8
};
9
10
11
enum class
PipelineType
{
12
Graphics
,
13
Compute
,
14
RayTracing
,
15
};
16
17
struct
PipelineDescriptor
{
18
PipelineType
type
;
19
std::vector<Handle<Shader>>
shaders
;
20
21
// Additional config:
22
// - Vertex input layout
23
// - Blend state
24
// - Depth/stencil state
25
// - Rasterizer state
26
// - Push constants layout
27
// - Descriptor set layouts
28
};
29
class
Pipeline
{
30
public
:
31
static
Handle<Pipeline>
Create
(
const
PipelineDescriptor
& shaders);
32
};
33
}
Shader.h
Hubris::Graphics::Pipeline
Definition
Pipeline.h:29
Hubris::Graphics::Pipeline::Create
static Handle< Pipeline > Create(const PipelineDescriptor &shaders)
Definition
Pipeline.cpp:7
Hubris::Graphics::Shader
Definition
Shader.h:40
Hubris::Graphics
Contains all graphics related classes and structs.
Definition
Format.h:9
Hubris::Graphics::PipelineType
PipelineType
Definition
Pipeline.h:11
Hubris::Graphics::PipelineType::RayTracing
@ RayTracing
Definition
Pipeline.h:14
Hubris::Graphics::PipelineType::Compute
@ Compute
Definition
Pipeline.h:13
Hubris::Graphics::PipelineType::Graphics
@ Graphics
Definition
Pipeline.h:12
Hubris::Graphics::PipelineDescriptor
Definition
Pipeline.h:17
Hubris::Graphics::PipelineDescriptor::shaders
std::vector< Handle< Shader > > shaders
Definition
Pipeline.h:19
Hubris::Graphics::PipelineDescriptor::type
PipelineType type
Definition
Pipeline.h:18
Hubris::Graphics::ShaderPack
Definition
Pipeline.h:5
Hubris::Graphics::ShaderPack::Vertex
Shader * Vertex
Definition
Pipeline.h:6
Hubris::Graphics::ShaderPack::Fragment
Shader * Fragment
Definition
Pipeline.h:7
Hubris::Handle
Definition
Memory.h:462
include
Core
Graphics
Pipeline.h
Generated by
1.13.2