[quake3-commits] [ioquake/ioq3] d40451: Fix rendering IQM models between model frames
Zack Middleton
noreply at github.com
Mon Apr 29 16:14:08 EDT 2019
Branch: refs/heads/master
Home: https://github.com/ioquake/ioq3
Commit: d404519cce565402aa98c3f9943221ed6ddb2790
https://github.com/ioquake/ioq3/commit/d404519cce565402aa98c3f9943221ed6ddb2790
Author: Zack Middleton <zack at cloemail.com>
Date: 2019-04-29 (Mon, 29 Apr 2019)
Changed paths:
M code/qcommon/q_shared.h
M code/renderergl1/tr_local.h
M code/renderergl1/tr_model_iqm.c
M code/renderergl2/tr_local.h
M code/renderergl2/tr_model_iqm.c
Log Message:
-----------
Fix rendering IQM models between model frames
For lerped frames (refEntity_t frame not equal oldframe) IQM joint
matrices may have incorrect axis scale. This can cause significant model
distortion. The matrix lerp is linear causing each vector to move in a
straight line between frames instead of arcing like a circle. Each joint
frame can have a different scale so can't just normalize the joint
matrix.
Store joints as quaternions and spherical lerp between them and then
convert to a matrix. For my test model, setting up the skeleton is four
times slower now but it still seems to be fast enough to be usable.
Commit: 95b9cab4d644fa3bf757cfff821cc4f7d76e38b0
https://github.com/ioquake/ioq3/commit/95b9cab4d644fa3bf757cfff821cc4f7d76e38b0
Author: Zack Middleton <zack at cloemail.com>
Date: 2019-04-29 (Mon, 29 Apr 2019)
Changed paths:
M code/renderergl1/tr_model_iqm.c
M code/renderergl2/tr_model_iqm.c
Log Message:
-----------
Fix warnings that IQM blendWeights may not be initialized
Compare: https://github.com/ioquake/ioq3/compare/d13d06424e5a...95b9cab4d644
More information about the quake3-commits
mailing list