CeresEngine 0.2.0
A game development framework
Loading...
Searching...
No Matches
MTGraphicsPipeline.hpp
Go to the documentation of this file.
1//
2// CeresEngine - A game development framework
3//
4// Created by Rogiel Sulzbach.
5// Copyright (c) 2018-2022 Rogiel Sulzbach. All rights reserved.
6//
7
8#pragma once
9
10#include "Metal.hpp"
11
13
15
16#include <functional>
17
18namespace CeresEngine {
19
20 class MTRenderAPI;
21 class MTRenderPass;
22 class MTShaderProgram;
23 class MTRenderPass;
24 class MTPipelineLayout;
25
26 class MTCommandBuffer;
27
57
58} // namespace CeresEngine
A retain-release type of smart pointer.
Definition SmartPtr.hpp:132
Definition GPUCommandBuffer.hpp:77
GPUDevice & device
The owning device this object was created from.
Definition Common.hpp:55
Definition GPUGraphicsPipeline.hpp:790
Definition Metal.hpp:124
Metal RenderAPI graphics pipeline object.
Definition MTGraphicsPipeline.hpp:29
GPUResourceSetPtr createResourceSet(const GPUResourceSetDescriptor &descriptor, UInt32 set=0) final
MTRenderPassPtr mRenderPass
The Metal render pass.
Definition MTGraphicsPipeline.hpp:35
MTPipelineLayoutPtr mPipelineLayout
The Metal pipeline layout.
Definition MTGraphicsPipeline.hpp:38
const GPUGraphicsPipelineDescriptor mDescriptor
A object that describes the graphics pipeline object.
Definition MTGraphicsPipeline.hpp:32
void begin(GPUCommandBuffer &commandBuffer) final
MTGraphicsPipeline(MTDevicePtr device, const GPUGraphicsPipelineDescriptor &descriptor)
MTShaderProgramPtr mShaderProgram
A vector of all pipelines stages in the pipeline.
Definition MTGraphicsPipeline.hpp:41
void end(GPUCommandBuffer &commandBuffer) final
const Descriptor & descriptor
A structure that describes the object and it's properties.
Definition Common.hpp:69
Definition Application.hpp:19
std::uint32_t UInt32
Definition DataTypes.hpp:23
constexpr size_t hash(const T &v)
Generates a hash for the provided type.
Definition Hash.hpp:25
Definition GPUGraphicsPipeline.hpp:721
Definition GPUResourceSet.hpp:716