Commit graph

149 commits

Author SHA1 Message Date
Brad Davis
6a06bf405a Merge remote-tracking branch 'upstream/master' into android 2018-01-16 18:24:44 -08:00
humbletim
08ccda9cfc rename libraries/model(src/model) -> libraries/graphics(src/graphics) 2018-01-16 12:44:44 -05:00
Sam Gateau
d6e771f01d Adding the batch as aprameter to the custom pipeline register to be able to make program through a call to runLamda in order to perform the make call in the present thread where the gl context is valid 2018-01-13 10:02:53 -08:00
Olivier Prat
bd666406f4 Removed glColor reset hack in MeshPartPayload and replaced it by a reset of the color attribute to white in the execution of the setInputFormat command of the various GLBackends 2017-12-19 14:17:17 +01:00
LaShonda Hopper
226d51b8f5 [WL21389] Fix scaling issue when computing hull point list (details below).
The entity dimensions should be scaled by 1 as opposed to 0.5.

Changes Committed:
    modified:   interface/src/Util.cpp
    modified:   libraries/render-utils/src/GeometryCache.cpp
    modified:   libraries/render-utils/src/GeometryCache.h
2017-10-24 14:16:25 -04:00
LaShonda Hopper
070660eb04 [WL21389] Switch to _positionView & filter dupe verts for ShapeInfo (details below).
* Adjusts GeometryCache::computeSimpleHullPointListForShape to utilize
  ShapeData::_positionView as opposed to _normalView.
** Also filters out duplicate points or points close enough to be considered
   duplicate vertices.  This provides ShapeFactory with better point data
   and should reduce hits to the dedupe pass within createConvexHull.

Tested:
* Octagon & Tetrahedron
** They looked better than the prior commit, behaved closer to their shape as opposed
   to cone or narrow cylinder like.

Note:
* These changes are based on debug info observations using the Octagon and
  discussion with Andrew Meadows via Slack & https://github.com/highfidelity/hifi/pull/11336#pullrequestreview-69939120

Changes Committed:
    modified:   libraries/render-utils/src/GeometryCache.cpp
    modified:   libraries/render-utils/src/GeometryCache.h
2017-10-24 14:16:25 -04:00
LaShonda Hopper
7f9ce5a4cd [WL21389][BuildFix] Minor refactor due to render-utils lib change (details below).
As of Commit b93e91b9, render-utils no longer knows about entity lib.
This commit adjusts for that by altering the signature of
GeometryCache::computeSimpleHullPointListForShape to take in portions
of ShapeEntityItem data as opposed to the entity pointer.

Fixes build failure mentioned in:
 https://github.com/highfidelity/hifi/pull/11336#issuecomment-333635794

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

Changes Committed:
	modified:   interface/src/Util.cpp
	modified:   libraries/render-utils/src/GeometryCache.cpp
	modified:   libraries/render-utils/src/GeometryCache.h
2017-10-24 14:16:23 -04:00
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
Andrew Meadows
026195223a more correct use of BufferView in GeometryCache 2017-10-10 17:02:26 -07:00
SamGondelman
f68a588323 rename isAA isAntiAliased 2017-09-13 10:24:10 -07:00
SamGondelman
1b85a453ab working on text3d overlays and entities 2017-09-12 16:49:51 -07:00
SamGondelman
4a49801217 web overlays and entities are always nonAA 2017-08-24 14:23:21 -07:00
SamGondelman
e4c954e862 merge from master 2017-08-10 16:30:33 -07:00
SamGondelman
353a3e8c68 properly fix AA stenciling 2017-08-10 16:07:40 -07:00
SamGondelman
96b179386f working on fixing non-AA overlays 2017-08-10 16:07:40 -07: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
f8b2ffe359 Removed transparency on fading shapes 2017-07-17 15:06:32 +02:00
Olivier Prat
1b8696fdda First draft of custom pipeline on geometry cache 2017-07-13 17:09:49 +02:00
Olivier Prat
06d69d04c3 TransitionStage + FadeJob compiling but not linked to entity events 2017-07-07 18:22:11 +02: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
Olivier Prat
24d45e0f5b Updated from upstream master because of change of protocol 2017-06-13 10:43:25 +02:00
Olivier Prat
20d4fcbbc7 Fixed fading on skinned objects. Added initialiazeShapePipelines on GeometryCache to postpone simple pipeline creation after initializeGL 2017-06-08 09:24:12 +02:00
Liv
fee26c3976 Remove not yet implemented comment from Cone shape 2017-05-25 13:12:08 -07:00
Liv
417d9ec80b Surface cylinder option for primitive shape to html 2017-05-25 11:04:25 -07:00
Anthony J. Thibault
39d68828ab Disable FXAA on tablet overlay in desktop mode.
This introduces the "isAA" property to 3d overlays. When false, the overlay is rendered after
the "Antialiasing" render pass.  Ironically, disabling FXAA makes the text more readable, which is
essential in 2D desktop mode.

