title: Given the model/view/projection transformation matrix, how do I compute the normal matrix without using deprecated features in GLSL 1.2?
body: <p>I know that the normal transformation matrix is the inverse of the transpose of the model/view/projection matrix, but it looks like "<a href="https://www.opengl.org/sdk/docs/manglsl/xhtml/inverse.xml" rel="nofollow"><code>inverse</code></a>" was only added in GLSL 1.4 and I can't find a "<code>transpose</code>".  Do I have to just copy and paste a bunch of math into my GLSL? (If so, is there a nice authoritative open-source place I can copy from?)</p>
  
  <p>To be clear, what I'm asking is "How do I calculate <code>gl_NormalMatrix</code> without using deprecated APIs"?</p>