Commit graph

203 commits

Author SHA1 Message Date
Sam Gondelman
4e7818180b Merge branch 'master' into tabletLayer2 2017-08-24 17:56:44 -07:00
SamGondelman
4a49801217 web overlays and entities are always nonAA 2017-08-24 14:23:21 -07:00
Brad Davis
e817d3ced4 Threaded rendering & entity rendering refactor 2017-08-24 13:34:34 -07:00
Brad Davis
86e3489167 Updates from Threaded Rendering project 2017-08-04 15:22:14 -07:00
Brad Davis
4439de240a Trying to fix QtQml/QtScript crashes 2017-06-22 16:39:57 -07:00
Brad Davis
fece438602 Cleanup and refactoring 2017-06-15 18:58:56 -07:00
Bradley Austin Davis
995fe11c05 Migrate to single QML engine 2017-06-05 15:14:44 -07:00
Atlante45
ad16a935e9 Texture::create returns shared pointer 2017-04-25 15:56:23 -07:00
kunalgosar
19ab7526d3 apply profile to relevant entities 2017-04-04 11:54:21 -07:00
Bradley Austin Davis
efad7da508 Merge remote-tracking branch 'upstream/master' into HEAD 2017-03-03 08:59:24 -08:00
Stephen Birarda
8562a294fa cleanup some extra spacing 2017-02-28 13:24:41 -08:00
Stephen Birarda
80af749b69 change max FPS for youtube on URL change 2017-02-27 11:09:17 -08:00
Stephen Birarda
d18936ea18 only force youtube web entities to 30 FPS 2017-02-27 09:44:34 -08:00
Stephen Birarda
2ceb3d85bd increase max renderable web entity FPS to 30 2017-02-27 09:33:49 -08:00
Bradley Austin Davis
7fb7aa87eb Working on new texture management strategy 2017-02-17 07:53:16 -08: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
Seth Alves
c317ba8054 merge from upstream 2017-01-25 15:57:53 -08:00
Stephen Birarda
a8118e83ff cleanup debug for safe web entity URLs 2017-01-23 13:54:43 -08:00
Seth Alves
c958314918 merge from upstream 2017-01-23 13:52:01 -08:00
Stephen Birarda
d7651e9838 move value sanitizing to WebEntityItem 2017-01-23 11:45:21 -08:00
Stephen Birarda
99e0c8c0e7 use fromUserInput in web entity URL set to avoid crashable URLs 2017-01-23 11:37:54 -08:00
Anthony J. Thibault
0860c50a49 Allow Hifi.SoundEffect to be used in all qml
Including webEntities, webOverlays and the system tablet.
We might want to add this to enable spatial sound effects for the web keyboard.
2017-01-06 14:01:13 -08:00
Anthony J. Thibault
3c2f9acd39 Hooked up EventBridge to TabletScriptingInterface. 2017-01-03 15:43:21 -08:00
Anthony J. Thibault
00980366d6 Merge branch 'master' into tablet-ui 2017-01-03 09:45:23 -08:00
Anthony J. Thibault
01a96347a5 Updated Web3dOverlay.cpp to work with TabletRoot.qml 2016-12-20 14:40:29 -08:00
Anthony J. Thibault
ec38c4e319 Merge remote-tracking branch 'upstream/tablet-ui' into tablet-ui 2016-12-20 13:43:06 -08:00
Anthony J. Thibault
84db58dbc6 Make tablet.qml work on Web3DOverlay 2016-12-20 12:16:11 -08:00
David Rowe
e85bc50333 Tidying 2016-12-20 07:38:25 -08:00
Brad Hefta-Gaub
c65471e880 Merge branch 'master' of https://github.com/highfidelity/hifi into removeLogSpam
Conflicts:
	libraries/script-engine/src/FileScriptingInterface.cpp
