Difference between revisions of "SpriteBatch:attachAttribute (日本語)"

(Created page with "{{newin (日本語)|0.10.0|100|type=関数}} 描画時に使用するために、この SpriteBatch に Mesh から頂点ごとの属性を付加し...")
 
m
 
(One intermediate revision by the same user not shown)
Line 2: Line 2:
 
描画時に使用するために、この SpriteBatch に [[Mesh (日本語)|Mesh]] から頂点ごとの属性を付加します。これはスプライトごとに色を有する代わりとして頂点ごと、あるいは追加のスプライトごとの情報により SpriteBatch を拡張するために [[Shader (日本語)|Shader]] と組み合わせることができます。
 
描画時に使用するために、この SpriteBatch に [[Mesh (日本語)|Mesh]] から頂点ごとの属性を付加します。これはスプライトごとに色を有する代わりとして頂点ごと、あるいは追加のスプライトごとの情報により SpriteBatch を拡張するために [[Shader (日本語)|Shader]] と組み合わせることができます。
  
SpriteBatch にある各スプライトは次の順番で 4 つの頂点を有しています: 左上、左下、右上、右下です。 [[SpriteBatch:add (日本語)|SpriteBatch:add]] (そして [[SpriteBatch:set]] で使用される) により返された索引は特定のスプライトで最初の頂点を判定するために 4 で乗算することができます。
+
SpriteBatch にある各スプライトは次の順番で 4 つの頂点を有しています: 左上、左下、右上、右下です。 指定されたスプライトの第一頂点を判定するには [[SpriteBatch:add (日本語)|SpriteBatch:add]] (および [[SpriteBatch:set (日本語)|SpriteBatch:set]] でも使用) により返されたインデックス (索引) を用いて <code>1 + 4 * ( id - 1 )</code> の数式を計算します。
 
== 関数 ==
 
== 関数 ==
 
=== 概要 ===
 
=== 概要 ===

Latest revision as of 15:53, 9 October 2019

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 つの頂点を順番に有する必要があります。

関連


そのほかの言語