Mesh:setVertexAttribute (日本語)

LÖVE 0.10.0 から使用可能
この関数は以前のバージョンでは非対応です。

Mesh において頂点内にある特定属性の特性を設定します。

love.graphics.newMesh (日本語) によりカスタム頂点形式で指定された Mesh を除き、 最初の属性は位置を、二番目の属性はテクスチャ座標を、そして三番目の属性は色を有しています。

関数

概要

Mesh:setVertexAttribute( vertexindex, attributeindex, value1, value2, ... )

引数

number vertexindex
変更を行う頂点の索引。
number attributeindex
変更を行う頂点にある属性の索引。
number value1
属性の第一要素に対する新規値。
number value2
属性の第二要素に対する新規値。
number ...
任意による追加の頂点属性要素。

返値

ありません。

注釈

属性要素は属性に存在するが引数が指定されていないならば float データ型では 0 を、および byte データ型では 255 が属性の既定値となります。

用例

作成後に標準的な Mesh の色を変更します。

-- 標準的な Mesh では位置、テクスチャ座標、および色属性を有しています。
mesh = love.graphics.newMesh {
    {0,   0,    0, 0,  255, 255, 255, 255}, -- 一番目にある頂点の位置は (0, 0) です。
    {400, 0,    0, 0,  255, 255, 255, 255}, -- 二番目にある頂点の位置は (400, 0) です。
    {200, 400,  0, 0,  255, 255, 255, 255}, -- 三番目にある頂点の位置は (200, 400) です。
}

local time = 0

function love.update(dt)
    time = time + dt

    for i = 1, mesh:getVertexCount() do
        -- 標準的なメッシュに対する第三頂点属性は色です。
        mesh:setVertexAttribute(i, 3, (time * 10) % 255, 255, 255)
    end
end

function love.draw()
    love.graphics.draw(mesh)
end

関連


そのほかの言語