ioq3quest/code/qcommon
Zack Middleton d404519cce 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.
2019-04-29 15:01:47 -05:00
..
cm_load.c Bug 5094 - Code cleanup, patch by Zack Middleton and DevHC. Fixes unused-but-set gcc warnings 2011-07-29 12:27:00 +00:00
cm_local.h * Bug fix to collision optimisation (arQon) 2007-10-06 21:59:17 +00:00
cm_patch.c Correct spelling mistakes. 2017-11-22 01:40:20 -06:00
cm_patch.h * Added STATUS 2005-10-29 01:53:09 +00:00
cm_polylib.c Add missing address operator in cm_polylib.c 2018-04-08 21:41:31 -05:00
cm_polylib.h * Added STATUS 2005-10-29 01:53:09 +00:00
cm_public.h Remove references to non-existent functions CM_MarkFragments and CM_LerpTag. 2012-11-19 05:48:27 +00:00
cm_test.c * Bug fix to collision optimisation (arQon) 2007-10-06 21:59:17 +00:00
cm_trace.c Correct spelling mistakes. 2017-11-22 01:40:20 -06:00
cmd.c Remove unnecessary NULL pointer check in Cmd_RemoveCommand 2018-04-26 11:22:55 -05:00
common.c [qcommon] Make several zone variables and functions static. 2018-02-07 09:13:27 -06:00
cvar.c Fix the behaviour of CVAR_LATCH|CVAR_CHEAT cvars 2018-04-08 22:08:04 -05:00
files.c Fix not closing description.txt and fix path seperator 2018-05-03 16:13:19 -05:00
huffman.c Remove extra plus sign from Huff_Compress() 2018-01-14 18:38:38 -06:00
ioapi.c Just unix2dos, nothing to see here ... 2009-10-19 14:00:16 +00:00
ioapi.h Just unix2dos, nothing to see here ... 2009-10-19 14:00:16 +00:00
json.h OpenGL2: Add named cubemaps and per-map env.json parsing. 2016-02-10 16:25:32 -08:00
md4.c Change shift expressions to unsigned types. Shifting signed values to 2018-01-21 06:01:50 -06:00
md5.c Remove FS_Read2(). 2017-03-17 04:21:11 -07:00
msg.c Fix signed bit operations in MSG_ReadBits 2018-04-08 21:41:31 -05:00
net_chan.c Change shift expressions to unsigned types. Shifting signed values to 2018-01-21 06:01:50 -06:00
net_ip.c Fix Makefile for OSX 2016-06-12 17:17:33 -04:00
puff.c * PNG support from Joerg Dietrich <dietrich_joerg@t-online.de> 2007-08-23 17:23:15 +00:00
puff.h * PNG support from Joerg Dietrich <dietrich_joerg@t-online.de> 2007-08-23 17:23:15 +00:00
q_math.c [qcommon] Use unsigned types where wrapping arithmetic is intended 2017-10-02 19:46:37 -05:00
q_platform.h Fix Makefile for OSX 2016-06-12 17:17:33 -04:00
q_shared.c Prevent Q_IsColorString from asserting on negative ascii chars 2018-12-14 10:00:24 +00:00
q_shared.h Fix rendering IQM models between model frames 2019-04-29 15:01:47 -05:00
qcommon.h Fix fs_game '..' reading outside of home and base path 2018-01-21 06:02:28 -06:00
qfiles.h #6069: Remove md4 model support. 2013-11-29 16:13:47 -08:00
surfaceflags.h Correct spelling mistakes. 2017-11-22 01:40:20 -06:00
unzip.c Correct spelling mistakes. 2017-11-22 01:40:20 -06:00
unzip.h Correct spelling mistakes. 2017-11-22 01:40:20 -06:00
vm.c Fix comment 2017-05-25 09:44:18 +01:00
vm_armv7l.c Fix set-but-not-used variable warnings in vm_armv7l.c 2017-07-08 16:48:23 -05:00
vm_interpreted.c Allow unaligned load/store in QVM interpreter/x86 compiler 2017-05-25 09:44:18 +01:00
vm_local.h Allow unaligned load/store in QVM interpreter/x86 compiler 2017-05-25 09:44:18 +01:00
vm_none.c revert int->long change as it breaks on 64bit. Actually only 2005-09-26 22:23:46 +00:00
vm_powerpc.c Correct spelling mistakes. 2017-11-22 01:40:20 -06:00
vm_powerpc_asm.c REFACTOR [a vs an] 2012-06-18 16:31:16 +00:00
vm_powerpc_asm.h new PowerPC vm 2008-11-10 09:46:01 +00:00
vm_sparc.c fix some "\n"-related stuff 2013-05-30 15:32:44 -05:00
vm_sparc.h qcommon: vm: Add sparc JIT compiler. 2009-03-02 17:29:40 +00:00
vm_x86.c Change shift expressions to unsigned types. Shifting signed values to 2018-01-21 06:01:50 -06:00