Commit graph

1984 commits

Author SHA1 Message Date
samcake
e306a24a1b INtroducing the unlit mode for fragments 2016-05-05 17:08:52 -07:00
samcake
f1b236f3be adding the DeferredBUfferRead.slh 2016-05-04 18:51:35 -07:00
samcake
2d573963bb Introducing the unlit material 2016-05-04 18:50:52 -07:00
Brad Hefta-Gaub
bbf358f81d Merge pull request #7796 from samcake/blue
Improve Translucent shapes global lighting with support for the ambient map reflection
2016-05-03 11:14:06 -07:00
Geenz
85e0620261 Merge branch 'master' of https://github.com/highfidelity/hifi 2016-04-30 15:40:28 -04:00
samcake
257c8c94c3 clean up the lighting function and put the global specular lighting in a separate function 2016-04-29 10:58:55 -07:00
samcake
88f816fab4 Adding reflection of the ambient map for translucent 2016-04-28 18:18:18 -07:00
samcake
4202e60ac3 trying to add the skymap on translucents 2016-04-26 18:20:15 -07:00
Geenz
bf31fc728a And another. 2016-04-26 18:54:02 -04:00
Geenz
ef7098b39a Missed a few. 2016-04-26 17:12:04 -04:00
samcake
5cb346330b Merging with master 2016-04-25 18:48:58 -07:00
Chris Collins
9bd9de5710 Merge pull request #7636 from samcake/red
Stereo drawcall amplification
2016-04-22 15:46:18 -07:00
samcake
43caca901f Merge branch 'master' of https://github.com/highfidelity/hifi into color 2016-04-22 10:57:14 -07:00
samcake
fd3efa37e3 Cleanup the shaders to avoid any uniform in genral, fixed a bug woith the emissive params applied twice for model_lightmap.slf 2016-04-22 10:56:21 -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
Ryan Huffman
f90e1aaa23 Remove #line from starsGrid.slf
Fails to compile with certain drivers.
2016-04-20 15:04:10 -07:00
Brad Davis
882267e08f Merge pull request #7709 from samcake/blue
Introduce Shader Compilation versions
2016-04-19 11:14:22 -07:00
samcake
21b0341e50 REmoving extra cruff 2016-04-19 10:51:44 -07:00
samcake
265f6f1275 Updating & Merging with master 2016-04-19 10:05:44 -07:00
Brad Hefta-Gaub
5d550197bd Merge pull request #7697 from samcake/orange
Introduce a simple state sort for drawing opaque items
2016-04-19 08:41:49 -07:00
Brad Hefta-Gaub
c41b320d40 Merge pull request #7706 from zzmp/fix/text3d-font
Fix text3d to allow transparent text
2016-04-19 07:50:36 -07:00
samcake
85fd1dcb5b Merge branch 'master' of https://github.com/highfidelity/hifi into blue 2016-04-18 18:25:16 -07:00
samcake
cadb53b703 Adding shader versioning and defines from GLBackendShader allowing for runtime defines injection to shaders and more 2016-04-18 18:24:27 -07:00
Zach Pomerantz
2d9dcc8595 Fix text3d to allow transparent text 2016-04-18 16:02:45 -07:00
samcake
ca720efce6 Exposing the timing of the jobs by default 2016-04-18 14:53:06 -07:00
samcake
3887dfdf34 Merge branch 'master' of https://github.com/highfidelity/hifi into lemon 2016-04-18 11:52:45 -07:00
samcake
88c58cc276 Adding the simple state sort to draw opaque deferred 2016-04-18 10:51:31 -07:00
samcake
0531f90675 Adding state sorting for free 2016-04-18 00:22:05 -07:00
samcake
298300e42f Merge branch 'master' of https://github.com/highfidelity/hifi into red 2016-04-15 14:16:02 -07:00
Zach Pomerantz
2e4e1dd590 Fix leaking Font 2016-04-14 17:00:23 -07:00
samcake
7653fa2c37 Fixing the resize of framebuffer to avoid reassigning the render buffer every frame 2016-04-13 10:56:29 -07:00
samcake
e9a0365454 Removing an include not needed 2016-04-13 00:16:04 -07:00
samcake
ab9f41f5eb Trying something a bit more radical for timing 2016-04-12 15:29:31 -07:00
samcake
042a419669 Adding counters, not sure they are really useful or that this is the best way to do this... 2016-04-12 02:44:10 -07:00
samcake
816a35099a Adding tcpu timer on some jobs 2016-04-11 18:34:52 -07:00
samcake
90fd9d77a5 Merging with Master 2016-04-11 18:34:14 -07:00
samcake
8964c2427d adding support for the 2 versions of the shaders nad solving the mapping of uniforms that arise with it 2016-04-08 18:47:21 -07:00
samcake
2f8d30e7ce Merge branch 'master' of https://github.com/highfidelity/hifi into red 2016-04-08 09:34:55 -07:00
howard-stearns
5284af6b51 Update text3d shader post pbr. 2016-04-06 12:15:19 -07:00
samcake
d3a87f8db2 need to merge, commiting at a broken state 2016-04-04 18:25:23 -07:00
Anthony Thibault
865a77ae20 Model: fixed two crash issues when changing avatars
* When the GeometryReader has the last ref to the GeometryResource ptr
  It needs to hold on to the reference until invokeMethod is completed.
  Otherwise, invokeMethod will call a method on a deleted object, leading
  to memory corruption or crashes.

