Header menu logo Nu

Pipeline Type

An abstraction of a rendering pipeline.

Record fields

Record Field Description

Buffers_

Full Usage: Buffers_

Field type: VulkanBuffer array
Field type: VulkanBuffer array

DescriptorSets_

Full Usage: DescriptorSets_

Field type: DescriptorSet array
Field type: DescriptorSet array

DrawIndex_

Full Usage: DrawIndex_

Field type: int
Modifiers: mutable
Field type: int

PipelineSettings_

Full Usage: PipelineSettings_

Field type: (VulkanBlend * bool) array
Field type: (VulkanBlend * bool) array

ShaderPathFrag_

Full Usage: ShaderPathFrag_

Field type: string
Field type: string

ShaderPathVert_

Full Usage: ShaderPathVert_

Field type: string
Field type: string

VkColorAttachmentFormats_

Full Usage: VkColorAttachmentFormats_

Field type: VkFormat array
Field type: VkFormat array

VkDepthTestFormatOpt_

Full Usage: VkDepthTestFormatOpt_

Field type: VkFormat option
Field type: VkFormat option

VkDescriptorSetLayouts_

Full Usage: VkDescriptorSetLayouts_

Field type: VkDescriptorSetLayout array
Field type: VkDescriptorSetLayout array

VkPipelineLayout_

Full Usage: VkPipelineLayout_

Field type: VkPipelineLayout
Field type: VkPipelineLayout

VkPipelines_

Full Usage: VkPipelines_

Field type: Dictionary<(VulkanBlend * bool), VkPipeline>
Modifiers: mutable
Field type: Dictionary<(VulkanBlend * bool), VkPipeline>

VkVertexAttributes_

Full Usage: VkVertexAttributes_

Field type: VkVertexInputAttributeDescription array
Field type: VkVertexInputAttributeDescription array

VkVertexBindings_

Full Usage: VkVertexBindings_

Field type: VkVertexInputBindingDescription array
Field type: VkVertexInputBindingDescription array

Instance members

Instance member Description

this.DrawIndex

Full Usage: this.DrawIndex

Returns: int

The current draw index.

Returns: int

this.PipelineLayout

Full Usage: this.PipelineLayout

Returns: VkPipelineLayout

The pipeline layout.

Returns: VkPipelineLayout

Static members

Static member Description

Pipeline.advance pipeline

Full Usage: Pipeline.advance pipeline

Parameters:

Advance the state of the pipeline for additional drawing.

pipeline : Pipeline

Pipeline.attribute location format offset

Full Usage: Pipeline.attribute location format offset

Parameters:
Returns: VertexAttribute

Describes a vertex attribute in the context of a vertex binding.

location : int
format : VertexAttribFormat
offset : int
Returns: VertexAttribute

Pipeline.beginFrame pipeline

Full Usage: Pipeline.beginFrame pipeline

Parameters:

Begin use of the pipeline this frame.

pipeline : Pipeline

Pipeline.create shaderPath blends cullModes vertexBindings descriptorSetDefinitions pushConstants colorAttachmentFormats depthTestFormatOpt buffers

Full Usage: Pipeline.create shaderPath blends cullModes vertexBindings descriptorSetDefinitions pushConstants colorAttachmentFormats depthTestFormatOpt buffers

Parameters:
Returns: Pipeline

Create a vertex + fragment shader pipeline.

shaderPath : string
blends : VulkanBlend array
cullModes : bool array
vertexBindings : VertexBinding array
descriptorSetDefinitions : DescriptorSetDefinition array
pushConstants : PushConstant array
colorAttachmentFormats : VkFormat array
depthTestFormatOpt : VkFormat option
buffers : VulkanBuffer array
Returns: Pipeline

Pipeline.depthTestToVkCompareOp depthTest

Full Usage: Pipeline.depthTestToVkCompareOp depthTest

Parameters:
Returns: VkCompareOp

Convert DepthTest to VkCompareOp. TODO: BGE: since this is the odd one out in terms of being the only function directly in this module that is not an operator, perhaps it should either be privatized or moved elsewhere?

depthTest : DepthTest
Returns: VkCompareOp

Pipeline.descriptor binding descriptorType shaderStage descriptorCount

Full Usage: Pipeline.descriptor binding descriptorType shaderStage descriptorCount

Parameters:
Returns: DescriptorBinding

Describes a binding for a resource descriptor (aka uniform).

binding : int
descriptorType : DescriptorType
shaderStage : ShaderStage
descriptorCount : int
Returns: DescriptorBinding

Pipeline.descriptorSet descriptorBindings

Full Usage: Pipeline.descriptorSet descriptorBindings

Parameters:
Returns: DescriptorSetDefinition<'k>

Describes a descriptor set.

descriptorBindings : DescriptorBinding array
Returns: DescriptorSetDefinition<'k>

Pipeline.destroy pipeline context

Full Usage: Pipeline.destroy pipeline context

Parameters:

Destroy a pipeline.

pipeline : Pipeline
context : VulkanContext

Pipeline.getDescriptorSet set pipeline

Full Usage: Pipeline.getDescriptorSet set pipeline

Parameters:
Returns: DescriptorSet

The descriptor set of the given number for the current frame.

