Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: CesiumGS/cesium
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: b9db20e9d56c3b01f56304a51e5440e2b16a5159
Choose a base ref
...
head repository: CesiumGS/cesium
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 9f43e81832fd90a4d3e6b67f6b168b6131bf7ce6
Choose a head ref
Loading
Showing with 1,897 additions and 341 deletions.
  1. +0 −28 .github/ISSUE_TEMPLATE/bug_report.md
  2. +50 −0 .github/ISSUE_TEMPLATE/bug_report.yaml
  3. +0 −14 .github/ISSUE_TEMPLATE/feature_request.md
  4. +20 −0 .github/ISSUE_TEMPLATE/feature_request.yaml
  5. +0 −6 .github/ISSUE_TEMPLATE/question.md
  6. +15 −0 .github/ISSUE_TEMPLATE/question.yaml
  7. +35 −0 .github/pull_request_template.md
  8. +3 −2 .github/workflows/prod.yml
  9. +5 −5 Apps/Sandcastle/gallery/{3D Tiles Next CDB Yemen.html → 3D Tiles 1.1 CDB Yemen.html}
  10. BIN Apps/Sandcastle/gallery/{3D Tiles Next CDB Yemen.jpg → 3D Tiles 1.1 CDB Yemen.jpg}
  11. +8 −8 ... Tiles Next Photogrammetry Classification.html → 3D Tiles 1.1 Photogrammetry Classification.html}
  12. BIN ...3D Tiles Next Photogrammetry Classification.jpg → 3D Tiles 1.1 Photogrammetry Classification.jpg}
  13. +1 −1 Apps/Sandcastle/gallery/3D Tiles 1.1 Photogrammetry.html
  14. +3 −3 Apps/Sandcastle/gallery/{3D Tiles Next S2 Globe.html → 3D Tiles 1.1 S2 Globe.html}
  15. BIN Apps/Sandcastle/gallery/{3D Tiles Next S2 Globe.jpg → 3D Tiles 1.1 S2 Globe.jpg}
  16. +154 −0 Apps/Sandcastle/gallery/3D Tiles Vertical Exaggeration.html
  17. BIN Apps/Sandcastle/gallery/3D Tiles Vertical Exaggeration.jpg
  18. +166 −0 Apps/Sandcastle/gallery/Bing Maps Labels Only.html
  19. BIN Apps/Sandcastle/gallery/Bing Maps Labels Only.jpg
  20. +1 −1 Apps/Sandcastle/gallery/Custom Shaders 3D Tiles.html
  21. +2 −2 Apps/Sandcastle/gallery/Custom Shaders Models.html
  22. +2 −2 Apps/Sandcastle/gallery/Custom Shaders Property Textures.html
  23. +1 −1 Apps/Sandcastle/gallery/Cylinders and Cones.html
  24. +8 −8 Apps/Sandcastle/gallery/Terrain Exaggeration.html
  25. +19 −1 CHANGES.md
  26. +1 −2 CONTRIBUTING.md
  27. +1 −0 CONTRIBUTORS.md
  28. +1 −1 Documentation/Contributors/CodeReviewGuide/README.md
  29. +20 −36 Documentation/Contributors/CodingGuide/README.md
  30. +6 −5 Documentation/Contributors/DocumentationGuide/README.md
  31. +2 −2 Documentation/Contributors/PerformanceTestingGuide/README.md
  32. +2 −2 Specs/createFrameState.js
  33. +6 −10 index.cjs
  34. +6 −6 package.json
  35. +45 −0 packages/engine/Source/Core/Ellipsoid.js
  36. +1 −1 packages/engine/Source/Core/Ion.js
  37. +6 −2 packages/engine/Source/Core/Quaternion.js
  38. +2 −4 packages/engine/Source/Core/RectangleOutlineGeometry.js
  39. +3 −9 packages/engine/Source/Core/RequestScheduler.js
  40. +2 −2 packages/engine/Source/Core/TerrainEncoding.js
  41. +0 −49 packages/engine/Source/Core/TerrainExaggeration.js
  42. +69 −0 packages/engine/Source/Core/VerticalExaggeration.js
  43. +53 −0 packages/engine/Source/Renderer/AutomaticUniforms.js
  44. +119 −1 packages/engine/Source/Renderer/UniformState.js
  45. +122 −10 packages/engine/Source/Scene/Cesium3DTile.js
  46. +4 −4 packages/engine/Source/Scene/FrameState.js
  47. +66 −19 packages/engine/Source/Scene/Globe.js
  48. +4 −4 packages/engine/Source/Scene/GlobeSurfaceTile.js
  49. +21 −21 packages/engine/Source/Scene/GlobeSurfaceTileProvider.js
  50. +5 −5 packages/engine/Source/Scene/GroundPrimitive.js
  51. +3 −3 packages/engine/Source/Scene/ImageryLayer.js
  52. +2 −2 packages/engine/Source/Scene/MapboxImageryProvider.js
  53. +1 −1 packages/engine/Source/Scene/Megatexture.js
  54. +11 −0 packages/engine/Source/Scene/Model/Model.js
  55. +6 −0 packages/engine/Source/Scene/Model/ModelRuntimePrimitive.js
  56. +60 −0 packages/engine/Source/Scene/Model/VerticalExaggerationPipelineStage.js
  57. +28 −3 packages/engine/Source/Scene/Scene.js
  58. +12 −19 packages/engine/Source/Scene/ScreenSpaceCameraController.js
  59. +2 −2 packages/engine/Source/Scene/TerrainFillMesh.js
  60. +1 −1 packages/engine/Source/Scene/TileOrientedBoundingBox.js
  61. +73 −2 packages/engine/Source/Scene/VoxelPrimitive.js
  62. +3 −3 packages/engine/Source/Shaders/GlobeVS.glsl
  63. +4 −0 packages/engine/Source/Shaders/Model/ModelVS.glsl
  64. +39 −0 packages/engine/Source/Shaders/Model/VerticalExaggerationStageVS.glsl
  65. +46 −3 packages/engine/Specs/Core/EllipsoidSpec.js
  66. +5 −1 packages/engine/Specs/Core/GoogleEarthEnterpriseTerrainProviderSpec.js
  67. +11 −2 packages/engine/Specs/Core/QuaternionSpec.js
  68. +2 −2 packages/engine/Specs/Core/TerrainEncodingSpec.js
  69. +126 −0 packages/engine/Specs/Core/VerticalExaggerationSpec.js
  70. +2 −4 packages/engine/Specs/DataSources/EntityClusterSpec.js
  71. +48 −0 packages/engine/Specs/Renderer/AutomaticUniformSpec.js
  72. +167 −3 packages/engine/Specs/Scene/Cesium3DTileSpec.js
  73. +58 −0 packages/engine/Specs/Scene/GlobeSurfaceTileProviderSpec.js
  74. +26 −0 packages/engine/Specs/Scene/Model/ModelRuntimePrimitiveSpec.js
  75. +24 −5 packages/engine/Specs/Scene/Model/ModelSpec.js
  76. +57 −0 packages/engine/Specs/Scene/Model/VerticalExaggerationPipelineStageSpec.js
  77. +2 −2 packages/engine/Specs/Scene/QuadtreePrimitiveSpec.js
  78. +13 −0 packages/engine/Specs/Scene/SceneSpec.js
  79. +2 −3 packages/engine/Specs/Scene/ScreenSpaceCameraControllerSpec.js
  80. +1 −1 packages/engine/package.json
  81. +2 −2 packages/widgets/package.json
