Commit graph

435 commits

Author SHA1 Message Date
samcake
c92a6d58ab Dispatch classes in their properly named files to appease the coding standard gods 2015-10-06 09:46:32 -07:00
samcake
59afbf1a04 Remove the renderPart call from model.cpp and put the code path in the MeshPartPayload::render() 2015-10-06 01:15:53 -07:00
samcake
fc7f0c77a5 Rename ModelRenderPayload files to ModelRenderItem 2015-10-06 00:20:51 -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
samcake
9e393ced46 MOving rednering code of Model into ModelRenderPayload.h/cpp 2015-10-05 09:17:16 -07:00
samcake
fd232b7d32 ONe more file to deal with the Model rendering 2015-10-04 22:27:48 -07:00
samcake
1799322c67 Fix typos introduce in previous commit about the Quad to triangle indexing and remove dead code in model.cpp 2015-10-04 18:46:35 -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
samcake
edaa8f998a Migrating to the new mesh for rendering and having problems with multi part mesh 2015-10-02 18:12:16 -07:00
samcake
edb485cb0f working on getting the Model payload to use model::Mesh 2015-10-02 12:24:41 -07:00
Anthony J. Thibault
fc7b6dee84 Merge branch 'master' into transmit-joint-translation 2015-10-02 11:40:33 -07:00
samcake
b8ea83099a Debuggging 2015-10-01 21:13:22 -07:00
samcake
4478ca79ca Merge branch 'master' of https://github.com/highfidelity/hifi into hobbes 2015-10-01 19:55:14 -07:00
Andrew Meadows
09ac01a5e7 remove cruft from old verlet avatar simulation 2015-10-01 13:44:50 -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
840f92bd06 Merge branch 'master' of https://github.com/highfidelity/hifi into hobbes 2015-09-29 10:54:09 -07:00
samcake
a9f6c93a2c merging 2015-09-29 10:53:56 -07:00
samcake
202d2944ab Merge branch 'master' of https://github.com/highfidelity/hifi into calvin 2015-09-28 17:24:59 -07:00
samcake
95ea874d43 Minor fixes to the way the specular color is interpreted 2015-09-28 12:43:15 -07:00
Brad Hefta-Gaub
ce3da099f6 normalize the surface normal from the triangle, coding standard fix, update example 2015-09-28 08:30:49 -07:00
Brad Hefta-Gaub
430cbcca7e first cut at adding surface normals to ray intersection 2015-09-27 21:57:50 -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
85b2322acc more work on batch optimzation 2015-09-24 17:11:14 -07:00
samcake
d7d332acd4 Merge branch 'master' of https://github.com/highfidelity/hifi into orange
t :wq
2015-09-23 09:51:31 -07:00
samcake
518f5fe17c Starting to clean the mesh part of the RenderItem.... 2015-09-22 18:21:36 -07:00
Andrew Meadows
2edffaf91a remove unused variables 2015-09-22 17:20:13 -07:00
samcake
80e5581639 fixing review comments 2015-09-21 22:51:14 -07:00
samcake
91b9940fe9 Merging and a fix for the diffuse map floating around 2015-09-21 18:09:25 -07:00
samcake
910038cf82 Merging 2015-09-21 17:47:23 -07:00
samcake
21f53f1bbd debugging the lighting issue on the craps table 2015-09-21 16:57:55 -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
8941741508 Migrating the rendering code to the Material Maps and adding the simplae variables to the the TextutreMap 2015-09-18 18:47:18 -07:00
Sam Gateau
d45547aa1a Merge and update 2015-09-16 13:46:07 -07:00
Brad Davis
f4818c17cf Fix avatar and other model animations 2015-09-15 08:04:17 -07:00
Brad Davis
3f688f92d3 Don't do an O(N^2) operation on cluster matrices 2015-09-15 08:04:17 -07:00
Brad Hefta-Gaub
70fcdbf2fd Revert "Fix over-calculation of cluster matrices" 2015-09-14 21:20:11 -07:00
Brad Davis
35e4440c4f Don't do an O(N^2) operation on cluster matrices 2015-09-14 16:09:13 -07:00
Sam Gateau
9074d0d6e1 very first version of the TextureStorage working 2015-09-14 09:29:46 -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
Howard Stearns
eb67254e54 Merge branch 'master' of https://github.com/highfidelity/hifi into decouple-avatar-updates 2015-09-08 16:54:14 -07:00
Howard Stearns
27f4bca0a4 Cleanup: This appears to be complete and working -- EXCEPT for loading animations on the update thread!
Until I figure that out, the answer is to turn off Developer->Avatar->"Enable Avatar Update Threading", run through forward/back/left/right/strafeLeft/strafeRight, and then turn "Enable Avatar Update Threading" back on.
2015-09-08 14:49:58 -07:00
Howard Stearns
efeaf21305 Checkpoint smoother. 2015-09-07 16:32:51 -07:00
Howard Stearns
0065c64b31 Snapshot of no-judder, before cleanup. 2015-09-07 09:57:05 -07:00
Howard Stearns
d3106de7c1 Merge branch 'master' of https://github.com/highfidelity/hifi into decouple-avatar-updates 2015-09-04 14:32:58 -07:00
Stephen Birarda
ed19987b7d resolve conflicts on merge with upstream/master 2015-09-04 12:31:46 -06:00
Anthony J. Thibault
3f258c89b4 Fix transition from AG+Rig to AG only. 2015-09-04 11:03:59 -07:00
Howard Stearns
8cf71f285d Merge branch 'master' of https://github.com/highfidelity/hifi into decouple-avatar-updates 2015-09-01 16:03:40 -07:00
Stephen Birarda
33f6933544 Merge branch 'master' of https://github.com/highfidelity/hifi into protocol 2015-09-01 14:36:16 -06:00
Sam Gateau
4e944645fe more cleaning for showing a cleaner pr 2015-08-28 16:58:36 -07:00
Sam Gateau
85f230bf17 Getting rid of the NetworkMEshPart and simplifying the thinking around the MOdel regarding its RenderItems 2015-08-28 08:12:50 -07:00
Andrew Meadows
d3f06af892 remove PhysicsEntity class 2015-08-27 18:22:12 -07:00
Stephen Birarda
8ee27bca2b remove urlAsString from Model 2015-08-27 16:00:21 -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
Howard Stearns
475331a97d Sprinkle locks everywhere. 2015-08-26 16:08:07 -07:00
Sam Gateau
1e9fce2a61 Drafting the materials for FBXReader 2015-08-25 22:12:51 -07:00
Sam Gateau
4fabc25b3e Fixing conflicts in shaders 2015-08-21 16:49:01 -07:00
Sam Gateau
a388ba7b00 fix conflicts 2015-08-21 16:45:52 -07:00
Sam Gateau
5a8e20ec77 merging 2015-08-21 16:34:13 -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
Brad Davis
64fcd2da96 Merge pull request #5530 from ZappoMan/RenderableModelEntityItemOptimization
optimizations to RenderableModelEntityItem::render()
2015-08-07 15:32:07 -07:00
Seth Alves
b1e69537f3 Merge pull request #5524 from howard-stearns/cleanup-jointstate
Clean Up JointState
2015-08-07 13:50:02 -07:00
ZappoMan
f4c3c30f6a quick optimization to RenderableModelEntityItem::render() 2015-08-07 12:49:48 -07:00
Howard Stearns
145b730f80 Clean up instantiation. 2015-08-07 12:27:26 -07:00
Sam Gateau
e4ce1002ea cleaning th ecode 2015-08-06 18:54:58 -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
Sam Gateau
95682e6270 Introducing the Normal fitting algorithm for better normal in the deferred buffer 2015-08-05 17:17:00 -07:00
Sam Gondelman
513c652ab3 merge from master and attempt to fix connexion conflicts 2015-08-05 12:42:39 -07:00
Sam Gateau
730ad2da2f removing dead code 2015-08-04 16:37:01 -07:00
Sam Gateau
d2360d1406 Merge branch 'core' of https://github.com/highfidelity/hifi into punk 2015-08-04 16:31:33 -07:00
Sam Gateau
fc0ee28b84 FIx the mirror rendering bugs by replacing the prvious technique by a simple true mirror during the final blit for both rear view mirror and full screen mirror, not working for HMD 2015-08-04 16:31:20 -07:00
Bradley Austin Davis
4f759ee46a Merge remote-tracking branch 'upstream/master' into core 2015-08-04 16:26:16 -07:00
Seth Alves
9171033f21 Merge branch 'master' of github.com:highfidelity/hifi into rig 2015-08-04 16:06:38 -07:00
Bradley Austin Davis
3c76c0d4b6 Merge remote-tracking branch 'upstream/master' into core 2015-08-04 10:23:54 -07:00
Bradley Austin Davis
1a589160f4 Fixing the skinning shaders sizing problems 2015-08-03 18:44:51 -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
Howard Stearns
0dad1adf7d Speculative guard against crashing. 2015-07-31 18:05:14 -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
b685378ab0 Merge branch 'master' of https://github.com/highfidelity/hifi into rig 2015-07-31 10:08:30 -07:00
Seth Alves
c1f777e18f move setHandPosition from SkeletonModel to AvatarRig. Tell Rig::initJointStates joint-indexes for hands and elbows and shoulders 2015-07-30 18:39:01 -07:00
samcake
fbf21cb089 FIxed the problem on Mac, by removing all of the gpuConfig includesgit status
q
:q
wq
2015-07-30 18:27:47 -07:00
Anthony J. Thibault
e52bf2e12d Fix for head cauterization.
When rendering rigidly bound mesh clusters were not properly using
the cauterization matrix set.
2015-07-30 15:51:34 -07:00
Anthony J. Thibault
7a10b31dd9 Clear translation on root joint.
Also, delete/rename all instances of updateJointState except for the one in Rig
and derived classes.
2015-07-30 15:04:27 -07:00
Howard Stearns
a9f76324b5 Merge branch 'rig' of https://github.com/sethalves/hifi into sethalves-rig2 2015-07-29 10:49:27 -07:00
Andrew Meadows
2c66af67e9 Merge howard/rig into andrew/caesium 2015-07-29 09:04:32 -07:00
Andrew Meadows
0a5ada3c09 remove legacy shapes 2015-07-29 09:02:24 -07:00
Andrew Meadows
77a12eb50e compile on linux with GLEW 2015-07-28 17:53:01 -07:00
Anthony J. Thibault
b06485c266 Remove cauterize code from Rig and move it back into Model.
* cauterize code is used as at render time and is not dependent on
  the jointStates.
