Libraries.Game.Graphics.Vulkan.VulkanPainter3D Documentation

Inherits from: Libraries.Language.Object, Libraries.Game.Graphics.Painter3D

Actions Documentation

AreRenderPassesValid()

Resources for the lighting step.

Return

boolean:

Begin()

This is our first time using this ModelBlueprint.

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)

End()

Also create an array of draw queues per image in the swapchain.

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)

GetCopyFromSamplerPipeline()

Describe the binding of the uniform buffers.

Return

Libraries.Game.Graphics.Vulkan.VulkanPipeline:

GetCurrentDrawQueue(integer textureGroupID)

First, ensure that all writing to the scene's color attachments has finished before attempting to read any of it.

Parameters

  • integer textureGroupID

Return

Libraries.Game.Graphics.Vulkan.VulkanDrawQueue3D:

GetDefaultLightingPipeline()

Also create the light framebuffer.

Return

Libraries.Game.Graphics.Vulkan.VulkanPipeline:

GetDefaultLightingProgram()

Also create an image for depth usage.

Return

Libraries.Game.Graphics.Shaders.Programs.ShaderProgram:

GetDefaultPipeline()

The color attachments all have the same properties, so they can be quickly created in a loop.

Return

Libraries.Game.Graphics.Vulkan.VulkanPipeline:

GetDefaultProgram()

Link up all four of the attachments out from the scene rendering stage as descriptor inputs to the lighting stage.

Return

Libraries.Game.Graphics.Shaders.Programs.ShaderProgram:

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

GetViewportHeight()

VulkanClearValue clearValue = graphics:GetClearValue()

Return

integer:

GetViewportWidth()

the pipeline to complete before operations in the vertex input stage can begin.

Return

integer:

GetViewportX()

TO-DO: Support custom shaders for 3D.

Return

integer:

GetViewportY()

Create the command to begin the render pass.

Return

integer:

RegenerateRenderPasses(boolean isFirstPass)

Parameters

  • boolean isFirstPass

Return

boolean

Render(Libraries.Game.Graphics.Model model)

End the render pass.

Parameters

SetCamera(Libraries.Game.Graphics.Camera camera)

Define how our uniforms will be laid out.

Parameters

SetEnvironment(Libraries.Game.Graphics.Environment environment)

Now create and add a queue at the required spot in the array.

Parameters

SetSkybox(Libraries.Game.Graphics.Skybox skybox)

A previously unneeded queue is needed now. Instantiate and place it in the structure.

Parameters

SetViewport(integer x, integer y, integer width, integer height)

Bind a dummy set to satisfy the spec and prevent warnings and unpredictable behavior.

Parameters

  • integer x
  • integer y
  • integer width
  • integer height