Skip to content

Commit c6e61ea

Browse files
committed
fix transforms for non earth centered models
1 parent c3e847b commit c6e61ea

File tree

2 files changed

+16
-6
lines changed

2 files changed

+16
-6
lines changed

packages/engine/Source/Scene/Model/ModelInstance.js

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -223,14 +223,23 @@ class ModelInstance {
223223
* @returns {Matrix4} The scaled relative instance transform.
224224
* @private
225225
*/
226-
getRelativeScaledTransform(model, frameState, useModelMatrix2D, result) {
226+
getRelativeScaledTransform(
227+
model,
228+
frameState,
229+
useModelMatrix2D,
230+
earthCenteredInstances,
231+
result,
232+
) {
227233
let relativeTransform = this._relativeTransform;
228234
if (useModelMatrix2D) {
229-
const transform2D = Transforms.basisTo2D(
230-
frameState.mapProjection,
231-
this.transform,
232-
scratchTransform,
233-
);
235+
let transform2D = this._relativeTransform;
236+
if (earthCenteredInstances) {
237+
transform2D = Transforms.basisTo2D(
238+
frameState.mapProjection,
239+
this.transform,
240+
scratchTransform,
241+
);
242+
}
234243
const translationRotationScale = scratchTranslationRotationScale;
235244
translationRotationScale.translation = Cartesian3.ZERO;
236245
translationRotationScale.scale = Matrix4.getScale(

packages/engine/Source/Scene/Model/RuntimeModelInstancingPipelineStage.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,7 @@ RuntimeModelInstancingPipelineStage._getTransformsTypedArray = function (
110110
model,
111111
frameState,
112112
useModelMatrix2D,
113+
earthCenteredInstances,
113114
relativeScaledTransformScratch,
114115
);
115116
const offset = elements * i;

0 commit comments

Comments
 (0)