{"action":"created","issue":{"url":"https://api.github.com/repos/AnalyticalGraphicsInc/cesium/issues/6934","repository_url":"https://api.github.com/repos/AnalyticalGraphicsInc/cesium","labels_url":"https://api.github.com/repos/AnalyticalGraphicsInc/cesium/issues/6934/labels{/name}","comments_url":"https://api.github.com/repos/AnalyticalGraphicsInc/cesium/issues/6934/comments","events_url":"https://api.github.com/repos/AnalyticalGraphicsInc/cesium/issues/6934/events","html_url":"https://github.com/AnalyticalGraphicsInc/cesium/pull/6934","id":351763076,"node_id":"MDExOlB1bGxSZXF1ZXN0MjA5Mjc2MDIx","number":6934,"title":"Clamping to 3D Tiles","user":{"login":"lilleyse","id":915398,"node_id":"MDQ6VXNlcjkxNTM5OA==","avatar_url":"https://avatars2.githubusercontent.com/u/915398?v=4","gravatar_id":"","url":"https://api.github.com/users/lilleyse","html_url":"https://github.com/lilleyse","followers_url":"https://api.github.com/users/lilleyse/followers","following_url":"https://api.github.com/users/lilleyse/following{/other_user}","gists_url":"https://api.github.com/users/lilleyse/gists{/gist_id}","starred_url":"https://api.github.com/users/lilleyse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lilleyse/subscriptions","organizations_url":"https://api.github.com/users/lilleyse/orgs","repos_url":"https://api.github.com/users/lilleyse/repos","events_url":"https://api.github.com/users/lilleyse/events{/privacy}","received_events_url":"https://api.github.com/users/lilleyse/received_events","type":"User","site_admin":false},"labels":[{"id":14745816,"node_id":"MDU6TGFiZWwxNDc0NTgxNg==","url":"https://api.github.com/repos/AnalyticalGraphicsInc/cesium/labels/priority%20-%20next%20release","name":"priority - next release","color":"e99695","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":13,"created_at":"2018-08-17T23:01:51Z","updated_at":"2018-09-25T20:54:34Z","closed_at":null,"author_association":"CONTRIBUTOR","pull_request":{"url":"https://api.github.com/repos/AnalyticalGraphicsInc/cesium/pulls/6934","html_url":"https://github.com/AnalyticalGraphicsInc/cesium/pull/6934","diff_url":"https://github.com/AnalyticalGraphicsInc/cesium/pull/6934.diff","patch_url":"https://github.com/AnalyticalGraphicsInc/cesium/pull/6934.patch"},"body":"![steps](https://user-images.githubusercontent.com/915398/44291408-21052680-a24c-11e8-8a76-151730093983.gif)\r\n\r\nFixes https://github.com/AnalyticalGraphicsInc/cesium/issues/6080\r\n\r\nThis adds support for sampling the height of geometry in the scene at a given position. The most common use case for this is to clamp objects to 3D Tiles. Unlike `pick`, `pickPosition`, and others this approach works mostly independent of the current camera view.\r\n\r\nAdded to the public API:\r\n* `scene.sampleHeight` - takes a cartographic position and returns a height.\r\n\r\nPrivate functions that will have lots of use in the future\r\n* `scene.pickFromRay`\r\n* `scene.pickPositionFromRay`\r\n* `scene.drillPickFromRay`\r\n* `scene.drillPickPositionFromRay`\r\n\r\nUnderlying this `Scene.js` now has a concept of Views where each view contains framebuffers, command lists, cameras, and viewports specific to that view. The pick-ray functions uses a view with a 1x1 orthographic camera.\r\n\r\nWhile working on this I've been thinking a lot about how we might eventually support multiple views on the same screen. I think this PR brings us like 50% there but there is still a lot of work to do. `drawingBufferWidth/Height` is hard coded almost everywhere...\r\n\r\nFor reviewing I recommend reading the commits in order. I did a bunch of cleanup as I tried to fully wrap my head around `Scene.js`. A lot of the log depth changes were added so that derived commands would not thrash when going between rendering the scene with log depth and then rendering the 1x1 orthographic pass.\r\n\r\nTo do:\r\n* [x] Remove `Clamp To Tileset` development demo\r\n* [x] Create Sandcastle demo\r\n* [x] Specs\r\n* [x] A lot of manual testing\r\n\r\nAfter:\r\n* [ ] Update any links that reference `Ground%20Clamping.html`\r\n\r\nLater PR:\r\n* [ ] `sampleHeight` working for offscreen 3D Tiles and globe\r\n* [ ] 2D and CV support\r\n* [ ] More log depth thrashing fixes - depth plane, post processing (?), ellipsoids\r\n"},"comment":{"url":"https://api.github.com/repos/AnalyticalGraphicsInc/cesium/issues/comments/424498112","html_url":"https://github.com/AnalyticalGraphicsInc/cesium/pull/6934#issuecomment-424498112","issue_url":"https://api.github.com/repos/AnalyticalGraphicsInc/cesium/issues/6934","id":424498112,"node_id":"MDEyOklzc3VlQ29tbWVudDQyNDQ5ODExMg==","user":{"login":"hpinkos","id":3451886,"node_id":"MDQ6VXNlcjM0NTE4ODY=","avatar_url":"https://avatars3.githubusercontent.com/u/3451886?v=4","gravatar_id":"","url":"https://api.github.com/users/hpinkos","html_url":"https://github.com/hpinkos","followers_url":"https://api.github.com/users/hpinkos/followers","following_url":"https://api.github.com/users/hpinkos/following{/other_user}","gists_url":"https://api.github.com/users/hpinkos/gists{/gist_id}","starred_url":"https://api.github.com/users/hpinkos/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hpinkos/subscriptions","organizations_url":"https://api.github.com/users/hpinkos/orgs","repos_url":"https://api.github.com/users/hpinkos/repos","events_url":"https://api.github.com/users/hpinkos/events{/privacy}","received_events_url":"https://api.github.com/users/hpinkos/received_events","type":"User","site_admin":false},"created_at":"2018-09-25T20:54:34Z","updated_at":"2018-09-25T20:54:34Z","author_association":"CONTRIBUTOR","body":"@lilleyse I would like to wait for the next release to merge this in.  This is a pretty big change to be merging in at the last minute.  Is there any reason it has to make this release?"}}
{"actor":{"display_login":"hpinkos"}}