Commit graph

1752 commits

Author SHA1 Message Date
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
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
Zach Fox
e602d3610e Initial commit for HoverOverlayInterface 2017-07-14 17:26:53 -07:00
Sam Gateau
5394ac8672 Cleaning up changes, removing comments and dead code etc... 2017-07-12 17:33:05 +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
Sam Gateau
746812ff78 Merging with origin orange 2017-07-10 17:25:13 +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
Sam Gateau
156c20d01e Merge branch 'master' of https://github.com/highfidelity/hifi into orange 2017-07-07 10:58:05 +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
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
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
howard-stearns
3d4f9be05b fix teleport vs stuck-in-floor work 2017-06-12 17:01:13 -07:00
howard-stearns
fa74daf875 Merge branch 'master' of https://github.com/highfidelity/hifi into do-not-get-stuck-in-floor 2017-06-07 16:43:25 -07:00
Brad Davis
171d3212fe Merge pull request #10623 from jherico/qml_engine_singleton
Migrate to single QML engine
2017-06-06 15:00:43 -07:00
Bradley Austin Davis
995fe11c05 Migrate to single QML engine 2017-06-05 15:14:44 -07:00
Howard Stearns
3d62900daf When we do precision detailed picking on a model, check the back faces, too. In other words, precision picking from inside a model works. 2017-06-03 16:49:16 -07:00
samcake
14f9a9848e Merge branch 'master' of https://github.com/highfidelity/hifi into brown 2017-06-01 18:05:47 -07:00
samcake
9c1e99fe3f Removing cruft and organizing the stencil config 2017-06-01 13:06:22 -07:00
Sam Cake
d19956f93c Fixing warnings 2017-05-31 22:02:47 -07:00
samcake
882df7391b Merge branch 'master' of https://github.com/highfidelity/hifi into brown 2017-05-26 16:47:49 -07:00
samcake
cba913c068 Fixing the case when the bound changes without the rest of the properties 2017-05-25 13:01:54 -07:00
Zach Fox
f2fab57187 Update conditional to handle 'other unowned' case 2017-05-25 13:01:40 -07:00
Zach Fox
be39874999 Changes after discussion with Brad 2017-05-25 13:01:40 -07:00
Zach Fox
f6195cdb1e Committing checkpoint changes, then testing 2017-05-25 13:01:40 -07:00
Zach Fox
4d791211ee Make the changes - big thanks to Andrew! 2017-05-25 13:01:40 -07:00
Sam Cake
3eb95d2d19 cleaning the commented code 2017-05-25 01:16:45 -07:00
samcake
575d4abdf7 bad include fixed maybe 2017-05-24 17:25:21 -07:00
samcake
c256893575 some clean up: 2017-05-23 18:00:22 -07:00
samcake
e7b808cbc1 Merging with upstream 2017-05-23 12:12:31 -07:00
Sam Gateau
589bcc19ce Refining the shader for key and testing removing completely the code dealing with Zone lighting in the ENtityTreeREnderer 2017-05-19 17:50:19 -07:00
Andrew Meadows
f80e7a3743 less obfuscation 2017-05-19 15:58:54 -07:00
Andrew Meadows
bb4d366c40 use SmartPointer for Zone _model 2017-05-19 15:33:23 -07:00
Andrew Meadows
7b879a7964 Model has a Rig rather than a RigPointer 2017-05-19 13:24:16 -07:00