* When the Model URL is changed, the clusterMatrices are invalided and the
  RenderItemsSets are cleared.  However, there still might be renderItems in
  the scene pending changes list that might refer to those RenderItems and their
  clusterMatrices.  We need to guard against this access to prevent reading from
  memory that was previously freed.

Both of these issues were uncovered using the [avatar-thrasher](https://gist.github.com/hyperlogic/d82a61d141df43d576428501a82c5ee6) test script.
2016-04-02 21:48:22 -07:00
Anthony J. Thibault
5e81cccc6c Merge branch 'master' into tony/culling-fixes 2016-04-01 09:29:46 -07:00
Anthony J. Thibault
d670853941 AnimDebugDraw: enable bound now that culling works. :) 2016-03-31 16:10:04 -07:00
Anthony J. Thibault
bc967f0ab0 Model: update renderItems when items are added to the scene.
* Renamed enqueueLocationChange to updateRenderItems
* Call updateRenderItems when models are added to the scene.

This will fix entity render bounds being incorrect when they are first added to the scene,
then later being correct after a position update.

* Renamed getMeshPartBound to getRenderableMeshBound.
* Avatar now uses getRenderableMeshBound() to do boundingRadius vs frustum check.
* Model::getRenderableMeshBound now returns a more accurate bound, because it is the same one used for rendering.

This will fix avatar freezing, when they are in the corner of your frustum.
This was due to matrices not being updated because the avatar had to a small bounding sphere.
2016-03-31 14:59:27 -07:00
Anthony J. Thibault
635f58629a MeshPartPayload: remove dead code 2016-03-31 14:58:25 -07:00
samcake
1b54a29491 small improvments adn exploring the jittering bug for reflections 2016-03-31 11:34:27 -07:00
Zach Pomerantz
e4cba14333 Avoid recreating model items when adding to scene 2016-03-31 10:46:51 -07:00
Zach Pomerantz
3de5f73a1f Fixup model on tex load 2016-03-31 10:46:51 -07:00
samcake
a07ae70ea0 Merge branch 'master' of https://github.com/highfidelity/hifi into lemon 2016-03-31 10:04:51 -07:00
samcake
10ddecd536 Debuggingh the reflection jittering 2016-03-31 01:51:26 -07:00
Brad Hefta-Gaub
a7f93aa75c Merge pull request #7519 from zzmp/fix/avatar-crash
Fix crash from updating/resetting avatar
2016-03-30 21:31:17 -07:00
Anthony Thibault
26b9469df5 Merge pull request #7516 from hyperlogic/tony/show-collision-geometry-crash-fix
Model: fix for crash when displaying collision mesh
2016-03-30 16:48:07 -07:00
Seth Alves
d9909fb7da Merge pull request #7518 from hyperlogic/tony/model-hand-grab-fix
Model: Fix for equipped models not updating their matrices
2016-03-30 16:10:21 -07:00
samcake
c13e24438c Merge pull request #7512 from zzmp/fix/light-buf-fmt
Correctly represent lighting framebuffer
2016-03-30 16:10:10 -07:00
samcake
6033ad81db Adding time counter 2016-03-30 16:09:33 -07:00
Zach Pomerantz
6e0d6ee45b Guard updateClusterMatrices from unloaded geo 2016-03-30 16:04:00 -07:00
Zach Pomerantz
00db095306 Guard against reset model geo on scene update 2016-03-30 15:49:45 -07:00
Anthony J. Thibault
f6344c34e7 Model: Fix for equipped models not updating their matrices 2016-03-30 15:19:35 -07:00
Anthony J. Thibault
103257493c Model: fix for crash when displaying collision mesh.
This was due to a default constructed PayloadPointer being sent to the scene via resetItem.

