TachyonUI 0.1.0
High-performance UI for building tools.
Loading...
Searching...
No Matches
vk_pipelines.h
Go to the documentation of this file.
1#pragma once
2
4{
5public:
6 std::vector<VkPipelineShaderStageCreateInfo> _shaderStages;
7
8 VkPipelineInputAssemblyStateCreateInfo _inputAssembly;
9 VkPipelineRasterizationStateCreateInfo _rasterizer;
10 VkPipelineColorBlendAttachmentState _colorBlendAttachment;
11 VkPipelineMultisampleStateCreateInfo _multisampling;
12 VkPipelineLayout _pipelineLayout;
13 VkPipelineDepthStencilStateCreateInfo _depthStencil;
14 VkPipelineRenderingCreateInfo _renderInfo;
16
18
19 void clear();
20
21 VkPipeline build_pipeline(VkDevice device, const VkAllocationCallbacks* callbacks);
22
23 void set_shaders(VkShaderModule vertexShader, VkShaderModule fragmentShader);
24 void set_input_topology(VkPrimitiveTopology topology);
25 void set_polygon_mode(VkPolygonMode mode);
26 void set_cull_mode(VkCullModeFlags cullMode, VkFrontFace frontFace);
33
34 void set_color_attachment_format(VkFormat format);
35 void set_depth_format(VkFormat format);
37 void enable_depthtest(bool depthWriteEnable,VkCompareOp op);
38};
39
40namespace tachyon::vulkan
41{
44
45 bool load_shader_module(const char* filePath, VkDevice device, const VkAllocationCallbacks* callbacks, VkShaderModule* outShaderModule);
47}
void disable_blending()
VkPipelineRasterizationStateCreateInfo _rasterizer
Definition vk_pipelines.h:9
PipelineBuilder()
Definition vk_pipelines.h:17
void set_polygon_mode(VkPolygonMode mode)
void enable_depthtest(bool depthWriteEnable, VkCompareOp op)
VkPipelineRenderingCreateInfo _renderInfo
Definition vk_pipelines.h:14
void set_multisampling_none()
VkPipelineLayout _pipelineLayout
Definition vk_pipelines.h:12
void set_input_topology(VkPrimitiveTopology topology)
void set_shaders(VkShaderModule vertexShader, VkShaderModule fragmentShader)
void enable_blending_premultipliedalphablend()
std::vector< VkPipelineShaderStageCreateInfo > _shaderStages
Definition vk_pipelines.h:6
void enable_blending_alphablend()
void set_depth_format(VkFormat format)
void disable_depthtest()
void set_cull_mode(VkCullModeFlags cullMode, VkFrontFace frontFace)
VkFormat _colorAttachmentformat
Definition vk_pipelines.h:15
void set_multisampling_some()
VkPipelineDepthStencilStateCreateInfo _depthStencil
Definition vk_pipelines.h:13
VkPipelineInputAssemblyStateCreateInfo _inputAssembly
Definition vk_pipelines.h:8
VkPipelineColorBlendAttachmentState _colorBlendAttachment
Definition vk_pipelines.h:10
void set_color_attachment_format(VkFormat format)
void enable_blending_additive()
VkPipelineMultisampleStateCreateInfo _multisampling
Definition vk_pipelines.h:11
VkPipeline build_pipeline(VkDevice device, const VkAllocationCallbacks *callbacks)
bool load_shader_module(const char *filePath, VkDevice device, const VkAllocationCallbacks *callbacks, VkShaderModule *outShaderModule)
Definition vk_defaults.h:4