* MyAvatar now initialize the bone set used for cauterization and
  makes the decision to perform cauterization or not in preRender.
2015-07-28 17:45:33 -07:00
Howard Stearns
4754615159 Fix NPC animations. 2015-07-28 12:34:10 -07:00
Seth Alves
6e5aca6da4 merge from upstream 2015-07-27 16:52:36 -07:00
Seth Alves
5ae15d46b4 add some javascript callable stuff back to MyAvatar 2015-07-27 16:42:54 -07:00
Howard Stearns
1bb734aec0 Kill warnings. 2015-07-27 15:26:03 -07:00
Howard Stearns
ef52c0703f Merge pull request #8 from AndrewMeadows/cadmium
remove unused legacy Shapes from Model and friends
2015-07-27 13:20:41 -07:00
Howard Stearns
990f0d6d07 Pass correct position/velocity/orientation to Rig simulation. 2015-07-27 12:57:39 -07:00
Andrew Meadows
73ac941230 remove unused legacy Shapes from Model and friends 2015-07-27 11:15:33 -07:00
Howard Stearns
dac6667ee6 Start of state. 2015-07-27 09:21:24 -07:00
Seth Alves
1e19e46aa6 Merge branch 'master' of github.com:highfidelity/hifi into rig 2015-07-23 15:14:19 -07:00
Seth Alves
33c97a1833 get rid of _firstPersonSkeletonModel in MyAvatar. add flag in Rig for joints being dirty so Model knows when to recompute meshes 2015-07-23 15:14:10 -07:00
Seth Alves
4566d16402 move Model's AnimationHandles to Rig. Move a bunch of Model methods from public to protected 2015-07-23 13:03:38 -07:00
ZappoMan
c2113ea96b remove non-batch versions of GeometryCache renderXYZ() methods 2015-07-23 07:42:58 -07:00
Seth Alves
ee334ff826 JointStates are owned by Rig objects. Model, FaceModel, SkeletonModel call into their Rig pointer to access JointStates. 2015-07-22 18:43:10 -07:00
Seth Alves
7c8d52cbd1 back out some changes to Model.cpp, change how rig pointer is delivered to model initilizer 2015-07-22 13:41:31 -07:00
Seth Alves
fecdc08720 merge from upstream 2015-07-21 09:53:51 -07:00
Seth Alves
cdc26526b4 merge from upstream 2015-07-21 09:51:16 -07:00
Seth Alves
abfe60aa20 whenever Model class uses _jointState, use the Rig version if there is a Rig. 2015-07-20 18:31:42 -07:00
Atlante45
59acfc9f47 Merge branch 'master' of https://github.com/highfidelity/hifi into smart_pointers 2015-07-20 13:51:51 -07:00
Atlante45
fc2956342e Merge branch 'master' of https://github.com/highfidelity/hifi into smart_pointers 2015-07-20 10:39:16 -07:00
Brad Davis
d68618e206 Removing GL headers from most files, and some naked GL from application.cpp 2015-07-18 00:46:09 -07:00
Atlante45
052c3c987b Fix some more smart pointer 2015-07-17 18:10:34 -07:00
Atlante45
256c786e28 Merge branch 'master' of https://github.com/highfidelity/hifi into smart_pointers 2015-07-17 17:59:19 -07:00
Seth Alves
d287817829 give SkeletonModel created by MyAvatar a Rig pointer 2015-07-17 14:52:37 -07:00
Seth Alves
bcd6b30ec3 move AnimationHandle from render-utils to animation. give Rig some jointstates and animation lists 2015-07-17 13:31:48 -07:00
Sam Gateau
9657d146f7 Clearing Model.cpp from naked gl call references 2015-07-15 16:09:53 -07:00
ZappoMan
819fa852b8 first pass at GlowEctomy 2015-07-15 12:47:59 -07:00
Atlante45
8fb69ecc96 Merge branch 'master' of https://github.com/highfidelity/hifi into clear_cache_and_restart 2015-07-14 13:50:58 -07:00
Atlante45
7bf45308b6 Merge branch 'master' of https://github.com/highfidelity/hifi into clear_cache_and_restart 2015-07-14 12:31:37 -07:00
David Rowe
2bab7d1c03 Add parentheses 2015-07-13 16:38:51 -07:00
David Rowe
d44743563b Merge branch 'master' into 20606
Conflicts:
	libraries/render-utils/src/Model.cpp