2016-12-19 22:27:24 -08:00
Brad Hefta-Gaub
dbbed462b4 cleanup naked qDebug() calls 2016-12-19 22:24:25 -08:00
Anthony J. Thibault
a791ddcc22 Tablet can switch to a web url.
Help button has been updated to switch to the help.html.  It doesn't look good because
the content was authored expecting landscape window, not portrait.

The API is by no means final.  But it exposes two methods to JS.

* Tablet.gotoHomeScreen() - Used to forcefully go back to the home tablet "springboard", eventually this will
  hooked up to the tablet button.
* Tablet.gotoWebScreen(url) - Causes the tablet to switch from the home "springboard" and load a web url.

tabletTest.js and help.js have been updated to use this functionality.
2016-12-19 17:52:19 -08:00
Anthony J. Thibault
856791c11d Made TabletRoot.qml the main tablet qml file.
This file uses a Loader node to load, Tablet.qml.
2016-12-19 15:15:16 -08:00
Anthony J. Thibault
5d1ccfbccc Tablet#removeButton now works properly 2016-12-15 15:49:37 -08:00
Anthony J. Thibault
d2c4417b24 Hook up Help button to the new Tablet interface 2016-12-14 17:05:47 -08:00
Anthony J. Thibault
d4f9d21ce8 Pass tablet QQuickItem to TabletScriptingInterface
Also, moved TabletScriptingInterface to script-engine library for easy access, baby.
2016-12-14 14:04:48 -08:00
Seth Alves
819e3dc41d remove some unneeded html special-casing 2016-12-09 10:18:30 -08:00
Seth Alves
6c99b5e9ca code review 2016-12-09 06:50:10 -08:00
Seth Alves
369f61e172 bring over some previous tablet-ui work 2016-12-08 16:54:39 -08:00
Anthony J. Thibault
319bb9ce78 Prototype of Tablet.qml hacked to appear on ALL web entities. 2016-12-08 15:31:00 -08:00
David Rowe
71de106594 Tidying 2016-12-04 15:14:47 +13:00
Anthony J. Thibault
066ddad25a Reduced MAX_CONCURRENT_WEB_VIEWS from 100 to 20. 2016-11-16 09:39:55 -08:00
Anthony J. Thibault
eb401c125a Bug fix for blank webEntities during long sessions
In prolonged sessions _currentWebCount would reach MAX_CONCURRENT_WEB_VIEWS and prevent new webEntities from being properly created and initialized.

The _currentWebCount inside of RenderableWebEntityItem would become inflated when buildWebSurface is called without a currentContext.
The early return did not properly take this into account.  Instead we move the increment after the early return and right before the _webSurface is actually created.
2016-11-14 18:01:47 -08:00
Seth Alves
3ad748cfe2 Merge branch 'master' of github.com:highfidelity/hifi into possible-fix-for-2068 2016-10-28 16:41:39 -07:00
Zach Pomerantz
be23668ca8 delete websurfaces on shutdown 2016-10-28 14:29:52 -07:00
Seth Alves
e15043754c Merge branch 'master' of github.com:highfidelity/hifi into possible-fix-for-2068 2016-10-28 11:36:09 -07:00
Anthony J. Thibault
1fc310434e Fix for crash in QtWebEngineCore when rapidly switching domains
Call stop on the QWebEngineView before destroying OffscreenQMLSurface.
2016-10-27 18:55:24 -07:00
Seth Alves
f47aeae2a7 stop passing bare pointers to EntityTreeRenderer all around 2016-10-27 10:10:22 -07:00
Brad Davis
9523660027 Fix offscreen QML texture leak, improve texture sharing for same size surfaces 2016-10-20 11:55:25 -07:00
Brad Hefta-Gaub
bf732127ca Merge pull request #8856 from jherico/geometry_ids
Remove the use of implicit ids in geometry cache
2016-10-20 08:14:49 -07:00
Brad Davis
2705ee7030 Remove the use of implicit ids in geometry cache 2016-10-19 11:18:25 -07:00
Brad Davis
61e5e2861e Rate limit QML web surfaces 2016-10-18 19:29:11 -07:00
David Rowe
e269a84d0e Add placeholder "FIXME"s for making Web entity keyboard HMD-only 2016-10-13 09:35:39 +13:00
Anthony J. Thibault
e76a7fc577 Crash fix for RenderableWebEntityItem::buildWebSurface
Gracefully handle the absence of a gl context.  We will continue to retry every render call.
2016-10-10 13:57:54 -07:00
David Rowe
1a745094e2 Merge branch 'master' into 21055
Conflicts:
	libraries/entities-renderer/src/RenderableWebEntityItem.cpp
	libraries/gl/src/gl/OffscreenQmlSurface.h