The fix is to A) not do that anymore, B) make resetItem more robust and not crash if this happens.
2016-03-30 14:24:28 -07:00
Zach Pomerantz
1234514e8f Correctly represent light fbo fmt 2016-03-30 11:22:44 -07:00
samcake
0ee1f039e9 Telling like it is... 2016-03-30 11:15:10 -07:00
samcake
11b6952eff Merge branch 'master' of https://github.com/highfidelity/hifi into orange 2016-03-30 09:49:17 -07:00
samcake
b492c4b52c DUmb fix to the flickering issue by overshooting the inside volume of the light and avoid the failing region 2016-03-30 09:32:40 -07:00
Brad Hefta-Gaub
d99dcf5450 Merge pull request #7487 from hyperlogic/tony/animated-culling
Improved render bounding boxes for animated models
2016-03-30 09:27:43 -07:00
samcake
be27eaff24 Moving the scripts for render that where in utilities/tools/render to utilities/render, adding counters for lights 2016-03-29 17:51:24 -07:00
Zach Pomerantz
29dedd5524 Update model URL on render thread 2016-03-29 10:42:40 -07:00
Anthony J. Thibault
24ca5b3d60 Update after merge changes to NetworkGeometry.
Also cleaned up API for ModelMeshPartPayload::updateTransformForSkinnedMesh() to pass a QVector const ref, instead of a raw pointer and a size.
2016-03-28 20:29:02 -07:00
Anthony J. Thibault
940f3e636d Merge branch 'master' into tony/animated-culling 2016-03-28 19:58:38 -07:00
Anthony J. Thibault
115fd607a0 Address performance issues introduced with this PR.
* Prevent clusterMatrices from being invalidated and re-computed in each updateItem lambda.
  We do this by not setting _model->_needsUpdateClusterMatrices = true;
* Prevent redundant work if Model::enqueueLocationChange is called multiple times per frame.
  We do this by introducing a preRenderLambdas map in the Application class.
  Instead of adding work directly to the scene PendingChanges queue Model::enqueueLocationChange
  adds a lambda to the Application preRenderLambdas map.  The Application ensures that only one lambda will
  be invoked for each model per frame.
2016-03-28 19:47:30 -07:00
Anthony J. Thibault
f5a86666a1 Model: fix for collision mesh rendering 2016-03-28 09:56:15 -07:00
Zach Pomerantz
d6640ac520 Update Model::_hasTransparentTextures 2016-03-27 16:38:45 -07:00
Anthony J. Thibault
49a4d104a6 Minimize diff with master 2016-03-26 13:27:05 -07:00
Anthony J. Thibault
bf433487fa Dynamic bound update for skinned mesh
* Use all cluster matrices to compute bound for skinned mesh.
  This is far less expensive then doing per-vertex work, but it's not free, for avatars especially.
* Remove skinnedMeshBound, compute it instead.
* Compute clusterMatrices in render update, because we need them to update bounds.
2016-03-26 12:22:02 -07:00
Anthony J. Thibault
b4e70d9101 WIP: checkpoint
* bug fix in AABox::operator+=
* added AABox::emiggen
* Avatar now has a default bound for it's skinned mesh.
* WIP: AABox tests;  NEED MORE
* Model: split collision and model mesh render items.
  Because ModelMeshRenderItems need special handling to update bounds for animated joints.
* Model: dynamically update the bound for rigidly bound animated meshes
* Rig: added access to geometryToRigTransform
* RenderableModelEntityItem: try to update bounds for skinned mesh to be the entity dimentions (this doesn't seem to be working)
* Geometry.cpp: removed unused bounds parameter in evalPartBounds
* ModelMeshPartPayload: bounds updating
   * non-animated: use existing _localBound
   * rigid bound mesh: use _localBound transformed by clusterMatrix joint transform
   * fully skinned mesh: use _skinnedMeshBound provided by the application.
2016-03-25 21:29:20 -07:00
Zach Pomerantz
3402635f99 Lock geometry on blender 2016-03-24 18:50:43 -07:00
Zach Pomerantz
3e9e083df5 Update users of NetworkGeometry 2016-03-24 11:35:41 -07:00
samcake
1e46b0803c fixing repported issues during review 2016-03-23 15:59:57 -07:00
samcake
7d99183474 Merge branch 'master' of https://github.com/highfidelity/hifi into orange 2016-03-23 15:47:00 -07:00
Brad Hefta-Gaub
9f0084dbb1 make Blender keep a shared pointer to the model it's blending 2016-03-22 16:01:31 -07:00
samcake
67abdab8b2 Merge branch 'master' of https://github.com/highfidelity/hifi into orange 2016-03-22 10:13:50 -07:00
Brad Hefta-Gaub
513138ca98 one more crack at fixing the blender 2016-03-21 18:28:26 -07:00
samcake
695e558851 Trying to clena up the problem? 2016-03-21 16:36:47 -07:00
Chris Collins
6324d0e3be Merge pull request #7393 from ZappoMan/protectMeshBoxes
Fix for crash in recalculateMeshBoxes()
2016-03-21 15:46:28 -07:00
Brad Hefta-Gaub
d28db7bec6 fix typo 2016-03-21 14:47:53 -07:00
samcake
ec7165983d Merge branch 'master' of https://github.com/highfidelity/hifi into orange 2016-03-21 13:30:28 -07:00
samcake
d189dc4af2 Problem not fixed yet, need to merge with upstream 2016-03-21 13:30:08 -07:00
Brad Hefta-Gaub
2389295217 actually properly remove pending blendshapes 2016-03-21 13:04:37 -07:00
samcake
227ddb12a6 Trying to clen up the way the opacity final value comes to the fragment shader 2016-03-21 12:14:59 -07:00
Brad Hefta-Gaub
492e71345a Revert "Revert "Fix ModelBlender crash""
This reverts commit f274cdcc7f.
2016-03-21 11:42:25 -07:00
Brad Hefta-Gaub
f274cdcc7f Revert "Fix ModelBlender crash" 2016-03-21 10:47:31 -07:00
Andrew Meadows
cd802a6549 Merge pull request #7406 from hyperlogic/tony/transparent-texture-fix
Model: fix for avatars with late loaded transparent textures.
2016-03-21 09:19:33 -07:00
Anthony Thibault
b06f027f2e Model: fix for avatars with late loaded transparent textures. 2016-03-20 18:20:03 -07:00
samcake
225b330d41 Trying to better load aand detect the case for transparent textures oor opacity mask 2016-03-18 12:47:33 -07:00
Brad Hefta-Gaub
925d5d36ac clean up the recalculateMeshBoxes() calls in findRayIntersectionAgainstSubMeshes() 2016-03-18 12:20:45 -07:00
Brad Hefta-Gaub
eb8a6527c6 change ModelBlender to use a set<WeakPointers> to safely handle model lifetime 2016-03-17 19:44:42 -07:00
Brad Hefta-Gaub
7483b8546b remove FaceModel, make Model support shared_from_this() so we can ave shared and weak pointers to it 2016-03-17 17:05:35 -07:00
Andrew Meadows
7acc56bf00 Merge pull request #7359 from zzmp/feat/bg-gpu-timer
Add a DrawBackgroundDeferred gpu timer
2016-03-16 07:58:53 -07:00
samcake
d58ac269ee Fixing a bug when albedo map transaprent but not quite loaded yet 2016-03-15 17:01:26 -07:00
samcake
f30e8e9e0c Merge pull request #7281 from zzmp/fix/png-opacity
Fix materials to honor png texture opacity
2016-03-15 16:08:36 -07:00
samcake
f3daa9e1c5 Fixing the lighting issue in stereo 2016-03-15 14:35:43 -07:00