Commit graph

1876 commits

Author SHA1 Message Date
Brad Davis
e817d3ced4 Threaded rendering & entity rendering refactor 2017-08-24 13:34:34 -07:00
Zach Fox
69364f2ecd Initial progress 2017-08-22 17:10:57 -07:00
Zach Fox
edb64b047f It compiles! 2017-08-22 16:00:44 -07:00
Zach Fox
2a75d97006 First steps 2017-08-22 12:56:16 -07:00
SamGondelman
a904ae1a8a can set precision picking on lasers/raypicks, EntityTreeRender uses ray pick API 2017-08-22 11:41:20 -07:00
Menithal
dc5e374485 Merge remote-tracking branch 'upstream/master' into 21484 2017-08-17 22:28:43 +03:00
Sam Gateau
79f3be1efe Merge pull request #11021 from Zvork/fade2
Fade dissolve effect  JUST AVATARS
2017-08-10 13:48:30 -07:00
Zach Fox
b8c45b0c30 Don't always do precision picking inside mouseMoveEvent 2017-08-09 14:23:43 -07:00
Menithal
982d4a451f Updated Protocol to add allowTranslation
There still is a bug for the value no actually updating
2017-08-08 23:47:37 +03:00
Menithal
34d9e9b371 Preliminary Research Complete
Found the part that needs updating with the AnimationProperty
2017-08-08 00:03:24 +03:00
Brad Davis
86e3489167 Updates from Threaded Rendering project 2017-08-04 15:22:14 -07:00
Howard Stearns
71ce5a6494 Merge pull request #11016 from highfidelity/context-overlays
Context Overlays
2017-08-03 16:28:14 -07:00
Andrew Meadows
e465186511 Merge pull request #11048 from 1P-Cusack/21389
WL21389 PR1:  Representation of collision shapes need updating (details below).
2017-08-03 09:04:31 -07:00
David Kelly
4b7779f0f5 add flag to outline render flags, fix pal.js/edit.js interaction 2017-08-03 07:57:21 -07:00
LaShonda Hopper
0b79809f54 [WL21389] PR1 Feedback: Small change missed last commit (details below).
Until they're properly implemented, default the hedrons and polygons to
SHAPE_TYPE_ELLIPSOID within RenderableShapeEntity::computeShapeInfo.

Changes committed:
	modified:   libraries/entities-renderer/src/RenderableShapeEntityItem.cpp