2016-10-06 09:29:09 +13:00
Brad Davis
8c5028158f Fix crash on destroying web entities and overlays 2016-10-03 18:02:21 -07:00
Brad Davis
ca3572f991 Support external GL textures with proper fencing 2016-10-03 17:09:10 -07:00
David Rowe
caf1a93354 Merge branch 'master' into 21055
Conflicts:
	libraries/entities-renderer/src/RenderableWebEntityItem.cpp
2016-10-04 10:51:14 +13:00
Anthony Thibault
a79485f8c2 Fix for crash bug in web entities
Guard against nullptrs in RenderableWebEntitItem and WebEntityAPIHelper.
These pointers can go null if the webEntity is deleted on the main thread.
Also, the backing offscreen qml surface can be destroyed if the webEntity has not been rendered for 30 seconds
due to frustum culling.
2016-10-01 13:43:49 -07:00
Seth Alves
dc5e63c4f1 re-enable web entity-items on linux 2016-09-22 10:25:26 -07:00
Seth Alves
dd39d46883 fold WebEntityAPIHelper members into OffscreenQmlSurface 2016-09-09 13:41:09 -07:00
Seth Alves
123ac541ea started to move WebEntityAPIHelper from RenderableWebEntityItem to OffscreenQmlSurface 2016-09-09 11:31:48 -07:00
Seth Alves
02dba2fe49 started to move WebEntityAPIHelper from RenderableWebEntityItem to OffscreenQmlSurface 2016-09-09 11:23:37 -07:00
Seth Alves
ef8c2a2888 started to move WebEntityAPIHelper from RenderableWebEntityItem to OffscreenQmlSurface 2016-09-09 10:46:54 -07:00
Anthony J. Thibault
594640f8b4 coding standard fixes 2016-09-08 11:53:23 -07:00
Anthony J. Thibault
ebb4c0990b Removed local copy of qtwebchannel.js, use qt resource version instead 2016-09-07 17:14:33 -07:00
Anthony J. Thibault
41e0b8732f fix for occasional crash when deleting web entity 2016-09-07 10:59:16 -07:00
Anthony J. Thibault
774509ba9e Changed punctuation button to &123 2016-09-06 17:41:56 -07:00
Anthony J. Thibault
28162915fd Re-styled keyboard, now with working shift key 2016-09-06 15:21:58 -07:00
Anthony J. Thibault
9122a33fff only raise the webEntity virtual keyboard in HMD mode 2016-09-02 16:53:40 -07:00
Anthony J. Thibault
a54c3bf8c0 support for backspace, carriage return, space and period. 2016-09-02 16:23:46 -07:00
Anthony J. Thibault
3d5e8fc213 First pass of keyboard raising and lowering 2016-09-02 12:15:30 -07:00
Anthony J. Thibault
21bf931559 eventBridge for web entities. 2016-09-01 16:32:06 -07:00
Anthony J. Thibault
823420ae0a Working web entity keyboard
* Missing many keys
* Does not dynamically appear and disappear
2016-08-31 17:57:13 -07:00
Anthony J. Thibault
2c5bdecca9 Bug fix for touch event crash in qt.
This was due to a missing touchDevice().
Also, touch events work for non-full screen qml widgets.
2016-08-31 11:11:49 -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
Anthony J. Thibault
b2dff8aa77 Easier to click buttons on web entities with shaky hand controllers
There is an angular and time dead spot on webEntity for scrolling vs clicking.
Currently, it's 150 ms and 3 degrees.  See POINTER_PRESS_TO_MOVE_DELAY and POINTER_PRESS_TO_MOVE_DEADSPOT_ANGLE

