Commit graph

112 commits

Author SHA1 Message Date
Yann Lanthony
72cd60fd0a [ui] AlembicLoader: use 'skipHidden' to avoid loading unreconstructed cams 2018-12-10 15:13:26 +01:00
Yann Lanthony
c3750a33c3 [ui] Inspector3D: add media contextual menu
Contextual menu to expose additional actions:
 * open media containing folder
 * copy media path
 * advanced manual control over media (un)loading
+ fix MediaLibrary to avoid binding loop on 'visible' when directly modifying 'request' property
2018-12-10 15:13:26 +01:00
Yann Lanthony
272cd24fb9 [ui] Viewer3D: Inspector3D cleanup
* Define 2 groups: "Settings" and "Scene"
* Settings
    * add camera scale slider control
    * move rendering modes back to an independent overlay outside the inspector
* Scene
    * add button to control visibility of media info
2018-12-10 15:13:25 +01:00
Yann Lanthony
fc857d5dc8 [ui] Viewer3D: add 'cameraScale' parameter to drive camera locator size 2018-12-07 16:07:43 +01:00
Yann Lanthony
2f307c16fb [ui] Viewer3D: synchronize media list and graph hover/selection
* ease bidirectional navigation between 3D media list and graph
* use same mechanism to indicate selected/hovered elements
* remove 'frame' button (space gain + action available on double click)
2018-12-07 16:07:42 +01:00
Yann Lanthony
2e06ad1b83 [ui] 3DViewer: make 'visible' property drive media load request
* remove the notion of manual media (un)loading from high-level UI
* visibility button now drives media loading:
   * if media is not available (not yet computed), it will be loaded once available if visibility is on
   * once loaded, media can't be explicitly unloaded 
* use an icon to indicate that the media is not available instead of colors
2018-12-07 16:07:41 +01:00
Yann Lanthony
97fcdf67bf [ui] Viewer3D: multi 3D media support
* use new media loading backend through MediaLibrary
* Inspector3D: new overlay UI that displays and allows to manipulate MediaLibrary content
2018-12-07 16:07:41 +01:00
Yann Lanthony
e35076ef97 [ui] Viewer3D: improved frame graph
* enable PrimitivePicking to enable picking on point clouds
* use OnDemand render policy
* activate FrustrumCulling + increase far plane
* add management of rasterized OpenGL points via a PointSize render
2018-12-07 15:57:58 +01:00
Yann Lanthony
e5fa9f1087 [ui] Viewer3D: centralize render modes model in Viewer3DSettings 2018-12-07 15:57:57 +01:00
Yann Lanthony
109b980ae5 [ui] Viewer3D: introduce new 3D media loading backend
This commit adds several components to centralize and extend 3D media loading. They are not yet integrated into Viewer3D. The entry point to this system is the MediaLibrary component that:
    * can load N medias based on a filepath or load-and-watch node attributes
    * provides a cache mechanism to instant-reload medias that were unloaded under certain conditions
    * gives access to statistics (vertex/face/camera/textureCount) through a unified interface
2018-12-07 15:57:57 +01:00
Yann Lanthony
f6365c5607 [ui] Viewer3D: fix wrong keyboard modifier state
Keyboard Actions are never deactivated when focus is lost, leading to picking being enabled on a single click when Control was pressed in the 3D viewer and focus was lost to another Item.
* keep track of focus loss inside the DefaultCameraController
* use it to disable picking while Keyboard has not been pressed back in the 3D viewer
* do the same for 'moving' state with Alt modifier
2018-12-07 15:54:46 +01:00
Yann Lanthony
7415c1d391 [ui] split 2D and 3D viewers into separate modules
+ remove historical MayaCameraController
2018-11-23 14:26:57 +01:00