|Available since LÖVE 0.10.0|
|This function is not supported in earlier versions.|
Attaches a per-vertex attribute from a Mesh onto this SpriteBatch, for use when drawing. This can be combined with a Shader to augment a SpriteBatch with per-vertex or additional per-sprite information instead of just having per-sprite colors.
Each sprite in a SpriteBatch has 4 vertices in the following order: top-left, bottom-left, top-right, bottom-right. The index returned by SpriteBatch:add (and used by SpriteBatch:set) can used to determine the first vertex of a specific sprite with the formula
1 + 4 * ( id - 1 ).
SpriteBatch:attachAttribute( name, mesh )
- The name of the vertex attribute to attach.
- The Mesh to get the vertex attribute from.
If a Mesh wasn't created with a custom vertex format, it will have 3 vertex attributes named
VertexColor. If vertex attributes with those names are attached to the SpriteBatch, it will override the SpriteBatch's sprite positions, texture coordinates, and sprite colors, respectively.
Custom named attributes can be accessed in a vertex shader by declaring them as
attribute vec4 MyCustomAttributeName; at the top-level of the vertex shader code. The name must match what was specified in the Mesh's vertex format and in the
name argument of SpriteBatch:attachAttribute.
A Mesh must have at least 4 * SpriteBatch:getBufferSize vertices in order to be attachable to a SpriteBatch.
Tiếng Việt –