ベクトルの加算と内積

前回の 配列の加算と乗算 を少し変えて、ベクトルの加算と内積をしてみます。

_images/AddDotVec.png

入力変数のA,Bと出力変数のCは vec3 として宣言します。

Cの計算式は同じですが、今回は vec3 での加算です。 Dの計算式は内積( dot )になります。

頂点シェーダのコード

// 入力変数A
in  vec3 A;

// 入力変数B
in  vec3 B;

// 出力変数C
out vec3 C;

// 出力変数D
out float D;

// 要素ごとに呼ばれる関数。
void main(void ) {
    C = A + B;
    D = dot(A, B);
}

ここでも 入力変数と出力変数の要素の数はすべて同じ という原則は守られています。 A, B, Cは vec3 の要素が2個で、Dは float の要素が2個。 つまりA, B, C, Dはすべて2個の要素を持っています。

サンプルのURL
http://lkzf.info/gpgpu.js/samples/AddDotVec.html