Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

3D Tiles in 2D/CV #4884

Merged
merged 15 commits into from
Jan 25, 2017
Merged

3D Tiles in 2D/CV #4884

merged 15 commits into from
Jan 25, 2017

Conversation

bagnell
Copy link
Contributor

@bagnell bagnell commented Jan 18, 2017

Add 3D Tiles support for 2D and Columbus View.

The majority of this change was for models using RTC or are positioned in ECF (model matrix is identity). I'll open a PR for those changes in master. @lilleyse Can you create two simple glTF models from the tilesets you made for me for testing?

  • Add tests.

@lilleyse
Copy link
Contributor

Contains local, ecef, quantized, and rtc:

models.zip

@pjcozzi pjcozzi mentioned this pull request Jan 19, 2017
53 tasks
@pjcozzi
Copy link
Contributor

pjcozzi commented Jan 19, 2017

Add tests.

There's also some new selection/visibility failures in this branch.

@@ -30,7 +30,6 @@
//Sandcastle_Begin

var viewer = new Cesium.Viewer('cesiumContainer', {
scene3DOnly : true,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remove this from the other 3D Tiles Sandcastle examples.

@pjcozzi
Copy link
Contributor

pjcozzi commented Jan 19, 2017

Uncaught DeveloperError: normalized result is not a number
Error
    at new DeveloperError (http://localhost:8080/Source/Core/DeveloperError.js:44:19)
    at Function.Cartesian3.normalize (http://localhost:8080/Source/Core/Cartesian3.js:422:19)
    at PerspectiveOffCenterFrustum.computeCullingVolume (http://localhost:8080/Source/Scene/PerspectiveOffCenterFrustum.js:221:20)
    at getPickPerspectiveCullingVolume (http://localhost:8080/Source/Scene/Scene.js:2544:26)
    at getPickCullingVolume (http://localhost:8080/Source/Scene/Scene.js:2552:16)
    at Scene.pick (http://localhost:8080/Source/Scene/Scene.js:2593:36)
    at <anonymous>:171:31
    at handleMouseMove (http://localhost:8080/Source/Core/ScreenSpaceEventHandler.js:253:13)
    at handlePointerMove (http://localhost:8080/Source/Core/ScreenSpaceEventHandler.js:649:13)
    at HTMLCanvasElement.listener (http://localhost:8080/Source/Core/ScreenSpaceEventHandler.js:68:13) (on line 422 of http://localhost:8080/Source/Core/Cartesian3.js)
[Color]: Visited: 1, Selected: 1, Commands: 0 | Requests: 0, Attempted: 0, Processing: 0, Content Ready: 5, Total: 5 | Tiles styled: 0, Features styled: 0
Uncaught DeveloperError: normalized result is not a number
Error
    at new DeveloperError (http://localhost:8080/Source/Core/DeveloperError.js:44:19)
    at Function.Cartesian3.normalize (http://localhost:8080/Source/Core/Cartesian3.js:422:19)
    at PerspectiveOffCenterFrustum.computeCullingVolume (http://localhost:8080/Source/Scene/PerspectiveOffCenterFrustum.js:221:20)
    at getPickPerspectiveCullingVolume (http://localhost:8080/Source/Scene/Scene.js:2544:26)
    at getPickCullingVolume (http://localhost:8080/Source/Scene/Scene.js:2552:16)
    at Scene.pick (http://localhost:8080/Source/Scene/Scene.js:2593:36)
    at <anonymous>:171:31
    at handleMouseMove (http://localhost:8080/Source/Core/ScreenSpaceEventHandler.js:253:13)
    at handlePointerMove (http://localhost:8080/Source/Core/ScreenSpaceEventHandler.js:649:13)
    at HTMLCanvasElement.listener (http://localhost:8080/Source/Core/ScreenSpaceEventHandler.js:68:13) (on line 422 of http://localhost:8080/Source/Core/Cartesian3.js)
Uncaught DeveloperError: normalized result is not a number
Error
    at new DeveloperError (http://localhost:8080/Source/Core/DeveloperError.js:44:19)
    at Function.Cartesian3.normalize (http://localhost:8080/Source/Core/Cartesian3.js:422:19)
    at PerspectiveOffCenterFrustum.computeCullingVolume (http://localhost:8080/Source/Scene/PerspectiveOffCenterFrustum.js:221:20)
    at getPickPerspectiveCullingVolume (http://localhost:8080/Source/Scene/Scene.js:2544:26)
    at getPickCullingVolume (http://localhost:8080/Source/Scene/Scene.js:2552:16)
    at Scene.pick (http://localhost:8080/Source/Scene/Scene.js:2593:36)
    at <anonymous>:171:31
    at handleMouseMove (http://localhost:8080/Source/Core/ScreenSpaceEventHandler.js:253:13)
    at handlePointerMove (http://localhost:8080/Source/Core/ScreenSpaceEventHandler.js:649:13)
    at HTMLCanvasElement.listener (http://localhost:8080/Source/Core/ScreenSpaceEventHandler.js:68:13) (on line 422 of http://localhost:8080/Source/Core/Cartesian3.js)
Uncaught DeveloperError: normalized result is not a number
Error
    at new DeveloperError (http://localhost:8080/Source/Core/DeveloperError.js:44:19)
    at Function.Cartesian3.normalize (http://localhost:8080/Source/Core/Cartesian3.js:422:19)
    at PerspectiveOffCenterFrustum.computeCullingVolume (http://localhost:8080/Source/Scene/PerspectiveOffCenterFrustum.js:221:20)
    at getPickPerspectiveCullingVolume (http://localhost:8080/Source/Scene/Scene.js:2544:26)
    at getPickCullingVolume (http://localhost:8080/Source/Scene/Scene.js:2552:16)
    at Scene.pick (http://localhost:8080/Source/Scene/Scene.js:2593:36)
    at <anonymous>:171:31
    at handleMouseMove (http://localhost:8080/Source/Core/ScreenSpaceEventHandler.js:253:13)
    at handlePointerMove (http://localhost:8080/Source/Core/ScreenSpaceEventHandler.js:649:13)
    at HTMLCanvasElement.listener (http://localhost:8080/Source/Core/ScreenSpaceEventHandler.js:68:13) (on line 422 of http://localhost:8080/Source/Core/Cartesian3.js)

@pjcozzi
Copy link
Contributor

pjcozzi commented Jan 19, 2017

image

@pjcozzi pjcozzi mentioned this pull request Jan 19, 2017
@pjcozzi
Copy link
Contributor

pjcozzi commented Jan 19, 2017

Part of #3241

@pjcozzi
Copy link
Contributor

pjcozzi commented Jan 19, 2017

The 3D Tiles Batch Table Hierarchy example works in 2D, but not in CV.

@pjcozzi
Copy link
Contributor

pjcozzi commented Jan 19, 2017

The 3D Tiles Point Cloud Styling example only works in 3D; the tileset does not show up in 2D or CV.

@pjcozzi
Copy link
Contributor

pjcozzi commented Jan 19, 2017

@pmconne - keep an eye on progress here for 3D Tiles in 2D and Columbus View.

var sseDenominator = camera.frustum.sseDenominator;
error = (geometricError * height) / (distance * sseDenominator);

if (tileset.dynamicScreenSpaceError) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we still account for this in CV? What about 2D?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think it would make sense in 2D. Maybe CV, but we don't have fog in CV either.

@pjcozzi
Copy link
Contributor

pjcozzi commented Jan 19, 2017

@bagnell it would be good to test this with a massive tileset and make sure 2D uses the SSE to not load too many tiles.

@pjcozzi
Copy link
Contributor

pjcozzi commented Jan 19, 2017

Just those comments, good start @bagnell.

@lilleyse
Copy link
Contributor

Here are some updated models:
gltfs.zip

@bagnell
Copy link
Contributor Author

bagnell commented Jan 24, 2017

This is ready for another look. I still need to add tests, but all of the issues mentioned should be fixed.

@pjcozzi
Copy link
Contributor

pjcozzi commented Jan 25, 2017

@bagnell is this 100% ready since tests where added in 1f70717?

@bagnell
Copy link
Contributor Author

bagnell commented Jan 25, 2017

Yes, the rest of the tests are in #4922.

@pjcozzi
Copy link
Contributor

pjcozzi commented Jan 25, 2017

In the 3D Tiles Batch Table Hierarchy example:

  • Switch to 2D then back to 3D.
  • The follow exception shows up in the console:
Uncaught DeveloperError: normalized result is not a number
Error
    at new DeveloperError (http://localhost:8080/Source/Core/DeveloperError.js:44:19)
    at Function.Cartesian3.normalize (http://localhost:8080/Source/Core/Cartesian3.js:422:19)
    at PerspectiveOffCenterFrustum.computeCullingVolume (http://localhost:8080/Source/Scene/PerspectiveOffCenterFrustum.js:221:20)
    at getPickPerspectiveCullingVolume (http://localhost:8080/Source/Scene/Scene.js:2544:26)
    at getPickCullingVolume (http://localhost:8080/Source/Scene/Scene.js:2552:16)
    at Scene.pick (http://localhost:8080/Source/Scene/Scene.js:2593:36)
    at <anonymous>:211:31
    at handleMouseMove (http://localhost:8080/Source/Core/ScreenSpaceEventHandler.js:253:13)
    at handlePointerMove (http://localhost:8080/Source/Core/ScreenSpaceEventHandler.js:649:13)
    at HTMLCanvasElement.listener (http://localhost:8080/Source/Core/ScreenSpaceEventHandler.js:68:13) (on line 422 of http://localhost:8080/Source/Core/Cartesian3.js)
Uncaught DeveloperError: normalized result is not a number
Error
    at new DeveloperError (http://localhost:8080/Source/Core/DeveloperError.js:44:19)
    at Function.Cartesian3.normalize (http://localhost:8080/Source/Core/Cartesian3.js:422:19)
    at PerspectiveOffCenterFrustum.computeCullingVolume (http://localhost:8080/Source/Scene/PerspectiveOffCenterFrustum.js:221:20)
    at getPickPerspectiveCullingVolume (http://localhost:8080/Source/Scene/Scene.js:2544:26)
    at getPickCullingVolume (http://localhost:8080/Source/Scene/Scene.js:2552:16)
    at Scene.pick (http://localhost:8080/Source/Scene/Scene.js:2593:36)
    at <anonymous>:211:31
    at handleMouseMove (http://localhost:8080/Source/Core/ScreenSpaceEventHandler.js:253:13)
    at handlePointerMove (http://localhost:8080/Source/Core/ScreenSpaceEventHandler.js:649:13)
    at HTMLCanvasElement.listener (http://localhost:8080/Source/Core/ScreenSpaceEventHandler.js:68:13) (on line 422 of http://localhost:8080/Source/Core/Cartesian3.js)

@pjcozzi
Copy link
Contributor

pjcozzi commented Jan 25, 2017

In the 3D Tiles Sandcastle example, the "Instanced" tileset does not show up in 2D and CV.

@pjcozzi
Copy link
Contributor

pjcozzi commented Jan 25, 2017

Just those two issues.

@bagnell
Copy link
Contributor Author

bagnell commented Jan 25, 2017

@pjcozzi This is ready.

@pjcozzi
Copy link
Contributor

pjcozzi commented Jan 25, 2017

Looks good!

@pjcozzi pjcozzi merged commit 8919284 into 3d-tiles Jan 25, 2017
@pjcozzi pjcozzi deleted the 3d-tiles-2d branch January 25, 2017 22:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants