Re: Can't get to see my triangle when I use FloatUtil.makeLookAt
Posted by
elect on
Nov 16, 2015; 9:37am
URL: https://forum.jogamp.org/Can-t-get-to-see-my-triangle-when-I-use-FloatUtil-makeLookAt-tp4035777p4035787.html
Kraft wrote
Ok i got it ! I finally get to see my sweet triangle !
My mistake was in the multiplication order.
Instead of
FloatUtil.multMatrix(model, scale);
FloatUtil.multMatrix(model, rotation);
FloatUtil.multMatrix(model, translation);
...
FloatUtil.multMatrix(mvp, model);
FloatUtil.multMatrix(mvp, view);
FloatUtil.multMatrix(mvp, projection);
I should have done
FloatUtil.multMatrix(scale, model, model);
FloatUtil.multMatrix(rotation, model, model);
FloatUtil.multMatrix(translation, model, model);
...
FloatUtil.multMatrix(model, mvp, mvp);
FloatUtil.multMatrix(view, mvp, mvp);
FloatUtil.multMatrix(projection, mvp, mvp);
Someone here to confirm and maybe explain ?
FloatUtil.multMatrix(A, B, C) is A*B=C
FloatUtil.multMatrix(A, B) is A*=B, or A = A*B
mvp must be equal to projection*view*model
you can optimize this code
FloatUtil.multMatrix(model, mvp, mvp);
FloatUtil.multMatrix(view, mvp, mvp);
FloatUtil.multMatrix(projection, mvp, mvp);
to this
FloatUtil.multMatrix(projection, view, mvp);
FloatUtil.multMatrix(mvp, model);
You can avoid setting mvp to identity, since the first multMatrix will overwrite automatically whatever is in mvp