Commit graph

100 commits

Author SHA1 Message Date
LaShonda Hopper
5b50b362f1 [WL21389] WL21389 PR2: Representation of collision shapes need updating (details below).
This commit adds support for the polyhedrons and polygons sans
Torus and Quad which aren't currently supported within GeometryCache.

* Moves GeometryCache::_shapes from public to private scope
    * Nothing aside from the class should be directly altering this, only querying
    * Updated instances of direct referencing which looks to have been limited to prior
      testing of instancing and shapes.
* Adds an accessor function for ShapeData to GeometryCache
* Consolidates point list generation to helper function
    * GeometryCache::computeSimpleHullPointListForShape
* Moves GeometryCache::Shape to entity::Shape mapping to GeometryCache from
  RenderableShapeEntityItem
    * Adds conversion accessor to GeometryCache, GeometryCache::Shape getShapeForEntityShape
* Sets ShapeEntityItem::ShapeInfoCalculator callback committed earlier.
    * This helps circumvent the issue with library inclusion.  entity-render knows about
      entity; however, entity doesn't know about entity-renderer; however, GeometryCache
      data is needed within entity::ShapeEntityItem to compose the ShapeInfo point list data.
    * This callback is set up within Application::init of the Interface as it knows about
      both halves of the equation, and the callback needs to be setup prior to any entities
      collision data getting generated.
* Removes _type reset within ShapeInfo::setPointCollection
    * This should avoid any issues due to subversively setting the type or
      incorrectly setting the type as a tangential operation.
        * Audited instances of ShapeInfo::setPointCollection and all seemed to be
          calling the function immediately after having set the type via
          ShapeInfo::setParams
* Adds new ShapeType: SHAPE_TYPE_CIRCLE
    * This type is reserved for the circle which is now treated as a special
      type of Cylinder_Y with regard to collision as opposed to a simple hull.
    * Fixes the issue where jumping on a circle, at times, would
      result in the avatar sliding off towards an edge as if atop a
      squished cone.
* Also updates ShapeInfo::getType() to return ShapeType as opposed to int
    * Auditing calls showed that majority of places were comparing against ShapeType
    * ShapeType::_type is a ShapeType so returning the type explicitly
      is more consistent.
        * ShapeInfo file houses ShapeType enum so any file aware of ShapeInfo is aware of
          ShapeType enumeration.
* entity::Quad defaults to SHAPE_TYPE_ELLIPSOID
    * Like entity::Shape::Torus, entity::Shape::Quad is currently unsupported within
      GeometryCache::buildShapes.
    * Also it appears that a Quad shape can't be created within world via the creation menu.
        * There's no explicit option at present to create one.
        * Trying subvert the Cube/Box creation option to generate one results in an enforced
          stubby box as opposed to a quad.
    * Given the aforementioned points, entity::Shape::Quad will default to
      SHAPE_TYPE_ELLIPSOID as opposed to SHAPE_TYPE_BOX.
        * Added Todo regarding the shape being unsupported along with a notation to create
          a special ShapeType, SHAPE_TYPE_QUAD, for it should it be added in the future.
* Adds some comments and has some minor clean up.

Reviewed-by: Leander Hasty <leander@1stplayable.com>

Changes Committed:
	modified:   interface/src/Application.cpp
	modified:   interface/src/Util.cpp
	modified:   interface/src/Util.h
	modified:   libraries/entities-renderer/src/RenderableShapeEntityItem.cpp
	modified:   libraries/entities/src/ShapeEntityItem.cpp
	modified:   libraries/entities/src/ShapeEntityItem.h
	modified:   libraries/physics/src/ShapeFactory.cpp
	modified:   libraries/render-utils/src/GeometryCache.cpp
	modified:   libraries/render-utils/src/GeometryCache.h
	modified:   libraries/shared/src/ShapeInfo.cpp
	modified:   libraries/shared/src/ShapeInfo.h
	modified:   tests/gpu-test/src/TestInstancedShapes.cpp
2017-10-24 14:16:17 -04: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
2d0bbf70ae Migrate core avatar rendering functionality to library 2017-05-04 14:08:59 -07:00
Atlante45
eaca3b672f Switch to JSON for application settings 2016-10-12 10:20:19 -07:00
ZappoMan
c2113ea96b remove non-batch versions of GeometryCache renderXYZ() methods 2015-07-23 07:42:58 -07:00
Brad Davis
89faf85ad9 Working on text rendering overlays 2015-07-16 15:56:01 -07:00
ZappoMan
e39ea72daf removed dead code 2015-07-14 21:25:49 -07:00
ZappoMan
e885ac1821 improved performance of ByteCountCoding<> decode 2015-07-08 17:32:51 -07:00
ZappoMan
b50b7dd500 CR feedback 2015-06-08 14:36:31 -07:00
Atlante45
6dc3bf9285 Fix world box messing up everything 2015-06-04 13:48:39 +02:00
Ryan Huffman
b8f3c42712 Update renderWorldBox to use batches 2015-06-03 09:03:04 -07:00
ZappoMan
4a6cc5c6f2 Merge branch 'master' of https://github.com/highfidelity/hifi into gpuStreamizing
Conflicts:
	interface/src/avatar/Hand.cpp
	interface/src/ui/overlays/ImageOverlay.cpp
