Libraries.Game.Graphics.Vulkan.VulkanDescriptorResourcesInfo Documentation

This class is a blueprint that holds information used to set and update the data stored by descriptors sets. Classes inheriting from this, such as VulkanDescriptorBufferInfo, can be used with the LinkResources action in VulkanDescriptorSet to indicate what memory is associated with descriptor. This class represents part of the information present in VkWriteDescriptorSet. See: https://registry.khronos.org/vulkan/specs/latest/man/html/VkWriteDescriptorSet.html

Inherits from: Libraries.Language.Object

Actions Documentation

AddBufferInfo(Libraries.Game.Graphics.Vulkan.VulkanBuffer buffer, integer offset, integer range)

This is a helper action to quickly add info about a buffer to the ResourcesInfo. The provided buffer, starting offset, and range (or size) will be stored in the BufferInfo array. If the BufferInfo array is undefined, a new array will be provided here.

Parameters

AddImageInfo(Libraries.Game.Graphics.Vulkan.VulkanSampler sampler, Libraries.Game.Graphics.Vulkan.VulkanImageView imageView, integer imageLayout)

This is a helper action to quickly add image info to the ResourcesInfo. The provided sampler, image view, and image layout will be stored in the ImageInfo array. If the ImageInfo array is undefined, a new array will be provided here.

Parameters

Compare(Libraries.Language.Object object)

This action compares two object hash codes and returns an integer. The result is larger if this hash code is larger than the object passed as a parameter, smaller, or equal. In this case, -1 means smaller, 0 means equal, and 1 means larger. This action was changed in Quorum 7 to return an integer, instead of a CompareResult object, because the previous implementation was causing efficiency issues.

Parameters

Return

integer: The Compare result, Smaller, Equal, or Larger.

Example

Object o
Object t
integer result = o:Compare(t) //1 (larger), 0 (equal), or -1 (smaller)

Equals(Libraries.Language.Object object)

This action determines if two objects are equal based on their hash code values.

Parameters

Return

boolean: True if the hash codes are equal and false if they are not equal.

Example

use Libraries.Language.Object
use Libraries.Language.Types.Text
Object o
Text t
boolean result = o:Equals(t)

GetBufferInfo()

This action returns the array of BufferInfo objects describing which buffers will be linked to descriptors. This array is undefined by default, but it will be added to the info automatically if the AddBufferInfo action is used.

Return

Libraries.Containers.Array:

GetDescriptorCount()

This indicates how many descriptors should be updated, which is usually used to write to multiple parts of an array. By default, this value is 1.

Return

integer:

GetDescriptorType()

This is a value from the VulkanConstants describing the type of data stored by the descriptor that will be updated. For example, if the descriptors are uniform buffers, this must be DESCRIPTOR_TYPE_UNIFORM_BUFFER.

Return

integer:

GetDestinationArrayElement()

If the target descriptor within the descriptor set is an array, this indicates which element of the array should be the starting point for data writing. By default, this value is 0.

Return

integer:

GetDestinationBinding()

This action returns the binding of an individual descriptor in the descriptor set that points to the data that will be updated by this write info.

Return

integer:

GetHashCode()

This action gets the hash code for an object.

Return

integer: The integer hash code of the object.

Example

Object o
integer hash = o:GetHashCode()

GetImageInfo()

This is a helper action to quickly add info about a buffer to the ResourcesInfo. The provided buffer, starting offset, and range (or size) will be stored in the BufferInfo array. If the BufferInfo array is undefined, a new array will be provided here.

Return

Libraries.Containers.Array:

SetBufferInfo(Libraries.Containers.Array<Libraries.Game.Graphics.Vulkan.VulkanDescriptorBufferInfo> bufferInfo)

This action sets the array of BufferInfo objects describing which buffers will be linked to descriptors. This array is undefined by default, but it will be added to the info automatically if the AddBufferInfo action is used.

Parameters

SetDescriptorCount(integer descriptorCount)

This indicates how many descriptors should be updated, which is usually used to write to multiple parts of an array. By default, this value is 1.

Parameters

  • integer descriptorCount

SetDescriptorType(integer descriptorType)

This is a value from the VulkanConstants describing the type of data stored by the descriptor that will be updated. For example, if the descriptors are uniform buffers, this must be DESCRIPTOR_TYPE_UNIFORM_BUFFER.

Parameters

  • integer descriptorType

SetDestinationArrayElement(integer destinationArrayElement)

If the target descriptor within the descriptor set is an array, this indicates which element of the array should be the starting point for data writing. By default, this value is 0.

Parameters

  • integer destinationArrayElement

SetDestinationBinding(integer destinationBinding)

This action sets the binding of an individual descriptor in the descriptor set that points to the data that will be updated by this write info.

Parameters

  • integer destinationBinding

SetImageInfo(Libraries.Containers.Array<Libraries.Game.Graphics.Vulkan.VulkanDescriptorImageInfo> imageInfo)

This action sets the array of BufferInfo objects describing which buffers will be linked to descriptors. This array is undefined by default, but it will be added to the info automatically if the AddBufferInfo action is used.

Parameters