Mesh:setVertexAttribute
Available since LÖVE 0.10.0 |
This function is not supported in earlier versions. |
Sets the properties of a specific attribute within a vertex in the Mesh.
Meshes without a custom vertex format specified in love.graphics.newMesh have position as their first attribute, texture coordinates as their second attribute, and color as their third attribute.
Contents
Function
Synopsis
Mesh:setVertexAttribute( vertexindex, attributeindex, value1, value2, ... )
Arguments
number vertexindex
- The index of the the vertex to be modified (one-based).
number attributeindex
- The index of the attribute within the vertex to be modified (one-based).
number value1
- The new value for the first component of the attribute.
number value2
- The new value for the second component of the attribute.
number ...
- Any additional vertex attribute components.
Returns
Nothing.
Notes
Attribute components which exist within the attribute but are not specified as arguments default to 0 for attributes with the float
data type, and 1 for the byte
data type.
Examples
Modify the colors of a standard mesh after it's created.
-- Standard mesh with position, texture coordinates, and color attributes.
mesh = love.graphics.newMesh {
{0, 0, 0, 0, 1, 1, 1, 1}, -- first vertex positioned at (0, 0)
{400, 0, 0, 0, 1, 1, 1, 1}, -- second vertex positioned at (400, 0)
{200, 400, 0, 0, 1, 1, 1, 1}, -- third vertex positioned at (200, 400)
}
local time = 0
function love.update(dt)
time = time + dt
for i = 1, mesh:getVertexCount() do
-- The 3rd vertex attribute for a standard mesh is its color.
mesh:setVertexAttribute(i, 3, (time * 10) % 1, 1, 1)
end
end
function love.draw()
love.graphics.draw(mesh)
end
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