Commit graph

244 commits

Author SHA1 Message Date
Anthony J. Thibault
5acb088c46 FBXReader: More deterministic loading behavior
This makes iteration over meshes and connections between them deterministic.
[QHash](http://doc.qt.io/qt-5/qhash.html#details) and QMultiHash do not guarantee consistent iteration order.
This is problematic for the FBXReader because it could result in different behavior each time a model was loaded.

Specifically, This was causing a bug with some avatars that contained multiple-bind poses.
The bind pose returned to the application from the FBXReader would be different on different runs.
This PR doesn't add support for multiple-bind poses, but it does make the choice of which
bind pose is chosen deterministic.

This non-determinism was the cause of the Mery avatar having "bug-eyes" 1/12 times.
2015-10-28 16:57:27 -07:00
Anthony J. Thibault
62c89eaf7d Joint rotation fix for FBX files exported from Blender.
This isn't a great fix.  But it will at least allow people to export avatars from Blender.
2015-10-19 13:49:13 -07:00
Seth Alves
3db148f3dc fix obj model meshes 2015-10-08 11:13:52 -07:00
samcake
1788b7b019 Fix the bug created by the previous fix 2015-10-06 10:53:38 -07:00
samcake
55f5ab3732 Merge branch 'master' of https://github.com/highfidelity/hifi into hobbes 2015-10-04 18:31:56 -07:00
samcake
48416262a1 Migrated the FBXReader mesh code to use excusively the Model::mesh and use them directly for rendering in the ModelPartPayload, fixed a bug in the indexBUffer offset value used in drawIndexed and drawIndexedInstanced 2015-10-04 18:31:19 -07:00
Anthony J. Thibault
8bfd38ce7c FBXReader: When the animation has no animation curve use the joint's default position. 2015-10-01 14:15:02 -07:00
Seth Alves
d0a1e206ca Merge branch 'master' of github.com:highfidelity/hifi into transmit-joint-translation 2015-09-29 13:55:13 -07:00
samcake
1e9c19d535 Clean the Material FBX code and how we use the factor components for diffuse and specular 2015-09-28 17:46:48 -07:00
samcake
2a487a79a3 Getting something done today 2015-09-28 17:24:31 -07:00
samcake
95ea874d43 Minor fixes to the way the specular color is interpreted 2015-09-28 12:43:15 -07:00
Seth Alves
50dd8eba45 Relay joint translations across network. Apply animation's root-joint translation to avatar. 2015-09-26 11:40:39 -07:00
Brad Hefta-Gaub
e99ad75a28 more warnings fixes 2015-09-22 18:01:39 -07:00
Brad Hefta-Gaub
7536fed09a more warning fixes 2015-09-22 17:22:09 -07:00
samcake
4513b64b00 fixing review comments 2015-09-21 22:42:24 -07:00
samcake
910038cf82 Merging 2015-09-21 17:47:23 -07:00
Brad Hefta-Gaub
ea141aae92 Merge pull request #5865 from jherico/bart
Instancing work, second pass
2015-09-21 16:51:08 -07:00
samcake
dfe17e5708 Fix issues from review 2015-09-21 16:12:17 -07:00
Bradley Austin Davis
e024d23366 Instancing work, second pass 2015-09-21 13:27:02 -07:00
Brad Hefta-Gaub
dc9c774eb5 merge model part quads and triangles together to reduce the number of draw calls 2015-09-21 13:09:43 -07:00
samcake
6a714f405c Integrate the PR from ALessandro through a different Texture Type and a different TextureLoader to transform a bump map into a normal map 2015-09-21 00:53:48 -07:00
samcake
a41c20a1b7 Fixing buggy hash map look up and cleaning of name 2015-09-20 14:17:55 -07:00
Sam Gateau
3f2609e52a merging 2015-09-14 09:59:04 -07:00
Seth Alves
49ee251238 quiet compiler 2015-09-12 09:59:25 -07:00
Sam Gateau
c37cdce750 Merging back with master 2015-09-10 17:53:50 -07:00
Andrew Meadows
281e4f21fc fix avatar bounding capsule calculations 2015-09-08 15:03:12 -07:00
Anthony J. Thibault
5882ec02d0 Merge branch 'master' into ajt/new-anim-system 2015-09-04 11:05:29 -07:00
Andrew Meadows
16dfc39f5f fix collision shape of avatars 2015-09-03 18:22:35 -07:00
Anthony J. Thibault
de31b92fd5 Merge branch 'master' into ajt/new-anim-system 2015-09-02 17:53:56 -07:00
Anthony J. Thibault
99586f259c Renamed bindTransformIsValid to bindTransformFoundInCluster 2015-09-02 13:44:34 -07:00
Andrew Meadows
4a7a384c65 avoid bad joints when computing bounding capsule 2015-09-01 14:12:14 -07:00
Sam Gateau
4e944645fe more cleaning for showing a cleaner pr 2015-08-28 16:58:36 -07:00
Sam Gateau
b845fcaff9 Cleanup 2015-08-28 16:38:07 -07:00
Sam Gateau
e2fce12713 Splitting the FBXREader.cpp file into sub files 2015-08-28 09:51:03 -07:00
Sam Gateau
4f7b857130 Merge 2015-08-27 10:01:39 -07:00
Sam Gateau
f6953f8e02 REfining th eTextureMap design but still with the issue of the lightmapped model 2015-08-27 09:52:07 -07:00
Anthony J. Thibault
46c1e008bc Merge branch 'master' into ajt/new-anim-system 2015-08-26 10:37:39 -07:00
Sam Gateau
1e9fce2a61 Drafting the materials for FBXReader 2015-08-25 22:12:51 -07:00
Brad Davis
d311e4f2ea Fixing problems reported by static analysis tool 2015-08-25 19:18:55 -07:00
Anthony J. Thibault
5a73aef1f8 AnimSkeleton more accurate bind pose generation. 2015-08-24 16:19:16 -07:00
Anthony J. Thibault
fa5256eefd Merge branch 'master' into ajt/new-anim-system 2015-08-24 14:32:28 -07:00
Anthony J. Thibault
1b3d7fabc8 ResourceCache, NetworkGeometry and Model refactoring and optimizations.
* Removed validation logic from Resource class, Qt does this internally and is more
  standards compliant.  This should result in more accurate caching and faster resource
  fetching when cache is stale and validation fails.
* Added loaded and failed slots to Resource class, so it does not have to be polled.

* NetworkGeometry now uses multiple Resource objects to download
  the fst/mapping file and the fbx/obj models.
* NetworkGeometry is no longer a subclass of Resource
* NetworkGeometry now has signals for success and failure, you no longer
  have to poll it to determine when loading is complete (except for textures *sigh*)

Some functionality was removed

* NetworkGeometry no longer has a fallback
* NetworkGeometry no longer loads LODs or has lod logic.
* The number of FBXGeometry copies is greatly reduced.

* Model::setURL no supports fallback URL, delayLoad or retainCurrent option.
  This can result in a pop when switching avatars, and there's no longer a default
  if avatar loading fails.
2015-08-20 18:59:51 -07:00
Seth Alves
1c8030472a back out the more controversial changes 2015-08-17 12:40:56 -07:00
Seth Alves
d6322903a2 quiet compiler 2015-08-11 10:12:46 -07:00
Sam Gateau
561a058dc8 cleaning th ecode 2015-08-06 18:53:21 -07:00
Sam Gateau
f0f141a2b4 SImple fix to the case of multiple material in a mesh with different opacity 2015-08-06 18:51:44 -07:00
Anthony J. Thibault
da3d35cdfc Added scaleOffset to FBXJoint::postTransform as it was missing.
Also added some documentation/comments to the FBXJoint struct.
2015-08-04 18:14:50 -07:00
Andrew Meadows
b00d47d62e merge master into cleanup of legacy shapes 2015-08-03 11:19:29 -07:00
Andrew Meadows
acfc907704 Merge pull request #5438 from howard-stearns/rig
Rig: Bottleneck animation management through a Rig class
2015-08-03 11:14:21 -07:00
ZappoMan
05a4a6aa9b implement on-the-fly conversion of FBXMeshParts that are quads, into their triangle equivalents 2015-08-01 13:07:56 -07:00
Andrew Meadows
661a916ebd merge rig into cleanup (removal of legacy shapes)
Conflicts:
	interface/src/avatar/Avatar.h
	tests/physics/src/ShapeColliderTests.cpp
	tests/physics/src/ShapeColliderTests.h
2015-07-31 13:40:51 -07:00
Howard Stearns
06aa107762 Merge branch 'master' of https://github.com/highfidelity/hifi into rig 2015-07-30 09:57:02 -07:00
Brad Hefta-Gaub
b95e4e1e93 Merge pull request #5323 from MarcelEdward/20605
Removed the  line where the directory is stripped off the RelativeFile
2015-07-30 07:30:01 -07:00
Marcel Verhagen
fa6d6a5123 Added the & references to the const variables 2015-07-30 15:08:02 +02:00
Andrew Meadows
c7f367bfd7 removing unnecessary #include <Shape.h> 2015-07-27 15:30:37 -07:00
Howard Stearns
1ec0518d05 Merge branch 'master' of https://github.com/highfidelity/hifi into rig 2015-07-27 09:20:30 -07:00
Marcel Verhagen
d25e09af74 removed the last 2 filename lines, they should not be there. 2015-07-26 00:48:31 +02:00
Andrew Meadows
6657026a12 remove cruft: legacy shapes for skeleton bones 2015-07-23 08:34:44 -07:00
Marcel Verhagen
8f0893ba21 Added fileOnUrl to check if a texture exist at the location. It return the correct filename of where the texture lives.
Added the url of the fix file to extractFBXGeometry and readFBX and updated the calls to readFBX to include the url of the fix file.

So it now does not break existing content.

Found a second place in the FBXReader.cpp where the RelativeFileName stripped out the dir location.
2015-07-22 22:34:45 +02:00
David Rowe
55683e0cd5 Size looking-at-me eye spheres per avatar model dimensions 2015-07-21 18:24:47 -07:00
Marcel Verhagen
fac497dadc Removed the file where the directory is stripped off the RelativeFilename, and replace \ with /.
However this introduces a new problem with the current fbx files who do not have their textures in the original dir but moved it to the dir where the fbx file lives.

Suppose there should be some logic when the texture is not found to look if the texture lives in the dir above the RelativeFilename.
In any case it is not obvious when there is a texture missing on a model, it simply renders black.
2015-07-14 15:31:56 +02:00
Atlante45
7b5a5a339a Use make_shared/create to make shared pointers 2015-07-01 19:46:06 -07:00
Sam Gateau
b0f5990bd7 fix syntax 2015-06-19 17:13:29 +02:00
Sam Gateau
b09991d75b Merge branch 'master' of https://github.com/highfidelity/hifi into daft 2015-06-19 09:35:40 +02:00
Seth Alves
508ae276c6 enable -Wdouble-promotion 2015-06-16 18:23:10 -07:00
Sam Gateau
9be87758fd Improving the design of the Jobs and varying 2015-06-16 15:00:47 +02:00
ZappoMan
aa05d9f67c Merge branch 'master' of https://github.com/highfidelity/hifi into fix-attachments 2015-06-10 08:53:33 -07:00
ZappoMan
ba0cecb356 remove attachments from Model - only supported at avatar layer 2015-06-09 12:32:37 -07:00
Sam Gateau
7de4c2eff7 first take on the materialKey 2015-06-09 12:17:10 -07:00
Seth Alves
1e2e4001b1 don't allow buildModelMesh to spam logs when it encounters flawed models 2015-05-14 10:24:02 -07:00
Seth Alves
0db5ddc5b7 port code from samcake's model branch 2015-05-13 15:43:16 -07:00
Sam Gateau
73177cd81d Merge branch 'master' of https://github.com/highfidelity/hifi into blue 2015-05-04 14:07:59 -07:00
Sam Gateau
ade404a74d getting rid of QSHaredPointer in favor of std::shared_ptr 2015-05-04 13:43:30 -07:00
Stephen Birarda
6cff75f7c1 resolve conflicts on merge with upstream/master 2015-05-04 10:05:44 -07:00
Sam Gateau
1b558e7390 investigating the semi transparent textured bug 2015-05-01 13:37:04 -07:00
Stephen Birarda
94739cf8d3 move number constants out of SharedUtil to NumericalConstants 2015-05-01 10:26:53 -07:00
Seth Alves
0fb1a83e3b quiet compiler, remove some trailing control-Ms 2015-04-25 09:20:00 -07:00
Atlante45
bda72025af Check mesh extend before going through triangles 2015-04-23 16:40:40 +02:00
Atlante45
99b3ef0d75 Move contain function to FBXGeometry 2015-04-22 21:17:12 +02:00
Sam Gateau
f06556ba12 migrate the various list to sort the rendering from explicit names to a more generic key based map 2015-04-16 14:37:39 -07:00
Sam Gateau
f0efade06d Merge branch 'master' of https://github.com/highfidelity/hifi into orange 2015-04-07 12:56:21 -07:00
Sam Gateau
dee651069c adding support for color attribute in FBX, and displaying it correctly 2015-04-06 23:33:13 -07:00
Seth Alves
8bd77fbcc7 separate out logging for fbx and gpu libraries 2015-04-06 16:52:31 -07:00
Seth Alves
420424a5ee make it possible to sort meshes into the same order they appear in the model file 2015-04-01 17:49:49 -07:00
Atlante45
716e9bfe4f Hint order for FST files 2015-03-26 15:40:48 +01:00
Seth Alves
0833fc588b coding standard 2015-03-09 06:56:35 -07:00
ZappoMan
ffab6ffe48 tweaks to hacks for detecting mixamo files 2015-03-06 15:11:02 -08:00
Brad Hefta-Gaub
1827d9f3cd Merge pull request #4256 from samcake/temp1
Getting rid of glLIghts and replacing by the model::Light
2015-02-13 10:49:53 -08:00
Andrew Meadows
123d73783b remove warning about unused variable 2015-02-11 08:42:36 -08:00
Andrew Meadows
e6a6946027 merge upstream/master into andrew/thermonuclear 2015-02-09 12:44:52 -08:00
Sam Gateau
ace6dc4faf Merge branch 'master' of https://github.com/highfidelity/hifi into temp1 2015-02-08 23:23:06 -08:00
Brad Hefta-Gaub
12ab841191 Merge pull request #4248 from samcake/temp0
Remove unneeded texture memory once loaded to GPU and Lightmap control in FBX
2015-02-06 16:52:40 -08:00
Sam Gateau
469ee29f0b Merge branch 'temp0' of https://github.com/samcake/hifi into temp1 2015-02-06 16:30:47 -08:00
Sam Gateau
d4566bb1d7 Adding support for hifi_global light intensity & COlor and use it to adjust the lighmap parameters 2015-02-06 15:51:57 -08:00
Stephen Birarda
11f3161029 resolve conflicts on merge with upstream/master 2015-02-04 10:38:05 -08:00
Sam Gateau
6ad484e13f Merge branch 'master' of https://github.com/highfidelity/hifi into temp1 2015-02-03 17:26:27 -08:00
Sam Gateau
5719e277dd FIx the lightmap not displaying when using the texcoord0 2015-02-03 16:10:31 -08:00
Sam Gateau
d8d0a28d0f FInd a solution for lightmap without 2nd uvset 2015-02-03 14:34:11 -08:00
Andrew Meadows
28a3c3f469 separate new shape types from legacy 2015-02-03 08:34:06 -08:00
Atlante45
bbf6ae7b01 Move Faceshift constants to their own file in shared 2015-01-23 12:11:08 -08:00