* Fix for warnings when clicking on window.open() links in WebEntity
2016-08-23 10:19:49 -07:00
Anthony J. Thibault
d607abc8f7 Add dpi to edit.js
Also, cap the maximum webEntity texture size to 4096
2016-08-23 10:10:27 -07:00
Anthony J. Thibault
6704ae9ad4 Added dpi parameter to userData (this is temporary) 2016-08-23 10:09:17 -07:00
Anthony J. Thibault
c407818d63 send pointer events from handControllerGrab.js to webEntities 2016-08-16 15:26:14 -07:00
Anthony J. Thibault
1be434342b Work In Progress snapshot
* Added new PointerEvent type.
* Mouse events are still sent from Application to EntityTreeRenderer, however, EntityTreeRenderer converts them to PointerEvents
* All outgoing signals from EntityTreeRenderer use PointerEvents instead of MouseEvents
* Associated JavaScript entity methods will receive PointerEvents instead of MouseEvents
* Events from handControllerGrab.js to entities are currently broken.
2016-08-12 17:11:59 -07:00
Anthony J. Thibault
8dac45c99e Merge branch 'master' into feature/hand-controller-web-entity-integration 2016-08-10 11:27:21 -07:00
SamGondelman
36d9f92101 performance optimization to minimize calling usecTimestampNow 2016-08-09 13:10:02 -07:00
SamGondelman
b13edc7b6a fixed web fade fo' real 2016-08-05 10:48:09 -07:00
SamGondelman
3107d63ad8 one more warning 2016-08-04 14:31:44 -07:00
SamGondelman
b6e73e06a2 merge from master 2016-08-04 13:34:38 -07:00
SamGondelman
ac9a80131a refactoring _fadeStartTime and isTransparent, make simple renderables switch to transparent when fade finishes 2016-08-04 12:34:46 -07:00
SamGondelman
7713c1f4bf try to fade in web entities 2016-08-03 15:56:41 -07:00
SamGondelman
2eb0c7735f working on fading shape entities 2016-08-03 13:30:05 -07:00
Anthony J. Thibault
75b88b0794 WebEntities now support custom hifi url handling
WebEntities now use qml/controls/WebView.qml instead of qml/WebEntity.qml.
marketplace urls and hifi urls should work properly in web entities.
2016-08-03 10:20:15 -07:00
Anthony J. Thibault
6d768d8327 hand controllers send touch events instead of mouse events to web entities
This gives a much better experience when scrolling web content.
2016-08-02 15:23:46 -07:00
Anthony Thibault
cf7450beb7 handControllerGrab and web entity input integration 2016-07-29 17:50:45 -07:00
Anthony Thibault
8e3bc97ef9 fix for unused variable warnings 2016-07-29 08:10:10 -07:00
Anthony Thibault
ea310bcc43 Web Entities now render correctly as well 2016-07-28 14:11:19 -07:00
Brad Davis
cc85ce9c01 fix crash on click on non-visible web-entity 2016-06-02 16:37:45 -07:00
samcake
1ec9ef560e Fixing the srgb color format conversion for web entities 2016-05-11 10:46:54 -07:00
Seth Alves
cb523a3a71 disable webSurface differently 2016-05-05 16:01:05 -07:00
Seth Alves
b5a3baf322 Merge branch 'master' of github.com:highfidelity/hifi into linux-qol 2016-05-05 15:55:37 -07:00
Andrew Meadows
b5ad989811 more optimized uses of EntityItem::getDimensions() 2016-04-27 11:04:22 -07:00
Seth Alves
c9df446879 web-entities don't yet work right on Linux 2016-04-24 08:15:10 -07:00
Zach Pomerantz
ad9027f9d6 Log OffscreenQml lifetime 2016-03-29 15:26:22 -07:00