run method
Reads attributes — the vertex, as the engine laid it out — and writes a
clip-space position plus varyings.
Implementation
@override
Vector4 run(Float32List a, ShaderBindings bindings, Float32List out) {
for (var i = 0; i < 4; i++) {
out[i] = a[3 + i];
}
out[4] = a[7];
out[5] = a[8];
out[6] = a[0];
out[7] = a[1];
out[8] = a[2];
return bindings.mat4('ParticleInfo', 'view_projection') *
Vector4(a[0], a[1], a[2], 1.0);
}