Foray Library
rapid prototyping framework for crossplatform development of vulkan hardware ray tracing applications
Loading...
Searching...
No Matches
Public Member Functions | Protected Attributes | List of all members
foray::util::PipelineBuilder Class Reference

Class to quickly build a default pipeline. Ownership is transfered to caller. TODO: THIS CLASS SHOULD BE REWORKED => all properties of the pipeline should be configurable, for example by exposing the underlying structs directly, instead of individual access methods. More...

#include <foray_pipelinebuilder.hpp>

Public Member Functions

 PipelineBuilder ()=default
 
 ~PipelineBuilder ()=default
 
PipelineBuilderoperator= (const PipelineBuilder &)=delete
 
 PipelineBuilder (const PipelineBuilder &)=delete
 
VkPipeline Build ()
 

Protected Attributes

core::ContextmContext {}
 
VkPipelineLayout mPipelineLayout {}
 
VkPrimitiveTopology mPrimitiveTopology = VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST
 
VkRenderPass mRenderPass {}
 
std::vector< VkPipelineShaderStageCreateInfo > * mShaderStageCreateInfos {}
 
VkCullModeFlags mCullMode {VK_CULL_MODE_BACK_BIT}
 
VkPolygonMode mPolygonMode {VK_POLYGON_MODE_FILL}
 
const std::vector< VkDynamicState > * mDynamicStates {}
 
std::vector< VkPipelineColorBlendAttachmentState > * mColorBlendAttachmentStates {}
 
VkBool32 mDepthTestEnable {VK_TRUE}
 
VkBool32 mDepthWriteEnable {VK_TRUE}
 
VkSampleCountFlags mSampleCountFlags {0}
 
scene::VertexInputStateBuildermVertexInputStateBuilder {}
 
VkPipelineCache mPipelineCache {}
 
uint32_t mColorAttachmentBlendCount {0}
 

Detailed Description

Class to quickly build a default pipeline. Ownership is transfered to caller. TODO: THIS CLASS SHOULD BE REWORKED => all properties of the pipeline should be configurable, for example by exposing the underlying structs directly, instead of individual access methods.

Constructor & Destructor Documentation

◆ PipelineBuilder() [1/2]

foray::util::PipelineBuilder::PipelineBuilder ( )
default

◆ ~PipelineBuilder()

foray::util::PipelineBuilder::~PipelineBuilder ( )
default

◆ PipelineBuilder() [2/2]

foray::util::PipelineBuilder::PipelineBuilder ( const PipelineBuilder )
delete

Member Function Documentation

◆ Build()

VkPipeline foray::util::PipelineBuilder::Build ( )

◆ operator=()

PipelineBuilder & foray::util::PipelineBuilder::operator= ( const PipelineBuilder )
delete

Member Data Documentation

◆ mColorAttachmentBlendCount

uint32_t foray::util::PipelineBuilder::mColorAttachmentBlendCount {0}
protected

◆ mColorBlendAttachmentStates

std::vector<VkPipelineColorBlendAttachmentState>* foray::util::PipelineBuilder::mColorBlendAttachmentStates {}
protected

◆ mContext

core::Context* foray::util::PipelineBuilder::mContext {}
protected

◆ mCullMode

VkCullModeFlags foray::util::PipelineBuilder::mCullMode {VK_CULL_MODE_BACK_BIT}
protected

◆ mDepthTestEnable

VkBool32 foray::util::PipelineBuilder::mDepthTestEnable {VK_TRUE}
protected

◆ mDepthWriteEnable

VkBool32 foray::util::PipelineBuilder::mDepthWriteEnable {VK_TRUE}
protected

◆ mDynamicStates

const std::vector<VkDynamicState>* foray::util::PipelineBuilder::mDynamicStates {}
protected

◆ mPipelineCache

VkPipelineCache foray::util::PipelineBuilder::mPipelineCache {}
protected

◆ mPipelineLayout

VkPipelineLayout foray::util::PipelineBuilder::mPipelineLayout {}
protected

◆ mPolygonMode

VkPolygonMode foray::util::PipelineBuilder::mPolygonMode {VK_POLYGON_MODE_FILL}
protected

◆ mPrimitiveTopology

VkPrimitiveTopology foray::util::PipelineBuilder::mPrimitiveTopology = VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST
protected

◆ mRenderPass

VkRenderPass foray::util::PipelineBuilder::mRenderPass {}
protected

◆ mSampleCountFlags

VkSampleCountFlags foray::util::PipelineBuilder::mSampleCountFlags {0}
protected

◆ mShaderStageCreateInfos

std::vector<VkPipelineShaderStageCreateInfo>* foray::util::PipelineBuilder::mShaderStageCreateInfos {}
protected

◆ mVertexInputStateBuilder

scene::VertexInputStateBuilder* foray::util::PipelineBuilder::mVertexInputStateBuilder {}
protected

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