Libraries.Game.Graphics.Models.Vulkan.MaterialVulkan Documentation

Inherits from: Libraries.Language.Object

Actions Documentation

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)

GetGlobalMaterialIndex()

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

GetTextureGroupIndex()

Return

integer

HasData()

Simply requesting the unit texture from the manager is enough to ensure it will be sent to the texture manager for loading, if it hasn't been already.

Return

boolean:

IsPreloaded()

Loads the material's data into host-visible memory, in preparation for transfer to the GPU later. Must be done after preload, because texture information must be processed in advance to prevent placeholder texture IDs from being inserted into the buffer. Ensure the VulkanTextureManager processes its pending resources between calling Preload and Load (this happens automatically when using the default material loading system, as part of the model load system).

Return

boolean:

IsReady()

Ensures all data in the material that needs to be pre-processed, such as textures, are sent to their appropriate managers.

Return

boolean:

Load()

Loads the material's data into host-visible memory, in preparation for transfer to the GPU later. Must be done after preload, because texture information must be processed in advance to prevent placeholder texture IDs from being inserted into the buffer. Ensure the VulkanTextureManager processes its pending resources between calling Preload and Load (this happens automatically when using the default material loading system, as part of the model load system).

Preload(Libraries.Game.Graphics.Vulkan.VulkanDevice device, Libraries.Game.Graphics.Models.Data.Material data)

Ensures all data in the material that needs to be pre-processed, such as textures, are sent to their appropriate managers.

Parameters

SetGlobalMaterialIndex(integer globalMaterialIndex)

Parameters

  • integer globalMaterialIndex

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