SpriteBatch:attachAttribute
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 )
.
Function
Synopsis
SpriteBatch:attachAttribute( name, mesh )
Arguments
string name
- The name of the vertex attribute to attach.
Mesh mesh
- The Mesh to get the vertex attribute from.
Returns
Nothing.
Notes
If a Mesh wasn't created with a custom vertex format, it will have 3 vertex attributes named VertexPosition
, VertexTexCoord
, and 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.
See Also
Other Languages
Dansk –
Deutsch –
English –
Español –
Français –
Indonesia –
Italiano –
Lietuviškai –
Magyar –
Nederlands –
Polski –
Português –
Română –
Slovenský –
Suomi –
Svenska –
Türkçe –
Česky –
Ελληνικά –
Български –
Русский –
Српски –
Українська –
עברית –
ไทย –
日本語 –
正體中文 –
简体中文 –
Tiếng Việt –
한국어
More info