Libraries.Game.Graphics.Shaders.Vulkan.VulkanShaderManager Documentation
Inherits from: Libraries.Game.Graphics.Shaders.ShaderManager, Libraries.Language.Object
Actions Documentation
AddReloadableMesh(Libraries.Game.Graphics.Mesh mesh)
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
- Libraries.Language.Object: The object to compare to.
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)
CompileShader(Libraries.Game.Graphics.Shaders.Shader shader)
DisposeShader(Libraries.Game.Graphics.Shaders.Shader shader)
Parameters
Equals(Libraries.Language.Object object)
This action determines if two objects are equal based on their hash code values.
Parameters
- Libraries.Language.Object: The to be compared.
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)
GetCompiler()
GetCopyFromSamplerFragmentShader()
GetCopyFromSamplerShaderProgram()
GetCopyFromSamplerVertexShader()
GetDefaultFragmentShader2D()
GetDefaultFragmentShader3D()
GetDefaultLightingFragmentShader()
GetDefaultLightingShaderProgram()
GetDefaultLightingVertexShader()
GetDefaultPipeline2D()
This action returns the default VulkanPipeline used for rendering 2D graphics.
Return
GetDefaultShaderProgram2D()
GetDefaultShaderProgram3D()
GetDefaultVertexShader2D()
GetDefaultVertexShader3D()
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()
GetPipelineCache()
This should be refactored so the ShaderManager can handle OpeGL ShaderPrograms and VulkanPipelines in a consistent way.
Return
GetShader(text name)
GetShaderProgram(text name)
GetVersionHeader()
This action takes platform into account and returns a default version of OpenGL's number to be placed at the top of a shader. For shaders not using OpenGL, this action does not provide useful information. The version number is calculated by Quorum, not the graphics hardware.
Return
text:
GetVulkanType(integer shaderType)
This action takes a Quorum shader type and converts it to the equivalent Vulkan shader stage value from the VulkanConstants class.
Parameters
- integer shaderType
Return
integer:
HasShader(text name)
Parameters
- text name
Return
boolean
HasShaderProgram(text name)
Parameters
- text name
Return
boolean
IsOpenGL()
Return
boolean
IsVulkan()
This action returns the default VulkanPipeline used for rendering 2D graphics.
Return
boolean:
Register(text name, Libraries.Game.Graphics.Shaders.Shader shader)
This type constant is used to indicate that the shader is a tessellation evaluation shader. This shader step is optional. If used, this should follow after a tessellation control shader in a shader program.
Parameters
Register(text name, Libraries.Game.Graphics.Shaders.Programs.ShaderProgram program)
This type constant is used to indicate that the shader is a tessellation control shader. This shader step is optional. If used, this should precede a tessellation evaluation shader in a shader program.
Parameters
ReloadMeshes()
ReloadShader(Libraries.Game.Graphics.Shaders.Shader shader)
This action takes a Quorum shader type and converts it to the equivalent Vulkan shader stage value from the VulkanConstants class.
Parameters
Return
integer:
ReloadShaders()
RemoveReloadableMesh(Libraries.Game.Graphics.Mesh mesh)
Parameters
RemoveShader(text name)
This type constant is used to indicate that the shader is a geometry shader. This shader step is optional.
Parameters
- text name
RemoveShaderProgram(text name)
This type constant is used to indicate that the shader is a fragment shader. Every shader program must have a fragment shader as its final shader step.
Parameters
- text name
On this page
Variables TableAction Documentation- AddReloadableMesh(Libraries.Game.Graphics.Mesh mesh)
- Compare(Libraries.Language.Object object)
- CompileShader(Libraries.Game.Graphics.Shaders.Shader shader)
- DisposeShader(Libraries.Game.Graphics.Shaders.Shader shader)
- Equals(Libraries.Language.Object object)
- GetCompiler()
- GetCopyFromSamplerFragmentShader()
- GetCopyFromSamplerShaderProgram()
- GetCopyFromSamplerVertexShader()
- GetDefaultFragmentShader2D()
- GetDefaultFragmentShader3D()
- GetDefaultLightingFragmentShader()
- GetDefaultLightingShaderProgram()
- GetDefaultLightingVertexShader()
- GetDefaultPipeline2D()
- GetDefaultShaderProgram2D()
- GetDefaultShaderProgram3D()
- GetDefaultVertexShader2D()
- GetDefaultVertexShader3D()
- GetHashCode()
- GetPipelineCache()
- GetShader(text name)
- GetShaderProgram(text name)
- GetVersionHeader()
- GetVulkanType(integer shaderType)
- HasShader(text name)
- HasShaderProgram(text name)
- IsOpenGL()
- IsVulkan()
- Register(text name, Libraries.Game.Graphics.Shaders.Shader shader)
- Register(text name, Libraries.Game.Graphics.Shaders.Programs.ShaderProgram program)
- ReloadMeshes()
- ReloadShader(Libraries.Game.Graphics.Shaders.Shader shader)
- ReloadShaders()
- RemoveReloadableMesh(Libraries.Game.Graphics.Mesh mesh)
- RemoveShader(text name)
- RemoveShaderProgram(text name)
