So, the standard way to convert vertices, and then go to the fragment shader in GLSL, looks something like this:
uniform mat4 u_modelview; attribute vec4 a_position; void main() { gl_Position = u_modelview * a_position; }
However, I work in 2D, so there is redundancy in the 4x4 matrix. Would it be more efficient for me to do this?
uniform mat3 u_modelview; attribute vec3 a_position; void main() { gl_Position = vec4(u_modelview * a_position, 1.0); }
gl_Position requires a 4-component vector, so the output requires an additional operation. However, matrix multiplication is for 9 elements instead of 16. Can I do better?
user678961
source share