Fix normal matrix;

This commit is contained in:
bjorn 2022-07-10 18:02:44 -07:00
parent 698977c5be
commit 0a251495bc
2 changed files with 5 additions and 1 deletions

View File

@ -469,7 +469,7 @@ MAF mat4 mat4_cofactor(mat4 m) {
m[6] = -(m00 * (m09 * m15 - m11 * m13) - m08 * (m01 * m15 - m03 * m13) + m12 * (m01 * m11 - m03 * m09));
m[7] = (m00 * (m09 * m14 - m10 * m13) - m08 * (m01 * m14 - m02 * m13) + m12 * (m01 * m10 - m02 * m09));
m[8] = (m01 * (m06 * m15 - m07 * m14) - m05 * (m02 * m15 - m03 * m14) + m13 * (m02 * m07 - m03 * m06));
m[9] = -(m00 * (m10 * m15 - m07 * m14) - m04 * (m02 * m15 - m03 * m14) + m12 * (m02 * m07 - m03 * m10));
m[9] = -(m00 * (m06 * m15 - m07 * m14) - m04 * (m02 * m15 - m03 * m14) + m12 * (m02 * m07 - m03 * m06));
m[10] = (m00 * (m05 * m15 - m07 * m13) - m04 * (m01 * m15 - m03 * m13) + m12 * (m01 * m07 - m03 * m05));
m[11] = -(m00 * (m05 * m14 - m06 * m13) - m04 * (m01 * m14 - m02 * m13) + m12 * (m01 * m06 - m02 * m05));
m[12] = -(m01 * (m06 * m11 - m07 * m10) - m05 * (m02 * m11 - m03 * m10) + m09 * (m02 * m07 - m03 * m06));

View File

@ -3558,6 +3558,10 @@ static void flushBuiltins(Pass* pass, Draw* draw, Shader* shader) {
float cofactor[16];
mat4_init(cofactor, transform);
cofactor[12] = 0.f;
cofactor[13] = 0.f;
cofactor[14] = 0.f;
cofactor[15] = 1.f;
mat4_cofactor(cofactor);
memcpy(pass->drawData->transform, transform, 64);