set : int
pipeline : Pipeline
Returns: DescriptorSet

Pipeline.pushConstant offset size shaderStage

Full Usage: Pipeline.pushConstant offset size shaderStage

Parameters:
Returns: PushConstant

Describes a push constant.

offset : int
size : int
shaderStage : ShaderStage
Returns: PushConstant

Pipeline.reloadShaders pipeline context

Full Usage: Pipeline.reloadShaders pipeline context

Parameters:

Try to recreate VkPipelines with updated shaders.

pipeline : Pipeline
context : VulkanContext

Pipeline.specifyDescriptorSet set key pipeline specify

Full Usage: Pipeline.specifyDescriptorSet set key pipeline specify

Parameters:
Returns: VkDescriptorSet

Specify a descriptor set.

set : int
key : 'k
pipeline : Pipeline
specify : VkDescriptorSet -> unit
Returns: VkDescriptorSet

Pipeline.tryGetVkPipeline blend cullFace pipeline

Full Usage: Pipeline.tryGetVkPipeline blend cullFace pipeline

Parameters:
Returns: VkPipeline option

Try to get the VkPipeline built for the given settings.

blend : VulkanBlend
cullFace : bool
pipeline : Pipeline
Returns: VkPipeline option

Pipeline.vertex binding stride inputRate attributes

Full Usage: Pipeline.vertex binding stride inputRate attributes

Parameters:
Returns: VertexBinding

Describes a binding for a vertex and its attributes.

binding : int
stride : int
inputRate : VkVertexInputRate
attributes : VertexAttribute array
Returns: VertexBinding

Pipeline.writeDescriptorCombinedImageViewSampler binding descriptorIndex imageView sampler vkDescriptorSet

Full Usage: Pipeline.writeDescriptorCombinedImageViewSampler binding descriptorIndex imageView sampler vkDescriptorSet

Parameters:

Write a combined image view and sampler to the given descriptor set.

binding : int
descriptorIndex : int
imageView : VkImageView
sampler : Sampler
vkDescriptorSet : VkDescriptorSet

Pipeline.writeDescriptorCombinedTextureSampler binding descriptorIndex texture sampler vkDescriptorSet

Full Usage: Pipeline.writeDescriptorCombinedTextureSampler binding descriptorIndex texture sampler vkDescriptorSet

Parameters:

Write a combined sampled texture and sampler to the given descriptor set.

binding : int
descriptorIndex : int
texture : Texture
sampler : Sampler
vkDescriptorSet : VkDescriptorSet

Pipeline.writeDescriptorSampledImageView binding descriptorIndex imageView vkDescriptorSet

Full Usage: Pipeline.writeDescriptorSampledImageView binding descriptorIndex imageView vkDescriptorSet

Parameters:

Write a sampled image view to the given descriptor set.

binding : int
descriptorIndex : int
imageView : VkImageView
vkDescriptorSet : VkDescriptorSet

Pipeline.writeDescriptorSampledImageViews binding descriptorIndex imageViews vkDescriptorSet

Full Usage: Pipeline.writeDescriptorSampledImageViews binding descriptorIndex imageViews vkDescriptorSet

Parameters:

Write sampled image views to the given descriptor set.

binding : int
descriptorIndex : int
imageViews : VkImageView array
vkDescriptorSet : VkDescriptorSet

Pipeline.writeDescriptorSampledTexture binding descriptorIndex texture vkDescriptorSet

Full Usage: Pipeline.writeDescriptorSampledTexture binding descriptorIndex texture vkDescriptorSet

Parameters:

Write a sampled texture to the given descriptor set.

binding : int
descriptorIndex : int
texture : Texture
vkDescriptorSet : VkDescriptorSet

Pipeline.writeDescriptorSampledTextures binding descriptorIndex textures vkDescriptorSet

Full Usage: Pipeline.writeDescriptorSampledTextures binding descriptorIndex textures vkDescriptorSet

Parameters:

Write sampled textures to the given descriptor set.

binding : int
descriptorIndex : int
textures : Texture array
vkDescriptorSet : VkDescriptorSet

Pipeline.writeDescriptorSampler binding descriptorIndex sampler vkDescriptorSet

Full Usage: Pipeline.writeDescriptorSampler binding descriptorIndex sampler vkDescriptorSet

Parameters:

Write a sampler to the given descriptor set.

binding : int
descriptorIndex : int
sampler : Sampler
vkDescriptorSet : VkDescriptorSet

Pipeline.writeDescriptorStorageBuffer binding descriptorIndex buffer vkDescriptorSet

Full Usage: Pipeline.writeDescriptorStorageBuffer binding descriptorIndex buffer vkDescriptorSet

Parameters:

Write a storage buffer to the given descriptor set.

binding : int
descriptorIndex : int
buffer : VulkanBuffer
vkDescriptorSet : VkDescriptorSet

Pipeline.writeDescriptorUniformBuffer binding descriptorIndex buffer vkDescriptorSet

Full Usage: Pipeline.writeDescriptorUniformBuffer binding descriptorIndex buffer vkDescriptorSet

Parameters:

Write a uniform buffer to the given descriptor set.

binding : int
descriptorIndex : int
buffer : VulkanBuffer
vkDescriptorSet : VkDescriptorSet

Type something to start searching.