2015-07-13 07:53:04 -07:00
Atlante45
80fe090a94 Merge branch 'master' of https://github.com/highfidelity/hifi into smart_pointers 2015-07-10 20:20:03 -07:00
David Rowe
8ecefdfe39 If an external texture isn't found, still display the model
If the texture is present the next Interface is run then it will be used.
2015-07-10 16:03:27 -07:00
Atlante45
49993695a5 Made geometry refresh safe 2015-07-10 15:20:19 -07:00
Sam Gateau
7fc9fd97ff Replacing setUniformTexture by setResourceTexture in order to differenciate the 2 types of binding points for the BUffers. 2015-07-10 11:03:12 -07:00
Sam Gateau
f992e875b4 Adding intrsumentation for nsight and hiding the nsight specific code in cpp 2015-07-08 14:25:13 -07:00
Sam Gateau
be8fe25338 Trying to finalize the look and behavior of th estatus indicators 2015-07-02 15:06:07 -07:00
Atlante45
7b5a5a339a Use make_shared/create to make shared pointers 2015-07-01 19:46:06 -07:00
Sam Gateau
2f04a9d3da refining the shader pipeline and trying to pass a Status Getter from the model and fails 2015-07-01 07:47:46 -07:00
Anthony J. Thibault
3853395298 Bug fixes for switching between head/body and full body avatars
The head model visibility is now updated in preRender()
Moved the near clip plane in a bit more
Invalidate head bone vector on LOD switching.
Removed _currentSkeletonModel pointer, instead use _prevShouldDrawHead to detect when we should flip the visibility bit.
2015-06-24 16:10:47 -07:00
Anthony J. Thibault
99a03bac21 Render a different model when in first person view.
Currently this model is identical to the third person model, except
that the head bones have been 'cauterized' by applying a zero scale transform.
This allows us to set the near clip back to a reasonable value.
2015-06-24 16:10:47 -07:00
Ryan Huffman
1371f775ee Add mutex lock around access to Model::_calculatedMeshPartOffset 2015-06-19 16:51:13 -07:00
Ryan Huffman
a7f291154b Add lock around recalculateMeshPartOffsets call 2015-06-19 16:28:58 -07:00
Ryan Huffman
1734d5e584 Fix recalculateMeshBoxes being called outside of mutex 2015-06-19 15:05:55 -07:00
samcake
cc65ad3ffb IMproving the JOb interface 2015-06-17 15:52:11 +02:00
ZappoMan
6f0ae96f56 fix warning 2015-06-16 16:01:01 -07:00
ZappoMan
5abd608ccc fix typo 2015-06-16 15:55:37 -07:00
ZappoMan
1beb95cfe7 fix FPS while still maintaining ray picking 2015-06-16 15:38:16 -07:00
Sam Gateau
d1ac3148f0 migrating the transparent pipeline 2015-06-16 17:33:53 +02:00
ZappoMan
1c3b484466 fix detailed ray picking against models 2015-06-15 12:48:51 -07:00
Philip Rosedale
c834937472 Merge pull request #5122 from huffman/fix-rear-view-mirror
Fix rear view mirror
2015-06-12 15:49:38 -07:00
Ryan Huffman
66a65e3675 Update model to select clockwise backface culling program when in mirror mode 2015-06-12 13:04:02 -07:00
ZappoMan
7d7db65fd1 fix avatar mesh boxes not staying in sync with avatar position 2015-06-12 11:42:38 -07:00
ZappoMan
c17ae593f0 CR feedback 2015-06-12 09:04:16 -07:00
ZappoMan
2fc0233096 hack to fix culling bugs for some subMesh parts in the windmill scene 2015-06-11 20:50:31 -07:00
ZappoMan
feb3f68a00 hack to fix culling bugs for some subMesh parts in the windmill scene 2015-06-11 20:49:19 -07:00
ZappoMan
e06422825a mostly getting attachments working again 2015-06-10 15:46:54 -07:00
ZappoMan
aa05d9f67c Merge branch 'master' of https://github.com/highfidelity/hifi into fix-attachments 2015-06-10 08:53:33 -07:00