SpriteBatch:attachAttribute (日本語)

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

描画時に使用するために、この SpriteBatch に Mesh から頂点ごとの属性を付加します。これはスプライトごとに色を有する代わりとして頂点ごと、あるいは追加のスプライトごとの情報により SpriteBatch を拡張するために Shader と組み合わせることができます。

SpriteBatch にある各スプライトは次の順番で 4 つの頂点を有しています: 左上、左下、右上、右下です。 指定されたスプライトの第一頂点を判定するには SpriteBatch:add (および SpriteBatch:set でも使用) により返されたインデックス (索引) を用いて 1 + 4 * ( id - 1 ) の数式を計算します。

関数

概要

SpriteBatch:attachAttribute( name, mesh )

引数

string name
付加を行う頂点属性の名称。
Mesh mesh
頂点属性の取得を行う Mesh です。

返値

ありません。

注釈

Mesh がカスタム頂点形式により作成されなかった場合は VertexPosition, VertexTexCoord, および VertexColor という三種類の名称による頂点属性を有しています。それらの名称を有する頂点属性が SpriteBatch に付加している場合は、各 SpriteBatch におけるスプライトの位置、テクスチャーの座標、およびスプライトの色を上書きします。

慣習により名前が付けられた属性は頂点シェーダーのコード最上部で attribute vec4 MyCustomAttributeName; を宣言すると頂点シェーダーからアクセスできます。名称は Mesh の頂点形式および SpriteBatch:attachAttribute の 引数 name で指定されたものと必ず一致させる必要があります。

Mesh は SpriteBatch へ付加可能にするために最低でも必ず 4 * SpriteBatch:getBufferSize つの頂点を順番に有する必要があります。

関連


そのほかの言語