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

#include <PipelineMaterialPayload.h>

Collaboration diagram for EngineCore::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, bool depthOnly=false)
 ~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 Context * context = nullptr
VkPipeline pipeline = nullptr
PipelineMaterialPayload pipelineData

Detailed Description

Definition at line 155 of file PipelineMaterialPayload.h.

Constructor & Destructor Documentation

◆ GraphicsPipeline()

EngineCore::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,
bool depthOnly = false )

Definition at line 55 of file PipelineMaterialPayload.cpp.

References MeshShader::destroyShaders(), device, fragShaderName, MeshShader::getFragmentShader(), MeshShader::getMeshShader(), meshShaderName, multisampling, pipeline, pipelineData, and valid.

Referenced by operator==().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ~GraphicsPipeline()

EngineCore::GraphicsPipeline::~GraphicsPipeline ( )

Definition at line 334 of file PipelineMaterialPayload.cpp.

References device, and pipeline.

Member Function Documentation

◆ bind()

void EngineCore::GraphicsPipeline::bind ( VkCommandBuffer commandBuffer) const

Definition at line 342 of file PipelineMaterialPayload.cpp.

References pipeline, and TRACY_ZONE_SCOPED_NAMED.

◆ getFragShaderName()

const std::string EngineCore::GraphicsPipeline::getFragShaderName ( ) const

Definition at line 358 of file PipelineMaterialPayload.cpp.

References fragShaderName.

Referenced by operator==().

Here is the caller graph for this function:

◆ getMeshShaderName()

const std::string EngineCore::GraphicsPipeline::getMeshShaderName ( ) const

Definition at line 353 of file PipelineMaterialPayload.cpp.

References meshShaderName.

Referenced by operator==().

Here is the caller graph for this function:

◆ getPipelineMaterialData()

const PipelineMaterialPayload & EngineCore::GraphicsPipeline::getPipelineMaterialData ( ) const

Definition at line 363 of file PipelineMaterialPayload.cpp.

References pipelineData.

◆ isValid()

bool EngineCore::GraphicsPipeline::isValid ( ) const

Checks if the object is fully constructed.

Returns
true when the object is fully constructed

Definition at line 348 of file PipelineMaterialPayload.cpp.

References valid.

◆ operator==()

bool EngineCore::GraphicsPipeline::operator== ( const GraphicsPipeline & other) const

Definition at line 367 of file PipelineMaterialPayload.cpp.

References getFragShaderName(), getMeshShaderName(), and GraphicsPipeline().

Here is the call graph for this function:

Member Data Documentation

◆ context

const Context* EngineCore::GraphicsPipeline::context = nullptr
private

Definition at line 205 of file PipelineMaterialPayload.h.

◆ device

VkDevice EngineCore::GraphicsPipeline::device
private

Definition at line 198 of file PipelineMaterialPayload.h.

Referenced by GraphicsPipeline(), and ~GraphicsPipeline().

◆ fragShaderName

std::string EngineCore::GraphicsPipeline::fragShaderName
private

Definition at line 202 of file PipelineMaterialPayload.h.

Referenced by getFragShaderName(), and GraphicsPipeline().

◆ meshShaderName

std::string EngineCore::GraphicsPipeline::meshShaderName
private

Definition at line 201 of file PipelineMaterialPayload.h.

Referenced by getMeshShaderName(), and GraphicsPipeline().

◆ multisampling

VkSampleCountFlagBits EngineCore::GraphicsPipeline::multisampling
private

Definition at line 199 of file PipelineMaterialPayload.h.

Referenced by GraphicsPipeline().

◆ pipeline

VkPipeline EngineCore::GraphicsPipeline::pipeline = nullptr
private

Definition at line 206 of file PipelineMaterialPayload.h.

Referenced by bind(), GraphicsPipeline(), and ~GraphicsPipeline().

◆ pipelineData

PipelineMaterialPayload EngineCore::GraphicsPipeline::pipelineData
private

Definition at line 208 of file PipelineMaterialPayload.h.

Referenced by getPipelineMaterialData(), and GraphicsPipeline().

◆ valid

bool EngineCore::GraphicsPipeline::valid = false
private

Definition at line 203 of file PipelineMaterialPayload.h.

Referenced by GraphicsPipeline(), and isValid().


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