Libraries.Game.Graphics.Shaders.BlockShaderMapping Documentation
Inherits from: Libraries.Game.Graphics.Shaders.BatchingShaderMapping2D, Libraries.Game.Graphics.Shaders.ShaderMapping, Libraries.Language.Object
Actions Documentation
Begin(Libraries.Game.Graphics.Shaders.ShaderProgram program, Libraries.Game.Graphics.Camera camera)
BeginBatch(Libraries.Game.Graphics.Shaders.ShaderProgram program)
This action is called just before the first item in a Batch is passed to the MapInputs call.
Parameters
CanIncludeInBatch(Libraries.Game.Graphics.Shaders.ShaderProgram program, Libraries.Game.Graphics.Drawable drawable)
This action determines if the provided Drawable can be included in the current batch. If this returns false, then the current batch must be rendered before this Drawable can be added. This action should only be called if the mapping supports batching. By default, a mapping that doesn't support batching will return false from this action.
Parameters
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
- 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)
End(Libraries.Game.Graphics.Shaders.ShaderProgram program)
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)
GetBatchingMesh()
Returns the Mesh used by this ShaderMapping to support batching. By default, this returns undefined, but it can be overridden to provide a custom Mesh. If this action returns undefined, no batching will be performed using this ShaderMapping.
Return
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()
GetVertexSize()
Return
integer
IsBatching()
This action returns true if the ShaderMapping currently has a batch awaiting rendering, or false if there are no Drawables awaiting rendering in a batch. This action should only be called if the mapping supports batching. By default, a mapping that doesn't support batching will return false from this action.
Return
boolean:
MapInputs(Libraries.Game.Graphics.Shaders.ShaderProgram program, Libraries.Game.Graphics.Renderable renderable)
TO-DO: Figure out what this needs to be for 3D (that problem gets more complicated due to optional components)
Parameters
MapInputs(Libraries.Game.Graphics.Shaders.ShaderProgram program, Libraries.Game.Graphics.Drawable drawable)
This action is called when it is time for the ShaderMapping to render its current batch with the given ShaderProgram.
Parameters
RenderBatch(Libraries.Game.Graphics.Shaders.ShaderProgram program, Libraries.Game.Graphics.Camera camera)
This action is called when it is time for the ShaderMapping to render its current batch with the given ShaderProgram.
Parameters
SetVertexData(Libraries.Game.Graphics.Shaders.ShaderProgram program, Libraries.Game.Graphics.Drawable drawable, Libraries.Game.Graphics.DrawableShape shape)
This action is called when the mapping is created. It must be used to set the initial values of the Mesh using the Mesh's Load action.
Parameters
SupportsBatching()
Return
boolean
On this page
Variables TableAction Documentation- Begin(Libraries.Game.Graphics.Shaders.ShaderProgram program, Libraries.Game.Graphics.Camera camera)
- BeginBatch(Libraries.Game.Graphics.Shaders.ShaderProgram program)
- CanIncludeInBatch(Libraries.Game.Graphics.Shaders.ShaderProgram program, Libraries.Game.Graphics.Drawable drawable)
- Compare(Libraries.Language.Object object)
- End(Libraries.Game.Graphics.Shaders.ShaderProgram program)
- Equals(Libraries.Language.Object object)
- GetBatchingMesh()
- GetHashCode()
- GetVertexSize()
- IsBatching()
- MapInputs(Libraries.Game.Graphics.Shaders.ShaderProgram program, Libraries.Game.Graphics.Renderable renderable)
- MapInputs(Libraries.Game.Graphics.Shaders.ShaderProgram program, Libraries.Game.Graphics.Drawable drawable)
- RenderBatch(Libraries.Game.Graphics.Shaders.ShaderProgram program, Libraries.Game.Graphics.Camera camera)
- SetVertexData(Libraries.Game.Graphics.Shaders.ShaderProgram program, Libraries.Game.Graphics.Drawable drawable, Libraries.Game.Graphics.DrawableShape shape)
- SupportsBatching()