Two new shaders were introduced.

simple_opaque_web_browser_overlay.slf
simple_transparent_web_browser_overlay.slf

These are tailored to write into the main framebuffer instead of the g-buffer.
2017-01-30 11:24:59 -08:00
Brad Davis
3074be7ad0 Glow line replacement without geometry shader 2016-11-18 17:42:55 -08:00
Brad Davis
2705ee7030 Remove the use of implicit ids in geometry cache 2016-10-19 11:18:25 -07:00
Brad Davis
dde79ef3c5 Fix GPU buffer leak in geometry cache / overlays 2016-10-17 12:22:20 -07:00
Anthony J. Thibault
e82f6a90af Improved web entity rendering
* fading now works properly
* web browsers are now fully opaque.
2016-08-25 11:04:23 -07:00
SamGondelman
b6e73e06a2 merge from master 2016-08-04 13:34:38 -07:00
SamGondelman
2eb0c7735f working on fading shape entities 2016-08-03 13:30:05 -07:00
Anthony Thibault
ea310bcc43 Web Entities now render correctly as well 2016-07-28 14:11:19 -07:00
Anthony Thibault
6b8e912114 Fix for mac and linux builds 2016-07-28 10:02:19 -07:00
Anthony J. Thibault
fb84f058d6 Fix alpha cut-outs and incorrect gamma on Web3DOverlays 2016-07-25 15:56:05 -07:00
Brad Davis
03cb6175ab Support triangle and hexagon shapes, add shape support to overlays. 2016-07-15 22:02:17 -07:00
Andrew Meadows
f6681d4b3d remove unused cruft 2016-07-13 15:00:12 -07:00
Brad Davis
31948bce2d Support alpha and color gradients in circle overlays 2016-07-09 20:43:30 -07:00
Brad Davis
8ca3630cfa Support glow effect in 3D line overlays 2016-07-07 13:36:48 -07:00
Brad Davis
b7926b8582 Don't render wire geometry with lighting effects 2016-06-30 16:11:05 -07:00
Brad Davis
2c02c963d4 Moving shape definition to a shared location 2016-05-26 12:22:39 -07:00
Brad Davis
2c703e963c More shapes 2016-05-22 19:48:59 -07:00
Brad Davis
cd1e910844 Add a generic shape primitive 2016-05-21 23:46:44 -07:00
samcake
1ec9ef560e Fixing the srgb color format conversion for web entities 2016-05-11 10:46:54 -07:00
Zach Pomerantz
fd6aa9a78b Add layering to renderGrid, draw edit grid not layered 2016-02-19 13:57:32 -08:00
Zach Pomerantz
9daefbdb94 Fix grid antialiasing 2016-02-19 11:39:11 -08:00
Zach Pomerantz
07a5c7bd16 Update grid shader for major/minor lines 2016-02-19 11:22:01 -08:00
Zach Pomerantz
2d1c676a8b Add qHash for Vec2FloatPair 2016-02-18 16:17:24 -08:00
Zach Pomerantz
2bfbf1b5fd Reimplement renderGrid to use frag shader 2016-02-18 11:30:03 -08:00
Zach Pomerantz
1d2acbe47e Bring GeometryCache render*Instance up to standard 2016-02-08 13:28:14 -08:00
Zach Pomerantz
d9132f3973 Clean up geometry instanced calls 2016-02-05 11:22:45 -08:00