title: A question about billboard matrix convert
body: <pre><code>vec3 camPosInModelSpace = (inverse(mat_world) * vec4(worldCamPos, 1)).xyz;
  vec3 axisZ = normalize(camPosInModelSpace);
  vec3 axisY = axisZ.y &gt; 0.999 ? vec3(0, 0, 1) : vec3(0, 1, 0);
  vec3 axisX = normalize(cross(axisY, axisZ));
  axisY = normalize(cross(axisZ, axisX));
  
  mat4x4 rotate = mat4x4(vec4(axisX, 0), vec4(axisZ, 0), vec4(-axisY, 0), vec4(0, 0, 0, 1));
  
  //vec3 vertexModelSpace = (transpose(rotate) * vec4(vPosition, 1)).xyz; // Here is my confused point
  vertexModelSpace = axisX * vPosition.x + axisZ * vPosition.y + -axisY * vPosition.z;
  gl_Position = mat_mvp * vec4(vertexModelSpace, 1);    
  </code></pre>
  
  <p>As you can see, the billboard's GLSL code is very simple, but I just have a question about it, after I got the 3 axis under the model space, <strong>why can't I use the matrix to convert the vertex(when I did that, only the Y-axis seemed works right)</strong>, but when I used the tutorial's way, it works fine.<br>
  Please help me, I am really confused with this, thank you.</p>