Libraries.Game.Graphics.Vulkan.VulkanPainter2DBatch Documentation

This class encapsulates a series of buffers and arrays used to batch a large number of drawn elements all at once. This class is used by the VulkanPainter2D to organize resources used by different pipelines, or to handle overflow elements if there are too many to be stored in a single buffer.

Inherits from: Libraries.Language.Object

Variables Table

VariablesDescription
integer DEFAULT_VERTEX_BUFFER_SIZE
integer DEFAULT_VERTEX_BUFFER_BYTE_SIZE
integer DEFAULT_INDEX_BUFFER_SIZE
integer DEFAULT_INDEX_BUFFER_BYTE_SIZEArrays of information that will be bulk-copied into the staging buffers later.

Actions Documentation

Add(Libraries.Game.Graphics.DrawableShape shape)

CanFit(Libraries.Game.Graphics.DrawableShape shape)

CanFit(integer newVertices, integer newIndices)

Parameters

  • integer newVertices
  • integer newIndices

Return

boolean

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)

Create(Libraries.Game.Graphics.Shaders.Programs.ShaderProgram program)

How many frames have passed without using this batch. Can be used to determine if a batch hasn't been used in a long time and can be disposed.

Parameters

Create(Libraries.Game.Graphics.Shaders.Programs.ShaderProgram program, integer vertexBufferSize, integer indexBufferSize)

The VulkanPipeline associated with this batch.

Parameters

Dispose()

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)

GetAge()

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()

GetIndexBufferSize()

Return

integer

GetIndexWritePosition()

Return

integer

GetTextureGroupID()

Return

integer

GetVertexBufferSize()

Return

integer

GetVertexOutputBuffer()

GetVertexWritePosition()

Return

integer

IsFull()

Return

boolean

IsTextureCompatible(Libraries.Game.Graphics.Texture texture)

If this Batch isn't using any ID yet, it primes the Batch to accept this ID and returns true.

Parameters

Return

boolean:

IsTextureCompatible(integer groupIndex)

If this Batch isn't using any ID yet, it primes the Batch to accept this ID and returns true.

Parameters

  • integer groupIndex

Return

boolean:

PrepareForNextFrame()

ResetAge()

TransferBuffers(Libraries.Game.Graphics.Vulkan.VulkanCommandBuffer buffer)