Libraries.Game.Graphics.Shaders.OpenGL.OpenGLShaderManager Documentation

Inherits from: Libraries.Game.Graphics.Shaders.ShaderManager, Libraries.Language.Object

Variables Table

VariablesDescription
integer GL_TESSELLATION_EVALUATION_SHADERThis 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.
integer GL_VERTEX_SHADERThis type constant is used to indicate that the shader is a vertex shader. Every shader program must have a vertex shader as its first shader step.
integer GL_GEOMETRY_SHADERThis type constant is used to indicate that the shader is a geometry shader. This shader step is optional.
integer GL_FRAGMENT_SHADERThis 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.
integer GL_TESSELLATION_CONTROL_SHADERThis 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.

Actions Documentation

AddReloadableMesh(Libraries.Game.Graphics.Mesh mesh)

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)

CompileShader(Libraries.Game.Graphics.Shaders.Shader shader)

This type constant is used to indicate that the shader is a vertex shader. Every shader program must have a vertex shader as its first shader step.

Parameters

Return

integer:

DisposeShader(Libraries.Game.Graphics.Shaders.Shader shader)

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

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)

GetCopyFromSamplerFragmentShader()

GetCopyFromSamplerShaderProgram()

GetCopyFromSamplerVertexShader()

GetDefaultFragmentShader2D()

GetDefaultFragmentShader3D()

GetDefaultLightingFragmentShader()

GetDefaultLightingShaderProgram()

GetDefaultLightingVertexShader()

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

GetOpenGLType(integer shaderType)

This type constant is used to indicate that the shader is a geometry shader. This shader step is optional.

Parameters

  • integer shaderType

Return

integer:

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:

HasShader(text name)

Parameters

  • text name

Return

boolean

HasShaderProgram(text name)

Parameters

  • text name

Return

boolean

IsOpenGL()

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

boolean:

IsVulkan()

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)

ReloadShaders()

RemoveReloadableMesh(Libraries.Game.Graphics.Mesh mesh)

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