Commit graph

26 commits

Author SHA1 Message Date
SamGondelman
dc9405775f more branching removal 2018-10-29 16:42:46 -07:00
Brad Davis
c8e664a0a1 New SPIRV Shader toolchain 2018-10-23 10:40:12 -07:00
sam gateau
4078be3df5 Better naming and simpler template maybe 2018-09-26 17:58:06 -07:00
Brad Davis
ae8f841912 Shader refactoring for explicit bindings 2018-08-03 14:58:11 -07:00
Anthony J. Thibault
d2c199104e Avatars use Dual Quaternion Skinning and Model Entities do not. 2018-02-13 17:47:49 -08:00
Atlante45
bc819c698e Merge branch 'stable' of https://github.com/highfidelity/hifi into merge-back 2018-01-30 16:09:30 -08:00
John Conklin II
92b9290294
Merge pull request #12267 from hyperlogic/bug-fix/rc63-neck-cauterization
RC63: Bug fix for avatar neck cauterization
2018-01-29 10:52:10 -08:00
Anthony J. Thibault
3be857567b updated Skinning.slh comment and constant.
(cherry picked from commit 43eaa02ef0)
2018-01-26 14:02:18 -08:00
Anthony J. Thibault
1ad65b8da5 Bug fix for twisted knees on some avatars.
The FBXReader inverse bind pose calculation can sometimes introduce floating point fuzz into
the bottom row of the matrix.  The Transform class checks this bottom row before doing decomposition
into translation, rotation and scale.  If it detects that this row is not exactly (0, 0, 0, 1) it aborts.
And returns identity.  To guarantee that it preforms the decomposition correctly slam the row to (0, 0, 0, 1),
before conversion to a Transform instance.

(cherry picked from commit 991ba7f195)
2018-01-25 18:31:41 -08:00
Anthony J. Thibault
21c1e32490 Bug fix for avatar neck cauterization
The basic dual-quaternion skinning algorithm does not handle non-rigid transformations like scale well.
Because we only use scaling for head cauterization, we special case this by passing in a cauterization factor,
as well as a cauterization position to the vertex shader.  If a vertex is flagged as cauterized, we slam it to equal the cauterization position.
Although, not as smooth as the previous method, it seems to work well enough on the avatar's I've tested.

(cherry picked from commit faf8350369)
2018-01-25 17:47:39 -08:00
Sam Gateau
57f1ba2412 Merging with master to be able connect to dev domains and it works. fixing shaders for gles compile errors and disabling material textures by default 2018-01-13 02:00:34 -08:00
Anthony J. Thibault
fbea22e0f0 Renamed imag component to dual, using the correct nomenclature
Also removed incomplete test from unit tests.
2018-01-08 18:21:23 -08:00
Anthony J. Thibault
bcd813ac62 Optimizations and cleanup 2018-01-04 16:15:44 -08:00
Anthony J. Thibault
e86fd4f992 Removed SKIN_COMP define, re-enabled cauterization 2018-01-04 16:15:42 -08:00
Anthony J. Thibault
b69edceb4f Fixed rotation polarity and weights are now 16 bit. 2018-01-04 16:15:41 -08:00
Anthony J. Thibault
5bb0b06061 WIP: Dual Quaternion compensation for spinning the right way. 2018-01-04 16:15:39 -08:00
Anthony J. Thibault
8bdddf7211 Full Dual Quaternion support 2018-01-04 16:15:38 -08:00
Anthony J. Thibault
18113d824c Created Model::TransformComponents class 2018-01-04 16:13:44 -08:00
Anthony J. Thibault
23affb570b WIP checkpoint, root transforms for shapes and non-animated fbx files are working. 2018-01-04 16:09:06 -08:00
Anthony J. Thibault
565875e823 WIP first attempt at dual quat skinning 2018-01-04 16:09:02 -08:00
Andrew Meadows
ff2f4da4b2 final changes as per samcake 2017-03-27 15:19:28 -07:00
samcake
5a67411d75 Removing separate uniforms for the texcoord transforms and lightmap params, shader still failing 2016-04-21 18:35:37 -07:00
Brad Davis
282cdadf63 Fixing line endings 2015-10-18 22:55:14 -07:00
samcake
c75c31ddc8 Fixing the index Offset issue with instanced shapes from Geometry cache 2015-10-06 18:04:08 -07:00
samcake
4270b83c0f Uniform buffer for skeleton joint bind pose 2015-10-05 23:33:58 -07:00
samcake
12fedb6ff0 Move skinning shader features in its own slh and get ready for moving cluster matrices to uniform buffer 2015-10-05 18:31:05 -07:00