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

Initial WebXR display support for Scene #11372

Open
wants to merge 587 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
587 commits
Select commit Hold shift + click to select a range
ffa47e3
Remove destroyed PolylineCollection from Scene #7758
rropp5 Nov 21, 2023
4b901c5
Do not destroy primitives that are already destroyed
rropp5 Nov 21, 2023
05f1a0d
Update CHANGES.md with PolylineCollection destroy fixes
rropp5 Dec 14, 2023
5c56445
Fix links in CHANGES.md
rropp5 Dec 14, 2023
09aff00
Update CONTRIBUTORS.md
ggetz Dec 15, 2023
5a3b30f
Distinct PolylineCollections for each CustomDataSource
rropp5 Dec 16, 2023
fdc3d90
Update CHANGES.md
rropp5 Dec 16, 2023
b496cfc
Revert "Remove destroyed PolylineCollection from Scene #7758"
rropp5 Dec 16, 2023
49f91bd
Revert "Do not destroy primitives that are already destroyed"
rropp5 Dec 16, 2023
17a0cd4
Update CHANGES.md
rropp5 Dec 16, 2023
a17e936
run prettier
ggetz Jan 16, 2024
7447ba6
Removed unnecessary tileset JSON file
javagl Jan 16, 2024
afea2ed
Add newline at end of file
javagl Jan 16, 2024
81ef6fa
update transform docs from north to east
jaredwebber Jan 18, 2024
bb887a4
log changes
jaredwebber Jan 18, 2024
9187efb
Set up scaffolding for FogPipelineStage
ptrgags Dec 7, 2023
96fd3c7
Add atmosphere settings to FrameState and UniformState
ptrgags Dec 7, 2023
2d5ae05
Make builtins for common atmosphere functions
ptrgags Dec 18, 2023
b9e3c65
Get a barebones atmosphere shader compiling
ptrgags Dec 18, 2023
aa350ac
Create Atmosphere object to propagate uniforms
ptrgags Dec 18, 2023
9bb2cda
Fix typos in uniform names
ptrgags Dec 18, 2023
1adb0cc
Temporary debugging code
ptrgags Dec 20, 2023
54b81a8
Use scene.fog to choose when fog stage is enabled
ptrgags Dec 20, 2023
540b08a
Add a DynamicAtmosphereLightingType enum
ptrgags Dec 20, 2023
ac27507
Document curvature directions in more detail
ptrgags Jan 4, 2024
d3b2e5b
Use a different method to compute the world position
ptrgags Jan 4, 2024
444ebe4
Add unit test for Atmosphere
ptrgags Jan 5, 2024
c11b32f
Add unit tests for automatic uniforms
ptrgags Jan 5, 2024
f30a475
Fix and update unit tests for ModelRuntimePrimitive
ptrgags Jan 5, 2024
bc86dd0
Implement the other method for computing the ellipsoid position
ptrgags Jan 8, 2024
86475de
Experiment with different ellipsoid calculations
ptrgags Jan 8, 2024
50415bf
Remove temporary debugging code
ptrgags Jan 8, 2024
c591dd9
Have scene.atmosphere work when globe is off
ptrgags Jan 8, 2024
9cf8231
darken dynamic lighting
ptrgags Jan 9, 2024
893d34a
Remove dead function
ptrgags Jan 9, 2024
648391d
Remove debugging code
ptrgags Jan 9, 2024
5cac5b9
Fix typo
ptrgags Jan 9, 2024
008e7e8
Use common function for SkyAtmosphere
ptrgags Jan 9, 2024
167b74e
Remove debugging code
ptrgags Jan 9, 2024
a7bcfe3
Remove unneeded file
ptrgags Jan 9, 2024
d55aa7a
Add a uniform for whether the tile is in fog
ptrgags Jan 9, 2024
27505da
remove debugging code
ptrgags Jan 9, 2024
9eeb6ad
Scattering is to be computed in the vertex shader
ptrgags Jan 9, 2024
63ace31
Apply HSB shift
ptrgags Jan 9, 2024
d93a7f8
Fix model matrix spec
ptrgags Jan 10, 2024
af33b88
Async-ify model matrix update stage
ptrgags Jan 10, 2024
7cd4a63
Move pipeline stage specs to ModelSceneGraph
ptrgags Jan 10, 2024
2fbde7b
fix auto imports
ptrgags Jan 10, 2024
91171ff
Add test for czm_fogMinimumBrightness
ptrgags Jan 10, 2024
cfa18b0
Add specs for FogPipelineStage
ptrgags Jan 10, 2024
1272f25
async-ify model scene graph tests
ptrgags Jan 10, 2024
a4cb11b
Update documentation
ptrgags Jan 10, 2024
a9f3c28
Add specs for DynamicAtmosphereLightingType
ptrgags Jan 10, 2024
cf4c20e
Rename FogPipelineStage -> AtmospherePipelineStage
ptrgags Jan 10, 2024
b061715
add render tests for model fog
ptrgags Jan 11, 2024
886f2ce
Fix atmosphere pipeline specs
ptrgags Jan 11, 2024
7b23aed
Update changelog
ptrgags Jan 11, 2024
85e61fe
Update documentation based on PR feedback
ptrgags Jan 11, 2024
e203af3
Add missing JSDoc tags
ptrgags Jan 11, 2024
bc11b7f
Mark specs as requiring WebGL
ptrgags Jan 11, 2024
f1ec1b9
Reset atmosphere after each render test
ptrgags Jan 11, 2024
e2889c4
Add a separate bullet for adding scene.atmosphere
ptrgags Jan 11, 2024
bac694d
Don't mock in AtmospherePipelineStageSpec
ptrgags Jan 11, 2024
d95b7c4
address PR feedback
ptrgags Jan 16, 2024
889d01b
add ignoreBlackPixels option to czm_applyHSBShift
ptrgags Jan 18, 2024
9bb660c
use czm_tanh()
ptrgags Jan 18, 2024
b18c283
Store the Atmosphere in the FrameState directly
ptrgags Jan 18, 2024
075cefb
Fix automatic uniform specs
ptrgags Jan 18, 2024
2c3cdfd
Fix sky atmosphere
ptrgags Jan 18, 2024
9b70d59
Update unit tests
ptrgags Jan 18, 2024
a4efdf0
Fix Cesium3DTileset.from... documentation
javagl Jan 20, 2024
71e6cf4
Use valid version for spec unrelated to version
javagl Jan 20, 2024
7df647f
Remove private information from isDynamic documentation
javagl Jan 20, 2024
a6d20e4
Fix error type of EntityCollection.add
javagl Jan 20, 2024
0021d4f
Fix documentation of Entity orientation and viewFrom
javagl Jan 20, 2024
09b25a3
swap node internal packages out for fetch
jjspace Jan 18, 2024
ac10912
remove externals from build scripts
jjspace Jan 19, 2024
62b3184
pr comments
jjspace Jan 22, 2024
8132601
add changes doc
jjspace Jan 22, 2024
d8b4483
Update CHANGES.md
javagl Jan 22, 2024
7e17f52
[FIX] Added undefined as union type fo contrainedAxis
Jan 21, 2024
2c3fe33
Update CHANGES.md
ggetz Jan 23, 2024
1c25e3e
Remove obsolete workarounds in SceneSpec
Jan 25, 2024
605162f
fix: fixes geometry displacement on iOS #7100
Jan 25, 2024
9780329
Update CONTRIBUTORS.md
p-skakun Jan 25, 2024
b1b929e
Add comment for fix, entry to `CHANGES.md` and fix formatting.
p-skakun Jan 26, 2024
496e4e5
use code instead of keyCode
jjspace Jan 29, 2024
1931d05
Fix demodernizeShader to preserve parameter qualifiers
Jan 31, 2024
01ea7da
Update CHANGES.md
Jan 31, 2024
c0c67ad
Fix #11787
ggetz Jan 29, 2024
cfa08bb
Remove dead code
ggetz Jan 29, 2024
807c638
add createWorldBathymetryAsync function
jjspace Jan 29, 2024
1a7089d
add test
jjspace Jan 29, 2024
5c6a407
update changes.md
jjspace Jan 29, 2024
8672729
comment changes
jjspace Jan 30, 2024
b064ba3
remove water mask option
jjspace Jan 30, 2024
818ac37
update the right function
jjspace Jan 30, 2024
7077505
Remove PolygonGeometry.computeRectangle
Jan 31, 2024
ac34fc1
Update npm dependencies
Jan 31, 2024
87c3469
Update zip.js dependency
Jan 31, 2024
3790c96
Fix markdown linting issues
Jan 31, 2024
c229896
Add height references for 3D tiles
ggetz Nov 3, 2023
a928512
Tweak API, fix unit tests
ggetz Dec 14, 2023
c0cb9ab
Update Sandcastle
ggetz Dec 14, 2023
cd2397a
Update model specs
ggetz Jan 4, 2024
61a5ec4
Error -> DevloperError
ggetz Jan 4, 2024
eb6ba9e
Fix performance issue
ggetz Jan 16, 2024
2f7feb2
PR feedback
ggetz Jan 16, 2024
12a6f4f
Update packages/engine/Source/Scene/Cesium3DTileset.js
ggetz Jan 17, 2024
2da3bf9
Update packages/engine/Source/Scene/Scene.js
ggetz Jan 17, 2024
4b9cd60
Fix comments
ggetz Jan 17, 2024
4eba876
Cleanup
ggetz Jan 19, 2024
fd57795
Update packages/engine/Source/Scene/Cesium3DTileset.js
ggetz Jan 17, 2024
bd9233e
Fix spec
ggetz Jan 31, 2024
a7dd242
Update approximateTerrainHeight.json
ggetz Jan 30, 2024
9f58edb
update spec and changes.md
jjspace Feb 1, 2024
c03e30a
Fix failing specs
Feb 1, 2024
a9d88b4
Updates for 1.114 release
Feb 1, 2024
7976b52
Update ThirdParty.json
Feb 1, 2024
eb0d03c
add missing sandcastle thumbnails, resize existing large ones
jjspace Feb 1, 2024
b027cf2
change question template to contact link
jjspace Feb 2, 2024
20f9fe8
update description
jjspace Feb 2, 2024
8f7ac31
Add link to release guide
ggetz Feb 5, 2024
1686236
Update CONTRIBUTORS.md
siddheshranade Feb 5, 2024
e6809ce
Handle lost context in SceneSpec
Feb 6, 2024
586aaa3
Handle bad Cartesian data sooner
Feb 6, 2024
14003d2
Fix webgl stub for isContextLost check
Feb 7, 2024
b824afb
Use new scene for each test in SceneSpec
Feb 7, 2024
f5f29b1
Fix Camera.flyHome in 2D on Firefox
Feb 7, 2024
b240b3e
Eliminate duplicate createScene calls
Feb 7, 2024
778f64b
Use async/await in SceneSpec
Feb 7, 2024
1c65703
Fix axis conversion matrix definitions
javagl Feb 12, 2024
a7c387b
Update gltf-pipeline files
javagl Feb 12, 2024
51a15a7
Update CHANGES.md
javagl Feb 13, 2024
aa6116b
Adjust defaults for 3D Tiles collisions
ggetz Feb 14, 2024
a680ff6
Default parameter
ggetz Feb 14, 2024
d2bd693
Update power plant tileset asset ID
lilleyse Feb 17, 2024
ce40b31
Simplify and document VoxelTraversal helper functions
Jan 2, 2024
769954a
Minor cleanup in picking code
Jan 7, 2024
044a58f
Find traversal tiles by megatextureId
Jan 7, 2024
8f8f5a7
Keep voxel metadata in memory for picking
Jan 7, 2024
371e857
Fix VoxelTraversal specs
Jan 8, 2024
86b4874
Add VoxelPicking and VoxelPickFramebuffer
Jan 10, 2024
36be100
WIP: begin implementing voxel picking pass
Jan 13, 2024
6725806
Return tile and sample index from Scene.pickVoxel
Jan 23, 2024
0bb2e42
Remove VoxelPickFramebuffer and VoxelPicking
Jan 24, 2024
f0233c5
Fix voxel indices calculation
Jan 24, 2024
f5c635f
PR feedback
Jan 22, 2024
1ec7b76
Add spec for VoxelTraversal.findKeyframeNode
Jan 22, 2024
a54de12
Fix VoxelTraversalSpec
Jan 24, 2024
c27f01c
Move voxel coordinate picking to private method
Jan 24, 2024
a97d733
Clarify picking-related comments
Jan 25, 2024
4f96bc7
Update async syntax in PickingSpec
Jan 25, 2024
2220646
Add spec for Scene._pickVoxelCoordinate
Jan 25, 2024
eeae8a7
Add VoxelCell class and Scene.pickVoxel method
Jan 27, 2024
88a636c
Add specs for voxel picking, refactor private methods
Jan 31, 2024
8eb9c03
PR feedback round 2
Jan 26, 2024
1f200cd
PR feedback round 1
Feb 6, 2024
b393ade
Add default matcher for pickVoxel specs
Feb 8, 2024
a5e0bba
Add voxel tile and sample indices to FragmentInput struct
Feb 6, 2024
b650728
Expose tile bounding box from VoxelCell
Feb 6, 2024
bd797b0
Expose sample bounding box from VoxelCell
Feb 7, 2024
caedb96
Add VoxelCell.fromKeyframeNode factory function
Feb 7, 2024
04d1ef1
Update processVoxelPropertiesSpec
Feb 7, 2024
7806d26
Add specs for VoxelShape computeOrientedBoundingBoxForSample methods
Feb 9, 2024
379fe67
Add VoxelCellSpec
Feb 9, 2024
bdad4bb
Return early from pickVoxel if tile has been discarded
Feb 13, 2024
c63e52e
PR feedback round 3
Feb 13, 2024
316c536
Update CHANGES.md
Feb 13, 2024
43ecd86
PR feedback round 4
Feb 19, 2024
cf9d0ac
Updated Viewer.destory to check for screenSpaceEventHandler
huffmantayler Feb 19, 2024
4f2062c
Updated contributors
huffmantayler Feb 19, 2024
093833c
Updated destroy function with recommended check of screenSpaceEventHa…
huffmantayler Feb 19, 2024
4ecc59d
Updated changes.md
huffmantayler Feb 19, 2024
8f27163
Update CHANGES.md
ggetz Feb 19, 2024
eeb8b3f
Pull out voxel longitude calculations
Feb 15, 2024
b1594b9
Consolidate longitude ranges in voxel intersections
Feb 15, 2024
9f77b97
Consolidate voxel longitude and latitude ranges
Feb 16, 2024
9a2958b
Assume minimum height in VoxelEllipsoidShape
Feb 16, 2024
f9b120e
Simplify handling of thin cylindrical voxels
Feb 16, 2024
69dc19a
Simplify height bounds in VoxelEllipsoidShape
Feb 19, 2024
864ed35
Clarify logic in voxel longitude intersections
Feb 21, 2024
6d792a7
Attempting a fix for empty tile refinement issues.
weegeekps Feb 20, 2024
681fc02
Removed a line of dead code.
weegeekps Feb 20, 2024
9c1163d
Code review changes.
weegeekps Feb 20, 2024
f8315bc
Adjust specs, update CHANGES.md
ggetz Feb 21, 2024
495c07c
Removed the checks for empty leaves
weegeekps Feb 21, 2024
8df9e86
updating Camera.changed to account for changes in roll
malaretv Feb 21, 2024
9451e6d
Update CHANGES.md
malaretv Feb 21, 2024
f1d4810
remove early return
malaretv Feb 21, 2024
760df43
explicitly intialize _changedRoll in camera constructor
malaretv Feb 21, 2024
b66bf2e
add extensibility to various classes
jjspace Feb 26, 2024
e1a6f05
add new specs
jjspace Feb 28, 2024
1e0acfd
extract GeometryUpdaterSet
jjspace Feb 28, 2024
8444f34
pr comments
jjspace Feb 29, 2024
b29312b
Fix issue with pickModel for interleaved buffers
ggetz Feb 19, 2024
1fa5dcd
Account for typedArrays on CPU in WebGL 1
ggetz Feb 19, 2024
4b4e022
- Added support for conversion from sRGB color space profile to linea…
Tamrat-B Dec 5, 2023
44c05dc
Added Support for BSL structure, BSL statistics, generic feature attr…
Tamrat-B Dec 5, 2023
4c2b985
I3S Building Scene Layer Sandcastle app
Tamrat-B Dec 5, 2023
8211ada
I3S BSL app icon
Tamrat-B Dec 5, 2023
101119a
Added support for conversion from sRGB color space profile to linear …
Tamrat-B Dec 5, 2023
9538df9
added additional payload options
Tamrat-B Dec 5, 2023
5c76794
- Added support for binary attribute data with values stored in objec…
Tamrat-B Dec 5, 2023
e0a2bc0
- Added support for 3D objects transparency
Tamrat-B Dec 5, 2023
e937540
- Added support for BSL hierarchy of layers
Tamrat-B Dec 5, 2023
0876629
- Added support for the generic feature attribute driven filter
Tamrat-B Dec 5, 2023
3c4dcaa
Added support for BSL structure per the OGC I3S standard
Tamrat-B Dec 5, 2023
3b7752f
- Added support for symbolization defined in I3S Layer data
Tamrat-B Dec 5, 2023
780d083
Added support for EXT_mesh_features and EXT_structural_metadata glTF …
Tamrat-B Dec 5, 2023
cdb7cc2
Added bsl layer tests
Tamrat-B Dec 5, 2023
20d0277
Added I3S BSL ViewModel tests
Tamrat-B Dec 5, 2023
5de043e
Added I3S BSL explorer
Tamrat-B Dec 5, 2023
50bdfef
Added I3S Explorer tests
Tamrat-B Dec 5, 2023
3b2fc07
Added I3S BSL Explorer layer widget
Tamrat-B Dec 5, 2023
f593469
updates based on review feedback
Tamrat-B Jan 11, 2024
bd169c1
removed non necessary options
Tamrat-B Feb 2, 2024
1828996
check before updating visibility
Tamrat-B Feb 2, 2024
ca39cf4
additional specs changes
Tamrat-B Feb 2, 2024
f774a88
Setup workflow
siddheshranade Jan 23, 2024
a28a04b
Add Google sheets API and check for usernames
siddheshranade Jan 23, 2024
4b69bea
Add GitHub api to write comments
siddheshranade Jan 23, 2024
0536a30
Add missing dependencies
siddheshranade Jan 23, 2024
012eca7
Add TODOs for later changes
siddheshranade Jan 23, 2024
98c711d
Add fake API keys
siddheshranade Jan 24, 2024
4cd7040
Refactor
siddheshranade Jan 30, 2024
ee0e1f4
Retrive all keys from secrets
siddheshranade Feb 5, 2024
6cc0d41
test commit - reset
siddheshranade Feb 5, 2024
045b160
Restore dev.yml
siddheshranade Feb 5, 2024
d4b8007
Trigger workflow only when new PR opened
siddheshranade Feb 6, 2024
cdde23a
Modify trigger
siddheshranade Feb 23, 2024
e9b0afc
Reset trigger
siddheshranade Feb 23, 2024
9b8823d
Set workflow to trigger on forked repo PRs
siddheshranade Feb 26, 2024
ecf8c48
Rename workflow to match existing ones
siddheshranade Feb 26, 2024
8849d42
Removed picking result from console output
Tamrat-B Feb 28, 2024
6486058
Remove console out if geoid transform is not needed
Tamrat-B Feb 28, 2024
7a530ff
Default to model overview if present
Tamrat-B Feb 28, 2024
ab4ae09
update tests to account for model views
Tamrat-B Feb 28, 2024
973273a
Added I3S Building Scene Layer support to March 1 release
Tamrat-B Feb 28, 2024
453f46d
Handling edge case use cases where there is no Full Model and/or Over…
Tamrat-B Feb 28, 2024
727152e
Rename BSL -> BuildingSceneLayer
ggetz Feb 28, 2024
c7ebaa5
Add PR links to CHANGES.md
ggetz Feb 29, 2024
1cff990
Fix camera collision on tileset load
ggetz Feb 16, 2024
120dbc8
Adjust camera height on tile load
ggetz Feb 27, 2024
eba060d
Tweak
ggetz Feb 27, 2024
17ef6ba
PR feedback
ggetz Feb 29, 2024
3933995
Update outdated npm dependencies
ggetz Feb 29, 2024
88ef1e5
Updates for the 1.115 release
ggetz Mar 1, 2024
402fa1f
fix typo in createGeometry
jjspace Mar 1, 2024
82ec4d3
Merge branch 'main' of github.com:pupitetris/cesium-webxr
pupitetris Mar 4, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions .github/actions/check-for-CLA/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ const main = async () => {

const response = await postCommentOnPullRequest(
hasSignedCLA,
errorFoundOnCLACheck
errorFoundOnCLACheck,
);
};

Expand All @@ -49,7 +49,7 @@ const checkIfUserHasSignedAnyCLA = async () => {
const checkIfIndividualCLAFound = async () => {
const response = await getValuesFromGoogleSheet(
GOOGLE_SHEETS_INFO.individualCLASheetId,
"D2:D"
"D2:D",
);

const rows = response.data.values;
Expand All @@ -70,7 +70,7 @@ const checkIfIndividualCLAFound = async () => {
const checkIfCorporateCLAFound = async () => {
const response = await getValuesFromGoogleSheet(
GOOGLE_SHEETS_INFO.corporateCLASheetId,
"H2:H"
"H2:H",
);

const rows = response.data.values;
Expand Down Expand Up @@ -132,14 +132,14 @@ const postCommentOnPullRequest = async (hasSignedCLA, errorFoundOnCLACheck) => {
accept: "application/vnd.github+json",
"X-GitHub-Api-Version": "2022-11-28",
},
}
},
);
};

const getCommentBody = (hasSignedCLA, errorFoundOnCLACheck) => {
const commentTemplate = fs.readFileSync(
"./.github/actions/check-for-CLA/templates/pullRequestComment.hbs",
"utf-8"
"utf-8",
);

const getCommentFromTemplate = Handlebars.compile(commentTemplate);
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/cla.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,12 +16,12 @@ jobs:
with:
node-version: '20'
- name: install npm packages
run: npm install googleapis @octokit/core handlebars fs-extra
run: npm install googleapis @octokit/core handlebars fs-extra
- name: run script
run: node .github/actions/check-for-CLA/index.js
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
PULL_REQUEST_ID: ${{ github.event.number }}
PULL_REQUEST_ID: ${{ github.event.number }}
GOOGLE_KEYS: ${{ secrets.GOOGLE_KEYS }}
INDIVIDUAL_CLA_SHEET_ID: ${{ secrets.INDIVIDUAL_CLA_SHEET_ID }}
CORPORATE_CLA_SHEET_ID: ${{ secrets.CORPORATE_CLA_SHEET_ID }}
INDIVIDUAL_CLA_SHEET_ID: ${{ secrets.INDIVIDUAL_CLA_SHEET_ID }}
CORPORATE_CLA_SHEET_ID: ${{ secrets.CORPORATE_CLA_SHEET_ID }}
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -42,4 +42,4 @@ yarn.lock
.idea/shelf

# Used in the CLA checking GitHub workflow
GoogleConfig.json
GoogleConfig.json
4 changes: 2 additions & 2 deletions CHANGES.md
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,6 @@

##### Additions :tada:

- Added `HeightReference.CLAMP_TO_TERRAIN`, `HeightReference.RELATIVE_TO_TERRAIN`, `HeightReference.CLAMP_TO_3D_TILE`, and `HeightReference.RELATIVE_TO_3D_TILE` to position relatve to terrain or 3D tilesets exclusively.[#11604](https://github.com/CesiumGS/cesium/pull/11604)
- Added `Cesium3DTileset.getHeight` to sample height values of the loaded tiles. If using WebGL 1, the `enablePick` option must be set to true to use this function. [#11581](https://github.com/CesiumGS/cesium/pull/11581)
- Added `Cesium3DTileset.disableCollision` to allow the camera from to go inside or below a 3D tileset, for instance, to be used with 3D Tiles interiors. [#11581](https://github.com/CesiumGS/cesium/pull/11581)
- Fog rendering now applies to glTF models and 3D Tiles. This can be configured using `scene.fog` and `scene.atmosphere`. [#11744](https://github.com/CesiumGS/cesium/pull/11744)
Expand Down Expand Up @@ -335,6 +334,7 @@ try {
##### Additions :tada:

- Added `Cesium3DTileset.cacheBytes` and `Cesium3DTileset.maximumCacheOverflowBytes` to better control memory usage. To replicate previous behavior, convert `maximumMemoryUsage` from MB to bytes, assign the value to `cacheBytes`, and set `maximumCacheOverflowBytes = Number.MAX_VALUE`
- Added `Cesium.Scene.webXRContext` and initial support for integrating Cesium into the WebXR redering cycle.

##### Fixes :wrench:

Expand Down Expand Up @@ -1968,7 +1968,7 @@ _This is an npm-only release to fix a publishing issue_.
- This is to make clipping planes' coordinates always relative to the object they're attached to. So if you were positioning the clipping planes as in the example below, this is no longer necessary:
```javascript
clippingPlanes.modelMatrix = Cesium.Transforms.eastNorthUpToFixedFrame(
tileset.boundingSphere.center
tileset.boundingSphere.center,
);
```
- This also fixes several issues with clipping planes not using the correct transform for tilesets with children.
Expand Down
1 change: 1 addition & 0 deletions CONTRIBUTORS.md
Original file line number Diff line number Diff line change
Expand Up @@ -381,3 +381,4 @@ See [CONTRIBUTING.md](CONTRIBUTING.md) for details on how to contribute to Cesiu
- [Harsh Lakhara](https://github.com/harshlakhara)
- [Pavlo Skakun](https://github.com/p-skakun)
- [Taylor Huffman](https://github.com/huffmantayler)
- [Arturo Espinosa Aldama](https://github.com/pupitetris)
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -160,4 +160,4 @@
"packages/engine",
"packages/widgets"
]
}
}
44 changes: 44 additions & 0 deletions packages/engine/Source/Core/PerspectiveOffCenterFrustum.js
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,50 @@ function PerspectiveOffCenterFrustum(options) {
this._infinitePerspective = new Matrix4();
}

/**
* Obtains a PerspectiveOffCenterFrustum from a projection matrix.
*
* @param {Matrix4} projectionMatrix The matrix representing the projection tranformation.
* @param {PerspectiveOffCenterFrustum} [result] The object into which to store the result.
* @returns {PerspectiveOffCenterFrustum} The modified result parameter or a new PerspectiveOffCenterFrustum instance if one was not provided.
*/
PerspectiveOffCenterFrustum.fromProjectionMatrix = function (
projectionMatrix,
result
) {
if (!defined(result)) {
result = new PerspectiveOffCenterFrustum();
}

const near =
projectionMatrix[Matrix4.COLUMN3ROW2] /
(projectionMatrix[Matrix4.COLUMN2ROW2] - 1);

result.near = near;

result.far =
projectionMatrix[Matrix4.COLUMN3ROW2] /
(1 + projectionMatrix[Matrix4.COLUMN2ROW2]);

result.right =
(near * (1 + projectionMatrix[Matrix4.COLUMN2ROW0])) /
projectionMatrix[Matrix4.COLUMN0ROW0];

result.left =
(near * (projectionMatrix[Matrix4.COLUMN2ROW0] - 1)) /
projectionMatrix[Matrix4.COLUMN0ROW0];

result.top =
(near * (1 + projectionMatrix[Matrix4.COLUMN2ROW1])) /
projectionMatrix[Matrix4.COLUMN1ROW1];

result.bottom =
(near * (projectionMatrix[Matrix4.COLUMN2ROW1] - 1)) /
projectionMatrix[Matrix4.COLUMN1ROW1];

return result;
};

function update(frustum) {
//>>includeStart('debug', pragmas.debug);
if (
Expand Down
Loading