2015-01-27 16:44:11 -08:00
Atlante45
6a00dcbf0a More switches to new Settings 2015-01-20 00:30:29 -08:00
ZappoMan
e6388a65b9 rough pass at adding color to geometry cache 2015-01-13 20:53:05 -08:00
ZappoMan
a20fa1242d first cut are removing immediate mode GL_LINES 2015-01-05 15:46:48 -08:00
Philip Rosedale
e5f93d00ac remove unused utility functions 2014-10-12 20:42:15 -07:00
Philip Rosedale
dc09572776 remove unused functions 2014-10-12 20:17:20 -07:00
Atlante45
fd20686f0f Removed Systime.h includes 2014-04-21 17:23:06 -07:00
Atlante45
f7f30e118c More gettimeofday cleanup 2014-04-21 15:17:11 -07:00
Andrzej Kapolka
a2dc58f7f9 Moved FBX code to its own library so that we can use it for bots. 2014-04-14 17:15:58 -07:00
Atlante45
2cc2149647 Glow when you talk, flash when you clip
closes #2592
2014-04-10 11:55:30 -07:00
Stephen Birarda
ae4b8348a2 fix header include guards via regex 2014-04-09 12:03:17 -07:00
Stephen Birarda
6a51df9e38 initial regex replacement of headers 2014-04-08 17:30:36 -07:00
Andrew Meadows
aa8c2fc8cb use radians instead of degrees (almost) everywhere 2014-03-11 17:26:58 -07:00
Philip Rosedale
bae16e24e8 new audio buffer display text, cleanup drawText() 2014-02-27 23:17:39 -08:00
Philip Rosedale
7ce380a333 relocate mute button, audio scope 2014-02-27 18:02:53 -08:00
Philip Rosedale
0a1e840d10 Bot.js NPCs wander around and make sounds 2014-02-26 13:50:04 -08:00
ZappoMan
d61ba02a38 removed more cruft 2014-02-25 21:44:38 -08:00
Jose Carlos
976732120e fixed typo 2014-02-24 23:33:25 +01:00
Jose Carlos
c8c371b6f4 Changed the displayname background rect: instead of having squared
corners, they are bevel
Added some test code to prevent the decay effect in the text rendering
2014-02-24 22:02:06 +01:00
ZappoMan
ef11865d24 implement text overlay support 2014-02-15 21:13:44 -08:00
ZappoMan
98cdc656c4 more scripting support, including adding a Quat helper class that makes JS quat math easier 2014-01-29 00:56:08 -08:00
Lucas Crisman
a2f8a61a69 stats font & color changes, styling audio & bandwidth meters 2014-01-24 05:06:55 -03:00
Philip Rosedale
0fcc2d8634 Removed _avatarTouch class 2013-12-06 15:11:01 -08:00
Andrzej Kapolka
70ca1106b1 Working on testing the Leap/Hydra hands against the avatar body. 2013-12-03 17:28:36 -08:00
Andrzej Kapolka
2633223f4e Compute the bone radii from the vertices. It's more error-prone than I
expected, but it more or less works.
2013-12-02 18:07:29 -08:00
Andrzej Kapolka
1706c7c97a New IK method: will be easier to add constraints, adds "gravity" influence to
sap potential energy.
2013-11-06 15:51:26 -08:00
Stephen Birarda
f6c265dcf3 remove the ground plane 2013-10-29 15:22:04 -07:00
Andrzej Kapolka
a33c7ce20c More work on extracting rotations. 2013-10-22 12:54:32 -07:00
LionTurtle
3b464094d9 Remove magic numbers, fix spacing, and other code clean up in nudge code. 2013-09-10 11:09:50 -07:00
LionTurtle
ac878c9c63 UI for nudge completed! 2013-09-09 16:53:31 -07:00
LionTurtle
d965789812 Switching nudge to cut/paste implementation. Preliminary. 2013-09-06 11:40:35 -07:00
LionTurtle
59943dc2e8 Merge branch 'nudge'
Conflicts:
	interface/src/Menu.cpp
	libraries/voxels/src/VoxelTree.h
2013-09-05 17:58:39 -07:00
LionTurtle
868ef8bec6 Add VoxelNudgeMode and preliminary UI grid for nudging. 2013-09-05 17:42:25 -07:00
Andrzej Kapolka
2cff4b6b3a "Laser pointer" for transmitter. 2013-08-22 17:09:23 -07:00
Mark Peng
1790b0595c Render other avatar's lookat to point at my camera if the other avatar
is looking at my head.
2013-08-05 14:26:39 -07:00
Philip Rosedale
b9a8d6080e Render world box goes out to edge of world. 2013-08-02 15:43:37 -07:00
Mark Peng
9ba0e3bb0c Add reference lines to mouse voxel when adding/deleting voxels. 2013-08-01 13:03:17 -07:00
Mark Peng
0bbea078b5 Merge remote-tracking branch 'upstream/master' 2013-07-17 13:52:46 -07:00
Mark Peng
5ffe3fa4b4 Rendering of indicator circle in 3D space. Spacing edits in util. 2013-07-17 13:52:05 -07:00