ベクトルの加算と内積¶
前回の 配列の加算と乗算 を少し変えて、ベクトルの加算と内積をしてみます。
入力変数の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個の要素を持っています。