28 changes: 0 additions & 28 deletions .github/ISSUE_TEMPLATE/bug_report.md

This file was deleted.

50 changes: 50 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
name: Report a bug
description: Let us know so we can fix it!
labels: ["needs triage", "type - bug"]
body:
- type: markdown
attributes:
value: |
Thanks for helping us improve CesiumJS! Please describe what the expected behavior is vs what actually happens.
- type: textarea
id: what-happened
attributes:
label: What happened?
description: Also tell us, what did you expect to happen?
validations:
required: true
- type: textarea
id: repro
attributes:
label: Reproduction steps
description: "How do you trigger this bug? Please walk us through it step by step."
value: |
1.
2.
3.
...
- type: input
id: sandcastle
attributes:
label: Sandcastle example
description: Creating a Sandcastle example (https://sandcastle.cesium.com) that reproduces the issue helps us a lot in tracking down bugs. Paste the link you get from the "Share" button in Sandcastle below.
placeholder: ex. https://sandcastle.cesium.com/...
validations:
required: false
- type: textarea
id: environment
attributes:
label: Environment
description: What Browsers, OS, and CesiumJS version are you experiencing this issue on?
value: |
Browser:
CesiumJS Version:
Operating System:
- type: markdown
attributes:
value: |
If you can also contribute a fix, we'd absolutely appreciate it! Fixing a bug in CesiumJS often means fixing a bug for thousands of applications and millions of end users.
Check out the contributor guide to get started: [CONTRIBUTING.md](https://github.com/CesiumGS/cesium/blob/main/CONTRIBUTING.md)
Just let us know you're working on it and we'd be happy to provide advice and feedback.
14 changes: 0 additions & 14 deletions .github/ISSUE_TEMPLATE/feature_request.md

This file was deleted.

20 changes: 20 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
name: Request a feature
description: New ideas & improvements to CesiumJS are always welcome.
labels: ["needs triage", "type - enhancement"]
body:
- type: markdown
attributes:
value: |
Thanks for helping make CesiumJS better!
When suggesting an idea, give examples of the intended use case. Features that benefit the wider community are more likely to be prioritized.
- type: textarea
id: new-feature
attributes:
label: Feature
validations:
required: true
- type: markdown
attributes:
value: |
The best way to get your ideas into CesiumJS is to help us! We love contributions and are always happy to be provide feedback and advice. Check out the contributor guide to get started: [CONTRIBUTING.md](https://github.com/CesiumGS/cesium/blob/main/CONTRIBUTING.md)
6 changes: 0 additions & 6 deletions .github/ISSUE_TEMPLATE/question.md

This file was deleted.

15 changes: 15 additions & 0 deletions .github/ISSUE_TEMPLATE/question.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
name: Ask a question
description: Please use the community forum (https://community.cesium.com/) for general questions about using CesiumJS.
labels: ["needs triage"]
body:
- type: markdown
attributes:
value: |
:exclamation: Please use the [community forum](https://community.cesium.com/) for asking questions about how to use CesiumJS and best practices. The core CesiumJS team actively monitors the forum and we love seeing what people are working on! :exclamation:
- type: checkboxes
id: verify
attributes:
label: Verification
description: Confirm you will ask your question on our forums linked above
options:
- label: "Yes"
35 changes: 35 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
<!--
Thanks for the Pull Request!
Please review [Contribution Guide](https://github.com/CesiumGS/cesium/blob/main/CONTRIBUTING.md) before opening your first Pull Request.
To ensure your Pull Request is reviewed and accepted quickly, please refer to our [Pull Request Guidelines](https://github.com/CesiumGS/cesium/blob/main/CONTRIBUTING.md#pull-request-guidelines).
-->

# Description

<!-- Describe your changes in detail -->

<!-- Consider: Why is this change required? What problem does it solve? -->

<!-- Include screenshots if appropriate -->

## Issue number and link

<!-- If it fixes an open issue, link to the issue here -->

<!-- Consider: If suggesting a new feature or change, discuss it in an issue first. -->

## Testing plan

<!-- Describe in detail how you tested your changes. If this fixes a bug, list the steps to reproduce the original issue. -->

# Author checklist

- [ ] I have submitted a Contributor License Agreement
- [ ] I have added my name to `CONTRIBUTORS.md`
- [ ] I have updated `CHANGES.md` with a short summary of my change
- [ ] I have added or updated unit tests to ensure consistent code coverage
- [ ] I have update the inline documentation, and included code examples where relevant
- [ ] I have performed a self-review of my code
5 changes: 3 additions & 2 deletions .github/workflows/prod.yml
Original file line number Diff line number Diff line change
@@ -46,8 +46,9 @@ jobs:
- name: deploy to cesium.com
if: ${{ env.AWS_ACCESS_KEY_ID != '' }}
run: |
unzip Cesium-$(cat package.json | jq -r '.version').zip -d Build/release/ -x "Apps"
aws s3 sync Build/release/ s3://cesium-website/cesiumjs/releases/$(cat package.json | jq -r '.version')/ --cache-control "public, max-age=1800" --delete
curl -LO $(curl https://api.github.com/repos/CesiumGS/cesium/releases/latest -H "Authorization: ${GITHUB_TOKEN}" | jq -r '.assets[0].browser_download_url')
unzip Cesium-$(cat package.json | jq -r '.version' | sed 's/\.0$//').zip -d Build/release/ -x "Apps"
aws s3 sync Build/release/ s3://cesium-website/cesiumjs/releases/$(cat package.json | jq -r '.version' | sed 's/\.0$//')/ --cache-control "public, max-age=1800" --delete
aws s3 sync Build/Documentation/ s3://cesium-website/cesiumjs/ref-doc/ --cache-control "public, max-age=1800" --delete
aws s3 sync Build/CesiumViewer/ s3://cesium-website/cesiumjs/cesium-viewer/ --cache-control "public, max-age=1800" --delete
aws s3 sync Build/Sandcastle/ s3://cesium-sandcastle-website/ --cache-control "public, max-age=1800" --delete
Original file line number Diff line number Diff line change
@@ -9,9 +9,9 @@
/>
<meta
name="description"
content="Load a 3D Tile Next tileset converted from CDB."
content="Load a 3D Tiles 1.1 tileset converted from CDB."
/>
<meta name="cesium-sandcastle-labels" content="3D Tiles Next" />
<meta name="cesium-sandcastle-labels" content="3D Tiles" />
<title>Cesium Demo</title>
<script type="text/javascript" src="../Sandcastle-header.js"></script>
<script
@@ -383,13 +383,13 @@
}

try {
// 3D Tiles Next converted from CDB of Aden, Yemen (CDB provided by Presagis)
// 3D Tiles 1.1 converted from CDB of Aden, Yemen (CDB provided by Presagis)
const terrainTileset = await Cesium.Cesium3DTileset.fromIonAssetId(
667809
2389063
);
viewer.scene.primitives.add(terrainTileset);
const buildingsTileset = await Cesium.Cesium3DTileset.fromIonAssetId(
666747,
2389064,
{
maximumScreenSpaceError: 12,
}
Original file line number Diff line number Diff line change
@@ -11,7 +11,7 @@
name="description"
content="Load a photogrammetry dataset with feature ID textures from EXT_mesh_features."
/>
<meta name="cesium-sandcastle-labels" content="3D Tiles Next" />
<meta name="cesium-sandcastle-labels" content="3D Tiles" />
<title>Cesium Demo</title>
<script type="text/javascript" src="../Sandcastle-header.js"></script>
<script
@@ -65,7 +65,7 @@

let tileset;
try {
tileset = await Cesium.Cesium3DTileset.fromIonAssetId(775877);
tileset = await Cesium.Cesium3DTileset.fromIonAssetId(2333904);

const translation = new Cesium.Cartesian3(
-1.398521324920626,
@@ -120,10 +120,10 @@
const int PILLARS = 9;
const int STREET_LIGHT = 10;
const int TRAFFIC_LIGHT = 11;
void fragmentMain(FragmentInput fsInput, inout czm_modelMaterial material) {
int featureId = fsInput.featureIds.featureId_0;
if (featureId == CLOCK) {
// Shiny brass
material.specular = vec3(0.98, 0.90, 0.59);
@@ -169,7 +169,7 @@
const int NOTHING_SELECTED = 12;
void fragmentMain(FragmentInput fsInput, inout czm_modelMaterial material) {
int featureId = fsInput.featureIds.featureId_0;
if (u_selectedFeature < NOTHING_SELECTED && featureId == u_selectedFeature) {
material.specular = vec3(1.00, 0.85, 0.57);
material.roughness = 0.1;
@@ -193,16 +193,16 @@
const vec3 PURPLE = vec3(0.5, 0.0, 1.0);
const vec3 YELLOW = vec3(1.0, 1.0, 0.0);
const vec3 NO_TINT = vec3(1.0);
void fragmentMain(FragmentInput fsInput, inout czm_modelMaterial material) {
int featureId0 = fsInput.featureIds.featureId_0; // fine features
int featureId1 = fsInput.featureIds.featureId_1; // coarse features
// use both feature ID sets to determine where the features are
float isWindow = float(featureId0 == IDS0_WINDOW);
float isFacade = float(featureId1 == IDS1_FACADE);
float isRoof = float(featureId1 == IDS1_ROOF);
// Tint the roof windows yellow and facade windows purple
vec3 tint = NO_TINT;
tint = mix(tint, YELLOW, isWindow * isRoof);
2 changes: 1 addition & 1 deletion Apps/Sandcastle/gallery/3D Tiles 1.1 Photogrammetry.html
Original file line number Diff line number Diff line change
@@ -12,7 +12,7 @@
name="description"
content="Performance comparison of photogrammetry using 3D Tiles 1.0 vs 3D Tiles 1.1 with KTX2 texture compression. Most notably, KTX2 textures provide significant GPU memory savings"
/>
<meta name="cesium-sandcastle-labels" content="3D Tiles Next" />
<meta name="cesium-sandcastle-labels" content="3D Tiles" />
<title>3D Tiles 1.1 Photogrammetry</title>
<script type="text/javascript" src="../Sandcastle-header.js"></script>
<script
Original file line number Diff line number Diff line change
@@ -9,9 +9,9 @@
/>
<meta
name="description"
content="Load a global scale 3D Tiles Next tileset that uses 3DTILES_bounding_volume_S2."
content="Load a global scale 3D Tiles 1.1 tileset that uses 3DTILES_bounding_volume_S2."
/>
<meta name="cesium-sandcastle-labels" content="3D Tiles Next" />
<meta name="cesium-sandcastle-labels" content="3D Tiles" />
<title>Cesium Demo</title>
<script type="text/javascript" src="../Sandcastle-header.js"></script>
<script
@@ -77,7 +77,7 @@
let tileset;
try {
// MAXAR OWT WFF 1.2 Base Globe
tileset = await Cesium.Cesium3DTileset.fromIonAssetId(691510, {
tileset = await Cesium.Cesium3DTileset.fromIonAssetId(1208297, {
maximumScreenSpaceError: 4,
});
scene.primitives.add(tileset);
Loading