2017-07-31 17:08:30 -04:00
Olivier Prat
e85bb6fd08 Fixed compilation warnings on Mac 2017-07-31 19:19:00 +02:00
Olivier Prat
5f1d45d4de Revert "Added check on EntityItem::getEntitiesShouldFadeFunction and reactivated fade on model, voxels and polylines"
This reverts commit 8a2fd01e81.
2017-07-31 18:06:51 +02:00
Olivier Prat
8a2fd01e81 Added check on EntityItem::getEntitiesShouldFadeFunction and reactivated fade on model, voxels and polylines 2017-07-31 15:31:37 +02:00
Olivier Prat
1336582c6b Removed fade transition on model entities. 2017-07-31 15:06:24 +02:00
Olivier Prat
e7282c67e6 Removed fade transition on poly voxel entities. 2017-07-31 13:02:42 +02:00
Olivier Prat
027c82c341 Removed fade transition on polyline entities. 2017-07-31 12:44:23 +02:00
Olivier Prat
0415364c0e Removed fade transition on shape entities. Fixed broken custom shaders on shapes 2017-07-31 12:29:11 +02:00
Olivier Prat
490aad2a06 Merged from master 2017-07-31 12:00:35 +02:00
LaShonda Hopper
cc4fbc97cd [WL21389] PR1 Update based on code review discussion & feedback (details below).
* Removed some left overs from prior approach.
* Moved _collisionShapeType & getShapeType override from ShapeEntityItem to
  RenderableShapeEntityItem (see thread: https://github.com/highfidelity/hifi/pull/11048#discussion_r130154903)
* Switched _collisionShapeType default from SHAPE_TYPE_NONE to SHAPE_TYPE_ELLIPSOID
** see thread: https://github.com/highfidelity/hifi/pull/11048#discussion_r129982909

Note(s):
* Retested and the cylinder behaves as expected along with the Box & Sphere shapes
  save from the previously mentioned caveats in the PR notes (https://github.com/highfidelity/hifi/pull/11048)
* Confirmed that currently unsupported shapes (hedrons, polygons, & cone) fallback to
  ellipsoid behavior given default change.

Changes Committed:
	modified:   libraries/entities-renderer/src/RenderableShapeEntityItem.cpp
	modified:   libraries/entities-renderer/src/RenderableShapeEntityItem.h
	modified:   libraries/entities/src/ShapeEntityItem.cpp
	modified:   libraries/entities/src/ShapeEntityItem.h
	modified:   libraries/shared/src/ShapeInfo.cpp
2017-07-28 15:59:17 -04:00
Zach Fox
62f6c10b2b Renaming things; bugfixes; improvements 2017-07-26 12:45:10 -07:00
Zach Fox
9147bc21d0 Getting there. 2017-07-26 11:41:27 -07:00
Zach Fox
9020607ccf First pass 2017-07-25 17:54:46 -07:00
LaShonda Hopper
6b5cabf00a [WL21389] Minor: Mark RenderableShapeEntityItem::computeShapeInfo as an override.
Changes Committed:
	modified:   libraries/entities-renderer/src/RenderableShapeEntityItem.h
2017-07-25 18:12:07 -04:00
LaShonda Hopper
ef1e426273 [WL21389] Some code and todo cleanup in prep for PR1.
Changes to be committed:
	modified:   libraries/entities-renderer/src/RenderableShapeEntityItem.cpp
	modified:   libraries/entities/src/ShapeEntityItem.cpp
	modified:   libraries/physics/src/ShapeFactory.cpp
	modified:   libraries/shared/src/ShapeInfo.cpp
2017-07-25 15:27:02 -04:00
Leander Hasty
d155c02640 [WL21389] wip and modifications based on comments
https://github.com/highfidelity/hifi/pull/11024#pullrequestreview-51611518

Cleans up tabs, moves new functionality out of ShapeFactory directly to
RenderableShapeEntityItem's computeShapeInfo override, begins to break down
where we will need pointlists.

Still need to determine how rotation is handled for pointlists, and check
for axis alignment on cylinders before deciding on a shape.

Changes to be committed:
	modified:   libraries/entities-renderer/src/RenderableShapeEntityItem.cpp
	modified:   libraries/entities-renderer/src/RenderableShapeEntityItem.h
	modified:   libraries/entities/CMakeLists.txt
	modified:   libraries/entities/src/ShapeEntityItem.cpp
	modified:   libraries/entities/src/ShapeEntityItem.h
	modified:   libraries/physics/src/ShapeFactory.cpp
	modified:   libraries/physics/src/ShapeFactory.h
	modified:   libraries/shared/src/ShapeInfo.cpp
	modified:   scripts/developer/tests/basicEntityTest/entitySpawner.js
2017-07-25 15:20:35 -04:00
LaShonda Hopper
75403124b6 [WL21389] Addresses physics library dependency and has some other fixes (details below).
* Addresses physics library dependency by moving computeShapeInfo override from
ShapeEntityItem (which is within Entities Library) to RenderableShapeEntityItem
(which is in Entities-Renderer Library).
** Entities-Renderer library already links against the physic library.
** Per discussion with Andrew Meadows: In order to ShapeEntityItem to be
utilized the library dependency between the Entity and Physics library
would need to be resolved to avoid the cyclical reliance which isn't in
the scope of this ticket.
* Updates shapeSpawner test script from the default clone of basicEntityTest\entitySpawner.js
** Objects now have a finite lifetime
** Script now cleans up the objects created when the script ends
** Also moved some adjustable properties out into var aliases at the top of the
file for easier/less error prone tweaking. Should probably add one for the shapeType.
* Fixes some issues with validateShapeType helper function
* Removed naive attempt at including physics library within entities library.
* Transferred some todos from notes
* Fixed some formatting

NOTE(s):
  This compiles and runs.  Cylinder is spawned and treated as CYLINDER_Y.

TODO(s):
* Add tweakable var for shapeType within shapeSpawner.js
* Vet and verify other shapes.
* Add in edge case handling.
* Add in support for other shapes to ShapeInfo infrastructure.

Changes to be committed:
	modified:   libraries/entities-renderer/src/RenderableShapeEntityItem.cpp
	modified:   libraries/entities-renderer/src/RenderableShapeEntityItem.h
	modified:   libraries/entities/CMakeLists.txt
	modified:   libraries/entities/src/ShapeEntityItem.cpp
	modified:   libraries/entities/src/ShapeEntityItem.h
	modified:   libraries/physics/src/ShapeFactory.cpp
	modified:   libraries/shared/src/ShapeInfo.cpp
	modified:   scripts/developer/tests/basicEntityTest/shapeSpawner.js
2017-07-25 14:43:39 -04:00
LaShonda Hopper
5bc38bd7f0 [WL21389] Collision Shapes need to be updated (details below).
Revised approach involves creating a helper function within ShapeFactory to aid
in devising the ShapeType to be used by an ShapeEntityItem for collision.  The
ShapeFactory is currently doing this for creating the actual Bullet Library
collision shapes.

ShapeEntityItem overrides its virtually inherited computeShapeInfo which
in turn calls the new ShapeFactory helper function.

ShapeEntityItem has a new memvar _collisionShapeType to cache its actual
ShapeType used by the physics system.  This memvar is returned via the getShapeType
accessor which is expected to return an object's ShapeType.

Note(s):
    This is similar to the original approach save translation between entity::Shape and ShapeType
    isn't tied to the EntityItemProperties shapeTypeNames or shapeType. This approach more
    directly solves the issue of getting the actual ShapeType used by the time it's needed
    to determine the bullet collision object type created when initializing the physic information.

    Translation of the ShapeEntityItem's entity::Shape to its ShapeType is handled by
    ShapeFactory which handles creating the bullet collision objects when setting up
    physics on the ShapeEntityItems.

Known Issue(s):
    This doesn't compile.  It appears that the Entity Library needs to know about
    the Physics Library.  The naive attempt at providing that link failed to resolve
    all compilation issues.

    Current Error:
    C1083: Cannot open include file: btBulletDynamicsCommon.h:
    No such file or directory (C:\projects\cusack\libraries\entities\src\ShapeEntityItem.cpp)
       C:\projects\cusack\libraries\physics\src\ShapeFactory.h	15	1	entities

	modified:   libraries/entities-renderer/src/RenderableShapeEntityItem.cpp
	modified:   libraries/entities/CMakeLists.txt
	modified:   libraries/entities/src/ShapeEntityItem.cpp
	modified:   libraries/entities/src/ShapeEntityItem.h
	modified:   libraries/physics/src/ShapeFactory.cpp
	modified:   libraries/physics/src/ShapeFactory.h
	modified:   libraries/physics/src/ShapeInfo.cpp
	modified:   scripts/developer/tests/basicEntityTest/entitySpawner.js
	new file:   scripts/developer/tests/basicEntityTest/shapeSpawner.js
2017-07-25 14:43:07 -04:00
Zach Fox
40038ce54b Merge branch 'master' of https://github.com/highfidelity/hifi into context-overlays 2017-07-25 09:33:07 -07:00
Seth Alves
47ea32f4d3 vertex color support in ModelScriptingInterface 2017-07-23 08:06:26 -07:00
Olivier Prat
7bc7b1eabc Merge branch 'master' of git://github.com/highfidelity/hifi into fade2 2017-07-21 09:27:30 +02:00
Seth Alves
72e5fecb4e do Model::getMeshes on the correct thread. added ModelScriptingInterface::getVertexCount and ModelScriptingInterface::getVertex 2017-07-20 16:34:34 -07:00
Olivier Prat
8f9deb3b0d Modified fade version of voxel shaders to use real world position 2017-07-20 14:44:01 +02:00
Olivier Prat
a50c267d0b Fading on polyline now works when the polyline is added to the scene 2017-07-20 12:45:14 +02:00
Seth Alves
a8698c2fbc EntityScriptingInterface::getMeshes support for Model entities 2017-07-19 08:59:09 -07:00
Olivier Prat
b652d94a43 Added fade on poly line entities 2017-07-19 17:11:06 +02:00
Olivier Prat
0319a16e24 Modified PolyLines to use the new custom pipeline system 2017-07-19 16:40:20 +02:00
Olivier Prat
abc751ef9c Fade seems to be working on shape items with instanced drawing. 2017-07-18 18:25:54 +02:00
Olivier Prat
3316be4dea Working fade parameters through instanced draw calls 2017-07-18 17:01:17 +02:00
Olivier Prat
dbf0b64dfb Refactored Fade.slh to take into account differences between instanced draw and normal draw 2017-07-18 12:49:34 +02:00
Olivier Prat
236270d798 Merge branch 'master' of git://github.com/highfidelity/hifi into fadeshape 2017-07-18 10:47:21 +02:00
Zach Fox
96f52a9812 First pass at getting overlays to show up on hover 2017-07-17 17:05:16 -07:00
Zach Fox
974dff36b0 Make hover overlays work for hand controller lasers 2017-07-17 13:16:53 -07:00
Zach Fox
147474e19a Logging category and filter 2017-07-17 11:17:59 -07:00
Olivier Prat
1f14b6ef38 Shape entities have the correct pipeline picked when fading is activated. Still need to support instanced rendering 2017-07-17 17:50:59 +02:00
Olivier Prat
f8b2ffe359 Removed transparency on fading shapes 2017-07-17 15:06:32 +02:00
Olivier Prat
db7871fca7 Merge branch 'fadevoxel' into fadeshape 2017-07-17 14:33:00 +02:00
Olivier Prat
95059e26c1 Fading working on voxels 2017-07-17 14:32:05 +02:00
Olivier Prat
76dd421ecd Merge branch 'fade' into fadevoxel 2017-07-17 12:00:10 +02:00
Olivier Prat
146f934019 Cleaned up shader code as fade position is now world position 2017-07-17 11:59:10 +02:00
Olivier Prat
290d106cf4 Shapes are working again. Had to re-specialize all the payload hooks for ShapePayload::Pointer... 2017-07-17 11:37:50 +02:00
Olivier Prat
5e5148ca91 Merge branch 'fade' into fadeshape 2017-07-17 09:53:26 +02:00
Olivier Prat
61de99dfe8 Merge branch 'fade' into fadevoxel 2017-07-17 09:42:14 +02:00
Zach Fox
e602d3610e Initial commit for HoverOverlayInterface 2017-07-14 17:26:53 -07:00
Olivier Prat
b125fba2e1 Removed untested avatar bubble fade code. Made changes as requested by Andrew 2017-07-13 23:04:55 +02:00
Olivier Prat
93218da473 Fixed compilation errors on Mac and Linux 2017-07-13 17:51:16 +02:00
Olivier Prat
1b8696fdda First draft of custom pipeline on geometry cache 2017-07-13 17:09:49 +02:00
Olivier Prat
c583de4d96 Fade working on voxel objects 2017-07-13 15:22:10 +02:00
Olivier Prat
0f60cca617 Merged cleaned up fader branch from Sam 2017-07-12 18:09:17 +02:00
Sam Gateau
5394ac8672 Cleaning up changes, removing comments and dead code etc... 2017-07-12 17:33:05 +02:00
Olivier Prat
2f9885870b First merge with Sam's fader branch with custom pipeline support in shape plumber 2017-07-12 17:29:21 +02:00
Sam Gateau
49779754ff Remove unecessary shaders and apply the custom shader pipeline to polyvox 2017-07-12 15:50:06 +02:00
Sam Gateau
98cc8c0683 Refining the custom shader pipeline design and registration mechanism 2017-07-12 14:13:58 +02:00
Olivier Prat
7552cca316 First alpha version of bubble collision fade events. Missing a lot of information. 2017-07-11 19:26:15 +02:00
Olivier Prat
aba8be595e Separated fade categories from transition event types 2017-07-11 11:37:24 +02:00
Sam Gateau
746812ff78 Merging with origin orange 2017-07-10 17:25:13 +02:00
Olivier Prat
cc4e168369 Working fade again 2017-07-10 16:45:13 +02:00
Olivier Prat
66d09a4c3c Some objects fade and fixed crash due to invalid meta item id 2017-07-10 16:02:12 +02:00
Olivier Prat
267531cc1a First working fade 2017-07-10 15:27:09 +02:00
Sam Gateau
0c3755483b adding assert or checks whenever getting a scene stage 2017-07-10 12:37:26 +02:00
Sam Gateau
c3dd25e499 Drafting the mechanism to add shape pipeline 2017-07-07 18:26:10 +02:00
Olivier Prat
06d69d04c3 TransitionStage + FadeJob compiling but not linked to entity events 2017-07-07 18:22:11 +02:00
Olivier Prat
4256a1f2a7 Preparing for merge with stage. DOESN'T COMPILE! 2017-07-07 15:16:20 +02:00
Olivier Prat
5ab093dc38 Preparing to introducte TransitionStage 2017-07-07 11:01:47 +02:00
Sam Gateau
156c20d01e Merge branch 'master' of https://github.com/highfidelity/hifi into orange 2017-07-07 10:58:05 +02:00
Olivier Prat
69a7ec42fd Added fade state in render::Item 2017-07-07 09:16:54 +02:00
Olivier Prat
5cee2cff9f Merge branch 'master' of git://github.com/highfidelity/hifi into 21378 2017-07-04 17:48:07 +02:00
Olivier Prat
d9a83539b2 Merged with master 2017-07-03 15:32:30 +02:00
Brad Davis
6fc82bb351 Switch to preprocessor macro for blocking invokes to capture function information 2017-06-30 11:36:24 -07:00
Brad Davis
b52dd7b822 Don't use blocking connections on the main thread 2017-06-29 20:45:17 -07:00
Sam Gateau
ca7e782566 Merge branch 'master' of https://github.com/highfidelity/hifi into orange 2017-06-29 10:54:27 +02:00
Olivier Prat
8a12d0c106 Fade effect working again for basic enter domain but with various Fade jobs 2017-06-29 08:54:23 +02:00
Seth Alves
794495c197 make ResourceManager be owned by DependencyManager 2017-06-28 14:18:14 -07:00
Brad Davis
28d727153b PR feedback 2017-06-27 19:22:07 -07:00
Brad Davis
8130a91b8c Cleanup entity dependencies 2017-06-27 19:15:49 -07:00
Sam Gateau
904f22985c CLeaning up comments 2017-06-26 16:43:04 +02:00
Olivier Prat
1bb0d51849 Merged with master 2017-06-26 11:55:46 +02:00
samcake
17e2140826 Merge branch 'master' of https://github.com/highfidelity/hifi into orange 2017-06-23 13:28:58 -07:00
samcake
20d8c11e28 ALmost there, getting eback everything to work with the light and background stages in the scene, not in deferredLighting Effect anymore 2017-06-22 17:54:16 -07:00
Brad Davis
4439de240a Trying to fix QtQml/QtScript crashes 2017-06-22 16:39:57 -07:00
Sam Cake
07e18eb3a8 Keep cleaning up the DeferredLightingEffect , removing stage s from there... 2017-06-22 01:12:32 -07:00
Atlante45
49623fefd8 Fix Skyboxes sometimes not showing 2017-06-21 11:40:32 -07:00
Brad Davis
a69cf31f4b PR feedback and cmake fixes 2017-06-16 16:59:58 -07:00
Brad Davis
fece438602 Cleanup and refactoring 2017-06-15 18:58:56 -07:00
Olivier Prat
ef60f78d2b Merge branch 'master' of git://github.com/highfidelity/hifi into 21378 2017-06-14 10:16:02 +02:00
Olivier Prat
24d45e0f5b Updated from upstream master because of change of protocol 2017-06-13 10:43:25 +02:00