matrix2.frag 1019 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. #version 150
  2. uniform mat3 colorTransform;
  3. varying vec3 Color;
  4. uniform mat4 m, n;
  5. uniform mat4x3 um43;
  6. uniform mat3x4 un34;
  7. uniform mat2 um2;
  8. uniform mat3 um3;
  9. uniform mat4 um4;
  10. varying vec4 v;
  11. varying vec3 u;
  12. out vec4 FragColor;
  13. void main()
  14. {
  15. mat3x4 m34 = outerProduct(v, u);
  16. m34 += mat3x4(4.3);
  17. FragColor = vec4(Color, 1.0);
  18. FragColor *= vec4(FragColor * m34, 1.0);
  19. m34 *= v.x;
  20. mat4 m44 = mat4(un34);
  21. m44 += m34 * um43;
  22. FragColor += (-m44) * v;
  23. FragColor *= matrixCompMult(m44, m44);
  24. m34 = transpose(um43);
  25. FragColor *= vec4(FragColor * m34, 1.0);
  26. FragColor *= vec4(determinant(um4));
  27. mat2 inv = inverse(um2);
  28. FragColor *= vec4(inv[0][0], inv[1][0], inv[0][1], inv[1][1]);
  29. mat3 inv3 = inverse(um3);
  30. FragColor *= vec4(inv3[2][1]);
  31. mat4 inv4 = inverse(um4);
  32. FragColor *= inv4;
  33. FragColor = vec4(FragColor * matrixCompMult(un34, un34), FragColor.w);
  34. m34 *= colorTransform;
  35. }