Vulkan Schnee 0.0.1
High-performance rendering engine
Loading...
Searching...
No Matches
Engine::Rendering::GraphicsPipeline Class Referencefinal

#include <PipelineMaterialPayload.h>

Collaboration diagram for Engine::Rendering::GraphicsPipeline:

Public Member Functions

 GraphicsPipeline (VkDevice device, VkSampleCountFlagBits multisampling, VkPipelineLayout pipelineLayout, VkRenderPass renderPass, const std::string &meshShaderFilename, const std::string &fragmentShaderFilename, const std::vector< VkVertexInputBindingDescription > &vertexInputBindingDescriptions, const std::vector< VkVertexInputAttributeDescription > &vertexInputAttributeDescriptions, PipelineMaterialPayload pipelineData, std::optional< const MeshShaderSpecializationData * > meshShaderSpecialization=std::nullopt, VkFormat colorFormat=VK_FORMAT_R8G8B8A8_UNORM)
 ~GraphicsPipeline ()
void bind (VkCommandBuffer commandBuffer) const
bool isValid () const
 Checks if the object is fully constructed.
const std::string getMeshShaderName () const
const std::string getFragShaderName () const
const PipelineMaterialPayloadgetPipelineMaterialData () const
bool operator== (const GraphicsPipeline &other) const

Private Attributes

VkDevice device
VkSampleCountFlagBits multisampling
std::string meshShaderName
std::string fragShaderName
bool valid = false
const Core::ApplicationContextcontext = nullptr
VkPipeline pipeline = nullptr
PipelineMaterialPayload pipelineData

Detailed Description

Definition at line 154 of file PipelineMaterialPayload.h.

Constructor & Destructor Documentation

◆ GraphicsPipeline()

Engine::Rendering::GraphicsPipeline::GraphicsPipeline ( VkDevice device,
VkSampleCountFlagBits multisampling,
VkPipelineLayout pipelineLayout,
VkRenderPass renderPass,
const std::string & meshShaderFilename,
const std::string & fragmentShaderFilename,
const std::vector< VkVertexInputBindingDescription > & vertexInputBindingDescriptions,
const std::vector< VkVertexInputAttributeDescription > & vertexInputAttributeDescriptions,
PipelineMaterialPayload pipelineData,
std::optional< const MeshShaderSpecializationData * > meshShaderSpecialization = std::nullopt,
VkFormat colorFormat = VK_FORMAT_R8G8B8A8_UNORM )

References device, multisampling, and pipelineData.

Referenced by operator==().

Here is the caller graph for this function:

◆ ~GraphicsPipeline()

Engine::Rendering::GraphicsPipeline::~GraphicsPipeline ( )

Member Function Documentation

◆ bind()

void Engine::Rendering::GraphicsPipeline::bind ( VkCommandBuffer commandBuffer) const

◆ getFragShaderName()

const std::string Engine::Rendering::GraphicsPipeline::getFragShaderName ( ) const

◆ getMeshShaderName()

const std::string Engine::Rendering::GraphicsPipeline::getMeshShaderName ( ) const

◆ getPipelineMaterialData()

const PipelineMaterialPayload & Engine::Rendering::GraphicsPipeline::getPipelineMaterialData ( ) const

◆ isValid()

bool Engine::Rendering::GraphicsPipeline::isValid ( ) const

Checks if the object is fully constructed.

Returns
true when the object is fully constructed

◆ operator==()

bool Engine::Rendering::GraphicsPipeline::operator== ( const GraphicsPipeline & other) const

References GraphicsPipeline().

Here is the call graph for this function:

Member Data Documentation

◆ context

const Core::ApplicationContext* Engine::Rendering::GraphicsPipeline::context = nullptr
private

Definition at line 204 of file PipelineMaterialPayload.h.

◆ device

VkDevice Engine::Rendering::GraphicsPipeline::device
private

Definition at line 197 of file PipelineMaterialPayload.h.

Referenced by GraphicsPipeline().

◆ fragShaderName

std::string Engine::Rendering::GraphicsPipeline::fragShaderName
private

Definition at line 201 of file PipelineMaterialPayload.h.

◆ meshShaderName

std::string Engine::Rendering::GraphicsPipeline::meshShaderName
private

Definition at line 200 of file PipelineMaterialPayload.h.

◆ multisampling

VkSampleCountFlagBits Engine::Rendering::GraphicsPipeline::multisampling
private

Definition at line 198 of file PipelineMaterialPayload.h.

Referenced by GraphicsPipeline().

◆ pipeline

VkPipeline Engine::Rendering::GraphicsPipeline::pipeline = nullptr
private

Definition at line 205 of file PipelineMaterialPayload.h.

◆ pipelineData

PipelineMaterialPayload Engine::Rendering::GraphicsPipeline::pipelineData
private

Definition at line 207 of file PipelineMaterialPayload.h.

Referenced by GraphicsPipeline().

◆ valid

bool Engine::Rendering::GraphicsPipeline::valid = false
private

Definition at line 202 of file PipelineMaterialPayload.h.


The documentation for this class was generated from the following file: