MCPcopy Create free account
hub / github.com/microsoft/SandDance / calculateMatrixAndOffset

Function calculateMatrixAndOffset

docs/app/js/sanddance-app.js:79503–79530  ·  view source on GitHub ↗
(viewport, coordinateSystem, coordinateOrigin)

Source from the content-addressed store, hash-verified

79501 };
79502}
79503function calculateMatrixAndOffset(viewport, coordinateSystem, coordinateOrigin) {
79504 var viewMatrixUncentered = viewport.viewMatrixUncentered, projectionMatrix = viewport.projectionMatrix;
79505 var viewMatrix = viewport.viewMatrix, viewProjectionMatrix = viewport.viewProjectionMatrix;
79506 var projectionCenter = ZERO_VECTOR;
79507 var cameraPosCommon = viewport.cameraPosition;
79508 var _getOffsetOrigin = getOffsetOrigin(viewport, coordinateSystem, coordinateOrigin), geospatialOrigin = _getOffsetOrigin.geospatialOrigin, shaderCoordinateOrigin = _getOffsetOrigin.shaderCoordinateOrigin, offsetMode = _getOffsetOrigin.offsetMode;
79509 if (offsetMode) {
79510 var positionCommonSpace = viewport.projectPosition(geospatialOrigin || shaderCoordinateOrigin);
79511 cameraPosCommon = [
79512 cameraPosCommon[0] - positionCommonSpace[0],
79513 cameraPosCommon[1] - positionCommonSpace[1],
79514 cameraPosCommon[2] - positionCommonSpace[2]
79515 ];
79516 positionCommonSpace[3] = 1;
79517 projectionCenter = _vec4.transformMat4([], positionCommonSpace, viewProjectionMatrix);
79518 viewMatrix = viewMatrixUncentered || viewMatrix;
79519 viewProjectionMatrix = _mat4.multiply([], projectionMatrix, viewMatrix);
79520 viewProjectionMatrix = _mat4.multiply([], viewProjectionMatrix, VECTOR_TO_POINT_MATRIX);
79521 }
79522 return {
79523 viewMatrix: viewMatrix,
79524 viewProjectionMatrix: viewProjectionMatrix,
79525 projectionCenter: projectionCenter,
79526 cameraPosCommon: cameraPosCommon,
79527 shaderCoordinateOrigin: shaderCoordinateOrigin,
79528 geospatialOrigin: geospatialOrigin
79529 };
79530}
79531function getUniformsFromViewport() {
79532 var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, viewport = _ref.viewport, _ref$devicePixelRatio = _ref.devicePixelRatio, devicePixelRatio = _ref$devicePixelRatio === void 0 ? 1 : _ref$devicePixelRatio, _ref$modelMatrix = _ref.modelMatrix, modelMatrix = _ref$modelMatrix === void 0 ? null : _ref$modelMatrix, _ref$coordinateSystem = _ref.coordinateSystem, coordinateSystem = _ref$coordinateSystem === void 0 ? (0, _constants.COORDINATE_SYSTEM).DEFAULT : _ref$coordinateSystem, coordinateOrigin = _ref.coordinateOrigin, _ref$autoWrapLongitud = _ref.autoWrapLongitude, autoWrapLongitude = _ref$autoWrapLongitud === void 0 ? false : _ref$autoWrapLongitud, projectionMode = _ref.projectionMode, positionOrigin = _ref.positionOrigin;
79533 (0, _assertDefault.default)(viewport);

Callers 1

Calls 2

getOffsetOriginFunction · 0.70
multiplyMethod · 0.45

Tested by

no test coverage detected