1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/xuepengq-cesiumKD

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
CHANGES.md 410 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 25.11.2024 04:38 238fc2a

Change Log

1.73 — 2020-09-01

Additions:
  • Поддержка спецификатора CSS line-height в свойстве font элемента Label.

#8954

Исправления:
  • Устранены артефакты на мобильных устройствах, вызванные использованием недостаточной точности.

#9064

  • Исправлена обработка схемы данных для URL логотипа Cesium ion.

#9085

  • Исправлен случай, когда прямоугольники границ в TileAvailability не сортировались правильно, что приводило к тому, что рельеф иногда не достигал максимальной детализации.

#9098

  • Запрос на доступность тайла эталонного слоя задерживается из-за включённой опции дроссельной заслонки.

#9099

  • Проблема, из-за которой инструментарий Node.js не мог разрешить package.json, была устранена.

#9105

1.72 — 2020-08-03

Критические изменения:
  • CesiumJS больше не поставляется с токеном доступа по умолчанию Mapbox, а слои изображений Mapbox были удалены из настроек по умолчанию BaseLayerPicker. Если вы используете MapboxImageryProvider или MapboxStyleImageryProvider, используйте options.accessToken при инициализации провайдера изображений.
Дополнения:
  • Добавлена поддержка мультитекстурирования glTF через TEXCOORD_1.

#9075

Устаревшее:
  • MapboxApi.defaultAccessToken устарел и будет удалён в CesiumJS 1.73. Передайте свой токен доступа непосредственно конструкторам MapboxImageryProvider или MapboxStyleImageryProvider.
  • BingMapsApi устарела и будет удалена в CesiumJS 1.73. Передавайте свой ключ доступа напрямую конструкторам BingMapsImageryProvider или BingMapsGeocoderService.
Исправления:
  • Color.fromCssColorString теперь корректно работает, если строка цвета содержит пробелы.

#9015

  • Улучшена замена 3D Tileset, когда лист пуст.

#8996

  • Исправлена ошибка в оценке видимости тайлов рельефа.

#9033

  • Вертикальные полилинии с arcType: ArcType.RHUMB, включая линии, нарисованные через GeoJSON, теперь отображаются корректно.

#9028

  • Стены теперь правильно отображаются под землёй.

#9041

  • Теперь отсутствует сторона стены, если первая позиция и последняя позиция равны.

#9044

  • TranslucencyByDistance для цвета контура метки теперь работает корректно.

#9003

  • Возвращаемое значение для SampledPositionProperty.removeSample теперь корректно.

#9017

  • Исправлено отсутствие корректных координат текстуры у стен при наличии повторяющихся входных позиций.

#9042

  • Решена проблема, из-за которой плоскости отсечения не обрезались на правильных расстояниях на некоторых устройствах Android, чаще всего воспроизводимая на устройствах с графическими процессорами Mali, которые не поддерживают текстуры с плавающей запятой через WebGL.

#9023

1.71 — 2020-07-01

Критические изменения:
  • Обновлён WallGeometry, чтобы он учитывал порядок переданных позиций, вместо того чтобы заставлять позиции соблюдать порядок против часовой стрелки. Это повлияет только на внешний вид стен с материалом изображения. Если это изменило способ отрисовки вашей стены, измените порядок позиций на обратный.

#8955

Дополнения:
  • Добавлено свойство backFaceCulling в Cesium3DTileset и Model для поддержки просмотра нижней или внутренней части набора тайлов или модели.

#8981

  • Ellipsoid.surfaceArea добавлен для вычисления приблизительной площади поверхности прямоугольника на поверхности эллипсоида. Перевод текста:

#8986

  • Добавлена поддержка PolylineVolume в CZML.
  • #8841 добавлен метод Color.toCssHexString для получения эквивалента строки CSS hex для цвета.
  • #8987.

Исправления: гаечный ключ:

  • Исправлена проблема, когда тайлсет не воспроизводил анимации glTF.
  • Исправлен баг деления на ноль в Ellipsoid.geodeticSurfaceNormal при использовании входных данных. Вместо этого возвращается undefined.
  • Исправлена ошибка с WallGeometry при наличии соседних позиций со значениями, близкими друг к другу.
  • Устранён артефакт для модели с анимированной кожей при включённой глубине журнала.
  • Исправлено несколько ошибок при рендеринге CesiumJS в контексте WebGL 2.
  • Исправлены ошибки при переключении с перспективной на ортографическую камеру, из-за которых треугольники неправильно перекрывали друг друга.
  • Исправлена ошибка, при которой переключение на ортографическую камеру в первом кадре приводило к неправильному уровню масштабирования.
  • Исправлены неточности пересечения в scene.pickFromRay.
  • Исправлена ошибка, при которой нулевое или неопределённое свойство name, переданное в конструктор Entity, вызывало исключение.
  • Улучшен стиль панели ошибок.
  • Исправлено, что SVG-иконки виджета анимации не отображались в iOS 13.5.1.

1.70.1 — 2020-06-10

Дополнения: праздничный торт:

— Добавлен метод toString в класс Resource на случай, если экземпляр будет зарегистрирован как строка. — Экспонирован метод Transforms.rotationMatrixFromPositionVelocity из частного API Cesium.

Исправления: гаечный ключ:

— Исправлены JSDoc и TypeScript для всех типов ImageryProvider, в которых отсутствовали свойства defaultNightAlpha и defaultDayAlpha. — Исправлены JSDoc и TypeScript для MaterialProperty, которые не позволяли использовать примитивные типы в конструкторе. — Исправлены JSDoc и TypeScript, чтобы разрешить создание экземпляров GeometryInstance с использованием классов XXXGeometry. — Исправлены JSDoc и TypeScript для buildModuleUrl, который был случайно исключён из официального API CesiumJS. — Исправлены JSDoc и TypeScript для EllipsoidGeodesic, где результат ошибочно указан как обязательный. — Исправлены JSDoc и TypeScript для EllipsoidTangentPlane.fromPoints, который принимает массив Cartesian3, а не отдельный экземпляр. — Исправлены JSDoc и TypeScript для EntityCollection.getById и CompositeEntityCollection.getById, которые могут возвращать undefined. — Исправлены JSDoc и TypeScript для параметров опций Viewer. — Устранена утечка памяти, возникавшая при некоторых запросах 3D Tiles. Будучи непреднамеренно сохранёнными после отмены запросов. #8843

  • Исправлена ошибка обработки flipY в PixelFormat. #8893

1.70.0 — 2020-06-01

Основные объявления :loudspeaker:
  • Все пользователи Cesium ion теперь имеют доступ к Cesium OSM Buildings — слою 3D-зданий, покрывающему весь мир и построенному на основе данных OpenStreetMap о зданиях, доступных в виде 3D Tiles. Подробнее об этом читайте в нашем блоге.
  • CesiumJS теперь поставляется с официальными определениями типов TypeScript! #8878
    • Если вы импортируете CesiumJS как модуль, новые определения будут автоматически использоваться TypeScript и связанным инструментарием.
    • Если вы напрямую импортируете отдельные исходные файлы CesiumJS, вам необходимо добавить "types": ["cesium"] в ваш tsconfig.json, чтобы определения использовались.
    • Если вы используете собственные пользовательские определения и ещё не готовы перейти на них, вы можете удалить Source/Cesium.d.ts после установки.
    • См. наш пост в блоге для получения дополнительной информации и технического обзора того, как всё это работает.
  • CesiumJS теперь поддерживает рендеринг под землёй с прозрачностью глобуса! #8726
    • Добавлены параметры для управления прозрачностью глобуса через новый объект GlobeTranslucency, включая альфа переднего лица, альфа заднего лица и прямоугольник прозрачности.
    • Добавлен Globe.undergroundColor и Globe.undergroundColorAlphaByDistance для управления тем, как отображается задняя сторона глобуса, когда камера находится под землёй или глобус полупрозрачен. #8867
    • Улучшено управление камерой, когда она находится под землёй. #8811
    • Примеры Sandcastle: Прозрачность глобуса, Интерьер глобуса и Цвет под землёй
Дополнения :tada:
  • Наша справочная документация по API получила десятки исправлений и улучшений, в основном благодаря усилиям TypeScript.
  • Добавлено Cesium3DTileset.extensions, чтобы получить свойство extensions из JSON набора тайлов. #8829
  • Добавлено Camera.completeFlight, которое заставляет текущий полёт камеры немедленно перейти к конечному пункту назначения и вызвать обратный вызов завершения. #8788
  • Добавлены свойства nightAlpha и dayAlpha в ImageryLayer для отдельного управления альфа для ночной и дневной сторон глобуса. #8868
  • Добавлено SkyAtmosphere.perFragmentAtmosphere для переключения между вершинным и фрагментным затенением атмосферы. #8866
  • Добавлен новый пример Sandcastle, показывающий, как добавить туман с помощью PostProcessStage #8798
  • В DebugCameraPrimitive добавлена опция frustumSplits. [8849]
  • Поддерживаются форматы #rgba и #rrggbbaa в Color.fromCssColorString. [8873]
Исправления :wrench:
  • Исправлена ​​ошибка, которая могла привести к повреждению рендеринга модели glTF при переключении с индексного буфера Uint16 на Uint32 для размещения новых вершин, добавленных для очерчивания краёв. - Свойство Scene.sunColor было объявлено устаревшим и будет удалено в Cesium 1.69. Вместо него следует использовать scene.light.color и scene.light.intensity. #8493.
Дополнения :tada:
  • Флаг useBrowserRecommendedResolution в Viewer и CesiumWidget теперь по умолчанию имеет значение true. Это обеспечивает быструю и плавную отрисовку Cesium на всех устройствах. Установите значение false, чтобы всегда рендерить с разрешением устройства, но за счёт производительности на маломощных устройствах. #8548.
  • Теперь Cesium создаёт контекст WebGL со значением powerPreference «high-performance». Некоторые браузеры используют эту настройку для включения второго, более мощного, графического процессора. Вы можете установить значение обратно в default или выбрать режим low-power, передав параметр context при создании экземпляра Viewer или CesiumWidget:
var viewer = new Viewer("cesiumContainer", {
  contextOptions: {
    webgl: {
      powerPreference: "default",
    },
  },
});
  • Добавлена дополнительная настройка системы освещения Cesium. #8493:
    • добавлены классы Light, DirectionalLight и SunLight для создания пользовательских источников света;
    • добавлен Scene.light для установки источника света сцены, который по умолчанию является SunLight;
    • добавлена Globe.dynamicAtmosphereLighting для включения световых эффектов атмосферы и тумана, таких как переходы день/ночь. По умолчанию она включена, но может быть установлена в false, если атмосфера должна оставаться неизменной независимо от направления света сцены;
    • добавлена Globe.dynamicAtmosphereLightingFromSun для использования направления солнца вместо направления света сцены при включённой Globe.dynamicAtmosphereLighting. См. пример лунного света в примере Lighting Sandcastle (https://cesiumjs.org/Cesium/Apps/Sandcastle/?src=Lighting.html);
    • примитивы и глобус теперь затенены цветом источника света сцены.
  • Обновлены модели SampleData до glTF 2.0. #7802.
  • Добавлен Globe.showSkirts для поддержки возможности скрывать юбки местности при просмотре местности снизу поверхности. #8489.
  • В Material добавлены параметры minificationFilter и magnificationFilter для управления фильтрацией текстур. #8473.
  • Обновлено earcut до версии 2.2.1. #8528.
  • Для улучшения производительности меток добавлен кэш шрифтов. #8537.
Исправления :wrench:
  • Исправлена ошибка, из-за которой камера могла уходить под землю во время навигации с помощью мыши. #8504.
  • Исправлена ошибка, при которой быстрое обновление PolylineCollection могло привести к ошибке instanceIndex is out of range. #8546.
  • Устранена проблема, когда RequestScheduler дважды учитывал запросы изображений, сделанные через createImageBitmap. #8162.
  • Уменьшен размер пакета Cesium за счёт исключения ненужного импорта Cesium3DTileset в Picking.js. #8532.
  • Исправлена ошибка, когда файлы с обратной косой чертой не загружались в файлах KMZ. #8533.
  • Исправлено предупреждение WebGL о неявном включении EXT_float_blend. #8534.
  • На Linux / Nvidia исправлена ошибка, при которой переключение видимости классификации облаков точек приводило к серому экрану. #8538.
  • Исправлена ошибка, при которой точка в PointPrimitiveCollection отображалась в центре экрана вместо обрезки. #8542.
  • При удалении и повторном создании полилиний из CZML ReferenceProperty теперь возвращает undefined, когда целевая сущность или свойство не существует, вместо того, чтобы выдавать ошибку. Цезий перешёл на ES6.

Были исправлены следующие проблемы:

  • ошибка выбора тайла рельефа в инспекторе Цезия;
  • сбой, который мог произойти при удалении объекта, когда соответствующий примитив создавался асинхронно;
  • сбой при вызове camera.lookAt с началом координат (0, 0, 0) в качестве цели;
  • ошибка, из-за которой camera.viewBoundingSphere изменял параметр смещения;
  • сбой при создании плоскости с положением и нормалью по оси Z;
  • ошибка BoundingSphere.projectTo2D, когда центр ограничивающей сферы находится в начале координат.

Также произошли следующие изменения:

  • теперь для OrthographicFrustum.getPixelDimensions, OrthographicOffCenterFrustum.getPixelDimensions, PerspectiveFrustum.getPixelDimensions и PerspectiveOffCenterFrustum.getPixelDimensions требуется аргумент pixelRatio перед аргументом result;
  • функция Matrix4.getRotation была переименована в Matrix4.getMatrix3, а Matrix4.getRotation устарела с версии 1.62;
  • были удалены функции createTileMapServiceImageryProvider и createOpenStreetMapImageryProvider. Вместо них следует передавать те же параметры в new TileMapServiceImageryProvider и new OpenStreetMapImageryProvider соответственно. Старые функции устарели с версии 1.62.

Кроме того, были добавлены следующие возможности:

  • добавлена поддержка просмотра рельефа снизу поверхности с помощью Globe.backFaceCulling.

Исправлены следующие ошибки:

  • предложения автозаполнения геокодера при размещении внутри веб-компонентов;
  • проблемы с отбраковкой тайлов рельефа под эллипсоидом;
  • отбраковка примитивов ниже эллипсоида, но выше рельефа;
  • улучшен расчёт полупрозрачности для типа материала Water;
  • исправлен расчёт ограничивающего объёма для GroundPrimitive;
  • исправлена работа метода OrientedBoundingBox.fromRectangle для прямоугольников с шириной более 180 градусов;
  • исправление выбора глобуса, чтобы он возвращал ближайший пересекающийся треугольник вместо первого пересекающегося треугольника;
  • исправления проблем с отбраковкой горизонта с большими корневыми тайлами;
  • устранена проблема освещения, затрагивающая компьютеры Mac с интегрированной графикой Intel, где модели glTF 2.0 PBR с двусторонними материалами имели перевёрнутые нормали.

В версии 1.64.0 исправлена проблема с освещением на основе изображений, где недопустимая карта окружения могла завершиться ошибкой. Также были внесены различные небольшие внутренние улучшения.

Версия 1.63.1 содержит исправления ошибок:

  • в версии 1.63 неправильно отображались наземная атмосфера и метки на дисплеях с window.devicePixelRatio больше 1,0;
  • в некоторых примитивах версия 1.63 показывала глобус, когда логическая глубина была отключена.

Цезий перешёл на ES6 в версии 1.63. Модули. Это может быть критическим изменением для вашего приложения в зависимости от того, как вы используете Cesium. Подробные сведения см. в нашем блоге (https://cesium.com/blog/2019/10/31/cesiumjs-es6/).

Мы объединили весь контент нашего веб-сайта с cesiumjs.org и cesium.com в одном доме на cesium.com. Вот где вы можете найти:

Дополнения:

  • Уменьшен размер пакета Web Workers в 10 раз, с 8384 КБ (2624 КБ в сжатом виде) до 863 КБ (225 КБ в сжатом виде). Это ускоряет загрузку Cesium, особенно на устройствах с низкими характеристиками и медленных сетевых соединениях.
  • Добавлена полная поддержка UTF-8 для меток, что значительно улучшает поддержку нелатинских алфавитов и эмодзи. #7280.
  • Добавлено «type»: «module» в package.json, чтобы воспользоваться встроенной поддержкой модулей ES6 в новых версиях Node.js. Это также позволяет разрабатывать модули для фронтенда с помощью инструментария, который полагается на разрешение модулей Node.js.
  • Обновлены объединённые Build/Cesium/Cesium.js и Build/CesiumUnminified/Cesium.js с IIFE до UMD-модулей, которые поддерживают IIFE, AMD и commonjs.
  • В OrthographicFrustum.getPixelDimensions, OrthographicOffCenterFrustum.getPixelDimensions, PerspectiveFrustum.getPixelDimensions и PerspectiveOffCenterFrustum.getPixelDimensions добавлен параметр pixelRatio. Передайте scene.pixelRatio для измерений в пикселях CSS или 1.0 для измерений в собственных пикселях устройства. #8237.

Исправления:

  • Исправлено использование пикселей CSS для полилиний, облаков точек, моделей, примитивов и постобработки. #8113.
  • Исправлена ошибка, из-за которой scene.sampleHeightMostDetailed и scene.clampToHeightMostDetailed не разрешались в режиме запроса рендеринга. #8281.
  • Устранены артефакты швов, когда отключена логическая глубина, scene.globe.depthTestAgainstTerrain имеет значение false, а примитивы находятся под глобусом. #8205.
  • Исправлено использование динамических эллипсоидов с использованием innerRadii, minimumClock, maximumClock, minimumCone или maximumCone. #8277.
  • Отрисовка коллекций рекламных щитов, содержащих более 65536 рекламных щитов. #8325.

Устарело:

  • OrthographicFrustum.getPixelDimensions, OrthographicOffCenterFrustum.getPixelDimensions, PerspectiveFrustum.getPixelDimensions и PerspectiveOffCenterFrustum.getPixelDimensions теперь принимают аргумент pixelRatio перед аргументом result. Предыдущее определение функции больше не будет работать в версии 1.65. #8237.

1.62 — 2019-10-01

Устаревшее:

  • createTileMapServiceImageryProvider и createOpenStreetMapImageryProvider устарели и будут удалены в Cesium 1.65. Вместо этого передайте те же параметры в new TileMapServiceImageryProvider и new OpenStreetMapImageryProvider соответственно.
  • Функция Matrix4.getRotation устарела и переименована в Matrix4.getMatrix3. Matrix4.getRotation будет удалена в версии 1.65.

Добавления:

  • Возможность создания частичных эллипсоидов с помощью Entity API и CZML. Новые свойства геометрии эллипсоида: innerRadii, minimumClock, maximumClock, minimumCone и maximumCone. Это влияет как на EllipsoidGeometry, так и на EllipsoidOutlineGeometry. См. обновлённый Sandcastle. 1.61 — 2019-09-03

Добавления:

  • Добавлен опциональный параметр index в PrimitiveCollection.add. (#8041)
  • Теперь Cesium по умолчанию отображает с разрешением устройства, а не пикселями CSS. Чтобы вернуться к старому поведению, установите viewer.resolutionScale = 1.0 / window.devicePixelRatio. (#8082)
  • В DataSourceCollection добавлен метод getByName, позволяющий получать DataSource по свойству name из коллекции.

Исправления:

  • Отключено... FXAA по умолчанию. Чтобы включить, установите scene.postProcessStages.fxaa.enabled = true (#7875).

Исправлено падение при использовании модели glTF с применением KHR_texture_transform без определённого сэмплера. (#7916)

Исправлена фильтрация выбора пост-обработки для работы с bloom. (#7984)

Отключён HDR по умолчанию для улучшения визуального качества в большинстве стандартных случаев использования. Установите viewer.scene.highDynamicRange = true, чтобы снова включить.* (#7966)*

Исправлена ошибка, из-за которой скрытые точечные примитивы всё ещё отображались на некоторых операционных системах. (#8043)

Исправлены проблемы с обработкой отрицательной высоты в GoogleEarthEnterpriseTerrainProvider. (#8109)

Исправлен случай, когда файлы KTX или CRN не определялись должным образом. (#7979)

Устранено затемнение глобуса из-за нескольких материалов. (#7726)

1.60 — 2019-08-01

Дополнения:

Переработано отображение меток с использованием полей расстояния со знаком (SDF) для более чёткого текста. (#7730)

Добавлен новый пример Sandcastle для демонстрации новых меток SDF.

Добавлена поддержка полигональных отверстий в CZML.* (#7991)*

Добавлено свойство totalScale для Label, которое представляет собой общий масштаб метки с учётом масштаба метки и относительного размера желаемого шрифта по сравнению с созданным размером глифа.

Исправления:

  • Исправлен сбой при использовании ArcGIS terrain с плоскостями отсечения.* (#7998)*

PolygonGraphics.hierarchy теперь преобразует значения постоянного массива в PolygonHierarchy при установке, поэтому код, который обращается к значению свойства, может полагаться на то, что это всегда PolygonHierarchy.

  • Устранена ошибка с текстурными координатами по длине в первом сегменте наземных полилиний, как это наблюдалось в некоторых реализациях WebGL, таких как Chrome в Linux.* (#8017)*

1.59 — 2019-07-01

Дополнения:

  • Добавлен ArcGISTiledElevationTerrainProvider для поддержки LERC-кодированного рельефа от ArcGIS ImageServer.* (#7940)*

Добавлена поддержка CZML для heightReference для box, cylinder и ellipsoid, а также добавлена поддержка CZML для classificationType для коридора, эллипса, многоугольника, полилинии и прямоугольника.* (#7899)*

Добавляет функцию exportKML для экспорта экземпляров Entity с графиками Point, Billboard, Model, Label, Polyline и Polygon.* (#7921)*

Добавлена поддержка нового Mapbox Style API.* (#7698)*

Добавлена поддержка расширения AGI_articulations поставщика glTF 2.0 для Entity API и CZML.* (#7907)*

Исправления:

  • Устранена проблема, из-за которой отсутствовали сегменты для наземных полилиний с компланарными точками на больших расстояниях и возникали проблемы с полилиниями, содержащими повторяющиеся точки.* (#7885)*

Исправлена ошибка, при которой рекламные щиты нельзя было выбрать при полном уменьшении масштаба в 2D-виде.* (#7908)*

  • Устранена ошибка, из-за которой запросы изображений, возвращающие HTTP-код 204, препятствовали успешному выполнению любых последующих запросов в браузерах, поддерживающих ImageBitmap.* (#7914)*

  • Полигональные цвета исправлены при включении scene.highDynamicRange.* (#7924)*

  • Исправлена ошибка в инспекторе, где значения минимальной и максимальной высоты выбранной плитки были неопределёнными.* В запросе представлен текст технической направленности из области разработки и тестирования программного обеспечения. Основной язык текста запроса — английский.

  1. Аргумент width перед аргументом result. #7693

В классе Resource методы addQueryParameters и addTemplateValues были удалены. Пожалуйста, используйте setQueryParameters и setTemplateValues вместо них. #7695

  1. Устаревшее: песочные часы с текущим песком

Resource.fetchImage теперь принимает объект параметров. Используйте resource.fetchImage({ preferBlob: true }) вместо resource.fetchImage(true). Предыдущее определение функции больше не будет работать в версии 1.57. #7579

  1. Дополнения: фейерверк
  • Добавлена поддержка жестов касания и удержания. Задержку касания можно настроить, обновив ScreenSpaceEventHandler.touchHoldDelayMilliseconds. #7286

  • Resource.fetchImage теперь имеет опцию flipY для вертикального зеркального отображения изображения во время выборки и декодирования. Она действительна только тогда, когда ImageBitmapOptions поддерживается браузером. #7579

  • В PointCloudShading добавлены опции backFaceCulling и normalShading. Обе опции применимы только к облакам точек, содержащим нормали. #7399

  • Cesium3DTileStyle.style реагирует на обновления и представляет текущее состояние стиля. #7567

  1. Исправления: гаечный ключ
  • Исправлено значение BlendFunction.ONE_MINUS_CONSTANT_COLOR. #7624

  • Исправлена ошибка, из-за которой HeadingPitchRoll.pitch был равен NaN при использовании .fromQuaternion из-за ошибки округления для значений pitch, близких к +/- 90°. #7654

  • Устранён сбой определённого типа, вызванный вращением камеры через рельеф местности. #6783

  • Исправлена ошибка в Resource при использовании с шаблонными заменами с использованием числовых ключей. #7668

  • Исправлена ошибка в Cesium3DTilePointFeature, где anchorLineColor использовал тот же экземпляр цвета вместо клонирования цвета. #7686

  1. 1.55 — 2019-03-01

  2. Критические изменения: мега

  • czm_materialInput.slope теперь является углом в радианах между 0 и pi/2 (плоский до вертикального), а не проецируемой длиной от 1 до 0 (плоский до вертикального).
  1. Дополнения: фейерверк
  • Обновлены рендеринг рельефа и изображений, что привело к загрузке рельефа/изображений примерно на 33% быстрее и использованию примерно на 33% меньше данных. #7061

  • Был добавлен czm_materialInput.aspect как угол в радианах между 0 и 2pi (восток, север, запад до юга).

  • Поддержка CZML arcType добавлена для polyline и polygon, которая заменяет followSurface. followSurface по-прежнему поддерживается для совместимости с существующими документами. #7582

  1. Исправления: гаечный ключ
  • Исправлена проблема, из-за которой модели вызывали сбой при загрузке, если некоторые примитивы были закодированы Draco, а другие нет. #7383

  • Исправлена проблема, из-за которой метки RTL неправильно меняли местами неалфавитные символы. #7501

  • Исправлена поддержка Node.js для класса Resource и любой функциональности, использующей его внутри.

  • Исправлена проблема, из-за которой некоторые многоугольники земли, пересекающие нулевой меридиан, имели неправильные ограничивающие прямоугольники. #7533

  • Исправлена проблема, из-за которой полигоны на рельефе местности, использующие румбы, отображались неправильно. #7538

  • Исправлена проблема с EllipsoidRhumbLines.findIntersectionWithLongitude, когда долгота была IDL. #7551

  • Исправлены цвета силуэтов моделей при рендеринге с высоким динамическим диапазоном. #7563

  • Исправлена проблема с наземными полилиниями на глобусах, которые используют эллипсоиды, отличные от WGS84. ### 1.54 — 2019-02-01

Основные моменты:

  • Добавлена поддержка полилиний и текстурированных объектов на 3D тайлах.
  • Добавлена поддержка загрузки моделей и наборов 3D-тайлов с изображениями WebP с использованием расширения glTF EXT_texture_webp.
  • Добавлена поддержка румбовых линий для полигональной и полилинейной геометрии.

Критические изменения:

  • Билборды с HeightReference.CLAMP_TO_GROUND теперь прижимаются как к рельефу, так и к 3D-тайлам.
  • По умолчанию classificationType для GroundPrimitive, CorridorGraphics, EllipseGraphics, PolygonGraphics и RectangleGraphics теперь равен ClassificationType.BOTH.
  • Свойства ModelAnimation.speedup и ModelAnimationCollection.speedup были удалены. Вместо них следует использовать ModelAnimation.multiplier и ModelAnimationCollection.multiplier.

Устарело:

  • Scene.clampToHeight теперь принимает необязательный аргумент width перед аргументом result. Предыдущее определение функции больше не будет работать в версии 1.56.
  • PolylineGeometry.followSurface был заменён на PolylineGeometry.arcType. Предыдущее определение больше не будет работать в версии 1.57. Замените followSurface: false на arcType: Cesium.ArcType.NONE и followSurface: true на arcType: Cesium.ArcType.GEODESIC.
  • SimplePolylineGeometry.followSurface был заменён на SimplePolylineGeometry.arcType. Предыдущее определение больше не будет работать в версии 1.57. Замените followSurface: false на arcType: Cesium.ArcType.NONE и followSurface: true на arcType: Cesium.ArcType.GEODESIC.

Дополнения:

  • Поддержка текстурированных наземных объектов (объектов с неуказанной высотой) и GroundPrimitives на 3D-тайлах.
  • Поддержка полилиний на 3D-тайлах.
  • Добавлено свойство classificationType в PolylineGraphics и GroundPolylinePrimitive, которое указывает, должна ли полилиния, прижатая к земле, быть прижата к рельефу, 3D-тайлам или обоим.
  • Возможность указать ширину объёма пересечения для Scene.sampleHeight, Scene.clampToHeight, Scene.sampleHeightMostDetailed и Scene.clampToHeightMostDetailed.
  • Новый пример Sandcastle по использованию nodeTransformations для поворота колёс модели на основе её скорости.
  • Новый пример Sandcastle для рисования полилиний на 3D-тайлах.
  • Класс EllipsoidRhumbLine как аналог румбовой линии для EllipsoidGeodesic.
  • Поддержка румбовых линий для PolygonGeometry, PolygonOutlineGeometry, PolylineGeometry, GroundPolylineGeometry. SimplePolylineGeometry.

При использовании Cesium в Node.js теперь используется объединённая и минимизированная версия для повышения производительности, если только NODE_ENV специально не установлен в значение development.

Улучшена производительность QuantizedMeshTerrainData.interpolateHeight.

Добавлена поддержка моделей glTF с текстурами WebP с использованием расширения EXT_texture_webp.

Исправления:

Исправлены проблемы с производительностью 3D Tiles.

Устранена проблема, когда примитивы классификации с типом классификации CESIUM_3D_TILE отображались на местности.

Решена проблема, когда 3D-тайлы просвечивали через глобус.

Исправлен сбой при показе значения геометрии объекта, которое представляет собой интервал, покрывающий только часть диапазона доступности объекта.

Исправлено положение прямоугольников на северном и южном полюсах.

Исправлена проблема с размером изображения при использовании нескольких систем частиц.

В Sandcastle исправлена ошибка, из-за которой кнопка «Открыть в новом окне» не отображала изображение из-за ограничений URI большого двоичного объекта.

Решено, что установка scene.globe.cartographicLimitRectangle в undefined вызывала сбой.

Функция PrimitiveCollection.removeAll больше не содержит удалённые примитивы.

GeoJsonDataSource теперь использует полигоны и полилинии, которые используют румбы.

Устранена проблема, при которой некоторые наземные полигоны обрезались вдоль широтных кругов.

Исправлена ошибка, которая могла привести к сбою IE 11 при включении освещения на основе изображений.

Добавления:

Добавлено освещение на основе изображений для моделей PBR и 3D Tiles.

Двойной щелчок вдали от объекта позволяет отменить его отслеживание.

Исправления:

Исправлена проверка видимости 3D тайлов при выполнении нескольких проходов в одном кадре.

Скорректирован контраст на слоях изображений.

Исправлено отображение прозрачного цвета фона при включённом highDynamicRange.

Прозрачная геометрия отображается корректно при переключении highDynamicRange.

Версия 1.52 — 2018-12-03

Критические изменения:

TerrainProviders, реализующие доступность, теперь также должны реализовывать метод loadTileDataAvailability.

Устаревшее:

Свойство ModelAnimation.speedup устарело и переименовано в ModelAnimation.multiplier. Speedup будет удалён в версии 1.54.

Дополнения:

Добавлено... После sampleHeight или clampToHeight.

  • Исправлена проблема, из-за которой sampleHeight и clampToHeight приводили к сбою, если выбрать примитив, который не записывает глубину.
  • Исправлен сбой при использовании BingMapsGeocoderService.
  • Повышена точность матрицы вращения, генерируемой VelocityOrientationProperty.
  • Исправлено обрезание плоскости при добавлении плоскости в пустую коллекцию.
  • Обрезающие плоскости на наборах тайлов теперь учитывают матрицу модели набора тайлов.
  • Неправильное отображение моделей с использованием расширения KHR_materials_common для освещения исправлено.

1.50 — 2018-10-01

Критические изменения :mega:
  • Обрезающие плоскости наборов тайлов теперь используют преобразование корневого тайла или ограничивающую сферу корневого тайла, если преобразование не определено. Это сделано для того, чтобы координаты обрезающих плоскостей всегда были привязаны к объекту, к которому они прикреплены. Если вы позиционировали обрезающие плоскости, как в примере ниже, это больше не требуется:
clippingPlanes.modelMatrix = Cesium.Transforms.eastNorthUpToFixedFrame(
  tileset.boundingSphere.center
);

Это также устраняет несколько проблем с обрезающими плоскостями, которые неправильно использовали преобразование для наборов тайлов с дочерними элементами.

Дополнения :tada:
  • Начальная поддержка обрезки по 3D тайлам. Добавлены Scene.sampleHeight для получения высоты геометрии в сцене и Scene.clampToHeight для обрезания положения в картографической системе координат до геометрии сцены. Требуется поддержка текстур глубины (WEBGL_depth_texture или WEBKIT_WEBGL_depth_texture). Добавлены функции Scene.sampleHeightSupported и Scene.clampToHeightSupported для проверки поддержки выборки высоты.
  • Добавлено Cesium3DTileset.initialTilesLoaded для указания на то, что все тайлы в начальном виде загружены.
  • Добавлена поддержка расширения glTF KHR_materials_pbrSpecularGlossiness.
  • Добавлена поддержка расширения glTF KHR_materials_unlit.
  • Добавлена поддержка расширений glTF KHR_techniques_webgl и KHR_blend.
  • Обновление gltf-pipeline до версии 2.0.
  • Добавлено cartographicLimitRectangle в Globe. Используйте его, чтобы ограничить рельеф и изображения определённой областью Rectangle.
  • Добавлен OpenCageGeocoderService, предоставляющий геокодирование через OpenCage.
  • Добавлено освещение атмосферы Земли в 3D. Его можно включить с помощью Globe.showGroundAtmosphere. Добавлены Globe.nightFadeOutDistance и Globe.nightFadeInDistance для настройки времени, когда освещение ночной атмосферы Земли затухает и появляется.
  • В Clock добавлено событие onStop, которое срабатывает каждый раз, когда достигается stopTime.
Исправления :wrench:

— Исправлен выбор перекрывающихся полупрозрачных примитивов. 1.49 — 2018-09-04

Исправления:

  • Улучшена производительность и исправлены ошибки в коде обхода 3D Tiles.
    • Повышена скорость загрузки при значении skipLevelOfDetail равном false.
    • Исправлена ошибка, приводившая к пропуску некоторых тайлов.

Изменения:

  • Удалена функция ClippingPlaneCollection.clone.
  • Изменена функция Globe.pick для возврата позиции в координатах ECEF независимо от текущего режима сцены. Это повлияет на вас, только если вы работали над ошибкой, чтобы заставить Globe.pick работать в 2D и Columbus View. Используйте Globe.pickWorldCoordinates, чтобы получить позицию в мировых координатах, которые соответствуют текущему режиму сцены.
  • Удалён неиспользуемый параметр frameState в функциях evaluate и evaluateColor в Expression, StyleExpression, ConditionsExpression и во всех других местах, где вызываются функции.
  • Заменена функция PostProcessStageLibrary.createLensFlarStage на PostProcessStageLibrary.createLensFlareStage.
  • Вместо Scene.fxaa используйте Scene.postProcessStages.fxaa.enabled.

Дополнения:

  • Добавлены параметры heightReference в BoxGraphics, CylinderGraphics и EllipsoidGraphics, которые можно использовать для привязки этих типов объектов к местности.
  • Добавлен GeocoderViewModel.destinationFound для указания функции, которая вызывается при успешном геокодировании. Поведение по умолчанию — переход к найденному геокодером пункту назначения.
  • Добавлены события ClippingPlaneCollection.planeAdded и ClippingPlaneCollection.planeRemoved. Событие planeAdded возникает при добавлении новой плоскости в коллекцию, а событие planeRemoved — при удалении плоскости.
  • Добавлена Matrix4.setScale для установки масштаба аффинной матрицы преобразования.
  • Добавлено необязательное width и height в Scene.drillPick для определения области поиска.
  • Добавлен Cesium3DTileset.root для получения корневого тайла набора тайлов.
  • Добавлены Cesium3DTileset.extras и Cesium3Tile.extras для получения метаданных из 3D Tiles, специфичных для приложения. В запросе представлен текст технической направленности из области разработки и тестирования программного обеспечения. Основной язык текста запроса — английский.

Вот перевод текста на русский язык:

Для загрузки, когда skipLevelOfDetail имеет значение true:

  • Исправлена статистика выбора в инспекторе 3D Tiles.
  • Исправлено рисование меток отладки для внешних наборов тайлов.
  • Исправлено рисование контуров отладки для пустых тайлов.

Виджет Geocoder теперь учитывает высоту местности при расчёте конечного пункта назначения. (#6876)

Виджет Viewer теперь учитывает высоту местности при масштабировании или переходе к слоям изображений. (#6895)

Исправлены проблемы с управлением камерой в Firefox с помощью мыши и сенсорных событий. (#6372)

Исправлено getPickRay в 2D. (#2480)

Исправлено Globe.pick для 2D и Columbus View. (#6859)

Исправлено выделение объектов слоя изображений в 2D и в режиме Columbus. (#6859)

Исправлены периодические проблемы с закреплением земли для всех типов объектов, которые используют ссылку на высоту. (#6930)

Исправлена ошибка, из-за которой новый ClippingPlaneCollection создавался каждый кадр при использовании с объектом модели. (#6872)

Улучшены объекты Plane, чтобы они лучше соответствовали поверхности земного шара. (#6887)

Исправлен сбой при рендеринге полупрозрачных объектов, когда все теневые карты в сцене устанавливают fromLightSource в false. (#6883)

Исправлено затенение ночью в 2D и режиме Columbus. (#4122)

Исправлена проблема с загрузкой модели, когда примитив glTF 2.0 не имеет материала. (#6906)

Исправлен сбой, возникающий при установке show в false на полилинии, закреплённой на земле. (#6912)

Исправлена ошибка, при которой Cesium3DTileset не использовал правильный tilesetVersion. (#6933)

Исправлен сбой, который происходил при вызове scene.pick после установки нового поставщика данных о местности. (#6918)

Исправлена проблема, из-за которой браузер зависал при использовании drillPick на полилинии, прикреплённой к земле. (#6907)

Исправлена проблема, при которой цвет не обновлялся должным образом для полилиний, закреплённых на земле. (#6927)

Исправлена проблема чрезмерного использования памяти, которая возникала при использовании data URI для указания модели glTF. (#6928)

Исправлена проблема, при которой переключение с 2D на 3D могло вызвать сбой. (#6929)

Исправлена проблема, при которой точечные примитивы за камерой появлялись в поле зрения. (#6904)

createGroundPolylineGeometry больше не зависит от GroundPolylinePrimitive, что делает веб-воркер меньше и потенциально позволяет избежать зависания сборки в некоторых конфигурациях webpack. (#6946)

Исправлена проблема, которая приводила к сбою объектов местности (объектов с неуказанной высотой) и GroundPrimitives при пересечении международной линии перемены дат. (#6951)

Исправлён расчёт нормалей для CylinderGeometry, когда верхний радиус не равен нижнему радиусу. (#6863)

1.48 — 2018-08-01

Добавления :tada:

  • Добавлена поддержка загрузки сжатых Point Cloud тайлов Draco для сжатия в 2–3 раза. (#6559)
  • Добавлено TimeDynamicPointCloud для воспроизведения динамических во времени данных облака точек, где каждый кадр является тайлом Point Cloud. (#6721)
  • Добавлены CoplanarPolygonGeometry и CoplanarPolygonGeometryOutline для рисования многоугольников, состоящих из копланарных позиций, которые не обязательно находятся на эллипсоиде. surface.
  • Улучшена поддержка полигональных объектов с использованием perPositionHeight, включая поддержку вертикальных полигонов. Это также улучшает совместимость с KML.
  • Добавлен метод Cartesian3.midpoint для вычисления средней точки между двумя позициями Cartesian3.
  • Добавлены методы equalsEpsilon в классы OrthographicFrustum, PerspectiveFrustum, OrthographicOffCenterFrustum и PerspectiveOffCenterFrustum.

Устарело:hourglass_flowing_sand:

  • Поддержка свойства content.url в 3D Tiles устарела, чтобы отразить обновления спецификации 3D Tiles. Вместо этого используйте content.uri. Поддержка content.url будет сохранена для обратной совместимости.
  • Поддержка иерархии пакетных таблиц 3D Tiles до версии 1.0 устарела, чтобы отразить обновления спецификации 3D Tiles. Используйте расширение 3DTILES_batch_table_hierarchy вместо этого. Поддержка устаревшей иерархии пакетных таблиц будет сохранена для обратной совместимости.
  • Метод PostProcessStageLibrary.createLensFlarStage устарел из-за опечатки и будет удалён в Cesium 1.49. Вместо него используйте метод PostProcessStageLibrary.createLensFlareStage.

Исправления:wrench:

  • Исправлена ошибка, из-за которой 3D-тайлсеты, использующие ограничивающий объём region, не преобразовывались при изменении modelMatrix тайлсета.
  • Исправлена ошибка, приводившая к сбою освещения купола глаза для облаков точек в Safari на macOS и Edge на Windows путём удаления зависимости от текстур цвета с плавающей точкой.
  • Исправлена ошибка, вызывавшая некорректное отображение полилиний на местности в 2D и Columbus View с помощью WebMercatorProjection.
  • Исправлена ошибка, приводящая к неправильному отображению размеров рекламных щитов и надписей при переключении режимов сцены.
  • Исправлен PolygonGeometry при использовании VertexFormat.POSITION_ONLY, perPositionHeight и extrudedHeight.
  • Исправлена проблема, когда плитки отсутствовали в режиме VR.
  • Исправлены проблемы, связанные с обновлением отображения сущностей и цвета геометрии.
  • Исправлены атрибуты касательной и битангенса PolygonGeometry и EllipseGeometry при использовании поворота текстуры.
  • Исправлена ошибка, при которой сущности с опорной высотой не обновлялись корректно при смене поставщика местности.
  • Исправлена проблема, при которой модели glTF 2.0 иногда не центрировались в представлении после наведения на них камеры.
  • Исправлено поведение геокодера при передаче опции Viewer geocoder: true.
  • Повышена производительность рекламных щитов и этикеток, закреплённых на местности.
  • Исправлена ошибка, которая приводила к неправильной установке позиций рекламных щитов при использовании свойства обратного вызова.
  • Улучшена поддержка генерации файла типизации TypeScript с помощью tsd-jsdoc.
  • Обновлён метод viewBoundingSphere для использования правильных параметров масштабирования.
  • Исправлена ошибка, приводившая к непрерывному рендерингу сцены после изменения размера средства просмотра при включённом requestRenderMode. Основные моменты:
  • Добавлена поддержка полилиний на местности (#6689, #6615).

  • Введены свойства heightReference и extrudedHeightReference для CorridorGraphics, EllipseGraphics, PolygonGraphics и RectangleGraphics (#6717).

  • Свойство selected объекта PostProcessStage представляет собой массив примитивов, используемых для выборочного применения этапа постобработки (#6476).

Изменения:

  • Модели glTF 2.0 скорректированы так, чтобы они были направлены лицевой стороной в сторону +Z согласно спецификации. Внутренне Cesium использует +X как направление вперёд, поэтому для моделей 2.0 был добавлен новый поворот от +Z к +X. Чтобы исправить модели, которые после этого изменения ориентированы неправильно:

    • Если модель обращена лицевой стороной в сторону +X, обновите glTF, чтобы она была направлена в сторону +Z. Это можно сделать, загрузив glTF в редактор моделей и применив поворот на 90 градусов по часовой стрелке вокруг оси вверх. В качестве альтернативы добавьте новый корневой узел в иерархию узлов glTF, матрица которого равна [0,0,1,0,0,1,0,0,-1,0,0,0,0,0,0,1].
    • Примените поворот на -90 градусов к заголовку модели. Это можно сделать, установив ориентацию модели с помощью API Entity или из CZML. Подробнее см. в #6738.
  • Прекращена поддержка URL-адресов каталогов при загрузке наборов тайлов в соответствии с обновлённой спецификацией 3D Tiles (#6502).

  • KML и GeoJSON теперь используют PolylineGraphics вместо CorridorGraphics для полилиний на местности (#6706).

Дополнения:

  • Поддержка полилиний на местности (#6689, #6615):

    • Используйте опцию clampToGround для PolylineGraphics (полилинейные объекты).
    • Требуется поддержка текстур глубины (WEBGL_depth_texture или WEBKIT_WEBGL_depth_texture), иначе clampToGround будет проигнорирован. Используйте Entity.supportsPolylinesOnTerrain, чтобы проверить поддержку.
    • Добавлены GroundPolylinePrimitive и GroundPolylineGeometry.
  • PostProcessStage имеет свойство selected, которое представляет собой массив примитивов, используемый для выборочного применения стадии постобработки (#6476):

    • Стадии постобработки PostProcessStageLibrary.createBlackAndWhiteStage и PostProcessStageLibrary.createSilhouetteStage имеют поддержку для каждой функции.
  • Добавлена поддержка CZML для zIndex с corridor, ellipse, polygon, polyline и rectangle (#6708).

  • Добавлен параметр CZML clampToGround для polyline (#6706).

  • Добавлена поддержка свойства RTC_CENTER в пакетных наборах 3D-моделей для соответствия обновлённой спецификации 3D Tiles (#6488).

  • Свойства heightReference и extrudedHeightReference добавлены в CorridorGraphics, EllipseGraphics, PolygonGraphics и RectangleGraphics (#6717):

    • Это можно использовать вместе со свойствами height и/или extrudedHeight, чтобы закрепить геометрию на местности или установить высоту относительно местности.
    • Обратите внимание, что это не заставит геометрию соответствовать местности. Вытянутая геометрия, закреплённая на земле, будет иметь плоскую вершину, которая будет погружаться в местность у основания.

Исправления:

  • Исправлена ошибка, из-за которой Cesium не мог загружать локальные ресурсы в Electron (#6726).

  • Исправлена ошибка, вызывающая сбои при пользовательских атрибутах вершин на Geometry, пересекающих IDL. Атрибуты будут интерполироваться барицентрически (#6644).

  • Исправлена ошибка, приводящая к сбоям при загрузке облаков точек с пакетными идентификаторами без знака int (#6666).

  • Исправлена ошибка. Вот перевод текста на русский язык:

С использованием Draco-кодированных тайлов i3dm и загрузкой двух моделей Draco по одному URL. #6668

  • Исправлена ошибка, вызванная созданием полигона с позициями в одной и той же позиции долготы/широты, но разной высоты. #6731
  • Исправлено обрезание рельефа при близком расположении камеры к плоской поверхности и использовании логарифмической глубины. #6701
  • Исправлен баг KML, который постоянно запрашивал одно и то же изображение при неудачной загрузке. #6710
  • Улучшено отображение рекламных щитов и надписей, чтобы они больше не погружались в рельеф при привязке к земле. #6621
  • Устранена проблема, когда KMLs, содержащие colorMode равный random, могли возвращать один и тот же цвет при последовательных вызовах Color.fromRandom().
  • Iso8601.MAXIMUM_VALUE теперь форматируется в строку, которую можно проанализировать с помощью fromIso8601.
  • Исправлена поддержка материалов при использовании изображения, которое уже загружено. #6729

1.46.1 — 2018-06-01

— Это релиз только для npm, предназначенный для исправления неправильно опубликованного 1.46.0. Никаких изменений кода не было.

1.46 — 2018-06-01

Основные моменты :sparkler:
  • Добавлена поддержка материалов для объектов рельефа (объектов с неуказанной высотой) и GroundPrimitives. #6393
  • Добавлен фреймворк постобработки. #5615
  • Добавлен zIndex для геометрии земли, включая коридор, эллипс, полигон и прямоугольник. #6362
Критические изменения :mega:
  • ParticleSystem больше не использует forces. #6510
  • Particle больше не использует size, rate, lifetime, life, minimumLife, maximumLife, minimumWidth, minimumHeight, maximumWidth и maximumHeight. #6510
  • Удалено Scene.copyGlobeDepth. Глубина глобуса теперь будет копироваться по умолчанию, если поддерживается. #6393
  • По умолчанию classificationType для GroundPrimitive, CorridorGraphics, EllipseGraphics, PolygonGraphics и RectangleGraphics теперь ClassificationType.TERRAIN. Если вы хотите, чтобы геометрия окрашивала как рельеф, так и 3D-тайлы, передайте параметр classificationType: Cesium.ClassificationType.BOTH.
  • Поддержка аргумента options для Credit удалена. #6373. Вместо этого передавайте строку html.
  • Модели glTF 2.0 скорректированы так, чтобы передняя сторона была направлена +Z согласно спецификации. Внутренне Cesium использует +X как переднюю сторону, поэтому для моделей 2.0 был добавлен новый поворот от +Z до +X. #6632
Устаревшее :hourglass_flowing_sand:
  • Свойство Scene.fxaa устарело и будет удалено в Cesium 1.47. Используйте Scene.postProcessStages.fxaa.enabled.
Дополнения :tada:
  • Добавлена поддержка материалов для объектов рельефа (объектов с неуказанной высотой) и GroundPrimitives. #6393
    • На данный момент доступна только для ClassificationType.TERRAIN. Добавление материала к объекту рельефа приведёт к тому, что он будет вести себя так, как будто это ClassificationType.TERRAIN.
    • Требуется поддержка текстур глубины (WEBGL_depth_texture или WEBKIT_WEBGL_depth_texture), поэтому материалы для объектов рельефа и GroundPrimitives не поддерживаются в Internet Explorer.
    • Лучше всего подходит для обозначения шаблонов и не предназначен для точного сопоставления текстур с рельефом — для этого используйте SingleTileImageryProvider.
  • Добавлены GroundPrimitive.supportsMaterials и Entity.supportsMaterialsforEntitiesOnTerrain, которые можно использовать для проверки поддержки материалов для объектов рельефа и GroundPrimitives. #6393
  • Добавлен фреймворк постобработки. #5615 Текст запроса написан на английском языке.

Перевод текста:

new Cesium.BingMapsGeocoderService(), ], });


Deprecated :hourglass_flowing_sand:

- Particle.size, ParticleSystem.rate, ParticleSystem.lifeTime, ParticleSystem.life, ParticleSystem.minimumLife и ParticleSystem.maximumLife были переименованы в Particle.imageSize, ParticleSystem.emissionRate, ParticleSystem.lifetime, ParticleSystem.particleLife, ParticleSystem.minimumParticleLife и ParticleSystem.maximumParticleLife. Использование параметров size, rate, lifeTime, life, minimumLife и maximumLife устарело и будет удалено в Cesium 1.46.
- Массив ParticleSystem.forces был заменён на функцию ParticleSystems.updateCallback. Использование параметра forces устарело и будет удалено в Cesium 1.46.
- Любые переменные ширины и высоты в ParticleSystem больше не будут отдельными компонентами. ParticleSystem.minimumWidth и ParticleSystem.minimumHeight теперь будут ParticleSystem.minimumImageSize, ParticleSystem.maximumWidth и ParticleSystem.maximumHeight теперь будут ParticleSystem.maximumImageSize, а ParticleSystem.width и ParticleSystem.height теперь будут ParticleSystem.imageSize. Использование параметров minimumWidth, minimumHeight, maximumWidth, maximumHeight, width и height устарело и будет удалено в Cesium 1.46.

Additions :tada:

- Добавлена опция logarithmicDepthBuffer в Scene. С этой опцией обычно визуализируется один логарифмический буфер глубины. Это повышает производительность за счёт меньшего количества вызовов отрисовки к графическому процессору и помогает избежать артефактов на соединении двух фрустумов. [#5851](https://github.com/CesiumGS/cesium/pull/5851)
- Когда поддерживается лог-глубина, ближняя и дальняя плоскости по умолчанию равны 0,1 и 1e10 соответственно.
- Добавлен IonGeocoderService и сделан им по умолчанию для виджета Geocoder.
- Добавлен createWorldImagery, который предоставляет изображения Bing Maps через аккаунт Cesium ion.
- Добавлен PeliasGeocoderService, который обеспечивает геокодирование через сервер [Pelias](https://pelias.io).
- Добавлена возможность для BaseLayerPicker группировать слои по категориям. Также добавлен ProviderViewModel.category для поддержки этой функции.
- Добавлен Math.log2 для вычисления логарифма числа по основанию 2.
- Добавлено перечисление GeocodeType, которое используется как необязательный параметр во всех экземплярах GeocoderService для различения запросов автозаполнения и поиска.
- В TaskProcessor добавлена функция initWebAssemblyModule для загрузки модуля Web Assembly в веб-воркере. [#6420](https://github.com/CesiumGS/cesium/pull/6420)
- В FeatureDetection добавлена функция supportsWebAssembly для проверки поддержки браузером загрузки модулей Web Assembly. [#6420](https://github.com/CesiumGS/cesium/pull/6420)
- Производительность MapboxImageryProvider улучшена на 300% благодаря переключению поддоменов tiles.mapbox.com. [#6426](https://github.com/CesiumGS/cesium/issues/6426)
- Добавлена возможность вызывать sampleTerrain из node.js для включения автономного сбора данных о местности.
- Добавлено больше примеров Sandcastle для системы частиц «ракетный» и «хвосты комет» и «погода». [#6375](https://github.com/CesiumGS/cesium/pull/6375)
- В класс конструктора ParticleSystem добавлены атрибуты цвета и масштаба. При определении переменных они переопределяют startColor и endColor, а также startScale и endScale. [#6429](https://github.com/CesiumGS/cesium/pull/6429)

Fixes :wrench:

- Исправлены ошибки в TimeIntervalCollection.removeInterval. [#6418](https://github.com/CesiumGS/cesium/pull/6418).
- Поддержка glTF была исправлена для работы с сетками с и без векторов касательных, с/без морф-целей, использующими один материал. [#6421](https://github.com/CesiumGS/cesium/pull/6421)
- Поддержка glTF исправлена для обработки скиновых сеток, когда кожа не предоставлена. [#6061](https://github.com/CesiumGS/cesium/issues/6061)
- Обновлён шейдер PBR glTF 2.0 для более яркого освещения. [#6430](https://github.com/CesiumGS/cesium/pull/6430)
- Разрешено использование loadWithXhr с URL-адресами строк в веб-воркере.
- Выполнено обновление до Draco 1.3.0 и реализовано ускорение. **1.44 — 2018-04-02**

**Основные моменты**:sparkler:
* Добавлен новый ярлык Sandcastle «Новое в X.X», который будет включать все новые демоверсии Sandcastle, добавленные для текущего выпуска. #6384
* Поддержка моделей glTF с геометрическим сжатием Draco. #5120
* Поддержка упорядочивания в DataSourceCollection. #6316

**Критические изменения**:mega:
* GeometryVisualizer теперь требует параметров primitive и groundPrimitive. #6316
* Для всех классов/функций, которые принимают экземпляр Resource, все дополнительные параметры, которые являются частью класса Resource, были удалены. Как правило, это включает параметры proxy, headers и query. #6368
* Все функции загрузки нижнего уровня, включая loadArrayBuffer, loadBlob, loadImage, loadJson, loadJsonp, loadText, loadXML и loadWithXhr, были удалены. Пожалуйста, используйте эквивалентные функции fetch в классе Resource. #6368

**Устаревшие**:hourglass_flowing_sand:
* ClippingPlaneCollection теперь поддерживается в Internet Explorer, поэтому ClippingPlaneCollection.isSupported устарела и будет удалена в Cesium 1.45.
* Теперь ClippingPlaneCollection следует использовать с объектами ClippingPlane вместо Plane. Использование объектов Plane устарело и будет удалено в Cesium 1.45.
* Credit теперь принимает параметры html и showOnScreen вместо объекта options. Использование параметра options устарело и будет удалено в Cesium 1.46.
* Свойства Credit.text, Credit.imageUrl и Credit.link устарели и будут удалены в Cesium 1.46. Используйте Credit.html для получения содержимого кредита.
* Функции Credit.hasImage и Credit.hasLink устарели и будут удалены в Cesium 1.46.

**Дополнения**:tada:
* Добавлен новый ярлык Sandcastle. **Новые возможности в версии X.X**

Включают все новые демонстрации Sandcastle, добавленные для текущего релиза.

* **Новое в X.X**, которое будет включать все новые демоверсии Sandcastle, добавленные в текущем релизе.
* Поддержка моделей glTF с [сжатием геометрии Draco](https://github.com/KhronosGroup/glTF/blob/master/extensions/2.0/Khronos/KHR_draco_mesh_compression/README.md).
  * Добавлен параметр `dequantizeInShader` для опций `Model` и `Model.fromGltf`, чтобы указать, следует ли деквантовать сжатые активы glTF на GPU.
* Поддержка упорядочивания в `DataSourceCollection`.
  * Вся наземная геометрия из одного `DataSource` будет отображаться перед всей наземной геометрией из другого `DataSource` в той же коллекции с более низким индексом.
  * Используйте функции `DataSourceCollection.raise`, `DataSourceCollection.lower`, `DataSourceCollection.raiseToTop` и `DataSourceCollection.lowerToBottom`, чтобы изменить порядок `DataSource` в коллекции.
* Обновления `ClippingPlaneCollection` (https://github.com/CesiumGS/cesium/pull/6201):
  * Удалён лимит в 6 плоскостей отсечения.
  * Поддержка Internet Explorer.
  * Введён объект `ClippingPlane` для использования с `ClippingPlaneCollection`.
  * Пример использования Terrain Clipping Planes в Sandcastle.
* Изменён `Credit` для приёма строки HTML в качестве содержания кредита.
* Теперь примеры Sandcastle работают путём сохранения полного примера непосредственно в URL-адресе вместо создания гистов GitHub, поскольку анонимное создание гистов было удалено GitHub. Загрузка существующих гистов по-прежнему будет работать.
* Обновлено `WebMapServiceImageryProvider`, чтобы он мог принимать строку srs или crs для передачи параметров запроса ресурсов на основе версии WMS.
* Дополнительные параметры запроса добавлены в демонстрационное приложение CesiumViewer.
  * `sourceType` определяет тип источника данных, если URL не имеет известного расширения файла.
  * Опционально `flyTo=false` отключает автоматическое `flyTo` после загрузки источника данных.
* Добавлен пример CZML из нескольких частей в Sandcastle.
* Улучшен порядок обработки 3D-тайлов.

**Исправления**:

* Исправлена ошибка кэширования браузера Cesium ion.
* Исправлена формула для взвешенной смешанной прозрачности, независимой от порядка.
* Исправлена поддержка векторов касательных, предоставленных glTF.
* Исправлено отсутствие материалов при загрузке модели.
* По умолчанию установлено значение `alphaCutoff` в моделях glTF.
* Двойной флажок для материалов glTF с включенным `BLEND`.
* Анимация для моделей glTF при отсутствии целей анимации.
* Неправильное масштабирование во время сбоя загрузки модели.
* Рендеринг векторных тайлов при использовании `invertClassification`.
* Окклюзия при `globe.show = false`.
* Сбой при статической геометрии и атрибутах времени.
* Геометрический рендеринг тайлов в IE. ### 1.42.1 — 2018-02-01

*Это релиз только для npm, предназначенный для исправления проблемы с использованием Cesium в Node.js.*

— Исправлена ошибка, из-за которой Cesium не загружался в среде Node.js. [#6177](https://github.com/CesiumGS/cesium/pull/6177)

### 1.42 — 2018-02-01

##### Основные моменты :sparkler:

— Добавлена экспериментальная поддержка [3D Tiles Vector и Geometry data](https://github.com/CesiumGS/3d-tiles/tree/3d-tiles-next/TileFormats/VectorData). ([#4665](https://github.com/CesiumGS/cesium/pull/4665))

— Добавлен дополнительный режим для снижения использования CPU. См. [Improving Performance with Explicit Rendering](https://cesium.com/blog/2018/01/24/cesium-scene-rendering-performance/). ([#6115](https://github.com/CesiumGS/cesium/pull/6115))

— Добавлен экспериментальный класс утилиты CesiumIon для работы с бета-API Cesium ion. [#6136](https://github.com/CesiumGS/cesium/pull/6136)

— Проведён крупный рефакторинг обработки URL. Все классы, которые принимают параметр url, теперь могут принимать объект Resource или строку. Это включает все провайдеры изображений, все провайдеры местности, Cesium3DTileset, KMLDataSource, CZMLDataSource, GeoJsonDataSource, Model и Billboard.

##### Критические изменения :mega:

— По умолчанию часы не анимируются. Установите опцию shouldAnimate в значение true при создании Viewer, чтобы включить анимацию.

##### Устарело :hourglass_flowing_sand:

— Для всех классов/функций, которые теперь могут принимать экземпляр Resource, все дополнительные параметры, являющиеся частью класса Resource, устарели и будут удалены в Cesium 1.44. Как правило, это включает параметры proxy, headers и query.

— Все функции загрузки низкого уровня, включая loadArrayBuffer, loadBlob, loadImage, loadJson, loadJsonp, loadText, loadXML и loadWithXhr, устарели и будут удалены в Cesium 1.44. Пожалуйста, используйте эквивалентные функции fetch в классе Resource.

##### Дополнения :tada:

— Добавлена экспериментальная поддержка [3D Tiles Vector и Geometry data](https://github.com/CesiumGS/3d-tiles/tree/3d-tiles-next/TileFormats/VectorData) ([#4665](https://github.com/CesiumGS/cesium/pull/4665)). Новые и изменённые API Cesium включают:
  — Cesium3DTileStyle расширен и теперь включает стилизацию точечных объектов. Подробности см. в [спецификации стилей](https://github.com/CesiumGS/3d-tiles/tree/vector-tiles/Styling#vector-data).
  — Cesium3DTileFeature может изменять свойства color и show для полигональных, полилинейных и геометрических объектов.
  — Cesium3DTilePointFeature может изменять параметры стиля для точечного объекта.

— Добавлен необязательный режим для снижения нагрузки на CPU. [#6115](https://github.com/CesiumGS/cesium/pull/6115)
  — Scene.requestRenderMode включает режим, который будет запрашивать новые кадры рендеринга только при изменениях сцены или когда изменение времени моделирования превышает scene.maximumRenderTimeChange.
  — В режиме requestRender сцена будет явно запрашивать новый кадр рендеринга.
  — Добавлены события Scene.preUpdate и Scene.postUpdate, которые возникают до и после обновления сцены соответственно. Сцена всегда обновляется перед выполнением потенциального рендера. Продолжайте прослушивать события Scene.preRender и Scene.postRender для рендеринга кадра сценой.
  — Добавлено обновление CreditDisplay.update, которое обновляет отображение кредитов перед рендерингом нового кадра.
  — Добавлено Globe.imageryLayersUpdatedEvent, которое возникает при добавлении, показе, скрытии, перемещении или удалении слоя изображений на глобусе. В запросе используется язык программирования JavaScript.

В ответе представлен перевод текста на русский язык:

или оба. Это относится только к векторным, геометрическим и пакетным наборам тайлов трёхмерных моделей. Ограничения для glTF, содержащегося в тайле b3dm:
- Требуются семантики POSITION и _BATCHID.
- Все индексы с одним и тем же идентификатором пакета должны занимать непрерывные участки индексного буфера.
- Игнорируются все шейдеры и техники. Сгенерированный шейдер просто умножает позицию на матрицу вида модели.
- Поддерживаются только расширения CESIUM_RTC и WEB3D_quantized_attributes.
- Поддерживается только один узел.
- На узел поддерживается только одна сетка.
- На сетку поддерживается только один примитив.
- Добавлено основанное на геометрической ошибке ослабление облачности точек и освещение купола глаз для облаков точек с использованием замены уточнения. [#6069](https://github.com/CesiumGS/cesium/pull/6069)
- Обновлены функции Viewer.zoomTo и Viewer.flyTo для использования Cesium3DTileset в качестве цели. [#6104](https://github.com/CesiumGS/cesium/pull/6104)
- Добавлена опция shouldAnimate в конструктор Viewer, чтобы указать, должен ли часы начинать анимацию при запуске. [#6154](https://github.com/CesiumGS/cesium/pull/6154)
- Добавлен атрибут Cesium3DTileset.ellipsoid, определяющий размер и форму земного шара. Его можно установить при создании и по умолчанию он равен эллипсоиду WGS84.
- Добавлена функция Plane.projectPointOntoPlane для проецирования позиции Cartesian3 на плоскость. [#6092](https://github.com/CesiumGS/cesium/pull/6092)
- Добавлена функция Cartesian3.projectVector для проецирования одного вектора на другой. [#6093](https://github.com/CesiumGS/cesium/pull/6093)
- Добавлено событие Cesium3DTileset.tileFailed, которое будет вызываться при сбое загрузки тайла. Объект, переданный слушателю события, будет иметь свойства url и message. Если нет слушателей событий, сообщения об ошибках будут выводиться на консоль. [#6088](https://github.com/CesiumGS/cesium/pull/6088)
- Добавлена функция AttributeCompression.zigZagDeltaDecode, которая будет декодировать буферы с дельта-кодированием и кодированием ZigZag на месте.
- Добавлены функции pack и unpack в OrientedBoundingBox для упаковки в плоский буфер и распаковки из него.
- Добавлена поддержка униформ вершинных шейдеров, когда tileset.colorBlendMode равен MIX или REPLACE. [#5874](https://github.com/CesiumGS/cesium/pull/5874)
- Добавлена функция ClippingPlaneCollection.isSupported для проверки поддержки рендеринга с обрезкой плоскостей. [#6084](https://github.com/CesiumGS/cesium/pull/6084)
- Добавлена функция Cartographic.toCartesian для преобразования из Cartographic в Cartesian3. [#6163](https://github.com/CesiumGS/cesius/pull/6163)
- Добавлен атрибут BoundingSphere.volume для вычисления объёма BoundingSphere. [#6069](https://github.com/CesiumGS/cesium/pull/6069)
- Добавлен новый файл для Кодекса поведения Cesium [Code of Conduct](https://github.com/CesiumGS/cesium/blob/master/CODE_OF_CONDUCT.md). [#6129](https://github.com/CesiumGS/cesium/pull/6129)

##### Исправления :wrench:

- Исправлена ошибка, которая могла привести к отсутствию тайлов на поверхности земного шара, особенно при начале работы с камерой, приближенной к поверхности. [#4969](https://github.com/CesiumGS/cesium/pull/4969)
- Исправлено применение полупрозрачного стиля к набору тайлов облака точек. [#6113](https://github.com/CesiumGS/cesium/pull/6113)
- Исправлен Sandcastle в IE 11. [#6169](https://github.com/CesiumGS/cesium/pull/6169)
- Исправлена ошибка анимации glTF, приводившая к дрожанию определённых анимаций. [#5740](https://github.com/CesiumGS/cesium/pull/5740)
- Исправлена ошибка при создании рекламных щитов и объектов модели без земного шара. [#6109](https://github.com/CesiumGS/cesium/pull/6109)
- Улучшен пример CZML Custom Properties Sandcastle. [#6086](https://github.com/CesiumGS/cesium/pull/6086)
- Улучшен пример системы частиц Sandcastle для лучшего визуального восприятия. [#6132](https://github.com/CesiumGS/cesium/pull/6132)
- Поведение функций Camera.move* и Camera.look* в 2D режиме улучшено. [#5884](https://github.com/CesiumGS/cesium/issues/5884)
- Функции Camera.moveStart и Camera.moveEnd теперь корректно вызывают события, даже когда камера находится близко к земле. [#4753](https://github.com/CesiumGS/cesium/issues/4753)
- Документация OrientedBoundingBox исправлена. ### 1.41 — 2018-01-02

* **Изменения, нарушающие работу кода:**
  * Убраны параметры `text`, `imageUrl` и `link` из `Credit`, которые были объявлены устаревшими в Cesium 1.40. Вместо них следует использовать `options.text`, `options.imageUrl` и `options.link`.

* **Добавлена поддержка отсечения плоскостями.**
  * В `ModelGraphics`, `Model`, `Cesium3DTileset` и `Globe` добавлено свойство `clippingPlanes`, которое задаёт `ClippingPlaneCollection` для выборочного отключения рендеринга.
  * Добавлены `PlaneGeometry`, `PlaneOutlineGeometry`, `PlaneGeometryUpdater`, `PlaneOutlineGeometryUpdater`, `PlaneGraphics` и `Entity.plane` для визуализации плоскостей.
  * Добавлен `Plane.transformPlane` для применения преобразования к плоскости.

* **Исправлено исключение для облака точек в IE.**

* **Исправлено поведение материалов глобуса при `Globe.enableLighting` = `false`.**

* **Устранена ошибка компиляции шейдера при выборе, когда материалы глобуса были включены.**

* **Исключение при включённом `invertClassification`, инвертированном цвете с альфой меньше 1,0 и изменении размера окна теперь исправлено.**
### 1.40 — 2017-12-01

* **Объявлены устаревшими:**
  * Параметры `text`, `imageUrl` и `link` в `Credit` будут удалены в Cesium 1.41. Вместо них следует использовать `options.text`, `options.imageUrl` и `options.link`.

* **Добавлен `Globe.material` для применения материалов к глобусу/поверхности для затенения, например, по высоте или уклону.**

* **Поддержка CZML для `polyline.depthFailMaterial`, `label.scaleByDistance`, `distanceDisplayCondition` и `disableDepthTestDistance`.**

* **Исправлена ошибка, при которой выбор полигона, закреплённого на земле, мог привести к зависанию браузера.**

* **Исправлена ошибка в KML LookAt, где градусы и радианы смешивались при вычитании.**

* **Исправлена обработка файлов KMZ с отсутствующими объявлениями пространства имён `xsi`.**

* **Функция удаления повторяющихся объявлений пространств имён при загрузке KML или KMZ.**

* **Исправлен языковой детектор.**

* **Исправлена ошибка с моделями glTF с анимациями разной длины, которая вызывала ошибку.**

* **В `Model` и `Entity.model` добавлен параметр `clampAnimations`. При значении `false` анимации разной длины могут асинхронно зацикливаться на протяжении самой длинной анимации.**

* **Ошибка консоли `Invalid asm.js: Invalid member of stdlib` устранена путём перекомпиляции crunch.js с последней версией инструментария emscripten.**

* **Совместимость схемы `file:` с `joinUrls`.**

* **Пример Reverse Geocoder в Sandcastle.**

* **Возможность поддержки сенсорных событий в слоях изображений Split Sandcastle example.**

* **Новый тег `@experimental` в документации. Небольшая часть API Cesium, помеченная таким образом, может быть изменена без объявления устаревшей. См. раздел «Кодирование».** **1.39 — 2017-11-01**

* Cesium теперь официально поддерживает webpack. Подробнее см. в нашей статье «Интеграция Cesium и Webpack» на сайте cesium.com.
* Добавлена поддержка определения языка справа налево для надписей, в настоящее время поддерживаются иврит и арабский. Чтобы включить эту функцию, установите `Cesium.Label.enableRightToLeftDetection = true` в начале приложения.
* Исправлена обработка файлов KML с отсутствующими объявлениями пространства имён `xsi`.
* Исправлен баг, из-за которого наложения KML искажались при применении поворота.
* Исправлен баг, когда метки KML без указанного значка отображались со значком по умолчанию.
* Изменена загрузка KML, чтобы игнорировать сбои NetworkLink и продолжать загрузку остальной части документа.
* Добавлена возможность загрузки ресурсов Cesium из локальной файловой системы, если это разрешено настройками безопасности.
* Добавлено два новых свойства в `ImageryLayer`, которые позволяют настраивать фильтры текстур для повышения и понижения дискретизации фрагментов изображений: `minificationFilter` и `magnificationFilter`. Возможные значения: `LINEAR` (по умолчанию) и `NEAREST`.
* Устранены мерцающие артефакты с наборами тайлов 3D Tiles с тонкими стенами.
* Исправлено яркое освещение тумана при включённом освещении местности и добавлена настройка `Fog.minimumBrightness`, которая влияет на яркость тумана в полной темноте.
* Исправлено использование клавиш со стрелками в виджете геокодера для выбора поисковых предложений.
* Добавлена поддержка свойства `parentUrl` слоя в `CesiumTerrainProvider`, что позволяет компоновать наборы тайлов.
* В `Scene` добавлены параметры `invertClassification` и `invertClassificationColor`. Когда `invertClassification` имеет значение `true`, цвет любой геометрии 3D Tiles, не классифицированной с помощью `ClassificationPrimitive` или `GroundPrimitive`, умножается на `invertClassificationColor`.
* В UrlTemplateImageryProvider добавлено свойство `customTags`, которое позволяет использовать пользовательские ключевые слова в шаблоне URL.
* В Scene добавлены свойства `eyeSeparation` и `focalLength` для настройки параметров VR.
* Улучшен пример Reference Properties CZML.

**1.38 — 2017-10-02**

* Изменения, нарушающие работу:
  * `Scene/CullingVolume` был удалён. Используйте `Core/CullingVolume`.
  * `Scene/OrthographicFrustum` был удалён. Используйте `Core/OrthographicFrustum`.
  * `Scene/OrthographicOffCenterFrustum` был удалён. Используйте `Core/OrthographicOffCenterFrustum`.
  * `Scene/PerspectiveFrustum` был удалён. Используйте `Core/PerspectiveFrustum`.
  * `Scene/PerspectiveOffCenterFrustum` был удалён. Используйте `Core/PerspectiveOffCenterFrustum`.
* Добавлена поддержка в CZML для выражения ориентации как вектора скорости объекта с использованием синтаксиса `velocityReference`.
* Исправлены ошибки обработки CZML `velocityReference` в интервале. Способность добавлять анимацию в ModelAnimationCollection по индексу.

Исправлена ошибка в ModelAnimationCollection, из-за которой добавление анимации по её имени вызывало ошибку. 

Устранена проблема в Internet Explorer и Edge с загрузкой строк Unicode в типизированных массивах, что влияло на значения таблицы Batch Table 3D Tiles.

Масштабирование теперь поддерживает направление камеры, наклон и крен.

Исправлен сбой в PolylineCollection, препятствующий отображению более 16 тыс. точек в одной коллекции.

Устранён сбой облака точек 3D Tiles, приводивший к появлению посторонней точки в центре экрана на определённом оборудовании.

Исправлено удаление нескольких слушателей событий внутри обратных вызовов событий.

Запуск buildApps теперь создаёт встроенную версию Sandcastle, которая использует встроенную версию Cesium для повышения производительности.

Исправлена проблема обхода набора тайлов при отключённой оптимизации skipLevelOfDetail.

**1.37 — 2017-09-01**

Изменения:
* Передача options.clock при создании нового экземпляра Viewer удалена, вместо этого передаётся options.clockViewModel.
* Удалён GoogleEarthImageryProvider, используйте GoogleEarthEnterpriseMapsProvider вместо него.
* Параметр throttleRequest удалён из TerrainProvider.requestTileGeometry и унаследованных провайдеров местности. Он заменён необязательным объектом Request. Установите свойство throttle запроса в true, чтобы регулировать запросы.
* Возможность предоставления Promise для параметра options.url функции loadWithXhr и для параметров url функций loadArrayBuffer, loadBlob, loadImageViaBlob, loadText, loadJson, loadXML, loadImage, loadCRN, loadKTX и loadCubeMap удалена. Вместо этого url должен быть строкой.
* Добавлен classificationType в ClassificationPrimitive и GroundPrimitive, чтобы выбрать, будет ли классифицироваться местность, 3D Tiles или и то, и другое.
* Исправлен выбор глубины на 3D Tiles.
* Устранена ошибка прозрачности glTF модели.
* Исправлена ошибка replaceState, которая приводила к сбою демонстрационного приложения CesiumViewer в Safari и iOS.
* Исправлено несколько проблем с обходом 3D Tiles для наборов тайлов, использующих аддитивное уточнение.
* Исправлена проблема с обходом 3D Tiles, когда ненужные дочерние элементы загружались вне поля зрения.
* Тип идентификатора Entity изменён на String в EntityCollection и CompositeEntityCollection.
* Решена проблема, когда глобус не был определён, Model и BillboardCollection выдавали ошибку.
* Исправлена потеря ссылки кэша glTF Model на буферные данные модели.
* Некоторые проблемы с disableDepthTestDistance решены.
* Добавлено несколько новых стилей Bing Maps: CANVAS_DARK, CANVAS_LIGHT и CANVAS_GRAY.
* Внесены небольшие улучшения в атмосферу.
* Исправлена ошибка, из-за которой разделение изображений работало некорректно, когда пиксели CSS не были эквивалентны пикселям буфера рисования WebGL, например, на дисплеях с высоким DPI в Microsoft Edge и Internet Explorer.
* Добавлена поддержка Cesium3DTileset.loadJson для переопределения значений по умолчанию. Тайлсет поведение при загрузке.

* Исправлена загрузка бинарных glTF-файлов, содержащих текстуры CRN или KTX. 
* Исправлены вычисления зеркальности для определённых моделей с использованием расширения `KHR_materials_common`. 
* Устранена ошибка выбора в демо Sandcastle для взаимодействия с 3D тайлсами. 
* Обновлён knockout с версии 3.4.0 до 3.4.2.

**1.36 — 2017-08-01**

* **Изменения:**
  * Функция `Quaternion.fromHeadingPitchRoll(heading, pitch, roll, result)` была удалена. Вместо неё следует использовать функцию `Quaternion.fromHeadingPitchRoll(hpr, result)`, где `hpr` — это `HeadingPitchRoll`.
  * Функция `Transforms.headingPitchRollToFixedFrame(origin, headingPitchRoll, ellipsoid, result)` была удалена. Вместо неё следует использовать функцию `Transforms.headingPitchRollToFixedFrame(origin, headingPitchRoll, ellipsoid, fixedFrameTransform, result)`, где `fixedFrameTransform` — это матрица преобразования 4x4 (см. `Transforms.localFrameToFixedFrameGenerator`).
  * Функция `Transforms.headingPitchRollQuaternion(origin, headingPitchRoll, ellipsoid, result)` была удалена. Вместо неё следует использовать функцию `Transforms.headingPitchRollQuaternion(origin, headingPitchRoll, ellipsoid, fixedFrameTransform, result)`, где `fixedFrameTransform` — это матрица преобразования 4x4 (см. `Transforms.localFrameToFixedFrameGenerator`).
  * Свойства `color`, `show` и `pointSize` объекта `Cesium3DTileStyle` больше не инициализируются значениями по умолчанию.
* **Устаревшее:**
  * `Scene/CullingVolume` устарело и будет удалено в версии 1.38. Следует использовать `Core/CullingVolume`.
  * `Scene/OrthographicFrustum` устарело и будет удалено в версии 1.38. Следует использовать `Core/OrthographicFrustum`.
  * `Scene/OrthographicOffCenterFrustum` устарело и будет удалено в версии 1.38. Следует использовать `Core/OrthographicOffCenterFustrum`.
  * `Scene/PerspectiveFrustum` устарело и будет удалено в версии 1.38. Следует использовать `Core/PerspectiveFrustum`.
  * `Scene/PerspectiveOffCenterFrustum` устарело и будет удалено в версии 1.38. Следует использовать `Core/PerspectiveOffCenterFrustum`.
* **Новое:** добавлена поддержка glTF 2.0, включая физически обоснованный рендеринг материалов, морфинг целей и соответствующее обновление моделей glTF 1.0 до версии 2.0.
* Добавлен `ClassificationPrimitive`, который определяет объём и рисует пересечение объёма с рельефом или 3D тайлами.
* Добавлено событие `tileLoad` в `Cesium3DTileset`.
* Устранена проблема, когда сцена мигала при добавлении меток.
* Исправлено позиционирование меток при изменении высоты привязки.
* Позиционирование меток исправлено при использовании `HeightReference.CLAMP_TO_GROUND` и отсутствии позиции.
* Исправлен динамический полилайн с материалом тире полилайна.
* Добавлена возможность указать ширину и высоту в `scene.pick`.
* Исправлено `Viewer.flyTo`, которое не учитывало ограничения масштабирования и сбрасывало minimumZoomDistance, если камера увеличивала масштаб за пределы minimumZoomDistance.
* Добавлена возможность показывать URL тайлов в инспекторе 3D тайлов.
* Исправлена ошибка чтения текстур, сжатых CRN, с несколькими уровнями mip.
* Устранена проблема, из-за которой составные 3D тайлы, содержащие экземпляры 3D тайлов с внешней моделью, не загружали модель.
* Поведение `Cesium3DTilesInspector` выбирает первый тайлсэт, наведённый курсором, если тайлс не указан.
* Добавлена функция `Entity.computeModelMatrix`, которая возвращает матрицу модели, представляющую модель. В запросе представлен текст технической направленности из области разработки и тестирования программного обеспечения. Основной язык текста запроса — английский.

В результате перевода на русский язык с сохранением оригинального форматирования текста получается следующее:

Изменения в версии 1.35.2 от 11 июля 2017 года:  
— Это релиз только для npm, предназначенный для исправления проблемы с использованием Cesium в Node.js.  
— Исправлена ошибка, из-за которой Cesium не загружался в некоторых конфигурациях webpack под Node.js. #5593  
— Исправлена ошибка, при которой сжатые текстуры модели не отображались. #5596  
— Документация для OrthographicFrustum исправлена. #5586

Изменения в версии 1.35.1 от 5 июля 2017 года:  
— Этот релиз предназначен только для npm и предназначен для исправления проблем с развёртыванием версии 1.35. Кода изменений нет.

Изменения в версии 1.35 от 5 июля 2017 года:  
— Изменения, нарушающие работу:  
  — JulianDate.fromIso8601 по умолчанию будет использовать полночь UTC, если время не указано, чтобы соответствовать спецификации Javascript Date. Необходимо указать местное время полуночи, чтобы добиться старого поведения.  
— Устарело:  
  — GoogleEarthImageryProvider устарел и будет удалён в Cesium 1.37, вместо него следует использовать GoogleEarthEnterpriseMapsProvider.  
  — Параметр throttleRequest для TerrainProvider.requestTileGeometry, CesiumTerrainProvider.requestTileGeometry, VRTheWorldTerrainProvider.requestTileGeometry и EllipsoidTerrainProvider.requestTileGeometry устарел и будет заменён необязательным объектом Request. Параметр throttleRequests будет удалён в 1.37. Вместо этого установите для свойства запроса throttle значение true, чтобы регулировать запросы.  
  — Возможность предоставить Promise для параметра options.url в loadWithXhr и для параметра url в loadArrayBuffer, loadBlob, loadImageViaBlob, loadText, loadJson, loadXML, loadImage, loadCRN, loadKTX и loadCubeMap устарела. Это будет удалено в 1.37, теперь url должен быть строкой.  
— Добавлена поддержка 3D Tiles для потоковой передачи больших гетерогенных трёхмерных геопространственных наборов данных (#5308). См. новые примеры Sandcastle (http://cesiumjs.org/Cesium/Apps/Sandcastle/index.html?src=3D%20Tiles%20Photogrammetry&label=3D%20Tiles). Новые API Cesium:  
  — Cesium3DTileset  
  — Cesium3DTileStyle, StyleExpression, Expression и ConditionsExpression  
  — Cesium3DTile  
  — Cesium3DTileContent  
  — Cesium3DTileFeature  
  — Cesium3DTilesInspector, Cesium3DTilesInspectorViewModel и viewerCesium3DTilesInspectorMixin  
  — Cesium3DTileColorBlendMode  
— Добавлена система частиц для таких эффектов, как дым, огонь, искры и т. д. См. ParticleSystem, Particle, ParticleBurst, BoxEmitter, CircleEmitter, ConeEmitter, ParticleEmitter и SphereEmitter, а также новые примеры Sandcastle: Particle. Систем] (http://cesiumjs.org/Cesium/Apps/Sandcastle/index.html?src=Particle System.html&label=Showcases) и [Система частиц Фейерверк] (http://cesiumjs.org/Cesium/Apps/Sandcastle/index.html?src=Particle System Fireworks.html&label=Showcases).

[#5212]
- Добавлены параметры options.clock, options.times и options.dimensions в WebMapTileServiceImageryProvider для обработки динамических и статических значений времени для измерений.
- В loadWithXhr добавлен параметр options.request, а в loadArrayBuffer, loadBlob, loadImageViaBlob, loadText, loadJson, loadJsonp, loadXML, loadImageFromTypedArray, loadImage, loadCRN и loadKTX — параметр request.

— CzmlDataSource и KmlDataSource теперь загружают функции с дополнительным объектом запроса, который будет добавлять параметры запроса ко всем сетевым запросам. [#5419], [#5434]

— Добавлена демонстрация Sandcastle для установки времени с помощью API Clock [#5457];

— добавлена демонстрация Sandcastle для данных ArcticDEM. [#5224]

— В TimeIntervalCollection добавлены fromIso8601, fromIso8601DateArray и fromIso8601DurationArray для обработки различных способов указания групп интервалов в формате ISO8601.

— в TimeIntervalCollection добавлено fromJulianDateArray для генерации интервалов из списка дат.

— Исправлена ошибка геокодера, чтобы он мог точно обрабатывать вводы NSEW [#5407]

— исправлена ошибка, когда выборка ломалась, когда Солнце появлялось в поле зрения [#5478]

— исправлена ошибка, при которой кластеры выборки возвращали undefined вместо списка кластеризованных объектов. [#5286]

— исправлена ошибка, из-за которой, если полилинии были настроены на следование поверхности неопределённого глобуса, Cesium выдавал исключение. [#5413]

— уменьшено количество эффекта постобработки солнечного сияния вблизи горизонта. [#5381]

— исправлена ошибка, при которой масштабирование камеры работало неправильно, когда высота дисплея была больше ширины дисплея [#5421]

— обновлены типы MIME glTF/glb. [#5420]

— добавлен Cesium.Math.randomBetween.

— изменено defaultValue для проверки как undefined, так и null. [#5551]

— функция throttleRequestByServer удалена. Вместо этого передайте объект Request с установленным значением throttleByServer равным true любой из следующих функций загрузки: loadWithXhr, loadArrayBuffer, loadBlob, loadImageViaBlob, loadText, loadJson, loadJsonp, loadXML, loadImageFromTypedArray, loadImage, loadCRN и loadKTX.

### 1.34 — 2017-06-01

— Устарело
— Передача options.clock при создании нового экземпляра Viewer устарела и будет удалена в Cesium 1.37, вместо этого передавайте options.clockViewModel.

— Решена проблема, когда полилинии в PolylineCollection игнорировали дальнее расстояние при обновлении условия отображения расстояния. [#5283]

— устранён сбой при вызове Camera.pickEllipsoid с холстом размером 0.

— исправление BoundingSphere.fromOrientedBoundingBox. [#5334]

— решена проблема, при которой полилинии не обновлялись при обновлении модели матрицы PolylineCollection. [#5327]

— устранена ошибка, при которой добавление закреплённой метки без позиции отображалось бы в предыдущем положении закреплённой позиции метки. [#5338]

— исправлен сбой прозрачности для определённых типов материалов. [#5335]

— устранение проблемы выбора полилиний, использующих внешний вид сбоя глубины. [#5337]

— устранён сбой при морфинге. Из обзора Columbus в 3D.

* Исправлена ошибка, из-за которой не загружались описания KML с относительными путями.
* Устранена проблема, когда вид камеры мог быть недействительным в последнем кадре анимации.
* Решена проблема, при которой использование материала depth fail для полилиний вызывало сбой в Edge.
* Исправлен сбой, возникавший, когда `EllipsoidGeometry` и `EllipsoidOutlineGeometry` получали значения с плавающей запятой, ожидая целые числа.
* Исправлено несоответствие, при котором рекламные щиты были неправильно выровнены.
* Устранена неполадка, при которой полупрозрачные объекты могли мерцать при выборе при перемещении мыши.
* Поправлена ошибка, при которой рекламные щиты с установленным значением `sizeInMeters` равным true перемещались вверх при уменьшении масштаба.
* Исправлена проблема, при которой `SampledProperty.setInterpolationOptions` не игнорирует неопределённые параметры.
* Добавлена опция `basePath` в `Cesium.Model.fromGltf`.

**1.33 — 2017-05-01**

* **Изменения:**
  * Удалены свойства left, right, bottom и top из `OrthographicFrustum`. Используйте `OrthographicOffCenterFrustum` вместо этого.
  * Добавлены `GoogleEarthEnterpriseTerrainProvider` и `GoogleEarthEnterpriseImageryProvider` для чтения данных с серверов Google Earth Enterprise.
  * Поддержка пунктирных полилиний.
      * Добавлен тип материала `PolylineDash`.
      * Добавлено `PolylineDashMaterialProperty` в API Entity.
      * Введено свойство CZML `polylineDash`.
  * Добавлено `disableDepthTestDistance` к рекламным щитам, точкам и меткам. Это устанавливает расстояние до камеры, на котором будет отключён тест глубины. Установка его в ноль (по умолчанию) всегда включает тест глубины. Установка в `Number.POSITVE_INFINITY` никогда не включит тест глубины. Также добавлено `scene.minimumDisableDepthTestDistance`, чтобы изменить значение по умолчанию с нуля.
  * Введено `depthFailMaterial` для линейных объектов, которое является материалом, используемым для рендеринга линии, если она не проходит тест глубины.
  * Исправлены рекламные щиты, которые изначально не группировались.
  * Устранена проблема с отображением сообщения об ошибке токена `MapboxImageryProvider` по умолчанию.
  * Исправлена ошибка в формуле преобразования в `Matrix3.fromHeadingPitchRoll`.
  * Обновлён FXAA до версии 3.11.
  * `Scene.pickPosition` теперь кэширует результаты за кадр для повышения производительности.

**1.32 — 2017-04-03**

* *Устаревшее:*
  * Свойства `left`, `right`, `bottom` и `top` `OrthographicFrustum` устарели и будут удалены в версии 1.33. Вместо этого используйте `OrthographicOffCenterFrustum`.
* *Изменения:*
  * Удалено `ArcGisImageServerTerrainProvider`.
  * Свойства верхнего уровня `Entity`, созданного `GeoJsonDataSource`, теперь являются экземплярами `ConstantProperty`, а не необработанными значениями.
  * Добавлена поддержка ортографической проекции в 3D и обзоре Columbus.
      * Установите `projectionPicker` в значение `true` в параметрах при создании `Viewer`, чтобы добавить виджет, который будет переключать проекции.
      * Вызовите `switchToOrthographicFrustum` или `switchToPerspectiveFrustum` на `Camera`, чтобы изменить проекции.
  * Добавлена поддержка пользовательских свойств, зависящих от времени, в CZML. # 1.31 — 2017-03-01

**Были добавлены следующие функции:**
* В `Camera.flyTo` и `Camera.flyToBoundingSphere` были добавлены новые параметры полёта: `flyOverLongitude`, `flyOverLongitudeWeight` и `pitchAdjustHeight`.
* Было добавлено событие `Viewer.trackedEntityChanged`, которое возникает при изменении значения `viewer.trackedEntity`.
* Была добавлена константа `Camera.DEFAULT_OFFSET` для отображения объектов с ограничивающими сферами по умолчанию.

**Также были исправлены следующие проблемы:**
* Проблема с `TileBoundingBox`, из-за которой в некоторых местах исчезал ландшафт.
* Перекрытие рекламных щитов при смешивании.
* Проблема с `PinBuilder`, когда изображения на вставках могли иметь низкоальфа-полосы на непрозрачном фоне.
* Кластеризация рекламных щитов, точек и меток в 2D и Columbus View.
* Рендеринг `GroundPrimitive` в 2D и Columbus View.
* Проблема отслеживания камеры за динамическими эллипсоидами.
* Проблемы с imagerySplitPosition и международной линией перемены дат в режиме 2D.
* Ошибка в `ModelAnimationCache`, вызывающая обращение разных анимаций к одной и той же анимации.
* `ConstantProperty` теперь предоставляет методы `valueOf` и `toString`, которые возвращают постоянное значение.
* Улучшены артефакты глубины между непрозрачными и полупрозрачными примитивами.
* Исправлена проблема с сжатыми текстурами в IE11.
* Исправлена ошибка в `Quaternion.fromHeadingPitchRoll`, которая приводила к ошибочному выбросу исключения при передаче отдельных углов в неминифицированной / отладочной сборке.
* Исправлена ошибка, которая вызывала исключение в `CesiumInspectorViewModel` при использовании кнопок NW / NE / SW / SE / Parent для перехода к тайлу местности, который ещё не загружен.
* Теперь `QuadtreePrimitive` использует `frameState.afterRender` для запуска `tileLoadProgressEvent`.

#### Устарело:
* Функция `Quaternion.fromHeadingPitchRoll(heading, pitch, roll, result)` будет удалена в версии 1.33. Вместо неё следует использовать `Quaternion.fromHeadingPitchRoll(hpr, result)`, где `hpr` — это `HeadingPitchRoll`.
* Функция `Transforms.headingPitchRollToFixedFrame(origin, headingPitchRoll, ellipsoid, result)` также будет удалена в версии 1.33. Следует использовать `Transforms.headingPitchRollToFixedFrame(origin, headingPitchRoll, ellipsoid, fixedFrameTransform, result)`, где `fixedFrameTransform` — матрица преобразования 4x4 (см. `Transforms.localFrameToFixedFrameGenerator`).
* Функция `Transforms.headingPitchRollQuaternion(origin, headingPitchRoll, ellipsoid, result)` тоже будет удалена в версии 1.33. Её следует заменить на `Transforms.headingPitchRollQuaternion(origin, headingPitchRoll, ellipsoid, fixedFrameTransform, result)`, где `fixedFrameTransform` — матрица преобразования 4x4 (см. `Transforms.localFrameToFixedFrameGenerator`).
* `ArcGisImageServerTerrainProvider` будет удалён в версии 1.32 из-за отсутствия поддержки TIFF в веб-браузерах.

#### Изменения:
* Исправлено написание `Color.FUCHSIA` вместо `Color.FUSCHIA`.
* Из `ScreenSpaceEventType` удалены перечисления `MIDDLE_DOUBLE_CLICK` и `RIGHT_DOUBLE_CLICK`.
* Удалена функция `GeometryPipeline.computeBinormalAndTangent`. **1.30 — 2017-02-01**

* **Изменения:**
  * *Устаревшее:*
      * Свойства `url` и `key` будут удалены из `GeocoderViewModel` в версии 1.31. Эти свойства будут доступны в сервисах геокодирования, которые их поддерживают, таких как `BingMapsGeocoderService`.
      * Функция `GeometryPipeline.computeBinormalAndTangent` будет удалена в версии 1.31. Вместо неё следует использовать `GeometryPipeline.createTangentAndBitangent`.
      * Перечисления `MIDDLE_DOUBLE_CLICK` и `RIGHT_DOUBLE_CLICK` из `ScreenSpaceEventType` устарели и будут удалены в версии 1.31.
  * *Критические изменения:*
      * Из `Transform.headingPitchRollToFixedFrame` и `Transform.headingPitchRollQuaternion` были удалены отдельные параметры `heading`, `pitch`, `roll`. Вместо них следует передавать объект `HeadingPitchRoll`.
      * Свойство `binormal` было переименовано в `bitangent` для `Geometry` и `VertexFormat`.
      * В `CesiumInspectorViewModel` был удалён или изменён ряд свойств. **1.29 — 2017-01-02**

Улучшение 3D-моделей: добавлена возможность наложения модели (**Model**).

* *ShadowMap* конструктор стал закрытым.

* Добавлена функция *sampleTerrainMostDetailed* для выборки высоты массива позиций с использованием наилучших доступных данных о рельефе в каждой точке. Для этого требуется *TerrainProvider* со свойством *availability*.

* Прозрачные части рекламных щитов, надписей и точек больше не перекрывают части сцены за ними.

* Добавлено свойство *blendOption* в *BillboardCollection*, *LabelCollection* и *PointPrimitiveCollection*. По умолчанию используется *BlendOption.OPAQUE_AND_TRANSLUCENT*. Однако, если все рекламные щиты, надписи или точки полностью непрозрачны или полностью прозрачны, *blendOption* можно изменить на *BlendOption.OPAQUE* или *BlendOption.TRANSLUCENT* соответственно, чтобы повысить производительность до 2 раз.

* Поддержка пользовательских сервисов геокодирования и автозаполнения (см. пример Sandcastle). Добавлены *GeocoderService* — интерфейс для геокодеров, а также реализации *BingMapsGeocoderService* и *CartographicGeocoderService*.

* Возможность рисовать слой изображений с разделителем, чтобы слои отображались только слева или справа от разделителя. См. *ImageryLayer.splitDirection*, *Scene.imagerySplitPosition* и пример Sandcastle.

* Исправлена ошибка, из-за которой *GroundPrimitives* неправильно отображались или исчезали при разных уровнях масштабирования.

* Теперь *TerrainProvider* дополнительно предоставляет свойство *availability*, которое можно использовать для запроса уровня рельефа, доступного в определённом месте или прямоугольнике. В настоящее время это свойство предоставляет только *CesiumTerrainProvider*.

* Поддержка WMS версии 1.3 путём использования параметра запроса *CRS* вместо *SRS* для запроса проекции. *SRS* по-прежнему используется для более старых версий.

* Исправлен баг, из-за которого все модели использовали один и тот же цвет выделения.

* Исправлено некорректное выделение и зависание выделения при использовании атмосферы неба.

* Загрузка KML теперь работает корректно, когда цвет является пустой строкой.

* Исправлена ошибка, которая могла вызвать исключение «readyImagery is not actually ready» при быстром масштабировании мимо максимального доступного уровня изображений слоя изображений вблизи полюсов.

* Исправлена проблема, влияющая на динамическую графику с временной динамической матрицей модели.

* Исправлена видимость выпадающего списка автозаполнения *Geocoder* в Firefox.

* Добавлен *Rectangle.fromRadians*.

* Обновлён морфинг, так что теперь вид по умолчанию в Columbus View наклонён.

* 2D и поддержка Columbus View для моделей, использующих расширение RTC или чьи вершины находятся в координатах WGS84.

* Атрибут *perInstanceAttribute* отладки теперь необязателен и по умолчанию имеет значение *false*.

* Исправлена ошибка, приводившая к сбою при включении *debugShowFrustums* с OIT.

* Добавлена возможность запуска модульных тестов с помощью WebGL Stub, который делает все вызовы WebGL noop и игнорирует тестовые ожидания, основанные на чтении из WebGL. Используйте веб-ссылку из основного index.html или запустите с *npm run test-webgl-stub*. with a color/translucency. Добавлены свойства `color`, `colorBlendMode` и `colorBlendAmount` в `Model`, `ModelGraphics` и CZML. Также добавлено перечисление `ColorBlendMode`.

- Добавлена возможность рендеринга модели с силуэтом. В `Model`, `ModelGraphics` и CZML добавлены свойства `silhouetteColor` и `silhouetteSize`.
- Улучшены метки:
 - В слои примитивов, сущностей и CZML добавлены новые свойства меток `showBackground`, `backgroundColor` и `backgroundPadding`.
 - Добавлена поддержка новых строк (`\n`) в метках Cesium и CZML.
 - Добавлено новое перечисление `VerticalOrigin.BASELINE`. Ранее `VerticalOrigin.BOTTOM` иногда выравнивался по базовой линии в зависимости от содержимого метки.

- Исправлена прозрачность в Firefox 50.
- Исправлено вращение текстуры для `RectangleGeometry`.
- Исправлен баг, из-за которого у рекламных щитов на местности было неправильное смещение.
- Исправлен баг, при котором `globe.getHeight` неправильно возвращал `undefined`.
- Исправлен сбой при использовании визуализации пути сущности с использованием ссылочных свойств.
- Исправлена ошибка, приводившая к некорректному отображению `GroundPrimitive` в системах без расширения `WEBGL_depth_texture`.
- По умолчанию добавлен водяной знак, уведомляющий пользователей о необходимости регистрации для получения собственного токена Mapbox.
- Исправлены glTF-модели с обтягиванием, которые использовали `bindShapeMatrix`.
- Исправлена ошибка, которая могла вызвать исключение «readyImagery is not actually ready» при некоторых конфигурациях слоёв изображений.
- Исправлено `Rectangle.union`, чтобы правильно учитывать прямоугольники, пересекающие IDL.
- Исправлены всплывающие подсказки для миниатюр галереи в Sandcastle.
- `DataSourceClock.getValue` теперь сохраняет предоставленные свойства `result`, когда его свойства не определены.
- Добавлена функция `divideComponents` в `Cartesian2`, `Cartesian3` и `Cartesian4`.
- Добавлено перечисление `WebGLConstants`. Ранее это было частью закрытого API Renderer.

### 1.28 — 2016-12-01

- Улучшен порядок загрузки местности и изображений, особенно когда местность уже полностью загружена и загружается новый слой изображений. Это приводит к сокращению времени загрузки на 25% во многих случаях.
- Улучшено визуальное качество рекламных щитов, меток и точечных примитивов.
- Исправлены размеры рекламных щитов с нечётной шириной и высотой, которые неправильно округлялись в большую сторону.
- Изменён тест глубины с `LESS` на `LEQUAL`, что позволяет перекрывать глифы меток одинаковой глубины.
- Позиции глифов меток были скорректированы и исправлены.
- `TextureAtlas.borderWidthInPixels` всегда применялся к верхним и правым краям каждой внутренней текстуры, но теперь также применяется к нижним и левым краям всего TextureAtlas, гарантируя наличие границ со всех сторон независимо от положения внутри атласа.
- При отсутствии поддержки текстур с плавающей точкой происходит возврат к упаковке чисел с плавающей запятой в текстуру без знака.
- Добавлена поддержка сохранения html и css в GitHub Gists.
- Исправлен `Cartographic.fromCartesian`, когда декартовы координаты не находятся на поверхности эллипсоида.

### 1.27 — 2016-11-01

- Устарело:
  - Отдельные заголовок, тангаж и крен. ### 1.26 — 2016-10-03

* **Исправленные ошибки:**
  * Исправлена ошибка при переходе от 2D к 3D морфингу.
  * Исправлено вращение `RectangleGeometry`, когда прямоугольник находится близко к международной линии перемены дат.
  * Добавлены свойства `clusterBillboards`, `clusterLabels` и `cluserPoints` в `EntityCluster` для выборочного кластеризации объектов экранного пространства.
  * Предотвращено выполнение поведения устройства/браузера по умолчанию при обработке сенсорного события/жеста «pinch».
  * Исправлен теневой алиасинг, когда полигональный сдвиг не применялся.
  * Удалён ненужный перепроектирование тайлов изображений Web Mercator в географическую проекцию при загрузке. Это должно немного улучшить визуальное качество и производительность загрузки.
  * Улучшена юзабилити `Geocoder` путём выбора текста по клику.
  * Оптимизирована версия `Rectangle.intersection` для более ограниченного ввода.
  * Исправлено предупреждение при использовании Webpack.

* **Устаревшие функции:**
  * Параметр `scene` для создания `BillboardVisualizer`, `LabelVisualizer` и `PointVisualizer` устарел и будет удалён в версии 1.28. Вместо этого передайте экземпляр `EntityCluster`.

* **Изменения, нарушающие работу:**
  * Теперь требуется поддержка выборки текстур вершин для рендеринга полилиний. Максимальное количество единиц изображения текстур вершин должно быть больше нуля.
  * Свойства `castShadows` и `receiveShadows` удалены из `Model`, `Primitive` и `Globe`. Вместо этого используйте `shadows` с перечислением `ShadowMode`, например, `model.shadows = ShadowMode.ENABLED`.
  * `Viewer.terrainShadows` теперь использует перечисление `ShadowMode` вместо логического значения, например, `viewer.terrainShadows = ShadowMode.RECEIVE_ONLY`.

* **Добавлена поддержка:**
  * Кластеризация `Billboard`, `Label` и `Point` сущностей.
  * Условия отображения расстояния для всех примитивов, чтобы определить интервал диапазона от камеры, когда он будет виден.

* **Другие изменения:**
  * По умолчанию гамма-коррекция для аэрофотоснимков Bing Maps больше не применяется, поскольку она больше не улучшает текущие версии тайлов. Чтобы восстановить предыдущий вид, установите свойство `defaultGamma` вашего экземпляра `BingMapsImageryProvider` равным 1,3.
  * Исправлена ошибка, которая могла привести к неправильным высотам местности при использовании `HeightmapTerrainData` с кодировкой, в которой фактические высоты были равны минимальной представимой высоте.
  * Исправлена ошибка в `AttributeCompression.compressTextureCoordinates` и `decompressTextureCoordinates`, которая могла вызвать небольшую неточность в закодированных координатах текстуры.
  * Исправлена ошибка, из-за которой просмотр модели с прозрачной геометрией приводил к сбою.
  * Коллекция `TrustedServer` контролирует, какие серверы должны иметь `withCredential`, установленное на `true` для запросов XHR.
  * Исправлено вращение рекламных щитов при измерении в метрах.
  * В `writeTextToCanvas` добавлены свойства `backgroundColor` и `borderWidth`.
  * Исправлены сенсорные события временной шкалы.
  * Исправлена ошибка, неправильно ограничивающая широты в KML `<GroundOverlay>` до диапазона -PI..PI. Теперь правильно ограничивает до -PI/2..PI/2.
  * Добавлена функция `CesiumMath.clampToLatitudeRange` для удобства ограничения угла в радианах до допустимых широт.
  * Для визуализации области просмотра камеры добавлен `DebugCameraPrimitive`.

### 1.25 — 2016-09-01

* **Нарушающие изменения:**
  * Изменилось количество и порядок аргументов, передаваемых в `KmlDataSource` `unsupportedNodeEvent` слушателям, что позволяет... **Улучшение обработки неподдерживаемых функций KML**

* Изменение рекламных щитов и надписей, привязанных к рельефу: по умолчанию для свойства `verticalOrigin` установлено значение `CENTER`, а не `BOTTOM`.

**Устаревшие функции**

* Устаревшие свойства `castShadows` и `receiveShadows` в `Model`, `Primitive` и `Globe`. Они будут удалены в версии 1.26. Вместо них следует использовать свойство `shadows` с перечислением `ShadowMode`, например: `model.shadows = ShadowMode.ENABLED`.
* Теперь `Viewer.terrainShadows` использует перечисление `ShadowMode` вместо логического значения. Поддержка логических значений будет удалена в версии 1.26.

**Обновления онлайн-конвертера моделей**

Онлайн-конвертер моделей теперь преобразует модели OBJ в glTF с помощью `obj2gltf` (https://github.com/CesiumGS/OBJ2GLTF), а также оптимизирует существующие модели glTF с помощью gltf-pipeline (https://github.com/CesiumGS/gltf-pipeline). Добавлена возможность запекания окклюзии окружения на модель glTF. Также добавлена возможность сжатия геометрии с использованием расширения WEB3D_quantized_attributes (https://github.com/KhronosGroup/glTF/blob/master/extensions/Vendor/WEB3D_quantized_attributes/README.md) glTF.

**Улучшение качества надписей для наклонных и курсивных шрифтов** (#3782)

Добавлена поддержка свойства `shadows` для API сущностей для `Box`, `Corridor`, `Cylinder`, `Ellipse`, `Ellipsoid`, `Polygon`, `Polyline`, `PoylineVolume`, `Rectangle` и `Wall` (#4005).

**Изменения в камере**

* Добавлен метод `Camera.cancelFlight` для отмены существующего полёта камеры, если он существует.
* Исправлены перекрывающиеся полёты камеры путём отмены предыдущего полёта при создании нового.
* Полёты камеры теперь отключают столкновение с рельефом до тех пор, пока весь рельеф в области не завершит загрузку. Это предотвращает перемещение камеры над низкодетализированным рельефом при приближении к высокодетализированному рельефу. (#4075)
* Устранён сбой, который мог произойти при быстром переключении видимости изображений. (#4083)
* Исправлена ошибка, возникающая, если KML имеет привязанную к земле LineString с цветом. (#4131)
* Введена логика в `KmlDataSource`, по умолчанию устанавливающая узел KML Feature в скрытое состояние, если все предки видимы. Это лучше соответствует спецификации KML.
* Исправлено положение точечных объектов KML с режимом высоты `relativeToGround` и `clampToGround`.
* Добавлено `GeocoderViewModel.keepExpanded`, которое при установке в true всегда будет держать Geocoder в развёрнутом состоянии.
* Добавлена поддержка `INT` и `UNSIGNED_INT` в `ComponentDatatype`.
* Добавлен `ComponentDatatype.fromName` для получения `ComponentDatatype` по его имени.
* Устранён сбой, вызванный драпированием динамической геометрии над рельефом. (#4255)

### Версия 1.24 — 2016-08-01

* Добавлена поддержка в CZML для выражения `BillboardGraphics.alignedAxis` как вектора скорости объекта с использованием синтаксиса `velocityReference`.
* Добавлено свойство `urlSchemeZeroPadding` в `UrlTemplateImageryProvider`, позволяющее нумеровать числовые части URL, такие как `{x}`, нулями для придания им фиксированной ширины.
* Добавлена секунда координации непосредственно перед январём 2017 года. (#4092)
* Устранено исключение, которое могло возникнуть при переключении в 2D-вид при включённых тенях. (#4051)
* Устранена проблема, из-за которой объекты исчезали при одновременном обновлении нескольких объектов. (#4096)
* Нормализация вектора скорости, создаваемого `VelocityVectorProperty`, теперь является необязательной.
* Функции упаковки теперь возвращают результирующий массив (#4156).
* Добавлено необязательное `rangeMax` в параметры `Math.toSNorm` и `Math.fromSNorm`. (#4121).
* Удалено `MapQuest OpenStreetMap` из списка демонстрационных базовых слоёв, поскольку прямой доступ к тайлам был прекращён. См. раздел «Разработчик MapQuest». **1.23 — 2016-07-01**

*Изменения:*

— Исправлено PolylinePipeline.generateArc для принятия массива высот, когда есть только одна позиция (#4155).

**Изменения, нарушающие работу программы:**

— GroundPrimitive.initializeTerrainHeights() должен быть вызван, и его возвращённое обещание должно быть разрешено перед тем, как GroundPrimitive можно будет синхронно добавить.

**Добавлена привязка к местности для объектов, KML и GeoJSON:**

— Добавлено свойство heightReference для точечных, рекламных щитовых и модельных объектов.
— Изменены объекты коридора, эллипса, многоугольника и прямоугольника, чтобы они соответствовали рельефу, используя GroundPrimitive, если его материал является экземпляром ColorMaterialProperty и у него нет высоты или extrudedHeight. Объекты с любым другим типом материала не привязываются к рельефу.

***KMLDataSource:***

— Точечные и модельные функции всегда будут учитывать altitudeMode.
— Добавлена свойство clampToGround. Когда true, привязывает Polygon, LineString и LinearRing функции к земле, если их altitudeMode — clampToGround. В этом случае линии используют коридор вместо полилинии.

***GeoJsonDataSource:***

— Точки с высотой будут нарисованы на этой высоте, в противном случае они будут привязаны к земле.
— Добавлена свойство clampToGround. Когда true, привязывает функции Polygon и LineString к земле. Для этого случая линии используют коридор вместо полилинии.

Добавлен пример привязки к земле Sandcastle (https://cesiumjs.org/Cesium/Apps/Sandcastle/index.html?src=Ground Clamping.html&label=Showcases).

Улучшена производительность и точность триангуляции полигонов с использованием библиотеки earcut (https://github.com/mapbox/earcut). Загрузка GeoJSON с полигонами для каждой страны стала в 2 раза быстрее.

Исправлены некоторые большие триангуляции многоугольников (#2788).

Добавлена поддержка расширения glTF WEB3D_quantized_attributes (https://github.com/KhronosGroup/glTF/blob/master/extensions/Vendor/WEB3D_quantized_attributes/README.md) (#3241).

Добавлена поддержка CZML для Box, Corridor и Cylinder. Добавлены новые свойства CZML:

— Billboard: width, height, heightReference, scaleByDistance, translucencyByDistance, pixelOffsetScaleByDistance, imageSubRegion.
— Label: heightReference, translucencyByDistance, pixelOffsetScaleByDistance.
— Model: heightReference, maximumScale.
— Point: heightReference, scaleByDistance, translucencyByDistance.
— Ellipsoid: subdivisions, stackPartitions, slicePartitions.

Добавлено свойство rotatable2D для Scene, CesiumWidget и Viewer для включения поворота карты в 2D режиме (#3897).

Camera.setView и Camera.flyTo теперь используют параметр orientation.heading в 2D, если карта вращается.

Добавлено событие Camera.changed, которое будет срабатывать всякий раз, когда камера изменилась более чем на Camera.percentageChanged. percentageChanged находится в диапазоне [0, 1].

Приближение к целевой точке теперь сохраняет целевую точку в том же положении экрана (#4016).

Улучшено выполнение GroundPrimitive.

Некоторый некорректный KML (в частности, KML, который повторно использует идентификаторы) теперь анализируется правильно.

В KmlDataSource добавлено unsupportedNodeEvent, которое срабатывает всякий раз, когда встречается неподдерживаемый узел.

Clock теперь поддерживает свою конфигурацию. Ранее это делал AnimationViewModel, и в некоторых случаях она могла стать несогласованной (#4007).

Обновлён пример Google Cardboard Sandcastle (http://cesiumjs.org/Cesium/Apps/Sandcastle/index.html?src=Cardboard.html&label=Showcase).

Добавлена модель воздушного шара (https://github.com/CesiumGS/cesium/tree/master/Apps/SampleData/models/CesiumBalloon).

Исправлена обработка координат Rectangle в CZML (#4033). «Cannot read property 'x' of undefined» error when calling SceneTransforms.wgs84ToWindowCoordinates в некоторых случаях.

* *#4022* *(https://github.com/CesiumGS/cesium/pull/4022):*
  * Повторно включены вводы мыши после указанного количества миллисекунд, прошедших с момента последнего события касания.
  * В API представлен параметрический тест пересечения луча и треугольника как IntersectionTests.rayTriangleParametric.
  * Добавлены функции packArray и unpackArray в Cartesian2, Cartesian3 и Cartesian4.*

1.22.2 — 2016-06-14:
* Это выпуск только для npm для исправления неправильно опубликованного 1.22.1. Изменений в коде не было.

1.22.1 — 2016-06-13:
* Исправлен ключ Bing по умолчанию и добавлен водяной знак, чтобы уведомить пользователей о необходимости зарегистрироваться для получения собственного ключа.

1.22 — 2016-06-01:
* **Изменения:**
  * KmlDataSource теперь требует options.camera и options.canvas.
* **Добавлены тени:**
  * См. демонстрацию Sandcastle: Shadows (http://cesiumjs.org/Cesium/Apps/Sandcastle/index.html?src=Shadows.html&label=Showcases).
  * Добавлено Viewer.shadows и Viewer.terrainShadows, по умолчанию отключено.
  * Добавлено Viewer.shadowMap и Scene.shadowMap для доступа к теневой карте сцены.
  * Добавлено castShadows и receiveShadows в свойствах Model и Entity.model, а также опции в конструкторе Model и Model.fromGltf.
  * Добавлено castShadows и receiveShadows в Primitive, а также опции в конструкторе Primitive.
  * Добавлено castShadows и receiveShadows в Globe.
* **Добавлено heightReference** в модели, чтобы их можно было рисовать на местности.
* **Добавлена поддержка** рендеринга моделей в 2D и Columbus view.
* **Добавлен параметр**, позволяющий включить положение солнца на основе цвета атмосферы при включении Globe.enableLighting (true).
* **Улучшена совместимость** KML NetworkLink за счёт поддержки тега Url.
* **Добавлено VelocityVectorProperty**, чтобы ось выравнивания рекламного щита могла следовать вектору скорости.
* **Улучшено управление памятью** для визуализации рекламных щитов/меток/точек/путей сущностей.
* **Добавлено событие terrainProviderChanged** в Scene и Globe.
* **Добавлена поддержка** сдвигов оттенка, насыщенности и яркости цвета в атмосфере в SkyAtmosphere. См. новый пример Sandcastle: Atmosphere Color (http://cesiumjs.org/Cesium/Apps/Sandcastle/index.html?src=Atmosphere%20Color.html&label=Showcases).
* **Исправлены исчезающие плитки преувеличенного рельефа.**
* **Исправлено возможное неправильное вычисление нормалей** для преувеличенного рельефа, особенно для низкодетализированных тайлов.
* **Устранена ошибка**, которая могла вызывать ошибки при выборе и включённом рельефе.
* **Устранена ошибка**, из-за которой атмосфера исчезала, когда была видна только атмосфера.
* **Исправлена бесконечная горизонтальная прокрутка** в 2D в IE/Edge.
* **Исправлена ошибка**, которая приводила к сбою, если камера находилась на IDL в 2D.
* **Исправлена проблема**, когда повторяющаяся анимация модели не воспроизводилась, когда часы были установлены на время до создания модели.
* **Исправлен Billboard.computeScreenSpacePosition**, возвращающий неправильную координату y.
* **Исправлена проблема**, при которой метки исчезали.
* **Исправлена проблема**, при которой рекламные щиты на рельефе не всегда обновлялись при изменении поставщика рельефа.
* **Исправлена проблема**, при которой Matrix4.fromCamera принимал глаз/цель вместо положения/направления.
* **Добавлено Scene.nearToFarDistance2D**, которое... Определяет размер каждого усечённого конуса многоусечённого конуса в 2D.
- Добавлен `Matrix4.computeView`.
- Добавлен `CullingVolume.fromBoundingSphere`.
- Добавлена возможность `debugShowShadowVolume` для `GroundPrimitive`.
- Исправлена проблема с исчезающими плитками в Linux. #3889

### 1.21 — 2016-05-02

- Критические изменения
- Удалена `ImageryMaterialProperty.alpha`. Вместо этого используйте `ImageryMaterialProperty.color.alpha`.
- Удалён `OpenStreetMapImageryProvider`. Вместо него используйте `createOpenStreetMapImageryProvider`.
- Добавлена возможность импорта и экспорта примера Sandcastle с использованием GitHub Gists. #3795
- Добавлены опции `PolygonGraphics.closeTop`, `PolygonGraphics.closeBottom` и `PolygonGeometry` для создания экструдированного многоугольника без верха или низа. #3879
- Добавлена поддержка материала полилинейной стрелки для `CzmlDataSource`. #3860
- Исправлена ошибка, из-за которой солнце не отображалось. #3801
- Исправлена ошибка, при которой `Camera.flyTo` не работал с прямоугольником в 2D. #3688
- Исправлена ошибка, вызывающая затемнение тумана и мерцание атмосферы при обрезке камеры глобуса. #3178
- Исправлено исключение и останов рендеринга при использовании `ArcGisMapServerImageryProvider` для подключения к MapServer с указанием проекции Web Mercator и fullExtent больше допустимого экстента проекции. #3854
- Исправлена ошибка, приводящая к исключению при переключении режимов сцены с активной KML-ссылкой на сеть. #3865

### 1.20 — 2016-04-01

- Критические изменения
- Удалён `TileMapServiceImageryProvider`. Используйте `createTileMapServiceImageryProvider` вместо него.
- Удалён `GroundPrimitive.geometryInstance`. Используйте `GroundPrimitive.geometryInstances` вместо него.
- Убрано `definedNotNull`. Используйте `defined` вместо него.
- Из-за новой функции бесконечной прокрутки в 2D удалена возможность поворота карты в 2D.
- Устаревшее
- Устарел `ImageryMaterialProperty.alpha`. Он будет удалён в версии 1.21. Вместо него используйте `ImageryMaterialProperty.color.alpha`.
- Добавлена бесконечная горизонтальная прокрутка в 2D.
- Приведён пример кода в Sandcastle для [нового 1-метрового сервиса рельефа Пенсильвании](http://cesiumjs.org/2016/03/15/New-Cesium-Terrain-Service-Covering-Pennsylvania/).
- Исправлен процесс загрузки для KML `NetworkLink`, чтобы не добавлять `?`, если нет строки запроса.
- Исправлено обращение с нестандартными ссылками `styleUrl` в `StyleMap` в KML.
- Исправлена ошибка в KML, когда StyleMaps из внешних документов не загружаются.
- Добавлена полупрозрачная и цветная поддержка изображений для наземных наложений KML.
- Исправлена ошибка при апсемплинге преувеличенного рельефа, где высоты рельефа были преувеличены вдвое. #3607
- Все внешние URL теперь по умолчанию используют https, чтобы Cesium лучше работал с приложениями, не основанными на сервере. #3650
- `GeoJsonDataSource` теперь обрабатывает CRS `urn:ogc:def:crs:EPSG::4326`.
- Исправлена ошибка `TimeIntervalCollection.removeInterval`, которая приводила к удалению слишком большого количества интервалов.
- `GroundPrimitive` выдаёт `DeveloperError`, когда ему передаётся неподдерживаемый тип геометрии, вместо сбоя.
- Исправлена ошибка с коллекциями рекламных щитов, которые имеют хотя бы один рекламный щит с выровненной осью и хотя бы один рекламный щит без выровненной оси. #3318
- Исправлено состояние гонки, которое приводило к продолжению загрузки и выгрузки рельефа или к сбою при смене поставщика рельефа. #3690
- Исправлена ошибка, когда объём `GroundPrimitive` обрезался дальней плоскостью. #3706
- Исправлена ошибка, при которой `Camera.computeViewRectangle` была неверной при пересечении международной границы. **Дата выпуска: 1.19 — 2016-03-01**

* Изменения, нарушающие работу:
  * PolygonGeometry теперь изменяет входные значения Cartesian3 параметров options.positions таким образом, чтобы они находились на поверхности эллипсоида. Это касается только полигонов, созданных синхронно с options.perPositionHeight = false, когда позиции имеют ненулевую высоту и одни и те же позиции используются для нескольких объектов. В этом случае следует сделать копию значений Cartesian3, используемых для позиций полигона.

* Устарело:
  * KmlDataSource с прокси-объектом. Вызовет исключение в версии 1.21. Теперь должен принимать объект options с обязательными параметрами camera и canvas.
  * definedNotNull. Будет удалён в версии 1.20. Вместо него следует использовать defined, который теперь проверяет наличие null и undefined.

* Улучшена поддержка KML:
  * Добавлена поддержка режимов обновления NetworkLink onInterval, onExpire и onStop. Включает поддержку viewboundScale, viewFormat, httpQuery.
  * Частично добавлена поддержка NetworkLinkControl, включая minRefreshPeriod, cookie и expires.
  * Добавлена поддержка локального StyleMap. Стиль highlight по-прежнему игнорируется.
  * Поддерживаются URL-адреса вида root://.
  * Добавлено больше предупреждений о неподдерживаемых функциях.
  * Улучшен процесс обработки стилей в IE.

* Viewer.zoomTo и Viewer.flyTo теперь принимают экземпляр ImageryLayer в качестве допустимого параметра и масштабируют изображение до его границ.
* Добавлена функция Camera.flyHome для возврата камеры к исходному виду.
* Camera.flyTo теперь учитывает максимальные и минимальные настройки масштабирования в ScreenSpaceCameraController.
* Добавлено свойство show в CzmlDataSource, GeoJsonDataSource, KmlDataSource, CustomDataSource и EntityCollection для простого переключения отображения всех источников данных.
* Добавлено свойство owner в CompositeEntityCollection.
* Добавлено DataSouceDisplay.ready для определения, был ли отрисован статический контент, связанный с Entity API.
* Исправлена проблема при изменении свойства position рекламного щита несколько раз за кадр.
* Исправлено положение текстур для полигона с высотами позиций.
* Исправлен сбой, из-за которого GroundPrimitive с EllipseGeometry не имел свойства rotation.
* Исправлен сбой при отрисовке CorridorGeometry и CorridorOutlineGeometry синхронно.
* Созданы пустые геометрии. Вместо DeveloperError возвращается undefined.
* Исправлено перемещение к широте, долготе и высоте в Геокодере.
* Исправлена ошибка в IntersectionTests.lineSegmentSphere, где не был установлен источник луча.
* Добавлены length в Matrix2, Matrix3 и Matrix4, чтобы их можно было использовать как массивоподобные объекты.
* Добавлены функции Color.add, Color.subtract, Color.multiply, Color.divide, Color.mod, Color.multiplyByScalar и Color.divideByScalar для выполнения арифметических операций над цветами.
* Добавлен необязательный параметр result в Color.fromRgba, Color.fromHsl и Color.fromCssColorString.
* Исправлена ошибка, вызывающая ошибку ссылки navigator is not defined при использовании Cesium с Node.js.
* Обновлён Knockout с версии 3.2.0 до 3.4.0.
* Заделана дыра, появившаяся в верхней части динамических эллипсоидов.

**Дата выпуска: 1.18 — 2016-02-01**

Изменения, нарушающие работу: удалена поддержка CESIUM_binary_glTF. Используйте KHR_binary_glTF вместо этого, что является значением по умолчанию для онлайн COLLADA-to-glTF. - Устарело:
- `GroundPrimitive.geometryInstance`. Будет удалено в версии 1.20. Вместо этого используйте `GroundPrimitive.geometryInstances`.
- `TileMapServiceImageryProvider`. Будет удалено в версии 1.20. Используйте `createTileMapServiceImageryProvider` вместо этого.
- Уменьшено использование памяти процессора для ландшафта примерно на 25% в Chrome.
- Добавлен пример Sandcastle для перекрывающихся рекламных щитов и меток «взрыва звезды».
- Добавлена `VRButton`, которая представляет собой простой виджет с одной кнопкой, который переключает режим VR. По умолчанию он выключен. Чтобы включить кнопку, установите для параметра `vrButton` значение `Viewer` равным `true`. Поддерживается только Cardboard для мобильных устройств. Поддержка других VR-устройств появится, когда WebVR API станет более стабильным.
- Добавлена функция `Scene.useWebVR` для переключения сцены на стереоскопический рендеринг.
- Cesium теперь учитывает `window.devicePixelRatio` в браузерах, поддерживающих атрибут CSS `imageRendering`. Это значительно повышает производительность на мобильных устройствах и дисплеях с высоким разрешением DPI за счёт рендеринга с рекомендованным браузером разрешением. В этих случаях также снижается использование полосы пропускания и увеличивается срок службы батареи. Чтобы включить предыдущее поведение, используйте следующий код:
```javascript
if (Cesium.FeatureDetection.supportsImageRenderingPixelated()) {
  viewer.resolutionScale = window.devicePixelRatio;
}
  • GroundPrimitive теперь поддерживает пакетную обработку геометрии для повышения производительности.
  • Улучшена совместимость с расширениями glTF KHR_binary_glTF и KHR_materials_common.
  • Добавлена функция ImageryLayer.getViewableRectangle, чтобы было легко получить эффективные границы слоя изображений.
  • Исправлена проблема с выбором объектов, которая иногда препятствовала их выбору. #3386.
  • Исправлено растрескивание между плитками в 2D. #3486.
  • Исправлены ошибки при создании ограничивающих объёмов для GroundPrimitives, содержащих прямоугольники с шириной больше пи.
  • Исправлены некорректные координаты текстуры для полигонов с большой высотой.
  • Камера.flyTo не работает в 2D-режиме и только при изменении ориентации.
  • Добавлена функция UrlTemplateImageryProvider.reinitialize для изменения параметров поставщика изображений без создания нового экземпляра.
  • Теперь UrlTemplateImageryProvider принимает обещание объекту options в дополнение к непосредственному получению объекта.
  • Исправлена ошибка, из-за которой выбор функций WMS не работал с THREDDS XML и msGMLOutput в Internet Explorer 11.
  • Добавлена функция Scene.useDepthPicking для включения или отключения выбора с использованием буфера глубины. #3390.
  • Добавлены функции BoundingSphere.fromEncodedCartesianVertices для создания ограничивающих объёмов из параллельных массивов верхних и нижних битов EncodedCartesian3.
  • Добавлены вспомогательные функции: getExtensionFromUri, getAbsoluteUri и Math.logBase.
  • Добавлены Rectangle.union и Rectangle.expand.
  • Поддержка TMS теперь работает с более новыми версиями слоёв, созданных gdal2tiles.py. createTileMapServiceImageryProvider. Для правильной загрузки слоёв, сгенерированных более старыми версиями gdal2tiles.py, может потребоваться установить параметр flipXY : true.

1.17 — 2016-01-04

  • Критические изменения: — Удалены Camera.viewRectangle. Вместо этого используйте Camera.setView({destination: rectangle}). — Удалён RectanglePrimitive. Вместо него используйте RectangleGeometry или Entity.rectangle. — Удалён Polygon. Вместо него используйте PolygonGeometry или Entity.polygon. — Удалена OrthographicFrustum.getPixelSize. Вместо неё используйте OrthographicFrustum.getPixelDimensions. — Удалена PerspectiveFrustum.getPixelSize. Вместо неё используйте PerspectiveFrustum.getPixelDimensions. — Удалена PerspectiveOffCenterFrustum.getPixelSize. Вместо неё используйте PerspectiveOffCenterFrustum.getPixelDimensions. — Удалено Scene\HeadingPitchRange. Вместо него используйте Core\HeadingPitchRange. — Удален jsonp. Вместо него используйте loadJsonp. — Удалён HeightmapTessellator из общедоступного API. Это детали реализации. — Удалён TerrainMesh из общедоступного API. Он является деталью реализации. Детали реализации.

  • Уменьшено использование GPU и CPU памяти для ландшафта с помощью сжатия. Использование CPU-памяти сократилось до 40%.

  • Добавлена возможность манипулировать преобразованиями узла Model через CZML и Entity API. См. новый пример Sandcastle: CZML Model — Node Transformations. #3316

  • Добавлено Globe.tileLoadProgressEvent, которое возникает при изменении длины очереди загрузки тайлов, позволяя использовать индикаторы инкрементальной загрузки.

  • Поддержка форматов информации о функциях msGMLOutput и Thredds сервера добавлена в GetFeatureInfoFormat и WebMapServiceImageryProvider.

  • Динамический переключатель enableFeaturePicking добавлен во все ImageryProviders, поддерживающие выбор функций.

  • Исправлено исчезновение ландшафта при активном тумане. #3335

  • Устранены короткие сегменты в CorridorGeometry и PolylineVolumeGeometry. #3293

  • Исправлено CorridorGeometry с почти коллинеарными точками. #3320

  • Добавлены недостающие точки в EllipseGeometry и EllipseOutlineGeometry. #3078

  • Rectangle.fromCartographicArray теперь использует наименьший прямоугольник независимо от того, пересекает ли он международную линию перемены дат. #3227

  • Добавлено свойство TranslationRotationScale, представляющее аффинное преобразование, определяемое переводом, вращением и масштабом.

  • Добавлен метод Matrix4.fromTranslationRotationScale.

  • Добавлен NodeTransformationProperty, который является значением Property, определённым независимыми экземплярами translation, rotation и scale Property.

  • Добавлен PropertyBag, который представляет собой Property, значение которого является сопоставлением имён свойств с вычисленными значениями других свойств.

  • Добавлен ModelGraphics.runAnimations, который является логическим свойством, указывающим, следует ли запускать все анимации модели после загрузки модели.

  • Добавлен ModelGraphics.nodeTransformations, который является PropertyBag свойств TranslationRotationScale, применяемых к загруженной модели.

  • Добавлена поддержка CZML для новых свойств runAnimations и nodeTransformations в пакете model.

1.16 — 2015-12-01

  • Устаревшие функции:

    • Устаревший HeightmapTessellator. Будет удалён в версии 1.17.
    • Устаревший TerrainMesh. Будет удалён в версии 1.17.
    • Устаревший OpenStreetMapImageryProvider. Будет удалён в версии 1.18. Используйте createOpenStreetMapImageryProvider вместо этого.
  • Улучшена производительность ландшафта до 35%. Добавлена поддержка тумана вблизи горизонта, что повышает производительность за счёт рендеринга меньшего количества тайлов ландшафта и уменьшения запросов на тайлы ландшафта. Это включено по умолчанию. Смотрите Scene.fog для параметров. #3154

  • Добавлено преувеличение ландшафта. Включается при создании средства просмотра с коэффициентом преувеличения в качестве параметра terrainExaggeration.

  • Поддерживается инкрементальная загрузка текстур после готовности модели. Это позволяет сделать модель видимой как можно скорее, пока её текстуры загружаются в фоновом режиме.

  • Теперь ImageMaterialProperty.image принимает HTMLVideoElement. Вы также можете назначить элемент видео непосредственно свойству material объекта Entity.

  • Униформы материала изображения теперь принимают HTMLVideoElement везде, где ранее можно было использовать элемент Canvas.

  • Добавлен вспомогательный объект VideoSynchronizer для синхронизации HTMLVideoElement с часами сцены.

  • Решена проблема с загрузкой скелетов для моделей с кожей glTF. #3224

  • Решена проблема выбора тайла при нахождении ниже поверхности эллипсоида. #3170

  • Добавлена функция Cartographic.fromCartesian.

  • Добавлена функция createOpenStreetMapImageryProvider, которая заменяет... Класс OpenStreetMapImageryProvider. Эта функция возвращает сконструированный объект UrlTemplateImageryProvider.

  • GeoJsonDataSource.load теперь принимает необязательную функцию describeProperty для генерации свойств описания объектов. #3140

  • Добавлены ImageryProvider.readyPromise и TerrainProvider.readyPromise, которые реализованы во всех провайдерах местности и изображений. Это обещание, которое разрешается, когда ready становится истинным, и отклоняется при возникновении ошибки во время инициализации. #3175

  • Исправлена проблема, из-за которой текстура солнца неправильно генерировалась на некоторых мобильных устройствах. #3141

  • Исправлен баг, вызывавший выброс исключения при установке Entity.parent в undefined. #3169

  • Исправлен баг, приводивший к некорректному отображению графики полилинии объекта Entity, если эллипсоид сцены не был WGS84. #3174

  • Объекты имеют ссылку на свою коллекцию объектов и на своего владельца (обычно это источник данных, но может быть и CompositeEntityCollection).

  • Добавлен ImageMaterialProperty.alpha и альфа-униформа для типов Image и Material для управления общей прозрачностью изображения. По умолчанию значение равно 1.0, что означает полную непрозрачность.

  • Добавлена функция Camera.getPixelSize для получения размера пикселя в метрах на основе текущего вида.

  • Добавлена функция Camera.distanceToBoundingSphere.

  • Добавлена функция BoundingSphere.fromOrientedBoundingBox.

  • Добавлена служебная функция getBaseUri, которая по заданному URI с параметрами запроса или без них возвращает базовый путь URI.

  • В очередь добавлена функция Queue.peek для возврата элемента в начале очереди.

  • Исправлено JulianDate.fromIso8601 так, чтобы он правильно анализировал формат YYYY-MM-DDThh:mmTZD.

  • Добавлены свойства Model.maximumScale и ModelGraphics.maximumScale, задающие верхний предел для minimumPixelSize.

  • Реализация glTF исправлена для чтения версии в виде строки согласно спецификации и правильной обработки обратной совместимости для вращений по углу-оси в моделях glTF 0.8.

  • Исправлен баг в устаревшем jsonp, который мешал ему возвращать обещание. Его замена, loadJsonp, осталась незатронутой.

  • Исправлен баг, из-за которого loadWithXhr отклонял возвращённое обещание с успешными HTTP-ответами (2xx), которые не были 200.

1.15 — 2015-11-02

Изменения:

  • Удалены старые файлы /package.json и *.profile.js, которые не использовались с тех пор, как Cesium отошёл от сборки на основе Dojo несколько лет назад. Это позволит обеспечить будущую совместимость с более новыми системами, такими как Browserify и Webpack.

Устаревшее:

  • Устарел Camera.viewRectangle. Он будет удалён в версии 1.17. Вместо этого используйте Camera.setView({destination: rectangle}).

  • Следующие параметры Camera.setView устарели и будут удалены в версии 1.17:

    • position. Используйте destination вместо.
    • positionCartographic. Преобразуйте в Cartesian3 и используйте destination вместо.
    • heading, pitch и roll. Используйте orientation.heading/pitch/roll вместо.
  • Устарела поддержка расширения CESIUM_binary_glTF для моделей glTF. Следует использовать KHR_binary_glTF вместо. CESIUM_binary_glTF будет удалён в версии 1.18. Переконвертируйте модели с помощью онлайн-конвертера моделей.

  • Устарело RectanglePrimitive. Будет удалено в версии 1.17. Используйте RectangleGeometry или Entity.rectangle вместо.

  • Устарело EllipsoidPrimitive. Будет удалено в версии 1.17. Используйте EllipsoidGeometry или Entity.ellipsoid вместо.

  • Сделан EllipsoidPrimitive приватным, используйте EllipsoidGeometry или Entity.ellipsoid вместо.

  • Устарело BoxGeometry.minimumCorner и BoxGeometry.maximumCorner. Они будут удалены в версии 1.17. Используйте BoxGeometry.minimum и BoxGeometry.maximum вместо.

  • Устарело BoxOutlineGeometry.minimumCorner и BoxOutlineGeometry.maximumCorner. Они будут удалены в версии 1.17. Используйте BoxOutlineGeometry.minimum и BoxOutlineGeometry.maximum вместо. BoxOutlineGeometry.maximum вместо.

  • Deprecated OrthographicFrustum.getPixelSize. Будет удалено в версии 1.17. Вместо этого используйте OrthographicFrustum.getPixelDimensions.

  • Deprecated PerspectiveFrustum.getPixelSize. Будет удалено в версии 1.17. Вместо этого используйте PerspectiveFrustum.getPixelDimensions.

  • Deprecated PerspectiveOffCenterFrustum.getPixelSize. Будет удалено в версии 1.17. Вместо этого используйте PerspectiveOffCenterFrustum.getPixelDimensions.

  • Deprecated Scene\HeadingPitchRange. Будет удалено в версии 1.17. Вместо этого используйте Core\HeadingPitchRange.

  • Deprecated jsonp. Будет удалено в версии 1.17. Вместо этого используйте loadJsonp.

  • Добавлена поддержка черновой спецификации glTF 1.0 (https://github.com/KhronosGroup/glTF/blob/master/specification/README.md).
  • Добавлена поддержка расширений glTF KHR_binary_glTF (https://github.com/KhronosGroup/glTF/tree/master/extensions/Khronos/KHR_binary_glTF) и KHR_materials_common (https://github.com/KhronosGroup/glTF/tree/KHR_materials_common/extensions/Khronos/KHR_materials_common).
  • Уменьшено использование памяти GPU в BillboardCollection и LabelCollection с помощью инстансинга WebGL.
  • В Sandcastle добавлены примеры CZML. Смотрите новую вкладку CZML.
  • Изменён Camera.setView, чтобы он принимал те же параметры, что и Camera.flyTo. options.destination принимает прямоугольник, options.orientation работает с курсом/наклоном/вращением или направлением/вверх, а также добавлен options.endTransform. #3100.
  • Исправлена проблема с токеном в ArcGisMapServerImageryProvider.
  • Теперь у ImageryLayerFeatureInfo есть свойство imageryLayer, указывающее на слой, содержащий объект.
  • TileMapServiceImageryProvider и CesiumTerrainProvider теперь работают правильно, когда предоставленный базовый URL содержит параметры запроса и фрагменты.
  • Параметр WebGL failIfMajorPerformanceCaveat теперь по умолчанию равен false, что является значением по умолчанию для WebGL. Это улучшает совместимость с устаревшими драйверами и сеансами удалённого рабочего стола. В этих случаях Cesium будет работать медленнее, а не просто не сможет загрузиться. #3108.
  • Устранена проблема, из-за которой инерция камеры занимала слишком много времени, вызывая срабатывание событий перемещения камеры после того, как она появлялась. #2839.
  • Обработка недопустимых координат в KML теперь соответствует поведению Google Earth. #3124.
  • Добавлены функции BoxOutlineGeometry.fromAxisAlignedBoundingBox и BoxGeometry.fromAxisAlignedBoundingBox.
  • Для всех задач сборки используется gulp (http://gulpjs.com/). Java и ant больше не требуются для разработки Cesium. #3106.
  • Обновлён requirejs с 2.1.9 до 2.1.20. #3107.
  • Обновлён almond с 0.2.6 до 0.3.1. #3107.

1.14 — 2015-10-01

  • Исправлены проблемы, приводящие к исчезновению рельефа и неба, когда камера находится рядом с поверхностью. #2415 и #2271.
  • Изменено значение ScreenSpaceCameraController.minimumZoomDistance по умолчанию с 20,0 на 1,0.
  • Добавлено свойство Billboard.sizeInMeters. true устанавливает размер рекламного щита в метрах; в противном случае размер рекламного щита измеряется в пикселях. Также добавлена поддержка размера billboard sizeInMeters для сущностей и CZML.
  • Исправлен баг в AssociativeArray, который приводил к неограниченному росту памяти при добавлении и удалении большого количества элементов.
  • Предоставлен обходной путь для Safari 9, где константы WebGL нельзя получить через WebGLRenderingContext. Теперь константы жёстко запрограммированы в WebGLConstants. #2989.
  • Добавлен обходной путь для Chrome 45, где первый символ в метке с небольшим размером шрифта не отображался. #3011.
  • В конструктор WebMapTileServiceImageryProvider добавлен параметр subdomains.
  • Добавлен параметр subdomains в... WebMapServiceImageryProvider constructor
  • Исправление масштабирования в 2D при отслеживании объекта. Масштабирование основывалось на местоположении, а не на отслеживаемом объекте. #2991.
  • Добавление параметра options.credit в MapboxImageryProvider.
  • Устранение проблемы с выбором детализации при низких частотах кадров, которая могла привести к сбою. #3010.
  • Устранена ошибка, из-за которой setView не работал во всех режимах сцены.
  • Исправлена ошибка, приводившая к тому, что camera.positionWC иногда возвращала неправильное значение.
  • Использованы все URL-адреса шаблонов, определённые в провайдере CesiumTerrain. #3038.

1.13 — 2015-09-01

  • Критические изменения:

    • Удалены устаревшие методы AxisAlignedBoundingBox.intersect и BoundingSphere.intersect. Вместо них следует использовать BoundingSphere.intersectPlane.
    • Из параметров конструктора WebMapServiceImageryProvider удалены устаревшие getFeatureInfoAsGeoJson и getFeatureInfoAsXml.
  • Добавлена поддержка GroundPrimitive, который работает аналогично Primitive, но накладывает геометрию на рельеф. Допустимые геометрии, которые можно наложить на рельеф: CircleGeometry, CorridorGeometry, EllipseGeometry, PolygonGeometry и RectangleGeometry. Из-за передовой природы этой функции в WebGL для неё требуется расширение EXT_frag_depth, которое в настоящее время поддерживается только в Chrome, Firefox и Edge. Ожидается поддержка Apple в iOS 9 и MacOS Safari 9. Поддержка Android зависит от оборудования, а IE11, скорее всего, никогда её не получит. Вы можете использовать webglreport.com, чтобы проверить поддержку вашего оборудования. Наконец, эта функция в настоящее время доступна только в Primitives и ещё не доступна через Entity API. #2865.

  • Добавлен Scene.groundPrimitives, представляющий собой коллекцию примитивов, аналогичную Scene.primitives, но для экземпляров GroundPrimitive. Позволяет настраивать порядок по оси Z. #2960. Например:

      // рисует эллипс поверх прямоугольника
      var ellipse = scene.groundPrimitives.add(new Cesium.GroundPrimitive({...}));
      var rectangle = scene.groundPrimitives.add(new Cesium.GroundPrimitive({...}));
    
      // перемещает прямоугольник, чтобы он был поверх эллипса
      scene.groundPrimitives.raise(rectangle);
  • В UrlTemplateImageryProvider добавлен тег reverseZ. #2961.

  • В BoundingSphere и OrientedBoundingBox добавлены методы isOccluded для определения, закрыты ли объёмы Occluder.

  • В OrientedBoundingBox добавлены функции distanceSquaredTo и computePlaneDistances.

  • Исправлена проблема с точностью GLSL, позволяющая Cesium поддерживать графические процессоры Mali-400MP и другие мобильные графические процессоры, где ранее не компилировались шейдеры GLSL. #2984.

  • Исправлена проблема, когда экструдированный PolygonGeometry всегда выдавливался на поверхность эллипсоида вместо указанной высоты. #2923.

  • Исправлена проблема, при которой узлы без функций препятствовали загрузке документов KML. #2945.

  • Исправлена проблема, при которой JulianDate неправильно анализировал некоторые даты. #405.

  • Удалён es5-shim, который больше не используется. #2933.

1.12 — 2015-08-03

  • Критические изменения:
    • Устаревший ObjectOrientedBoundingBox удалён. Используйте OrientedBoundingBox вместо него.
  • Добавлен MapboxImageryProvider для загрузки изображений с Mapbox.
  • Добавлен параметр maximumHeight в Viewer.flyTo. #2868.
  • Добавлена поддержка выбора в UrlTemplateImageryProvider.
  • Добавлена поддержка ArcGIS на основе токенов в ArcGisMapServerImageryProvider.
  • Добавлена прокси-поддержка в ArcGisMapServerImageryProvider для... Пики Features
  • Поведение мыши по умолчанию CTRL + Left Click Drag теперь дублируется для CTRL + Right Click Drag для лучшей совместимости с Firefox на Mac OS #2872.

  • Исправлены некорректные координаты текстуры для WallGeometry #2872.

  • Исправлена ошибка WallGeometry, из-за которой стены, покрывающие небольшое расстояние, не отображались. #2897.

  • Исправлен порядок обхода по часовой стрелке PolygonGeometry.

  • Исправлена экструдированная ошибка RectangleGeometry для малых высот. #2823.

  • Исправлена ограничивающая сфера BillboardCollection для рекламных щитов с вертикальным началом, отличным от центра. #2894.

  • Исправлена ошибка, приводившая к неправильному Camera.positionCartographic. #2838.

  • Исправлено вызов Scene.pickPosition после вызова Scene.drillPick. #2813.

  • Глубина глобуса теперь отображается во время выбора, когда Scene.depthTestAgainstTerrain имеет значение true, поэтому объекты за ландшафтом не выбираются.

  • Исправлено, что Cesium.js не может быть проанализирован в IE 8 и 9. Хотя Cesium не работает в версиях IE меньше 11, это позволяет более корректно обрабатывать ошибки.

1.11 — 2015-07-01

Изменения:

  • Удалено Scene.fxaaOrderIndependentTranslucency, которое было объявлено устаревшим в 1.10. Используйте Scene.fxaa, который теперь по умолчанию имеет значение true.

  • Удалено Camera.clone, которое было объявлено устаревшим в версии 1.10.

Устаревшее:

  • URL-адрес STK World Terrain cesiumjs.org/stk-terrain/world устарел, используйте assets.agi.com/stk-terrain/world вместо этого. Перенаправление будет действовать до версии 1.14.

  • Устарели AxisAlignedBoundingBox.intersect и BoundingSphere.intersect. Они будут удалены в версии 1.13. Вместо этого используйте AxisAlignedBoundingBox.intersectPlane и BoundingSphere.intersectPlane.

  • Объект OrientedBoundingBox объявлен устаревшим. Он будет удалён в версии 1.12. Вместо него используйте OrientedBoundingBox.

Улучшения камеры:

  • Улучшены полёты камеры. #2825.

  • Камера теперь масштабируется до точки под курсором мыши.

  • Добавлен новый режим камеры для видов горизонта. Когда камера смотрит на горизонт и выбирается точка на ландшафте над камерой, камера перемещается в плоскости, содержащей положение камеры, вверх и вправо.

  • Повышена производительность ландшафта и изображений и снижена загрузка тайлов до 50% в зависимости от вида камеры за счёт использования нового OrientedBoundingBox для усечения объёма просмотра. См. Terrain Culling with Oriented Bounding Boxes.

  • Добавлен UrlTemplateImageryProvider. Этот новый поставщик изображений позволяет получить доступ к широкому спектру источников изображений, включая OpenStreetMap, TMS, WMTS, WMS, WMS-C и различные пользовательские схемы, указав URL-шаблон, используемый для запроса тайлов изображений.

  • Исправлены артефакты рендеринга вспышки/полосы при выборе. #2790, #2811.

  • Исправлена проблема освещения в 2D и Columbus View. #2635.

  • Исправлены проблемы с кэшированием материалов, которые приводили к невозможности многократного использования материала на основе изображения. #2821.

  • Улучшено Camera.viewRectangle, так что указанный прямоугольник теперь лучше центрирован на экране. #2764.

  • Исправлен сбой при вызове viewer.zoomTo или viewer.flyTo непосредственно перед или во время морфинга сцены. #2775.

  • Исправлена проблема, из-за которой функции Camera вызывали исключение, если они использовались из обратного вызова Scene.morphComplete. #2776.

  • Исправлены полёты камеры, которые заканчивались в неправильном положении в Columbus View. #802.

  • Исправлены полёты камеры через... 1.10 — 2015-06-01

Изменения:

  • Исправлены странные полёты камеры с противоположных сторон земного шара.
  • Исправлена работа камеры, которая после уменьшения масштаба не возвращалась в исходное положение.
  • Исправлено перемещение к прямоугольникам, пересекающим IDL в режиме Колумбуса и 2D.
  • Исправлен полёт при наклоне в -90 градусов.
  • Модель теперь может загружать двоичный glTF из Uint8Array.
  • Устранена ошибка в ImageryLayer, которая могла вызвать исключение и остановку цикла рендеринга, когда базовый слой не покрывал весь земной шар.
  • Статистика производительности, отображаемая при scene.debugShowFramesPerSecond === true, теперь может быть оформлена с использованием классов cesium-performanceDisplay в shared.css.
  • Добавлен Plane.fromCartesian4.
  • Добавлены константы Plane.ORIGIN_XY_PLANE/ORIGIN_YZ_PLANE/ORIGIN_ZX_PLANE для часто используемых плоскостей.
  • Добавлены константы Matrix2/Matrix3/Matrix4.ZERO.
  • Добавлена функция Matrix2/Matrix3.multiplyByScale для умножения на неоднородные масштабы.
  • В EllipsoidTangentPlane добавлены функции projectPointToNearestOnPlane и projectPointsToNearestOnPlane для проецирования трёхмерных точек на ближайшую двумерную точку на EllipsoidTangentPlane.
  • Добавлено свойство EllipsoidTangentPlane.plane для получения Plane для касательной плоскости.
  • Введены свойства EllipsoidTangentPlane.xAxis/yAxis/zAxis для получения локальной системы координат касательной плоскости.
  • Добавлен аргумент конструктора QuantizedMeshTerrainData orientedBoundingBox.
  • Добавлен TerrainMesh.orientedBoundingBox, который содержит OrientedBoundingBox для сетки одного фрагмента рельефа.

Устаревшее:

  • Удалены InfoBoxViewModel.defaultSanitizer, InfoBoxViewModel.sanitizer и Cesium.sanitize, которые были объявлены устаревшими в версии 1.7.
  • Удалено InfoBoxViewModel.descriptionRawHtml, которое было объявлено устаревшим в версии 1.7. Вместо него следует использовать InfoBoxViewModel.description.
  • Удалён GeoJsonDataSource.fromUrl, который был объявлен устаревшим в версии 1.7. Используйте GeoJsonDataSource.load вместо него. В отличие от fromUrl, load может принимать либо URL, либо проанализированный объект JSON и возвращает обещание нового экземпляра, а не новый экземпляр.
  • Удален GeoJsonDataSource.prototype.loadUrl, который был объявлен устаревшим в версии 1.7. Вместо этого передайте URL в качестве первого параметра в GeoJsonDataSource.prototype.load.
  • Удалён CzmlDataSource.prototype.loadUrl, который был объявлен устаревшим в версии 1.7. Вместо этого передайте URL в качестве первого параметра в CzmlDataSource.prototype.load.
  • Удалён CzmlDataSource.prototype.processUrl, который был объявлен устаревшим в версии 1.7. Вместо этого передайте URL в качестве первого параметра в CzmlDataSource.prototype.process.
  • Из всех функций загрузки и обработки CzmlDataSource удалён параметр sourceUri, который был объявлен устаревшим в версии 1.7. Вместо этого передавайте объект options с свойством sourceUri.
  • Позиции PolygonGraphics удалены, поскольку они были объявлены устаревшими в версии 1.6. Вместо них используйте PolygonGraphics.hierarchy.
  • Существующие закладки документации статических членов изменены.

Устаревающее:

  • Параметры конструктора WebMapServiceImageryProvider options.getFeatureInfoAsGeoJson и options.getFeatureInfoAsXml объявлены устарелыми и будут удалены в Cesium 1.13. Вместо них следует использовать options.getFeatureInfoFormats.
  • Камера.клон объявлена устарелой и будет удалена в версии 1.11.
  • Сцена.fxaaOrderIndependentTranslucency объявлена устарелой и будет удалена в версии 1.11. Вместо неё следует использовать сцену.fxaa, которая теперь по умолчанию имеет значение true.
  • Образцы моделей Cesium теперь представлены в формате Binary glTF (.bgltf). Cesium также будет включать модели в виде обычного glTF (.gltf) до версии 1.13. Поддержка Cesium для .gltf не будет удалена.

Добавлен параметр view в приложение CesiumViewer, который устанавливает... В запросе представлен текст технической направленности из области разработки и тестирования программного обеспечения. Основной язык текста запроса — английский.

Вот перевод текста на русский язык:

  1. Исходное положение камеры с использованием долготы, широты, высоты, курса, тангажа и крена. Например: http://cesiumjs.org/Cesium/Build/Apps/CesiumViewer/index.html/index.html?view=-75.0,40.0,300.0,9.0,-13.0,3.0.
  2. Добавлены Billboard.heightReference и Label.heightReference, чтобы закрепить рекламные щиты и метки на местности.
  3. Добавлена поддержка расширения CESIUM_binary_glTF для загрузки двоичных больших объектов glTF в Model. См. Faster 3D Models with Binary glTF.
  4. Добавлена поддержка расширения glTF CESIUM_RTC для высокоточного рендеринга в Model.
  5. Добавлены PointPrimitive и PointPrimitiveCollection, которые работают быстрее и используют меньше памяти, чем рекламные щиты с кругами.
  6. Изменён Entity.point для использования нового PointPrimitive вместо рекламных щитов. Это не меняет API Entity.point.
  7. Добавлен Scene.pickPosition для восстановления положения WGS84 по координатам окна.
  8. Текущие элементы управления мышью теперь поддерживают панорамирование и масштабирование на 3D-моделях и другой непрозрачной геометрии.
  9. Добавлены события Camera.moveStart и Camera.moveEnd.
  10. Добавлено событие GeocoderViewModel.complete, которое срабатывает после завершения полёта камеры.
  11. KmlDataSource теперь может загружать файл KML, который использует явное пространство имён XML, например kml:Document.
  12. Настройка Entity.show теперь правильно переключает отображение всех дочерних сущностей, ранее она влияла только на его прямых потомков.
  13. Исправлена ошибка, которая иногда приводила к тому, что экземпляры Entity с установленным значением show, равным false, появлялись снова при добавлении новой геометрии Entity. #2686.
  14. Добавлен объект Rotation, который при передаче в SampledProperty всегда интерполирует значения в сторону кратчайшего угла. Также подключён CZML для использования Rotation для всех динамических вращений во времени.
  15. Исправлена ошибка, когда луна отображалась перед геометрией переднего плана. #1964.
  16. Исправлена ошибка, при которой солнце размывалось, когда небоскрёб/звёзды были отключены. #1829.
  17. TileProviderError теперь дополнительно принимает параметр error с более подробной информацией об ошибке или исключении, которое произошло. ImageryLayer передаёт эту информацию, когда плитки не загружаются. Это позволяет обработчику ошибок поставщика тайлов выполнять разные действия, когда тайл возвращает 404 или 500, например.
  18. У ArcGisMapServerImageryProvider теперь есть параметр конструктора maximumLevel.
  19. Выбор ArcGisMapServerImageryProvider теперь работает правильно, когда указан параметр layers. Ранее он выбирал из всех слоёв, даже если отображался только поднабор.
  20. WebMapServiceImageryProvider.pickFeatures теперь работает с серверами WMS, такими как Google Maps Engine, которые могут возвращать информацию о функциях только в формате HTML.
  21. WebMapServiceImageryProvider теперь принимает массив экземпляров GetFeatureInfoFormat, которые он будет использовать для получения информации о функциях в данной позиции на земном шаре. Это позволяет передавать произвольный info_format на сервер WMS и использовать произвольную функцию JavaScript для интерпретации ответа.
  22. Исправлен сбой, вызванный попыткой ImageryLayer создать MIP-карты для текстур, размер которых не является степенью двойки.
  23. Исправлена ошибка, из-за которой ImageryLayerCollection.pickImageryLayerFeatures возвращала неверные результаты при выборе из тайла рельефа, частично покрытого корректным уровнем изображения и частично покрытого изображением предка.
  24. Неправильное подсчёт debug.tilesWaitingForChildren в QuadtreePrimitive исправлено.
  25. Добавлено свойство throttleRequestsByServer.maximumRequestsPerServer.
  26. Метод createGeometry изменён для загрузки отдельных геометрических рабочих процессов с использованием CommonJS-стиля require при запуске в среде, подобной CommonJS.
  27. Добавлена функция buildModuleUrl.setBaseUrl, позволяющая установить базовый URL Cesium без использования глобального CESIUM_BASE_URL. 1.9 — 2015-05-01
  • Изменения:
    • Переменная. — Изменена ThirdParty/zip для переноса вызова на buildModuleUrl, пока это необходимо, вместо выполнения во время загрузки модуля. — Добавлен необязательный предел бурения в Scene.drillPick. — В параметры конструкции провайдеров изображений и местности добавлен необязательный параметр ellipsoid, который отсутствовал. Обратите внимание, что ограничивающие сферы местности вычисляются на сервере заранее, поэтому любой предоставленный эллипсоид местности должен соответствовать тому, который используется сервером. — Добавлена опция отладки в Scene для отображения информации о буфере глубины для указанного среза усечённой пирамиды обзора и раскрыта возможность в виджете CesiumInspector. — Добавлена новая секунда координации для 30 июня 2015 года в UTC 23:59:60. — Обновлён Autolinker с версии 0.15.2 до 0.17.1.

1.8 — 2015-04-01

  • Изменения: — Убраны параметры eye, target и up из Camera.lookAt, которые были объявлены устаревшими в Cesium 1.6. Используйте target и offset. — Убрана функция Camera.setTransform, которая была объявлена устаревшей в Cesium 1.6. Вместо неё используйте Camera.lookAtTransform. — Убрана функция Camera.transform, которая была объявлена устаревшей в Cesium 1.6. Вместо неё используйте Camera.lookAtTransform. — Убраны опции direction и up функции Camera.flyTo, которые были объявлены устаревшими в Cesium 1.6. Используйте опцию orientation. — Убрана функция Camera.flyToRectangle, которая была объявлена устаревшей в Cesium 1.6. Вместо неё используйте Camera.flyTo.

  • Устарело: — Объявлен устаревшим набор тайлов smallterrain. Он будет удалён в версии 1.11. Используйте набор тайлов STK World Terrain.

  • Добавлено: — Функции Entity.show (логическое значение для скрытия или отображения сущности и её дочерних элементов) и Entity.isShowing (доступное только для чтения свойство, указывающее, отображается ли сущность в данный момент). — Поддержка элемента KML visibility. Функции. Поддержка будет удалена в версии 1.10. Вместо этого передайте объект options с свойством sourceUri.

  • Добавлена начальная поддержка KML 2.2 через KmlDataSource. Ознакомьтесь с новой демонстрацией Sandcastle и справочной документацией для получения более подробной информации.

  • Санкционирования InfoBox теперь опирается на изолирование iframe. Это позволяет отображать гораздо больше контента в InfoBox, сохраняя при этом безопасность.

  • Добавлен InfoBox.frame, который является экземпляром iframe, используемого для размещения содержимого описания. Санкционирование можно контролировать с помощью атрибута sandbox фрейма. Дополнительную информацию см. по ссылке выше.

  • Устранена ошибка в Safari, которая вызывала большинство проблем в Cesium. Теперь Cesium должен работать намного лучше в Safari как для настольных компьютеров, так и для мобильных устройств.

  • Исправлены неправильные координаты текстуры эллипса. #2363 и #2465.

  • Исправлена ошибка, которая могла привести к неправильной геометрии для длинных коридоров и объёмов полилиний. #2513.

  • Исправлена ошибка в загрузке изображений, которая могла вызвать исчезновение части или всего земного шара при использовании слоя изображений, не покрывающего весь земной шар.

  • Исправлена ошибка, из-за которой ElipseOutlineGeometry и CircleOutlineGeometry выдавливались на землю, когда они должны были быть нарисованы на высоте. #2499.

  • Исправлена ошибка, препятствовавшая работе цветов вершин с PolylineGeometry и SimplePolylineGeometry, когда они использовались асинхронно. #2516.

  • Исправлена ошибка, приводившая к дублированию графики, если объекты Entity, не являющиеся динамическими во времени, изменялись в быстрой последовательности. #2514.

  • Исправлена ошибка, при которой camera.flyToBoundingSphere игнорировала диапазон, если радиус ограничивающей сферы был равен 0. #2519.

  • Исправлено несколько проблем со стилем в InfoBox и BaseLayerPicker, вызванных использованием Bootstrap с Cesium. #2487.

  • Добавлена поддержка рендеринга эффекта воды на плитках местности с квантованной сеткой.

  • В Matrix2 и Matrix3 добавлены функции pack и unpack.

  • Добавлено обнаружение/реакция столкновения камеры с местностью, когда установлен опорный кадр камеры.

  • ScreenSpaceCameraController.enableCollisionDetection добавлен для включения/отключения обнаружения столкновений камеры с местностью.

  • Для упрощения создания и загрузки данных в одной строке добавлены CzmlDataSource.load и GeoJsonDataSource.load.

  • Возможность передавать Promise в DataSource для DataSourceCollection.add добавлена. DataSource фактически не будет добавлен до тех пор, пока обещание не разрешится.

  • Возможность передачи Promise цели для viewer.zoomTo и viewer.flyTo добавлена.

  • Все функции загрузки CzmlDataSource и GeoJsonDataSource теперь возвращают экземпляры Promise, которые разрешаются после загрузки данных.

  • Обработка ошибок во всех функциях загрузки CzmlDataSource и GeoJsonDataSource стала более согласованной. Вместо смеси исключений и отклонений Promise все ошибки возникают через отклонения Promise.

  • Помимо адресов, виджет Geocoder теперь позволяет вводить долготу, широту и необязательную высоту в градусах и метрах. Пример: -75.596, 40.038, 1000 или -75.596 40.038.

1.6 — 2015-02-02

  • Критические изменения

    • Rectangle.intersectWith устарел в Cesium 1.5. Используйте Rectangle.intersection, которое аналогично, но возвращает undefined, когда два прямоугольника не пересекаются.
    • Rectangle.isEmpty устарел в Cesium 1.5.
    • Параметр sourceUri для GeoJsonDatasource.load устарел в Cesium 1.4 и был удалён. Вместо него используйте options.sourceUri.
    • PolygonGraphics.positions. Созданные с помощью GeoJSONDataSource теперь оцениваются как объекты PolygonHierarchy, а не как массив позиций.
  • Устарело:

    • Camera.tilt был объявлен устаревшим в Cesium 1.6. Он будет удален в Cesium 1.7. Используйте Camera.pitch.
    • Камера.heading и камера.tilt были объявлены устаревшими в Cesium 1.6. Они станут доступны только для чтения в Cesium 1.7. Используйте camera.setView.
    • camera.setPositionCartographic был объявлен устаревшим в Cesium 1.6. Он будет удалён в Cesium 1.7. Используйте camera.setView.
    • Параметры direction и up для camera.flyTo были объявлены устаревшими в Cesium 1.6. Они будут удалены в Cesium 1.8. Используйте опцию orientation.
    • camera.flyToRectangle был объявлен устаревшим в Cesium 1.6. Они будут удалены в Cesium 1.8. Используйте camera.flyTo.
    • camera.setTransform был объявлен устаревшим в Cesium 1.6. Он будет удалён в Cesium 1.8. Используйте camera.lookAtTransform.
    • camera.transform был объявлен устаревшим в Cesium 1.6. Он будет удалён в Cesium 1.8. Используйте camera.lookAtTransform.
    • Параметры eye, target и up для camera.lookAt были объявлены устаревшими в Cesium 1.6. Они будут удалены в Cesium 1.8. Используйте параметры target и offset.
    • PolygonGraphics.positions был объявлен устаревшим и заменён на PolygonGraphics.hierarchy, значение которого представляет собой PolygonHierarchy вместо массива позиций. PolygonGraphics.positions будет удалён в Cesium 1.8.
    • Событие Model.readyToRender было объявлено устаревшим и будет удалено в Cesium 1.9. Вместо него используйте новое Model.readyPromise.
    • ColorMaterialProperty.fromColor(color) был объявлен устаревшим и будет удалён в Cesium 1.9. Теперь конструктор может принимать цвет напрямую, например, new ColorMaterialProperty(color).
    • Методы DataSourceDisplay getScene и getDataSources были объявлены устаревшими и заменены свойствами scene и dataSources. Они будут удалены в Cesium 1.9.
    • Конструктор Entity, принимающий единственное строковое значение для идентификатора, был объявлен устаревшим. Теперь конструктор принимает объект параметров, который позволяет вам предоставить любые и все свойства, связанные с сущностью, во время построения. Поддержка устаревшего поведения будет удалена в Cesium 1.9.
    • Свойства EntityCollection.entities и CompositeEntityCollect.entities были переименованы в values. Поддержка устаревшего поведения будет удалена в Cesium 1.9.

Исправлено:

— Исправлена проблема, из-за которой порядок независимой прозрачности нарушался на многих видеокартах. Отключение порядка независимой прозрачности больше не требуется. — GeoJsonDataSource теперь поддерживает полигоны с отверстиями. — Многие примеры Sandcastle были переписаны для использования улучшенного API Entity. — Вместо того чтобы генерировать исключение, когда недостаточно уникальных позиций для определения геометрии, создание примитива будет успешным, но не будет отображаться. #2375. — Улучшена производительность асинхронного создания геометрии (до 20% быстрее в некоторых случаях использования). #2342. — Исправлен выбор в 2D. #2447.

Добавлено:

— viewer.entities, что позволяет легко создавать и управлять экземплярами Entity без соответствующего DataSource. Это просто ярлык для viewer.dataSourceDisplay.defaultDataSource.entities. — viewer.zoomTo и viewer.flyTo, которые принимают в качестве параметра сущность, массив сущностей, EntityCollection или DataSource и масштабируют или перемещаются к соответствующей визуализации. — Установка viewer.trackedEntity в undefined теперь восстановит управление камерой до их состояний по умолчанию. — Когда вы отслеживаете объект, нажимая кнопку отслеживания в InfoBox, теперь вы можете остановить отслеживание, нажав кнопку второй раз. — Добавлен Quaternion.fromHeadingPitchRoll для создания вращения из углов курса, тангажа и крена. — Добавлено Transforms.headingPitchRollToFixedFrame для создания локальной рамки из позиции и углов курса, тангажа и крена. — Добавлено Transforms.headingPitchRollQuaternion, которое является вращением кватерниона от... - Добавлены методы Color.fromAlpha и Color.withAlpha, чтобы было проще создавать полупрозрачные цвета из констант, например: var translucentRed = Color.RED.withAlpha(0.95).

  • Добавлены PolylineVolumeGraphics и Entity.polylineVolume.

  • Добавлен метод Camera.lookAtTransform, который устанавливает положение и ориентацию камеры с учётом матрицы преобразования, определяющей систему отсчёта, и либо декартова смещения, либо направления/угла наклона/дальности от центра этой системы.

  • Добавлены Camera.setView (использует направление, угол наклона и угол поворота) и Camera.roll.

  • В Camera.flyTo добавлена опция ориентации, которая может быть представлена в виде векторов направления и вверх или углов направления, угла наклона и угла поворота.

  • Добавлен метод BillboardGraphics.imageSubRegion, позволяющий использовать пользовательские текстуры атласа для экземпляров Entity.

  • Добавлена возможность использования материала «шахматная доска» с помощью класса CheckerboardMaterialProperty.

  • Добавлен класс PolygonHierarchy, упрощающий определение полигонов с отверстиями.

  • Для поддержки полигонов с отверстиями через источники данных добавлен метод PolygonGraphics.hierarchy.

  • Добавлен метод BoundingSphere.fromBoundingSpheres, создающий BoundingSphere, охватывающий указанный массив BoundingSpheres.

  • Добавлены Model.readyPromise и Primitive.readyPromise, которые являются обещаниями, разрешающимися при готовности примитивов.

  • ConstantProperty теперь может содержать любое значение; ранее он был ограничен значениями, реализующими функции equals и clones, а также несколькими специальными случаями.

  • Исправлена ошибка в EllipsoidGeodesic, из-за которой он изменял высоту позиций, передаваемых конструктору или setEndPoints.

  • WebMapTileServiceImageryProvider теперь поддерживает RESTful запросы (принимая шаблон URL-адреса плитки).

  • Исправлена ошибка, из-за которой Camera.roll был около 180 градусов, указывая на то, что камера была перевёрнута, когда она находилась в Южном полушарии.

  • Объект, возвращаемый Primitive.getGeometryInstanceAttributes, теперь содержит ограничивающую сферу экземпляра, и повторные вызовы всегда будут возвращать один и тот же экземпляр объекта.

  • Исправлена ошибка, приводившая к тому, что динамические ширины контуров геометрии не работали в реализациях, поддерживающих их.

  • Виджет SelectionIndicator теперь работает для всех визуализаций сущностей и использует центр визуализации вместо entity.position. Это даёт более точные результаты, особенно для форм, объёмов и моделей.

  • Добавлен CustomDataSource, облегчающий создание и управление группой сущностей без необходимости вручную реализовывать интерфейс DataSource в новом классе.

  • Добавлен DataSourceDisplay.defaultDataSource, представляющий собой экземпляр CustomDataSource и позволяющий легко добавлять пользовательские сущности на экран.

  • Добавлены Camera.viewBoundingSphere и Camera.flyToBoundingSphere, которые, как следует из названий, устанавливают или перемещаются к виду, охватывающему предоставленную BoundingSphere.

Для постоянных значений Property больше нет необходимости создавать экземпляр ConstantProperty или ConstantPositionProperty, теперь можно присваивать значение непосредственно соответствующему свойству. То же самое относится к изображениям материалов и цветам. Все классы Entity и связанные с ними теперь могут быть назначены с использованием анонимных объектов, а также переданы шаблонные объекты. Правильный базовый экземпляр создаётся автоматически. Более подробный обзор изменений в API Entity см. в этом форуме для получения подробной информации.

1.5 — 2015–01–05

Изменения, нарушающие работу: — Удалены GeometryPipeline.wrapLongitude, который был объявлен устаревшим в версии 1.4. Вместо него используйте GeometryPipeline.splitLongitude. — Удалён GeometryPipeline.combine, который был объявлен устаревшим в версии 1.4. Используйте GeometryPipeline.combineInstances вместо него.

Устаревшие: — viewerEntityMixin устарел. Он будет удалён в Cesium 1.6. Его функциональность теперь является частью виджета Viewer. — Rectangle.intersectWith устарел. Будет удалён в Cesium 1.6. Используйте Rectangle.intersection, которое аналогично, но возвращает undefined, если два прямоугольника не пересекаются. — Rectangle.isEmpty. 1.4 — 2014-12-01

  • Изменения:

    • Типы, реализующие TerrainProvider, теперь должны реализовывать функцию getTileDataAvailable. Обратная совместимость для этого была объявлена устаревшей в Cesium 1.2.
  • Устаревшее:

    • Параметр sourceUri для GeoJsonDatasource.load объявлен устаревшим и будет удалён в Cesium 1.6 3 февраля 2015 года (#2257). Вместо него следует использовать options.sourceUri.
    • GeometryPipeline.wrapLongitude объявлен устаревшим. Он будет удалён в версии Cesium 1.5 от 2 января 2015 года. Вместо него следует использовать GeometryPipeline.splitLongitude (#2272).
    • Объявлено об устаревании GeometryPipeline.combine. Он будет удалён в Cesium 1.5. Вместо него следует использовать GeometryPipeline.combineInstances.
  • Поддержка:

    • Добавлена поддержка сенсорных событий в Internet Explorer 11 с использованием API Pointer Events (http://www.w3.org/TR/pointerevents/).
    • Поддержка ширины контура геометрии добавлена к слою DataSource. Это реализовано через новое свойство outlineWidth в EllipseGraphics, EllipsoidGraphics, PolygonGraphics, RectangleGraphics и WallGraphics.
    • Свойство outlineWidth поддерживается в пакетах геометрии CZML.
    • Поддерживается атрибут stroke-width в реализации простого стиля GeoJSON.
    • Реализована возможность указания глобального стиля по умолчанию для GeoJSON. Подробности см. в документации (http://cesiumjs.org/Cesium/Build/Documentation/GeoJsonDataSource.html).
    • Для поддержки ленивой оценки свойств и упрощения создания пользовательских свойств добавлен CallbackProperty.
    • В GeoJsonDataSource.load, GeoJsonDataSource.loadUrl и GeoJsonDataSource.fromUrl добавлен параметр options, который позволяет задавать базовый стиль для каждого экземпляра. Пример Sandcastle (http://cesiumjs.org/Cesium/Apps/Sandcastle/index.html?src=GeoJSON%20and%20TopoJSON.html&label=Showcases).
    • Улучшена производительность загрузки GeoJSON.
    • Повышена производительность визуализации точек для всех DataSources.
    • Увеличена производительность и снижено использование памяти в EllipseGeometry, EllipseOutlineGeometry, CircleGeometry и CircleOutlineGeometry.
    • К WebMapTileServiceImageryProvider добавлен параметр tileMatrixLabels.
    • Исправлена ошибка в PolylineGeometry, которая приводила к разделению геометрии на IDL только для 3D сцен (#1197).
    • В конструктор Primitive добавлены параметры modelMatrix и cull.
    • Теперь параметр translation для Matrix4.fromRotationTranslation по умолчанию равен Cartesian3.ZERO.
    • При нацеливании узла на анимацию исправлено значение ModelNode.matrix.
    • Значение Camera.tilt теперь ограничено диапазоном [-pi / 2, pi / 2] вместо [0, pi / 2].
    • Исправлено возможное возникновение проблемы, которая могла привести к... Cesium теперь поставляется с версией набора иконок Maki для использования с PinBuilder и поддержкой GeoJSON simplestyle.

Cesium теперь поставляется со стандартным файлом web.config для упрощения развёртывания IIS.

1.1 — 2014-09-02

  • Добавлен новый поставщик изображений WebMapTileServiceImageryProvider для доступа к плиткам на сервере WMTS 1.0.0.
  • В интерфейс ImageryProvider добавлена дополнительная функция pickFeatures. С поддерживающими поставщиками изображений, такими как WebMapServiceImageryProvider, её можно использовать для определения растрированных объектов под определённым местоположением.
  • Добавлена функция ImageryLayerCollection.pickImageryLayerFeatures. Она определяет растрированные объекты слоя изображений, пересекаемые заданным лучом выбора, путём запроса поддерживающих слоёв с использованием ImageryProvider.pickFeatures.
  • В конструктор WebMapServiceImageryProvider добавлены параметры tileWidth, tileHeight, minimumLevel и tilingScheme.
  • У объекта Scene добавлено свойство id, которое является уникальным идентификатором, связанным с каждым экземпляром.
  • FeatureDetection.supportsWebWorkers теперь поддерживается.
  • Значительно улучшена производительность изменяющихся во времени полилиний при использовании DataSources.
  • viewerEntityMixin теперь автоматически запрашивает объекты слоя изображений при клике и показывает их свойства в панели InfoBox.
  • Исправлена ошибка в загрузке ландшафта и изображений, которая могла вызывать непостоянную частоту кадров при перемещении по земному шару, особенно при более быстром интернет-соединении.
  • Исправлена ошибка, из-за которой SceneTransforms.wgs84ToWindowCoordinates неправильно возвращал undefined при работе в 2D.
  • Исправлена ошибка в ImageryLayer, из-за которой изображения слоя отображались дважды для каждого существующего до добавления слоя изображения фрагмента ландшафта.
  • Исправлена ошибка в Camera.pickEllipsoid, из-за которой она возвращала заднюю сторону эллипсоида при приближении к поверхности.
  • Исправлена ошибка, которая мешала работе loadWithXhr с более старыми браузерами, такими как Internet Explorer 9.

1.0 — 2014-08-01

  • Изменения, нарушающие работу (почему так много?)

    • Все функции Matrix2, Matrix3, Matrix4 и Quaternion, которые принимают параметр result, теперь требуют этот параметр, за исключением функций, начинающихся с from.
    • Удалены imageIndex и textureAtlas у Billboard и BillboardCollection. Вместо этого используйте image у Billboard.
      • Код, который выглядел следующим образом: var billboards = new Cesium.BillboardCollection(); var textureAtlas = new Cesium.TextureAtlas({ scene : scene, images : images // array of loaded images }); billboards.textureAtlas = textureAtlas; billboards.add({ imageIndex : 0, position : //... });
      • должен выглядеть так: var billboards = new Cesium.BillboardCollection(); billboards.add({ image : '../images/Cesium_Logo_overlay.png', position : //... });
    • Обновлён Model Converter и Model для поддержки glTF 0.8. См. сообщение на форуме для получения полной информации.
    • Модели Model теперь повёрнуты так, чтобы ось Z была направлена вверх, что соответствует соглашению Cesium; glTF хранит модели с осью Y направленной вверх.
    • SimplePolylineGeometry и PolylineGeometry теперь изгибаются, следуя поверхности эллипсоида по умолчанию. Чтобы отключить это поведение, установите опцию followSurface в false.
    • DynamicScene переименован в DataSources. Были также переименованы следующие типы:
      • DynamicBillboard -> BillboardGraphics
      • DynamicBillboardVisualizer -> BillboardVisualizer
      • CompositeDynamicObjectCollection -> CompositeEntityCollection
      • DynamicClock -> DataSourceClock
      • DynamicEllipse -> EllipseGraphics
      • DynamicEllipsoid -> EllipsoidGraphics
      • DynamicObject -> Entity
      • DynamicObjectCollection -> EntityCollection
      • DynamicObjectView -> EntityView
  • DynamicLabel -> LabelGraphics;

  • DynamicLabelVisualizer -> LabelVisualizer;

  • DynamicModel -> ModelGraphics;

  • DynamicModelVisualizer -> ModelVisualizer;

  • DynamicPath -> PathGraphics;

  • DynamicPathVisualizer -> PathVisualizer;

  • DynamicPoint -> PointGraphics;

  • DynamicPointVisualizer -> PointVisualizer;

  • DynamicPolygon -> PolygonGraphics;

  • DynamicPolyline -> PolylineGraphics;

  • DynamicRectangle -> RectangleGraphics;

  • DynamicWall -> WallGraphics;

  • viewerDynamicObjectMixin -> viewerEntityMixin;

— Удалены DynamicVector и DynamicVectorVisualizer.

— Renamed DataSource.dynamicObjects в DataSource.entities.

— EntityCollection.getObjects() и CompositeEntityCollection.getObjects() теперь являются свойствами с именами EntityCollection.entities и CompositeEntityCollection.entities соответственно.

— При использовании viewerEntityMixin переименованы Viewer.trackedObject и Viewer.selectedObject в Viewer.trackedEntity и Viewer.selectedEntity.

— Функции переименованы для единообразия: * BoundingSphere.getPlaneDistances -> BoundingSphere.computePlaneDistances; * Cartesian[2,3,4].getMaximumComponent -> Cartesian[2,3,4].maximumComponent; * CubicRealPolynomial.realRoots -> CubicRealPolynomial.computeRealRoots; * JulianDate.getTotalDays -> JulianDate.totalDyas; * Matrix3.getEigenDecompostion -> Matrix3.computeEigenDecomposition; * Occluder.getVisibility -> Occluder.computeVisibility; * QuadraticRealPolynomial.discriminant -> QuadraticRealPolynomial.computeDiscriminant; * QuarticRealPolynomial.discriminant -> QuarticRealPolynomial.computeDiscriminant.

И так далее. Экстраполировать данные за пределы диапазона времени выборки по умолчанию.

  • Изменены следующие функции на свойства:

    • TerrainProvider.hasWaterMask
    • CesiumTerrainProvider.hasWaterMask
    • ArcGisImageServerTerrainProvider.hasWaterMask
    • EllipsoidTerrainProvider.hasWaterMask
    • VRTheWorldTerrainProvider.hasWaterMask.
  • Удалено ScreenSpaceCameraController.ellipsoid. Поведение, которое зависело от эллипсоида, теперь определяется на основе состояния сцены.

  • Примеры Sandcastle теперь автоматически оборачивают пример кода в шаблон RequireJS. Чтобы обновить любые пользовательские примеры, скопируйте код в существующий пример (например, Hello World) и сохраните новый файл.

  • Удалены CustomSensorVolume, RectangularPyramidSensorVolume, DynamicCone, DynamicConeVisualizerUsingCustomSensor, DynamicPyramid и DynamicPyramidVisualizer. Это будет перемещено в плагин в начале августа.

  • Если Primitive.modelMatrix изменяется после создания, это влияет только на примитивы с одним экземпляром и только в 3D режиме.

  • Свойства ImageryLayer alpha, brightness, contrast, hue, saturation и gamma могут больше не быть функциями. Если вам нужно изменять эти значения каждый кадр, рассмотрите возможность переноса вашей логики в обработчик событий для Scene.preRender.

  • Убраны опции closeTop и closeBottom из RectangleGeometry.

Изменения CZML:

  • CZML теперь версионируется с использованием схемы .. Например, любая реализация CZML 1.0 сможет загрузить любой документ 1. (с постепенным ухудшением качества). Увеличение основного номера версии будет зарезервировано для критических изменений. Мы ожидаем, что эти основные увеличения версии произойдут, поскольку CZML всё ещё находится в разработке, но мы хотели дать разработчикам стабильную цель для работы.

  • Требуется строка версии "1.0" в пакете документа, который является обязательным и должен быть первым пакетом в файле CZML. Ранее пакет document был необязательным. Самый простой пакет документов:

{
  "id":"document",
  "version":"1.0"
}
  • Свойство vertexPositions было удалено. Теперь есть свойство positions непосредственно на объектах, которые его используют, в настоящее время polyline, polygon и wall.

  • cone, pyramid и vector были удалены из основной схемы CZML. Они теперь обрабатываются как расширения, поддерживаемые Analytical Graphics, и были переименованы в agi_conicSensor, agi_customPatternSensor и agi_vector соответственно.

  • Свойство orientation было изменено, чтобы соответствовать соглашению Cesium. Для обновления существующих документов CZML сопрягите значения кватерниона.

  • pixelOffset теперь использует верхний левый угол экрана в качестве начала координат; ранее это был нижний левый угол. Для обновления существующих документов отрицайте значение y.

  • Удалены свойства color, outlineColor и outlineWidth из polyline и path. Есть новое свойство material, которое позволяет вам указать различные материалы, такие как solidColor, polylineOutline и polylineGlow.

  • Добавлена поддержка обнаружения столкновений камеры с рельефом местности в стандартном взаимодействии с мышью.

  • Модифицировано стандартное поведение мыши при наклоне камеры, чтобы она наклонялась относительно точки щелчка, учитывая рельеф местности.

  • Стандартное поведение мыши камеры изменено таким образом, чтобы камера смотрела на своё положение при нажатии на небо.

  • Cesium теперь может отображать неограниченное количество слоёв изображений, независимо от того, сколько текстурных блоков поддерживает оборудование.

  • Добавлена поддержка рендеринга освещения рельефа с помощью октетно-кодированных нормалей на вершинах. Добавлено CesiumTerrainProvider.requestVertexNormals для запроса нормалей на вершинах. Добавлен атрибут hasVertexNormals ко всем поставщикам рельефа, чтобы указать, включены ли нормали на вершинах в запрошенные фрагменты рельефа.

  • Добавились Globe.getHeight и Globe.pick для определения высоты рельефа в заданной точке. Учитывая картографическую координату и выбирая местность с помощью луча.

  • Добавлены опции scene3DOnly в конструкторы Viewer, CesiumWidget и Scene. Этот параметр оптимизирует использование памяти и производительность для 3D-режима за счёт потери возможности использовать 2D или Columbus View.

  • В SampledProperty и SampledPositionProperty добавлены forwardExtrapolationType, forwardExtrapolationDuration, backwardExtrapolationType и backwardExtrapolationDuration. Это позволяет пользователю указывать, как свойство вычисляет своё значение, когда оно выходит за пределы диапазона выборочных данных.

  • Предотвращено мигание примитивов при изменении статических DataSources.

  • В IntersectionTests добавлены методы rayTriangle, lineSegmentTriangle, raySphere и lineSegmentSphere.

  • Типы матриц теперь имеют функции добавления и вычитания.

  • Тип Matrix3 теперь имеет функцию fromCrossProduct.

  • Добавлены функции CesiumMath.signNotZero, CesiumMath.toSNorm и CesiumMath.fromSNorm.

  • Модели DataSource и CZML по умолчанию используют ориентацию North-East-Down, если она не указана.

  • TileMapServiceImageryProvider теперь работает с наборами тайлов, созданными инструментами, которые лучше соответствуют спецификации TMS. В частности, теперь поддерживается профиль global-geodetic или global-mercator (в дополнение к предыдущим geodetic и mercator), и в этих профилях предполагается, что координаты X ограничивающего прямоугольника соответствуют направлению долготы.

  • EntityCollection и CompositeEntityCollection теперь включают массив изменённых объектов в качестве последнего параметра в их событии onCollectionChanged.

  • RectangleGeometry, RectangleOutlineGeometry и RectanglePrimitive могут пересекать международную линию перемены дат.

Бета-версии

b30 — 2014-07-01

  • Изменения:
    • Ссылки на свойства CZML теперь используют символ # для разделения идентификатора и пути к свойству. objectId.position теперь должен быть objectId#position.
    • Все функции Cartesian2, Cartesian3, Cartesian4, TimeInterval и JulianDate, которые принимают параметр result, теперь требуют этот параметр (кроме функций, начинающихся с from).
    • Изменены Transforms.pointToWindowCoordinates и SceneTransforms.wgs84ToWindowCoordinates, чтобы возвращать координаты окна с началом в верхнем левом углу.
    • Billboard.pixelOffset и Label.pixelOffset теперь имеют начало в верхнем левом углу.
    • CameraFlightPath.createAnimation заменена на Camera.flyTo, а CameraFlightPath.createAnimationRectangle — на Camera.flyToRectangle. Код, который выглядел так:

scene.animations.add(Cesium.CameraFlightPath.createAnimation(scene, { destination : Cesium.Cartesian3.fromDegrees(-117.16, 32.71, 15000.0) }));

теперь должен выглядеть так:

scene.camera.flyTo({ destination : Cesium.Cartesian3.fromDegrees(-117.16, 32.71, 15000.0) });

- В Camera.flyTo и Camera.flyToRectangle:
    * options.duration теперь в секундах, а не в миллисекундах.
    * endReferenceFrame переименован в endTransform.
    * onComplete переименован в complete.
    * onCancel переименован в cancel.
- Теперь в секундах, а не в миллисекундах:
    * Scene.morphToColumbusView, Scene.morphTo2D и Scene.morphTo3D параметр duration.
    * HomeButton конструктор параметров options.duration, HomeButtonViewModel конструктор параметров duration и HomeButtonViewModel.duration.
    * SceneModePicker конструктор параметров duration, SceneModePickerViewModel конструктор параметров duration и SceneModePickerViewModel.duration.
    * Geocoder и GeocoderViewModel конструктор параметров options.flightDuration и GeocoderViewModel.flightDuration.
    * ScreenSpaceCameraController.bounceAnimationTime.
    * FrameRateMonitor конструктор параметров options.samplingWindow, options.quietPeriod и options.warmupPeriod.
- Рефакторинг. ДжулианДата должен соответствовать другим основным типам.
  • Большинство функций теперь принимают параметры результата.
  • Конструктор по умолчанию больше не создаёт дату в текущий момент, вместо этого используйте JulianDate.now().
  • Удалены JulianDate.getJulianTimeFraction и JulianDate.compareTo.
  • new JulianDate() -> JulianDate.now()
  • date.getJulianDayNumber() -> date.dayNumber
  • date.getSecondsOfDay() -> secondsOfDay
  • date.getTotalDays() -> JulianDate.getTotalDays(date)
  • date.getSecondsDifference(arg1, arg2) -> JulianDate.getSecondsDifference(arg2, arg1) (Примечание: порядок аргументов поменялся местами).
  • date.getDaysDifference(arg1, arg2) -> JulianDate.getDaysDifference(arg2, arg1) (Примечание: порядок аргументов поменялся местами).
  • date.getTaiMinusUtc() -> JulianDate.getTaiMinusUtc(date).
  • date.addSeconds(seconds) -> JulianDate.addSeconds(date, seconds).
  • date.addMinutes(minutes) -> JulianDate.addMinutes(date, minutes).
  • date.addHours(hours) -> JulianDate.addHours(date, hours).
  • date.addDays(days) -> JulianDate.addDays(date, days).
  • date.lessThan(right) -> JulianDate.lessThan(left, right).
  • date.lessThanOrEquals(right) -> JulianDate.lessThanOrEquals(left, right).
  • date.greaterThan(right) -> JulianDate.greaterThan(left, right).
  • date.greaterThanOrEquals(right) -> JulianDate.greaterThanOrEquals(left, right).

Рефакторинг TimeInterval для соответствия другим основным типам.

  • Конструктору больше не требуются параметры, теперь он принимает один параметр options. Код, который выглядел как: new TimeInterval(startTime, stopTime, true, true, data); теперь должен выглядеть так: new TimeInterval({ start : startTime, stop : stopTime, isStartIncluded : true, isStopIncluded : true, data : data });
  • TimeInterval.fromIso8601 теперь принимает один параметр options. Код, который выглядел так: TimeInterval.fromIso8601(intervalString, true, true, data); должен выглядеть так: TimeInterval.fromIso8601({ iso8601 : intervalString, isStartIncluded : true, isStopIncluded : true, data : data });
  • interval.intersect(otherInterval) -> TimeInterval.intersect(interval, otherInterval).
  • interval.contains(date) -> TimeInterval.contains(interval, date).

Удалено TimeIntervalCollection.intersectInterval.

TimeIntervalCollection.findInterval теперь принимает один параметр options вместо отдельных параметров. Код, который выглядел следующим образом: intervalCollection.findInterval(startTime, stopTime, false, true); теперь выглядит так: intervalCollection.findInterval({ start : startTime, stop : stopTime, isStartIncluded : false, isStopIncluded : true });

TimeIntervalCollection.empty был переименован в TimeIntervalCollection.isEmpty.

Удалены Scene.animations и AnimationCollection из публичного API Cesium.

Заменены color, outlineColor и outlineWidth в DynamicPath на свойство material.

ModelAnimationCollection.add и ModelAnimationCollection.addAll переименовали options.startOffset в options.delay. Также переименовали ModelAnimation.startOffset в ModelAnimation.delay.

Сцену Scene.scene2D.projection заменили на Scene.mapProjection, доступную только для чтения. Установите это с помощью опции mapProjection для конструкторов Viewer, CesiumWidget или Scene.

Материалы Fresnel, Reflection и Refraction были перемещены в плагин Materials Pack Plugin (https://github.com/CesiumGS/cesium-materials-pack).

Переименованы функции Simon1994PlanetaryPositions ComputeSunPositionInEarthInertialFrame и ComputeMoonPositionInEarthInertialFrame в computeSunPositionInEarthInertialFrame и computeMoonPositionInEarthInertialFrame соответственно.

Функция конструктора Scene теперь принимает параметр options. В будущих версиях, вероятно, изменятся типы Renderer.

  • Для пользователей AMD:
    • Перемещено PixelFormat из Renderer в Core.
    • Следующее перемещено из Renderer в Scene: TextureAtlas, TextureAtlasBuilder, BlendEquation, BlendFunction, BlendingState, CullFace, DepthFunction, StencilFunction и StencilOperation.
    • Следующее перемещено из Scene в Core: TerrainProvider, ArcGisImageServerTerrainProvider, CesiumTerrainProvider, EllipsoidTerrainProvider, VRTheWorldTerrainProvider, TerrainData, HeightmapTerrainData, QuantizedMeshTerrainData, TerrainMesh, TilingScheme, GeographicTilingScheme, WebMercatorTilingScheme, sampleTerrain, TileProviderError, Credit.
  • Удалено TilingScheme.createRectangleOfLevelZeroTiles, GeographicTilingScheme.createLevelZeroTiles и WebMercatorTilingScheme.createLevelZeroTiles.
  • Удалён CameraColumbusViewMode.
  • Удалён Enumeration.
  • Добавлены новые функции в Cartesian3: fromDegrees, fromRadians, fromDegreesArray, fromRadiansArray, fromDegreesArray3D и fromRadiansArray3D. Добавлен fromRadians в Cartographic.
  • Исправлена проблема с тёмным освещением в 3D и режиме Columbus View при просмотре ребра примитива. (#592)
  • Улучшена поддержка Internet Explorer 11.0.8, включая обходные пути для рендеринга меток, рекламных щитов и солнца.
  • Повышена производительность рендеринга местности и изображений при приближении к поверхности.
  • Добавлены события preRender и postRender в Scene.
  • Добавлены Viewer.targetFrameRate и CesiumWidget.targetFrameRate, чтобы можно было регулировать частоту запросов requestAnimationFrame.
  • Добавлены Viewer.resolutionScale и CesiumWidget.resolutionScale, позволяющие отображать сцену с разрешением, отличным от размера холста.
  • Camera.transform теперь работает согласованно во всех режимах сцены.
  • Исправлена ошибка, которая препятствовала работе sampleTerrain с STK World Terrain в Firefox.
  • SampleTerrain больше не завершается ошибкой при использовании с TerrainProvider, который ещё не готов.
  • Устранены проблемы, которые могли возникнуть при использовании ArcGisMapServerImageryProvider для доступа к мозаичному MapServer неглобального экстента.
  • В конструктор Primitive добавлена опция interleave.
  • Обновлён JSDoc с версии 3.0 до 3.3.0-alpha5. Теперь справочная документация Cesium имеет немного другой вид.
  • Обновлён Dojo с версии 1.9.1 до 1.9.3. Примечание: Dojo используется только в Sandcastle и не требуется Cesium.

b28 — 2014-05-01

  • Критические изменения (почему так много?):
    • Scene.primitives.centralBody переименован и перемещён в Scene.globe.
    • Убраны CesiumWidget.centralBody и Viewer.centralBody. Используйте CesiumWidget.scene.globe и Viewer.scene.globe.
    • Переименован CentralBody в Globe.
    • Заменён Model.computeWorldBoundingSphere на Model.boundingSphere.
    • Реорганизованы визуализаторы, убраны setDynamicObjectCollection, getDynamicObjectCollection, getScene и removeAllPrimitives, которые стали избыточными после введения DataSourceDisplay. Пострадали следующие классы:
      • DynamicBillboardVisualizer
      • DynamicConeVisualizerUsingCustomSensor
      • DynamicLabelVisualizer
      • DynamicModelVisualizer
      • DynamicPathVisualizer
      • DynamicPointVisualizer
      • DynamicPyramidVisualizer
      • DynamicVectorVisualizer
      • GeometryVisualizer
    • Экстент переименован в прямоугольник:
      • Extent -> Rectangle
      • ExtentGeometry -> RectangleGeomtry
      • ExtentGeometryOutline -> RectangleGeometryOutline
      • ExtentPrimitive -> RectanglePrimitive
      • BoundingRectangle.fromExtent -> BoundingRectangle.fromRectangle
      • BoundingSphere.fromExtent2D -> BoundingSphere.fromRectangle2D
      • BoundingSphere.fromExtentWithHeights2D -> BoundingSphere.fromRectangleWithHeights2D
      • BoundingSphere.fromExtent3D -> BoundingSphere.fromRectangle3D
      • EllipsoidalOccluder.computeHorizonCullingPointFromExtent -> Эллипсоидальный окклюдер. Вычисление точки отсечения горизонта по прямоугольнику
    • Окклюдер. Вычислить точку окклюдера из экстента -> Окклюдер. вычислить точку окклюдера из прямоугольника
    • Камера. Получить координаты камеры экстента -> Камера. получить координаты прямоугольника камеры
    • Камера. Просмотр экстента -> камера. просмотр прямоугольника
    • Камерный полётный путь. Создать анимацию экстента -> Камерный полётный путь. создать анимацию прямоугольника
    • Схемная схема. Экстент в собственный прямоугольник -> Схемная схема. прямоугольник в собственный прямоугольник
    • Схемная схема. Плитка XY в экстент -> Схемная схема. плитка XY в прямоугольник
    • Схемная схема. Плитка XY в экстент -> схемная схема. плитка XY в прямоугольник

Преобразование методов получения данных в свойства - Имя -> имя - Часы -> часы - Изменённое событие -> изменённое событие - Динамический объект коллекции -> динамические объекты - Событие ошибки -> событие ошибки

Базовый слой выбора был расширен для поддержки выбора местности (#1607). - Функция конструктора базового слоя выбора теперь принимает элемент контейнера и объект параметров вместо центрального тела и коллекции слоёв изображений. - Функция конструктора модели базового слоя теперь принимает объект параметров вместо центрального тела и коллекции слоёв изображений. - Модель поставщика изображений -> модель поставщика - Базовая модель слоя выбора. Выбранное имя -> базовая модель слоя выбора. Подсказка кнопки - Базовая модель слоя выбора. выбранный URL-адрес значка -> базовая модель слоя выбора. URL-адрес изображения кнопки - Базовая модель слоя выбора. Выбранный элемент -> базовая модель слоя выбора. выбранное изображение - базовая модель слоя выбора. Слои изображений были удалены и заменены на базовую модель слоя выбора. центральное тело

Переименовать коллекцию временных интервалов. Очистить в коллекцию временных интервалов. Удалить все

Контекст теперь является приватным. - Удалено сцена. Контекст. Вместо этого используйте сцена. Ширина буфера рисования, сцена. Высота буфера рисования, сцена. Максимальная ширина линии с псевдонимом и сцена. Создайте атлас текстур. - Рекламный щит. Вычислите положение экрана, метка. Вычислите положение экрана, преобразования сцены. Обрежьте до координат окна и преобразования сцены. Обрезать до координат буфера отрисовки, взять сцену в качестве параметра вместо контекста. - Конструктор камеры принимает сцену в качестве параметра вместо контекста

Типы, реализующие интерфейс поставщика изображений, теперь требуют наличия свойства hasAlphaChannel.

Удалена проверка на наличие Chrome Frame, поскольку Chrome Frame больше не поддерживается Google. См. официальное объявление Google (http://blog.chromium.org/2013/06/retiring-chrome-frame.html).

Типам, реализующим DataSource, больше не нужно реализовывать getIsTimeVarying.

Добавлена кнопка помощи навигации, которая при нажатии отображает информацию о том, как перемещаться по земному шару с помощью мыши. Новая кнопка включена по умолчанию в виджете Viewer.

Добавлено свойство minimumPixelSize модели, чтобы модели оставались видимыми при уменьшении масштаба зрителя.

Добавлен DynamicRectangle для поддержки DataSource предоставленной геометрии прямоугольника.

Добавлен DynamicWall для поддержки DataSource предоставленной WallGeometry.

Улучшена производительность загрузки текстур и снижено использование памяти при использовании BingMapsImageryProvider и других поставщиков изображений, которые возвращают false из hasAlphaChannel.

Добавлена возможность смещения сетки в GridMaterial.

GeometryVisualizer теперь создаёт геометрию асинхронно, чтобы предотвратить блокировку браузера.

Добавить Clock.canAnimate, чтобы время не продвигалось вперёд, даже когда часы анимируются.

Viewer теперь предотвращает продвижение времени вперёд, если обрабатывается асинхронная геометрия, чтобы избежать отображения неполной картины. Это можно отключить с помощью настроек Viewer.allowDataSourcesToSuspendAnimation.

Добавлена возможность изменять параметры материала glTF с помощью Model.getMaterial, ModelMaterial и ModelMesh.material.

В модель добавлены свойства asynchronous и ready.

Добавлены Cartesian4.fromColor и Color.fromCartesian4.

Добавлены getScale и getMaximumScale в Matrix2, Matrix3 и flipY

  • getWidth -> width
  • getHeight -> height

CubeMapFace

  • getPixelFormat -> pixelFormat
  • getPixelDatatype -> pixelDatatype

Framebuffer

  • getNumberOfColorAttachments -> numberOfColorAttachments
  • getDepthTexture -> depthTexture
  • getDepthRenderbuffer -> depthRenderbuffer
  • getStencilRenderbuffer -> stencilRenderbuffer
  • getDepthStencilTexture -> depthStencilTexture
  • getDepthStencilRenderbuffer -> depthStencilRenderbuffer
  • hasDepthAttachment -> hasdepthAttachment

Renderbuffer

  • getFormat -> format
  • getWidth -> width
  • getHeight -> height

ShaderProgram

  • getVertexAttributes -> vertexAttributes
  • getNumberOfVertexAttributes -> numberOfVertexAttributes
  • getAllUniforms -> allUniforms
  • getManualUniforms -> manualUniforms

Texture

  • getDimensions -> dimensions

TextureAtlas

  • getBorderWidthInPixels -> borderWidthInPixels
  • getTextureCoordinates -> textureCoordinates
  • getTexture -> texture
  • getNumberOfImages -> numberOfImages
  • getGUID -> guid

VertexArray

  • getNumberOfAttributes -> numberOfAttributes
  • getIndexBuffer -> indexBuffer

Finished removing prototype functions. (Use 'static' versions of these functions instead):

BoundingRectangle

  • union, expand

BoundingSphere

  • union, expand, getPlaneDistances, projectTo2D

Plane

  • getPointDistance

Ray

  • getPoint

Spherical

  • normalize

Extent

  • validate, getSouthwest, getNorthwest, getNortheast, getSoutheast, getCenter, intersectWith, contains, isEmpty, subsample

DataSource now has additional required properties, isLoading and loadingEvent as well as a new optional update method which will be called each frame.

Renamed Stripe material uniforms lightColor and darkColor to evenColor и oddColor.

Replaced SceneTransitioner with new functions and properties on the Scene: morphTo2D, morphToColumbusView, morphTo3D, completeMorphOnUserInput, morphStart, morphComplete, and completeMorph.

Removed TexturePool.

Улучшено визуальное качество для полупрозрачных объектов с помощью Weighted Blended Order-Independent Transparency.

Исправлены экстудированные полигоны, отображаемые в южном полушарии. #1490

Исправлен подбор примитивов, имеющих замкнутый вид, нарисованный на поверхности. #1333

Добавлен StripeMaterialProperty для поддержки материала Stripe в DynamicScene.

loadArrayBuffer, loadBlob, loadJson, loadText и loadXML теперь поддерживают загрузку данных из data URI.

Свойство debugShowBoundingVolume на примитивах теперь работает во всех режимах сцены.

Исключено использование пула текстур для текстур изображений поверхности Земли. Использование пула приводило к проблемам с mipmapping в текущих версиях Google Chrome, где некоторые тайлы показывали изображения из совершенно несвязанных частей земного шара.

b26 — 2014-03-03

Изменения, нарушающие работу:

Заменены функции получения/установки свойств:

Scene

  • getCanvas -> canvas
  • getContext -> context
  • getPrimitives -> primitives
  • getCamera -> camera
  • getScreenSpaceCameraController -> screenSpaceCameraController
  • getFrameState -> frameState
  • getAnimations -> animations

CompositePrimitive

  • getCentralBody, setCentralBody -> centralBody
  • getLength -> length

Ellipsoid

  • getRadii -> radii

  • getRadiiSquared -> radiiSquared

  • getRadiiToTheFourth -> radiiToTheFourth

  • getOneOverRadii -> oneOverRadii

  • getOneOverRadiiSquared oneOverRadiiSquared

    • getMinimumRadius -> minimumRadius
    • getMaximumRadius -> maximumRadius
  • CentralBody

    • getEllipsoid -> эллипсоид
    • getImageryLayers -> imageryLayers
  • EllipsoidalOccluder

    • getEllipsoid -> эллипсоид
    • getCameraPosition, setCameraPosition -> cameraPosition
  • EllipsoidTangentPlane

    • getEllipsoid -> эллипсоид
    • getOrigin -> origin
  • GeographicProjection

    • getEllipsoid -> эллипсоид
  • WebMercatorProjection

    • getEllipсоид -> эллипсоид
  • SceneTransitioner

    • getScene -> сцена
    • getEllipsoid -> эллипсоид
  • ScreenSpaceCameraController

    • getEllipsoid, setEllipsoid -> эллипсоид
  • SkyAtmosphere

    • getEllipsoid -> эллипсоид
  • TilingScheme, GeographicTilingScheme, WebMercatorTilingSheme

    • getEllipsoid -> эллипсоид
    • getExtent -> экстент
    • getProjection -> проекция
  • ArcGisMapServerImageryProvider, BingMapsImageryProvider, GoogleEarthImageryProvider, GridImageryProvider, OpenStreetMapImageryProvider, SingleTileImageryProvider, TileCoordinatesImageryProvider, TileMapServiceImageryProvider, WebMapServiceImageryProvider

    • getProxy -> прокси
    • getTileWidth -> ширина плитки
    • getTileHeight -> высота плитки
    • getMaximumLevel -> максимальный уровень
    • getMinimumLevel -> минимальный уровень
    • getTilingScheme -> схема тайлинга
    • getExtent -> экстент
    • getTileDiscardPolicy -> политика отбрасывания тайлов
    • getErrorEvent -> событие ошибки
    • isReady -> готов
    • getCredit -> кредит
  • ArcGisMapServerImageryProvider, BingMapsImageryProvider, GoogleEarthImageryProvider, OpenStreetMapImageryProvider, SingleTileImageryProvider, TileMapServiceImageryProvider, WebMapServiceImageryProvider

    • getUrl -> URL
  • ArcGisMapServerImageryProvider

    • isUsingPrecachedTiles -> использует предварительно кэшированные тайлы
  • BingMapsImageryProvider

    • getKey -> ключ
    • getMapStyle -> стиль карты
  • GoogleEarthImageryProvider

    • getPath -> путь
    • getChannel -> канал
    • getVersion -> версия
    • getRequestType -> тип запроса
  • WebMapServiceImageryProvider

    • getLayers -> слои
  • CesiumTerrainProvider, EllipsoidTerrainProvider, ArcGisImageServerTerrainProvider, VRTheWorldTerrainProvider

    • getErrorEvent -> событие ошибки
    • getCredit -> кредит
    • getTilingScheme -> схема тайлинга
    • isReady -> готов
  • TimeIntervalCollection

    • getChangedEvent -> событие изменения
    • getStart -> начало
    • getStop -> остановка
    • getLength -> длина
    • isEmpty -> пуст
  • DataSourceCollection, ImageryLayerCollection, LabelCollection, PolylineCollection, SensorVolumeCollection

    • getLength -> длина
  • BillboardCollection

    • getLength -> длина
    • getTextureAtlas, setTextureAtlas -> атлас текстур
    • getDestroyTextureAtlas, setDestroyTextureAtlas -> уничтожить атлас текстур
  • Removed Scene.getUniformState(). Use scene.context.getUniformState()

  • Visualizers no longer create a dynamicObject property on the primitives they create. Instead, they set the id property that is standard for all primitives.

  • The propertyChanged on DynamicScene objects has been renamed to definitionChanged. Also, the event is now raised in the case of an existing property being modified as well as having a new property assigned (previously only property assignment would raise the event).

  • The visualizerTypes parameter to the DataSouceDisplay has been changed to a callback function that creates an array of visualizer instances.

  • DynamicDirectionsProperty and DynamicVertexPositionsProperty were both removed, they have been superseded by PropertyArray and PropertyPositionArray, which make it easy for DataSource. Имплементации для создания динамических во времени массивов.

  • Визуализатор коллекции (VisualizerCollection) был удалён. Его заменил DataSourceDisplay.

  • Были удалены DynamicEllipsoidVisualizer, DynamicPolygonVisualizer и DynamicPolylineVisualizer. Их заменили GeometryVisualizer и соответствующие имплементации GeometryUpdater: EllipsoidGeometryUpdater, PolygonGeometryUpdater и PolylineGeometryUpdater.

  • Функции CameraFlightPath были модифицированы так, чтобы они работали в текущей системе отсчёта камеры. Теперь аргументы функции должны быть заданы в мировых координатах, а опциональный фрейм системы отсчёта может быть задан после завершения полёта.

  • Свойства PixelDatatype теперь являются числами JavaScript, а не экземплярами Enumeration.

  • Функция combine теперь принимает два объекта вместо массива и по умолчанию копирует поверхностные ссылки. Параметр allowDuplicates был удалён. В случае дублирования свойств будут использоваться свойства первого объекта.

  • Была удалена функция FeatureDetection.supportsCrossOriginImagery. Эта проверка была полезна только для очень старых версий WebKit.

Были добавлены:

  • Модель (Model) для рисования 3D моделей с использованием glTF. См. учебник и пример Sandcastle.
  • DynamicScene теперь использует Geometry and Appearances, что обеспечивает значительные улучшения визуализации DataSource (CZML, GeoJSON и т. д.). Теперь поддерживаются экструдированные геометрии, и во многих случаях производительность повышается на порядок.
  • Новые виджеты SelectionIndicator и InfoBox для Viewer, активируемые viewerDynamicObjectMixin.
  • CesiumTerrainProvider теперь поддерживает меш-основанные ландшафты, такие как тайлы, созданные STK Terrain Server.
  • Исправлен рендеринг артефактов на полупрозрачных объектах при увеличении или уменьшении масштаба.
  • Добавлен виджет CesiumInspector для отладки графики. В Cesium Viewer он включается с помощью параметра запроса inspector=true. Также см. пример Sandcastle.
  • Улучшена совместимость с Internet Explorer 11.

Динамические объекты теперь имеют свойства, соответствующие их геометрическим аналогам, например:

— DynamicEllipse, DynamicPolygon и DynamicEllipsoid теперь имеют свойства, аналогичные свойствам их геометрических аналогов, таких как EllipseGeometry, EllipseOutlineGeometry и т.д. Эти свойства также доступны в CZML.

Также были добавлены:

  • Событие definitionChanged в интерфейс Property и большинство объектов DynamicScene. Это позволяет клиенту легко отслеживать загрузку новых данных в свойство или объект.
  • Свойство isConstant в интерфейс Property. Константные свойства не меняются относительно времени моделирования, то есть Property.getValue всегда будет возвращать один и тот же результат для всех времён.
  • ConstantProperty теперь изменчив; его значение можно обновить через ConstantProperty.setValue.
  • Качество изображений вблизи полюсов улучшено, когда источник изображений использует GeographicTilingScheme.
  • OpenStreetMapImageryProvider теперь поддерживает изображения с минимальным уровнем.
  • BingMapsImageryProvider теперь по умолчанию использует HTTPS для метаданных и тайлов, когда документ загружается через HTTPS.
  • Возможность для провайдеров изображений указывать зависящие от вида атрибуты для отображения в CreditDisplay.
  • Зависящая от вида атрибуция источника изображений теперь добавляется в CreditDisplay с помощью BingMapsImageryProvider.

Исправлены ошибки:

  • Просмотр экстента.

  • Наклон камеры в ICRF.

  • Ошибка разработчика при масштабировании в 2D. Если масштабирование создаст недопустимый усечённый конус, ничего не делается.

  • WallGeometry, которая не удаляла позиции, которые были менее близки друг к другу менее чем на 6 знаков после запятой. Фиксированные координаты текстуры EllipsoidGeometry. #1454 (https://github.com/CesiumGS/cesium/issues/1454)

  • Добавлена возможность цикла для Polyline, чтобы соединить первую и последнюю точки. #960 (https://github.com/CesiumGS/cesium/issues/960)

  • Используйте performance.now() вместо Date.now(), когда это возможно, чтобы ограничить время загрузки фрагментов местности и изображений. Это приводит к более стабильной частоте кадров при загрузке фрагментов на некоторых системах.

  • Теперь RequestErrorEvent включает заголовки, которые были возвращены с ошибочным ответом.

  • Добавлен AssociativeArray, который является вспомогательным классом для поддержания хэша объектов, который также часто нужно перебирать.

  • Добавлено TimeIntervalCollection.getChangedEvent, которое возвращает событие, которое будет вызываться всякий раз, когда интервалы обновляются.

  • Добавлен второй параметр в Material.fromType для переопределения стандартных униформ. #1522 (https://github.com/CesiumGS/cesium/pull/1522)

  • Добавлен класс Intersections2D, содержащий операции над 2D треугольниками.

  • Добавлены автоматические GLSL-униформы czm_inverseViewProjection и czm_inverseModelViewProjection.

b25 — 2014-02-03

  • Изменения:
    • Аргумент options.fullscreenElement конструктора Viewer теперь соответствует дефолтному значению fullscreenButton: document.body. Ранее это был сам контейнер Viewer.
    • Удалено событие Viewer.objectTracked; Viewer.trackedObject теперь является наблюдаемым ES5 Knockout, на который можно подписаться напрямую.
    • Заменено PerformanceDisplay на Scene.debugShowFramesPerSecond.
    • Материалы Asphalt, Blob, Brick, Cement, Erosion, Facet, Grass, TieDye и Wood были перемещены в плагин Materials Pack Plugin (https://github.com/CesiumGS/cesium-materials-pack).
    • Переименован GeometryPipeline.createAttributeIndices в GeometryPipeline.createAttributeLocations.
    • Атрибут attributeIndices переименован в attributeLocations при вызове Context.createVertexArrayFromGeometry.
    • PerformanceDisplay требует DOM-элемент в качестве параметра.
    • Исправлен рендеринг глобуса в текущей версии Canary Google Chrome.
    • Viewer теперь отслеживает настройки часов первого добавленного DataSource и имеет опцию конструктора automaticallyTrackFirstDataSourceClock, которая отключает это поведение.
    • Созданная DynamicObjectCollection CzmlDataSource теперь отправляет одно событие collectionChanged после загрузки CZML; ранее оно отправляло событие каждый раз, когда объект создавался или удалялся во время процесса загрузки.
    • Добавлен ScreenSpaceCameraController.enableInputs для исправления проблемы с входами, не восстанавливающимися после перекрывающихся полётов камеры.
    • Исправлено выделение в 2D с повёрнутой картой. #1337 (https://github.com/CesiumGS/cesium/issues/1337)
    • TileMapServiceImageryProvider теперь может обрабатывать различия в регистре в tilemapresource.xml.
    • OpenStreetMapImageryProvider теперь поддерживает изображения с минимальным уровнем.
    • Добавлены Quaternion.fastSlerp и Quaternion.fastSquad.
    • Обновлён Tween.js до версии r12.

b24 — 2014-01-06

  • Изменения:

    • Добавлены свойства allowTextureFilterAnisotropic (по умолчанию: true) и failIfMajorPerformanceCaveat (по умолчанию: true) в свойство contextOptions, передаваемое в конструкторы Viewer, CesiumWidget и Scene, и перемещены существующие свойства в новое подсвойство webgl. Например, код, который выглядел так: var viewer = new Viewer('cesiumContainer', { contextOptions : { alpha : true } });

    должен выглядеть так:

      var viewer = new Viewer('cesiumContainer', {
          contextOptions : {
              webgl : {
                  alpha : true
              }
          }
      });
    • Объекты Cartesian3, доступные только для чтения, теперь должны быть клонированы в свойства камеры вместо присвоения. Например, код, который выглядел так:

      camera.up = Cartesian3.UNIT_Z;

      теперь должен выглядеть так:

      Cartesian3.clone(Cartesian3.UNIT_Z, camera.up);

    • Файлы CSS для отдельных виджетов, например BaseLayerPicker.css, больше не импортируют другие файлы CSS. Большинство В запросе используется язык программирования Cesium.

Приложения должны импортировать widgets.css (и опционально lighter.css).

  • SvgPath заменён на Knockout-привязку: cesiumSvgPath.
  • DynamicObject.availability теперь является TimeIntervalCollection вместо TimeInterval.
  • Удалена прототипная версия BoundingSphere.transform.
  • Matrix4.multiplyByPoint теперь возвращает Cartesian3 вместо Cartesian4.

Минифицированный объединённый файл Cesium.js теперь пропускает некоторые проверки DeveloperError для повышения производительности и уменьшения размера файла. При разработке приложения рекомендуется использовать неминифицированную версию локально для раннего обнаружения ошибок, а затем развёртывать минифицированную версию в рабочей среде.

Исправлены ошибки отключения CentralBody.enableLighting. Исправлены полёты Geocoder при следовании за объектом. Виджет Viewer теперь очищает ввод Geocoder, когда пользователь нажимает кнопку «домой». Тип ввода Geocoder был изменён на search, что улучшает удобство использования (особенно на мобильных устройствах). Также были внесены некоторые другие незначительные улучшения стиля.

Добавлены свойства CentralBody.maximumScreenSpaceError, translateEventTypes, zoomEventTypes, rotateEventTypes, tiltEventTypes и lookEventTypes в ScreenSpaceCameraController для изменения стандартных вводов мыши по умолчанию.

Добавлена функция setPixelOffsetScaleByDistance в Billboard, Label, DynamicBillboard и DynamicLabel для управления минимальным/максимальным масштабированием pixelOffset на основе расстояния камеры. Добавлены BoundingSphere.transformsWithoutScale и функции fromArray в Matrix2, Matrix3 и Matrix4. Добавлены Matrix4.multiplyTransformation и Matrix4.multiplyByPointAsVector.

b23 — 2013-12-02

Изменения:

  • Изменены конструкторы CatmulRomSpline и HermiteSpline с массива структур на структуру массивов. Например, код, который выглядел так: var controlPoints = [ { point: new Cartesian3(1235398.0, -4810983.0, 4146266.0), time: 0.0}, { point: new Cartesian3(1372574.0, -5345182.0, 4606657.0), time: 1.5}, { point: new Cartesian3(-757983.0, -5542796.0, 4514323.0), time: 3.0}, { point: new Cartesian3(-2821260.0, -5248423.0, 4021290.0), time: 4.5}, { point: new Cartesian3(-2539788.0, -4724797.0, 3620093.0), time: 6.0} ]; var spline = new HermiteSpline(controlPoints);

должен выглядеть так:

var spline = new HermiteSpline({ times : [ 0.0, 1.5, 3.0, 4.5, 6.0 ], points : [ new Cartesian3(1235398.0, -4810983.0, 4146266.0), new Cartesian3(1372574.0, -5345182.0, 4606657.0), new Cartesian3(-757983.0, -5542796.0, 4514323.0), new Cartesian3(-2821260.0, -5248423.0, 4021290.0), new Cartesian3(-2539788.0, -4724797.0, 3620093.0) ] });

  • loadWithXhr теперь принимает объект параметров и позволяет указать HTTP-метод и данные для отправки с запросом.
  • Renamed SceneTransitioner.onTransitionStart to SceneTransitioner.transitionStart.
  • Renamed SceneTransitioner.onTransitionComplete to SceneTransitioner.transitionComplete.
  • Renamed CesiumWidget.onRenderLoopError to CesiumWidget.renderLoopError.
  • Renamed SceneModePickerViewModel.onTransitionStart to SceneModePickerViewModel.transitionStart.
  • Renamed Viewer.onRenderLoopError to Viewer.renderLoopError.
  • Renamed Viewer.onDropError to Viewer.dropError.
  • Renamed CesiumViewer.onDropError to CesiumViewer.dropError.
  • Renamed viewerDragDropMixin.onDropError to viewerDragDropMixin.dropError.
  • Renamed viewerDynamicObjectMixin.onObjectTracked to viewerDynamicObjectMixin.objectTracked.
  • Свойства PixelFormat, PrimitiveType, IndexDatatype, TextureWrap, TextureMinificationFilter и TextureMagnificationFilter теперь являются числами JavaScript, а не экземплярами Enumeration.
  • Заменены свойства sizeInBytes. on IndexDatatype с помощью метода getSizeInBytes.
  • Добавлена опция perPositionHeight для PolygonGeometry и PolygonOutlineGeometry.
  • Добавлены QuaternionSpline и LinearSpline.
  • Добавлены методы Quaternion.log, Quaternion.exp, Quaternion.innerQuadrangle и Quaternion.squad.
  • Добавлены Matrix3.inverse и Matrix3.determinant.
  • Добавлен ObjectOrientedBoundingBox.
  • Добавлен метод Ellipsoid.transformPositionFromScaledSpace.
  • Добавлен Math.nextPowerOfTwo.
  • Переименован основной веб-сайт с cesium.agi.com на cesiumjs.org.

b22 — 2013-11-01

Изменения:

  • Изменена направленность вращения в Matrix3.fromQuaternion и Quaternion.fromRotationMatrix для соответствия графическим соглашениям.

  • Удалены следующие прототипные функции:

    • из Matrix2, Matrix3 и Matrix4: toArray, getColumn, setColumn, getRow, setRow, multiply, multiplyByVector, multiplyByScalar, negate и transpose;
    • из Matrix4: getTranslation, getRotation, inverse, inverseTransformation, multiplyByTranslation, multiplyByUniformScale, multiplyByPoint. Например, код, который ранее выглядел как matrix.toArray(), теперь должен выглядеть как Matrix3.toArray(matrix).
  • Заменены свойства color, outlineColor и outlineWidth в DynamicPolyline на одно свойство material.

  • Renamed DynamicBillboard.nearFarScalar в DynamicBillboard.scaleByDistance.

  • Все источники данных теперь должны реализовывать метод DataSource.getName, который возвращает понятное пользователю имя источника данных.

  • Объекты документа CZML больше не добавляются в DynamicObjectCollection, создаваемый CzmlDataSource. Вместо этого используйте интерфейс CzmlDataSource для доступа к данным.

  • Методы TimeInterval.equals и TimeInterval.equalsEpsilon теперь также сравнивают данные интервала.

  • Все файлы SVG были удалены из Widgets/Images и заменены новым классом SvgPath.

  • Виджеты панели инструментов (Home, SceneMode, BaseLayerPicker) и кнопка полноэкранного режима теперь зависят от CesiumWidget.css для глобальных стилей кнопок Cesium.

  • Виджеты панели инструментов теперь ожидают, что их container будет самой панелью инструментов, нет необходимости в отдельных контейнерах для каждого виджета на панели.

  • От реализаций Property теперь требуется реализовать прототипную функцию equals.

  • ConstantProperty и TimeIntervalCollectionProperty больше не принимают функцию clone и вместо этого требуют, чтобы объекты реализовывали прототипные функции clone и equals.

  • Конструктор SkyBox теперь принимает аргумент options с свойством sources вместо непосредственного принятия источников.

  • Метод SkyBox.getSources заменён на SkyBox.sources.

  • Свойство bearing в DynamicEllipse теперь называется rotation.

  • В CZML свойство ellipse.bearing теперь называется ellipse.rotation.

  • Добавлен виджет Geocoder, который позволяет пользователям вводить адрес или название ориентира и приближать камеру к этому местоположению. Он включён по умолчанию в приложениях, использующих виджет Viewer.

  • Добавлен GoogleEarthImageryProvider.

  • Добавлены Moon для рисования Луны и IauOrientationAxes для вычисления ориентации Луны.

  • Добавлено свойство Material.translucent. Установите это свойство или Appearance.translucent для правильного порядка рендеринга. Полупрозрачные геометрии отображаются после непрозрачных геометрий.

  • Добавлены свойства enableLighting, lightingFadeOutDistance и lightingFadeInDistance в CentralBody для настройки освещения.

  • Добавлены Billboard.setTranslucencyByDistance, Label.setTranslucencyByDistance, DynamicBillboard.translucencyByDistance и DynamicLabel.translucencyByDistance для управления минимальной/максимальной прозрачностью в зависимости от расстояния до камеры.

  • Добавлены PolylineVolumeGeometry и PolylineVolumeGeometryOutline.

  • Добавлен Shapes.compute2DCircle.

  • Добавлена вкладка Appearances в Sandcastle с примером для каждого внешнего вида геометрии.

  • Добавлен Scene.drillPick для возврата списка объектов, каждый из которых содержит 1 примитив в позиции экранного пространства.

  • Добавлен PolylineOutlineMaterialProperty для использования с... Динамическая полилиния. Материал.

  • Добавлена возможность использовать объекты Array и JulianDate в качестве пользовательских свойств CZML.

  • Добавлены DynamicObject.name и соответствующая поддержка CZML. Это не уникальное, удобочитаемое имя объекта.

  • Добавлены DynamicObject.parent и соответствующая поддержка CZML. Это позволяет объектам DataSource представлять данные иерархически.

  • Добавлено DynamicPoint.scaleByDistance для управления минимальным/максимальным размером точки в зависимости от расстояния от камеры.

Панель инструментов (Home, SceneMode, BaseLayerPicker) и полноэкранная кнопка теперь могут быть оформлены непосредственно с помощью предоставленного пользователем CSS.

  • В конструкторы CesiumWidget и Viewer добавлен skyBox для изменения стандартных звёзд.

  • Добавлен Matrix4.fromTranslationQuaternionRotationScale и Matrix4.multiplyByScale.

  • Добавлен Matrix3.getEigenDecomposition.

  • Добавлена служебная функция getFilenameFromUri, которая возвращает последний сегмент URL по заданному URI с параметрами запроса или без них.

  • Прототипы методов equals и equalsEpsilon возвращены в Cartesian2, Cartesian3, Cartesian4 и Quaternion.

  • Прототип функции equals добавлен в NearFarScalar и TimeIntervalCollection.

  • Добавлены события FrameState.events.

  • Для экономии памяти при отсутствии необходимости выбора добавлен Primitive.allowPicking.

  • Добавлен debugShowBoundingVolume для отладки рендеринга примитивов в Primitive, Polygon, ExtentPrimitive, EllipsoidPrimitive, BillboardCollection, LabelCollection и PolylineCollection.

  • Добавлен DebugModelMatrixPrimitive для отладки modelMatrix примитива.

  • В конструктор EllipsoidPrimitive добавлен аргумент options.

  • Обновлён Knockout с версии 2.3.0 до 3.0.0.

  • Обновлены RequireJS до версии 2.1.9 и Almond до 0.2.6.

  • Всем примитивам присвоен пользовательский id для использования с выбором. Например:

    primitives.add(new Polygon({ id: { // Пользовательский объект, возвращаемый Scene.pick }, // ... })); // ... var p = scene.pick(/* ... */); if (defined(p) && defined(p.id)) { // Используем свойства и функции в p.id }

b21 — 2013-10-01

Изменения:

  • Теперь Cesium выводит напоминание в консоль, если ваше приложение использует изображения Bing Maps, а вы не предоставляете ключ Bing Maps для своего приложения. Это напоминание о том, что вам следует как можно скорее создать ключ Bing Maps и до развёртывания приложения. Вы можете создать ключ Bing Maps, посетив https://www.bingmapsportal.com/. Установите свойство BingMapsApi.defaultKey на значение ключа вашего приложения перед созданием CesiumWidget или любых других типов, использующих API Bing Maps.

    BingMapsApi.defaultKey = 'my-key-generated-with-bingmapsportal.com';

  • Scene.pick теперь возвращает объект с свойством primitive, а не сам примитив. Например, код, который выглядел так:

    var primitive = scene.pick(/* ... */); if (defined(primitive)) { // Использовать примитив }

должен выглядеть так:

var p = scene.pick(/* ... */);
if (defined(p) && defined(p.primitive)) {
    // Использовать p.primitive
}
  • Из Camera удалены getViewMatrix, getInverseViewMatrix, getInverseTransform, getPositionWC, getDirectionWC, getUpWC и getRightWC. Вместо этого используйте свойства viewMatrix, inverseViewMatrix, inverseTransform, positionWC, directionWC, upWC и rightWC.

  • Из PerspectiveFrustum, PerspectiveOffCenterFrustum и OrthographicFrustum удалены getProjectionMatrix и getInfiniteProjectionMatrix. Вместо этого используйте свойства projectionMatrix и infiniteProjectionMatrix.

  • Удалены следующие прототипы функций:

    — Из Quaternion: conjugate, magnitudeSquared, magnitude, normalize, inverse, add, subtract, negate, dot, multiply, multiplyByScalar, divideByScalar, getAxis, getAngle. Удалены CzmlBoolean, CzmlCartesian2, CzmlCartesian3, CzmlColor, CzmlDefaults, CzmlDirection, CzmlHorizontalOrigin, CzmlImage, CzmlLabelStyle, CzmlNumber, CzmlPosition, CzmlString, CzmlUnitCartesian3, CzmlUnitQuaternion, CzmlUnitSpherical и CzmlVerticalOrigin, поскольку они больше не нужны.

Удалены DynamicProperty, DynamicMaterialProperty, DynamicDirectionsProperty и DynamicVertexPositionsProperty; вместо них используется новая система свойств:

  • Property — базовый интерфейс для всех свойств;
  • CompositeProperty — свойство, состоящее из других свойств;
  • ConstantProperty — свойство, значение которого никогда не меняется;
  • SampledProperty — свойство, значение которого интерполируется из набора образцов;
  • TimeIntervalCollectionProperty — свойство, значение которого изменяется в зависимости от временного интервала;
  • MaterialProperty — базовый интерфейс для всех материальных свойств;
  • CompositeMaterialProperty — CompositeProperty для материалов;
  • ColorMaterialProperty — свойство, которое сопоставляется с цветом материала (заменяет DynamicColorMaterial);
  • GridMaterialProperty — свойство, сопоставляемое с материалом сетки (заменяет DynamicGridMaterial);
  • ImageMaterialProperty — свойство, сопоставленное с изображением материала (заменяет DynamicImageMaterial);
  • PositionProperty — базовый интерфейс для всех позиционных свойств;
  • CompositePositionProperty — CompositeProperty для позиций;
  • ConstantPositionProperty — PositionProperty, значение которого не изменяется относительно ReferenceFrame, в котором оно определено;
  • SampledPositionProperty — SampledProperty для позиций;
  • TimeIntervalCollectionPositionProperty — TimeIntervalCollectionProperty для позиций.

Процесс Czml заменён на CzmlDataSource.

Source/Widgets/Viewer/lighter.css был удалён, используйте Source/Widgets/lighter.css вместо него.

Параметры ExtentGeometry для экструдированной экстенты были заменены, чтобы они соответствовали другим геометриям:

  • options.extrudedOptions.height -> options.extrudedHeight;
  • options.extrudedOptions.closeTop -> options.closeBottom;
  • options.extrudedOptions.closeBottom -> options.closeTop.

Конструкторы геометрии больше не вычисляют вершины или индексы. Используйте метод createGeometry типа. Например, код, который выглядел так: var boxGeometry = new BoxGeometry({ minimumCorner : min, maximumCorner : max, vertexFormat : VertexFormat.POSITION_ONLY }); должен выглядеть так:

var box = new BoxGeometry({ minimumCorner : min, maximumCorner : max, vertexFormat : VertexFormat.POSITION_ONLY }); var geometry = BoxGeometry.createGeometry(box);

Из каждого перечисления ComponentDatatype удалены createTypedArray и createArrayBufferView. Вместо этого используйте ComponentDatatype.createTypedArray и ComponentDatatype.createArrayBufferView.

DataSourceDisplay теперь требует передачи DataSourceCollection в его конструктор.

DeveloperError и RuntimeError больше не содержат свойства error. Вызовите toString или проверьте свойство stack напрямую.

CreatePickFragmentShaderSource заменено на createShaderSource.

PolygonPipeline.earClip2D переименован в PolygonPipeline.triangulate.

Добавлены контурные геометрии.

Добавлен CorridorGeometry.

Добавлено Billboard.scaleByDistance и NearFarScalar для управления минимальным/максимальным масштабом рекламного щита на основе расстояния до камеры.

Добавлен EllipsoidGeodesic.

Добавлен PolylinePipeline.scaleToSurface.

Добавлен PolylinePipeline.scaleToGeodeticHeight.

Добавлена возможность указать minimumTerrainLevel и maximumTerrainLevel при создании ImageryLayer. Слой будет отображаться только для фрагментов местности в указанном диапазоне.

Добавлены Math.setRandomNumberSeed и Math.nextRandomNumber для... Генерация повторяемых случайных чисел.

  • Добавлен Color.fromRandom для генерации случайных и частично случайных цветов.
  • В функции CameraFlightPath добавлен обратный вызов onCancel, который будет выполняться в случае отмены полёта.
  • Для отладки рендеринга добавлены Scene.debugShowFrustums и Scene.debugFrustumStatistics.
  • Добавлены интерфейсы Packable и PackableForInterpolation для помощи в интерполяции и хранении данных в памяти. Также большинство основных типов Cesium теперь их реализуют.
  • Добавлен интерфейс InterpolationAlgorithm для кодификации базового интерфейса, уже используемого LagrangePolynomialApproximation, LinearApproximation и HermitePolynomialApproximation.
  • Улучшена производительность триангуляции полигонов с использованием алгоритма O(n log n).
  • Повышена производительность пакетной обработки геометрии путём переноса работы на веб-воркер.
  • Улучшено WallGeometry для следования кривизне земли.
  • Улучшено визуальное качество замкнутых полупрозрачных геометрий.
  • Оптимизированы ограничивающие сферы полилиний.
  • Viewer теперь автоматически устанавливает свои часы на время первого добавленного DataSource, независимо от того, как он был добавлен в DataSourceCollection. Ранее это делалось только для перетаскиваемых файлов с помощью viewerDragDropMixin.
  • CesiumWidget и Viewer теперь отображают панель ошибок HTML при возникновении ошибки во время рендеринга, которую можно отключить с помощью опции конструктора.
  • CameraFlightPath теперь автоматически отключает и восстанавливает ввод мыши для генерируемых полётов.
  • Исправлена некорректная отрисовка поверхности в Columbus View при использовании EllipsoidTerrainProvider.
  • Исправлено триангулирование для полигонов, пересекающих международную линию перемены дат.
  • Исправлен рендеринг EllipsoidPrimitive для некоторых сплюснутых эллипсоидов.
  • Исправлен Cesium на Nexus 4 с Android 4.3.
  • Обновлён Knockout с версии 2.2.1 до 2.3.0.

b19 — 2013-08-01

Изменения:

  • Заменены триангуляторы и сетки на геометрию. В частности:
    • CubeMapEllipsoidTessellator заменён на EllipsoidGeometry.
    • BoxTessellator заменён на BoxGeometry.
    • ExtentTessletaor заменён на ExtentGeometry.
    • Удалён PlaneTessellator. Он был неполным и не использовался.
    • MeshFilters переименованы в GeometryPipeline.
    • Renamed MeshFilters.toWireframeInPlace в GeometryPipeline.toWireframe.
    • Удалён MeshFilters.mapAttributeIndices. Он не использовался.
    • Context.createVertexArrayFromMesh переименован в Context.createVertexArrayFromGeometry. Аналогично, переименовано свойство mesh в geometry.
  • ComponentDatatype..toTypedArray переименован в ComponentDatatype..createTypedArray.
  • Удалён Polygon.configureExtent. Используйте ExtentPrimitive вместо.
  • Удалено Polygon.bufferUsage. Больше не требуется.
  • Из функций setPositions и configureFromPolygonHierarchy у Polygon удалены аргументы height и textureRotationAngle. Вместо этого используйте свойства Polygon height и textureRotationAngle.
  • PolygonPipeline.cleanUp переименован в PolygonPipeline.removeDuplicates.
  • Удалена PolygonPipeline.wrapLongitude. Используйте GeometryPipeline.wrapLongitude вместо.
  • Добавлен параметр surfaceHeight в BoundingSphere.fromExtent3D.
  • Добавлен параметр surfaceHeight в Extent.subsample.
  • Переименована pointInsideTriangle2D в pointInsideTriangle.
  • Renamed getLogo в getCredit для ImageryProvider и TerrainProvider.

Добавлены геометрия и внешний вид.

  • Добавлено свойство intersectionWidth в DynamicCone, DynamicPyramid, CustomSensorVolume и RectangularPyramidSensorVolume.
  • Добавлен ExtentPrimitive.
  • PolylinePipeline.removeDuplicates добавлен.
  • Добавлена barycentricCoordinates для вычисления барицентрических координат точки в треугольнике.
  • Added BoundingSphere.fromEllipsoid.
  • BoundingSphere.projectTo2D добавлен.
  • Extent.fromDegrees добавлен.
  • czm_tangentToEyeSpaceMatrix — встроенная функция GLSL.
  • Отладочные средства для низкоуровневого рендеринга: DrawCommand.debugShowBoundingVolume и Scene.debugCommandFilter. Экструзия в ExtentGeometry.
  • Добавлены Credit и CreditDisplay для отображения кредитов на экране.
  • Улучшены производительность и визуальное качество CustomSensorVolume и RectangularPyramidSensorVolume.
  • Повышена эффективность отрисовки полигонов, созданных с помощью configureFromPolygonHierarchy.

b18 - 2013-07-01

  • Критические изменения:
    • Удален CesiumViewerWidget, вместо него добавлен новый виджет Viewer с архитектурой миксинов. Этот новый виджет не зависит от Dojo и является частью объединенного файла Cesium.js. Он предназначен для гибкой базовой основы для легкого создания надежных приложений. (#838)
    • Все виджеты теперь используют свойства ECMAScript 5. Все общедоступные наблюдаемые свойства теперь должны быть доступны и назначены как обычные свойства, а не вызываться как функции. Например:
      • clockViewModel.shouldAnimate() -> clockViewModel.shouldAnate
      • clockViewModel.shouldAnimate(true); -> clockViewModel.shouldAnimate = true;
    • ImageryProviderViewModel.fromConstants был удален. Используйте конструктор ImageryProviderViewModel напрямую.
    • Переименовано свойство transitioner в CesiumWidget, HomeButton и ScreenModePicker в sceneTrasitioner для соответствия соглашению об именовании свойств.
    • Теперь ImageryProvider.loadImage требует, чтобы вызывающий экземпляр провайдера изображений передавался в качестве первого параметра.
    • Убрана функция checkForChromeFrame, основанная на Dojo, и заменена новой автономной версией, которая возвращает обещание сигнализировать о завершении асинхронной проверки.
    • Удалено Assets/Textures/NE2_LR_LC_SR_W_DR_2048.jpg. Если вы ранее использовали это изображение с SingleTileImageryProvider, рассмотрите возможность использования TileMapServiceImageryProvider с URL-адресом Assets/Textures/NaturalEarthII.
    • Демо SandCastle Client CZML было удалено, в основном потому, что оно дублирует демо Simple CZML.
    • Было удалено демо SandCastle Two Viewer Widgets. Мы добавим пример с несколькими сценами, когда у нас будет хорошая архитектура для этого.
    • Изменены статические функции clone во всех объектах таким образом, что если клонируемый объект не определен, функция вернет неопределенное значение вместо того, чтобы выдать исключение.
  • Исправлены проблемы с изменением размера в CesiumWidget (#608, #834).
  • Обеспечена начальная поддержка GeoJSON и TopoJSON. (#890, #906)
  • В Billboard добавлены свойства вращения, выровненной оси, ширины и высоты.
  • Повышена производительность проверки «отсутствующих фрагментов», особенно для изображений Bing.
  • Повышена производительность детализации рельефа и изображений, особенно при использовании смеси медленных и быстрых источников изображений.
  • TileMapServiceImageryProvider теперь поддерживает изображения с минимальным уровнем. Это улучшает совместимость с наборами фрагментов, созданными MapTiler или gdal2tiles.py с использованием их настроек по умолчанию.
  • Добавлено Context.getAntialias.
  • Повышена надежность тестирования на Mac.
  • Обновлены RequireJS до версии 2.1.6 и Almond до 0.2.5.
  • Устранены артефакты, появлявшиеся на краях фрагментов изображений на ряде графических процессоров.
  • Решена проблема в BaseLayerPicker, где уничтожение не очищало все должным образом.
  • Добавлена возможность отмены подписки на событие обновления Timeline.
  • Введено свойство screenSpaceEventHandler в CesiumWidget. Также добавлена опция sceneMode в конструктор для установки начального режима сцены.
  • Введено свойство useDefaultRenderLoop в CesiumWidget, которое позволяет отключить стандартный цикл рендеринга, чтобы можно было использовать пользовательский цикл рендеринга.
  • Введен CesiumWidget.onRenderLoopError, который представляет собой Event, возникающий при возникновении исключения внутри стандартного цикла рендеринга.
  • ImageryProviderViewModel.creationCommand теперь может возвращать массив экземпляров ImageryProvider, что позволяет добавлять несколько слоев. Когда в виджете BaseLayerPicker выбран один элемент:

b17 - 2013-06-03

Изменения:

  • Унифицированные изменения:
    • Методы Uniform.getFrameNumber и Uniform.getTime заменены на метод Uniform.getFrameState, который возвращает полное состояние кадра.
    • Папка Widgets/Fullscreen переименована в Widgets/FullscreenButton, а также связанные объекты и файлы. Например, FullscreenWidget стал FullscreenButton, FullscreenViewModelFullscreenButtonViewModel.
  • Поддержка аппроксимации локальных вертикальных и горизонтальных (LVLH) систем координат при использовании DynamicObjectView в 3D. Объект автоматически выбирает LVLH или EastNorthUp в зависимости от своей скорости.
  • Добавлена поддержка векторов, определённых в CZML, через новые объекты CzmlDirection, DynamicVector и DynamicVectorVisualizer.
  • Добавлен метод SceneTransforms.wgs84ToWindowCoordinates (#746).
  • Метод fromElements добавлен в Cartesian2, Cartesian3 и Cartesian4.
  • В метод DrawCommand.cull добавлена возможность избежать избыточных проверок видимости.
  • Автоматическое GLSL-униформа czm_morphTime добавлено.
  • Поддерживаются объекты OES_vertex_array_object, что улучшает производительность рендеринга.
  • Теперь поддерживаются текстуры с плавающей точкой.
  • Добавлены методы IntersectionTests.trianglePlaneIntersection.
  • Методы computeHorizonCullingPoint, computeHorizonCullingPointFromVertices и computeHorizonCullingPointFromExtent добавлены в класс EllipsoidalOccluder для более точного теста окклюзии горизонта при рендеринге ландшафта.
  • Визуализация солнца теперь доступна. Смотрите Sun и Scene.sun.
  • Новый виджет HomeButton позволяет вернуться к стандартному виду текущего режима сцены.
  • События Command.beforeExecute и Command.afterExecute позволяют выполнять дополнительную обработку при выполнении команды.
  • Параметр вращения добавлен в метод Polygon.configureExtent.
  • Камера может летать над экстентами. См. новые методы CameraController.getExtentCameraCoordinates и CameraFlightPath.createAnimationExtent.
  • Улучшен порядок загрузки фрагментов ландшафта и изображений, чтобы сначала загружались наиболее релевантные детали.
  • Улучшено отображение материала стрелки полилинии.
  • Исправлен артефакт отсечения полилинии (#728).
  • Исправлено пересечение полигонов Международной линией перемены дат для 2D и вида Columbus (#99).
  • Исправлено поведение камеры при полётах, когда frameState.mode === SceneMode.MORPHING.
  • Исправлена обработка даты ISO8601, когда в расширенном формате указано смещение UTC, например 2008-11-10T14:00:00+02:30.

b16 - 2013-05-01

Изменения:

  • Унифицированные изменения:

    • Убраны свойства цвета, контура и ширины полилиний. Вместо этого используйте материалы для определения цвета и свойств контура полилиний. Код, который выглядел как:
      var polyline = polylineCollection.add({
          positions : positions,
          color : new Color(1.0, 1.0, 1.0, 1.0),
          outlineColor : new Color(1.0, 0.0, 0.0, 1.0),
          width : 1.0,
          outlineWidth : 3.0
      });

    должен выглядеть так: ``` var outlineMaterial = Material.fromType(context, Material.PolylineOutlineType); outlineMaterial.uniforms.color = new Color(1.0, 1.0, 1.0, 1.0); outlineMaterial.uniforms.outlineColor = new Color(1.0, 0.0, 0.0, 1.0); outlineMaterial.uniforms.outlinewidth = 2.0;

      var polyline = polylineCollection.add({
          positions : positions,
          width : 3.0,
          material : outlineMaterial
      });
      ```
    • CzmlCartographic удалён, все картографические значения во время обработки CZML преобразуются во внутренние декартовы координаты. Это повышает производительность и исправляет интерполяцию исходных картографических данных. Картографическое представление всё ещё можно получить при необходимости.
    • Удалён ComplexConicSensorVolume, который не был документирован. - Не работало на большинстве платформ. Будет возвращено в будущем релизе. Это не влияет на CZML, который использует специальный сенсор для аппроксимации сложной коники.
  • Заменено computeSunPosition на Simon1994PlanetaryPosition, которое имеет функции для более точного расчёта положения солнца и луны.
  • Удалено Context.createClearState. Эти свойства теперь являются частью ClearCommand.
  • Объекты RenderState, возвращаемые из Context.createRenderState, теперь неизменяемы.
  • Удалён positionMC из czm_materialInput. Он больше не используется никакими материалами.

  • Добавлены широкие полилинии, которые работают с ANGLE и без него.
  • Полилинии теперь используют материалы для описания внешнего вида поверхности. Подробнее о создании материалов см. на вики-странице Fabric.
  • Добавлены новые материалы: PolylineOutline, PolylineGlow, PolylineArrow и Fade.
  • Добавлен автоматический GLSL-униформ czm_pixelSizeInMeters.
  • Добавлена функция AnimationViewModel.snapToTicks, которая при установке в значение true заставляет кольцо шаттла на виджете анимации привязываться к определённым значениям тиков, а не интерполировать между ними.
  • Добавлены функции Color.toRgba и Color.fromRgba для преобразования в/из числовых значений без знака 32-битных RGBA.
  • Добавлен GridImageryProvider для пользовательских эффектов рендеринга и отладки.
  • Добавлен новый материал Grid.
  • Сделан EllipsoidPrimitive двусторонним.
  • Улучшена производительность рендеринга за счёт минимизации вызовов состояния WebGL.
  • Исправлена ошибка создания Web Worker при загрузке Cesium.js из другого источника.
  • Исправлено EllipsoidPrimitive выделение и выделение объектов с материалами, имеющими прозрачные части.
  • Исправлены артефакты смазывания изображений на мобильных устройствах и других устройствах без высокоточных фрагментных шейдеров.

b15 — 2013-04-01

  • Критические изменения:
    • Billboard.computeScreenSpacePosition теперь принимает аргументы Context и FrameState вместо аргумента UniformState.
    • Удалено свойство clampToPixel из BillboardCollection и LabelCollection. Эта опция больше не нужна из-за общих улучшений визуализации LabelCollection.
    • Удалён Widgets/Dojo/CesiumWidget и заменён на Widgets/CesiumWidget, который не зависит от Dojo.
    • Функция destroyObject больше не удаляет свойства из уничтожаемого объекта.
    • Файлы darker.css были удалены, и тема darker теперь является стилем по умолчанию для виджетов. Оригинальная тема теперь известна как lighter и находится в соответствующих файлах lighter.css.
    • Имена классов CSS были стандартизированы, чтобы избежать потенциальных конфликтов. Все виджеты теперь следуют одному и тому же шаблону: cesium-<widget>-<className>.
    • Свойства view2D, view3D и viewColumbus удалены из CesiumViewerWidget. Вместо этого используйте свойство sceneTransitioner.
  • Добавлена BoundingSphere.fromCornerPoints.
  • Добавлены функции fromArray и distance в Cartesian2, Cartesian3 и Cartesian4.
  • Добавлено свойство DynamicPath.resolution для установки максимального шага, в секундах, при выборке позиции для визуализации пути.
  • Добавлен TileCoordinatesImageryProvider, который отображает изображения с координатами X, Y, Level тайлов на поверхности земного шара. В основном это полезно для отладки.
  • Добавлены DynamicEllipse и свойство DynamicObject.ellipse для отображения CZML-эллипсов на земном шаре.
  • Добавлена функция sampleTerrain для выборки высоты рельефа списка позиций Cartographic.
  • Добавлены DynamicObjectCollection.removeObject и обработка нового свойства CZML delete.
  • Слои изображений с альфа-каналом, равным точно 0,0, больше не отображаются. Ранее эти невидимые слои отображались нормально, что было пустой тратой ресурсов. В отличие от свойства show, тайлы изображений в слое с альфой 0,0 всё ещё загружаются, поэтому слой станет видимым быстрее, когда его альфа будет увеличена.
  • Добавлены события onTransitionStart и onTransitionComplete в SceneModeTransitioner.
  • Добавлен SceneModePicker; новый виджет для перехода между режимами сцены.
  • Добавлен BaseLayerPicker; новый виджет для переключения. Изменения материалов.

b12a — 2013-01-18

  • Критические изменения:

    • Свойство server при создании BingMapsImageryProvider переименовано в url. Аналогично, BingMapsImageryProvider.getServer переименован в BingMapsImageryProvider.getUrl. Код, который выглядел как:

      var bing = new BingMapsImageryProvider({ server : 'dev.virtualearth.net' });

    должен выглядеть так:

      var bing = new BingMapsImageryProvider({
          url : 'http://dev.virtualearth.net'
      });
    • toCSSColor переименован в toCssColorString.
    • MinimumZoomDistance и maximumZoomDistance перемещены из CameraController в ScreenSpaceCameraController.
  • Добавлен fromCssColorString в Color для создания экземпляра Color из любого значения CSS.

  • Добавлен fromHsl в Color для создания экземпляра Color по H, S, L значениям.

  • Добавлено Scene.backgroundColor.

  • Добавлены параметры textureRotationAngle в Polygon.setPositions и Polygon.configureFromPolygonHierarchy для поворота текстур на полигонах.

  • Добавлены Matrix3.fromRotationX, Matrix3.fromRotationY, Matrix3.fromRotationZ и Matrix2.fromRotation.

  • Добавлены fromUniformScale в Matrix2, Matrix3 и Matrix4.

  • Добавлены fromScale в Matrix2.

  • Добавлена функция multiplyByUniformScale в Matrix4.

  • При вызове Context.createTexture2D и Context.createCubeMap добавлено свойство flipY.

  • Добавлены MeshFilters.encodePosition и EncodedCartesian3.encode.

  • Исправлены артефакты дрожания с полигонами.

  • Исправлено наклон камеры вблизи minimumZoomDistance.

  • Исправлена ошибка, которая могла привести к появлению синих плиток при приближении к Северному и Южному полюсам.

  • Исправлена ошибка, когда удаление меток приводило к удалению неправильной метки и в конечном итоге вызывало сбой.

  • Обойдено ограничение Firefox 18, препятствующее передаче типизированных массивов в веб-воркеры или из них.

  • Обновлён RequireJS до версии 2.1.2 и Almond до 0.2.3.

  • Обновили ключ API Bing Maps по умолчанию.

b12 — 2013-01-03

  • Критические изменения:
    • EventHandler переименован в ScreenSpaceEventHandler.
    • MouseEventType переименован в ScreenSpaceEventType.
    • MouseEventType.MOVE переименован в ScreenSpaceEventType.MOUSE_MOVE.
    • CameraEventHandler переименован в CameraEventAggregator.
    • Все *MouseAction переименованы в *InputAction (включая get, set, remove и т. д.).
    • Удалены Camera2DController, CameraCentralBodyController, CameraColumbusViewController, CameraFlightController, CameraFreeLookController, CameraSpindleController и CameraControllerCollection. Общие способы изменения камеры — через объект CameraController объекта Camera, будут работать во всех режимах сцены. Обработчик камеры по умолчанию — это объект ScreenSpaceCameraController объекта Scene.
    • Изменён стандартный вид Земли на 2K версию Natural Earth II с затенённым рельефом, водой и дренажами. Ранее использовавшаяся версия не включала озёра и реки. Это заменило Source/Assets/Textures/NE2_50M_SR_W_2048.jpg на Source/Assets/Textures/NE2_LR_LC_SR_W_DR_2048.jpg.
  • Добавлены масштабирование, поворот и наклон для браузеров с поддержкой сенсорного ввода (особенно мобильных браузеров).
  • Улучшена поддержка рендеринга на Nexus 4 и Nexus 7 с использованием Firefox.
  • Улучшены полёты камеры.
  • Добавлен пример Sandbox с использованием новой ночной съёмки NASA Black Marble.
  • Ограничена ось z по умолчанию для виджетов Cesium.
  • Обновлено Jasmine с версии 1.1.0 до 1.3.0.
  • Добавлен JulianDate.toIso8601, который создаёт представление JulianDate, совместимое с ISO8601.
  • Виджет Timeline теперь правильно отображает високосные секунды.

b11 — 2012-12-03

  • Критические изменения:
    • Цикл рендеринга виджета теперь запускается по умолчанию. Изменён код запуска, см. примеры Sandcastle.
    • В Timeline.makeLabel вместо JavaScript date используется JulianDate. Текст запроса:

parameter.

  • Образы Земли по умолчанию были перемещены в новый пакет «Assets». Образы, используемые примерами «Sandcastle», были перемещены в папку «Sandcastle», а образы, используемые виджетами Dojo, теперь являются самостоятельными в пакете «Widgets».
  • «positionToEyeEC» в «czm_materialInput» больше не нормализуется по умолчанию.
  • «FullScreen» и связанные функции были переименованы в «Fullscreen», чтобы соответствовать стандарту W3C.
  • Функция «Fullscreen.isFullscreenEnabled» была неправильно реализована в некоторых браузерах. Теперь функция «isFullscreenEnabled» корректно определяет, позволит ли браузер элементу перейти в полноэкранный режим. Доступна новая функция «isFullscreen» для определения того, находится ли браузер в данный момент в полноэкранном режиме.
  • Функции «Fullscreen.getFullScreenChangeEventName» и «Fullscreen.getFullScreenChangeEventName» теперь возвращают правильное имя события, подходящее для использования с API «addEventListener», вместо префикса «on».
  • Удалены функции «Scene.setSunPosition» и «Scene.getSunPosition». Положение солнца, используемое для освещения, автоматически вычисляется на основе времени сцены.
  • Из «CentralBody» удалён ряд параметров рендеринга, включая атмосферу земли, ночную текстуру, карту отражения, карту облаков, тени облаков и карту неровностей. Эти функции не были готовы к производству и имели непропорционально высокую стоимость с точки зрения сложности шейдеров и времени компиляции. Они могут вернуться в более совершенной форме в будущем выпуске.
  • Убрано свойство «affectedByLighting» из «Polygon», «EllipsoidPrimitive», «RectangularPyramidSensorVolume», «CustomSensorVolume» и «ComplexConicSensorVolume».
  • Удалён «DistanceIntervalMaterial». Это не было задокументировано.
  • В функциях «Matrix2.getElementIndex», «Matrix3.getElementIndex» и «Matrix4.getElementIndex» параметры поменялись местами, и теперь они принимают строку первой и столбец второй. Это согласуется с другими константами класса, такими как «Matrix2.COLUMN1ROW2».
  • Вместо «CentralBody.showSkyAtmosphere» используются «Scene.skyAtmosphere» и «SkyAtmosphere». Это никак не влияет на тех, кто использует виджет Cesium.

Перевод:

Параметр.

  • Стандартные изображения Земли были перенесены в новый пакет Assets. Изображения, которые использовались в примерах Sandcastle, были перемещены в папку Sandcastle, а изображения, используемые виджетами Dojo, теперь содержатся в пакете Widgets.
  • Параметр positionToEyeEC в czm_materialInput больше не нормализован по умолчанию.
  • FullScreen и связанные с ним функции были переименованы в Fullscreen, чтобы соответствовать стандартам W3C.
  • Функция isFullscreenEnabled в функции FullScreen была некорректно реализована в некоторых браузерах. Сейчас функция isFullscreenEnabled корректно определяет, разрешит ли браузер перейти в полноэкранный режим. Появилась новая функция isFullscreen для определения текущего режима браузера.
  • Функции getFullScreenChangeEventName и getFullScreenChangeEventName теперь возвращают корректное название события, которое можно использовать с API addEventListener, вместо добавления префикса on.
  • Были удалены функции setSunPosition и getSunPosition в Scene. Положение Солнца, используемое для расчёта освещения, теперь рассчитывается автоматически на основании времени сцены.
  • Был удалён ряд опций рендеринга из CentralBody, включая атмосферу Земли, ночную текстуру, карту отражений, карту облаков, тени от облаков и карту рельефа. Эти возможности не были полностью готовы к использованию и требовали значительных затрат ресурсов при компиляции шейдеров. Возможно, они будут добавлены в будущих версиях.
  • Было удалено свойство affectedByLighting из Polygon, EllipsoidPrimitive, RectangularPyramidSensorVolume, CustomSensorVolume и ComplexConicSensorVolume.
  • Была удалена функция DistanceIntervalMaterial. Она не была документирована.
  • Параметры функций Matrix2.getElementIndex, Matrix3.getElementIndex и Matrix4.getElementIndex были изменены: теперь сначала идёт строка, затем столбец. Это соответствует другим константам класса, таким как Matrix2.COLUMN1ROW2.
  • Вместо CentralBody.showSkyAtmosphere используются Scene.skyAtmosphere и SkyAtmosphere. Для пользователей виджета Cesium это изменение не имеет значения. to WebMercatorProjection
  1. CentralBody.dayTileProvider был удалён. Вместо этого добавьте один или несколько провайдеров изображений в коллекцию, возвращаемую методом CentralBody.getImageryLayers().

  2. Параметр description.generateTextureCoords, передаваемый в ExtentTessellator.compute, теперь называется description.generateTextureCoordinates.

  3. Методы bringForward, sendBackward, bringToFront и sendToBack на CompositePrimitive были переименованы в raise, lower, raiseToTop и lowerToBottom соответственно.

  4. Cache и CachePolicy больше не используются и были удалены.

  5. Исправлена проблема с запуском виджета Dojo, а также удалён обратный вызов «postSetup» в процессе. См. примеры Sandcastle и обновите свой стартовый код.

  6. Теперь CentralBody позволяет накладывать слои изображений из разных источников и альфа-смешивать их на глобусе. См. новые примеры Sandcastle для картографических проекций и слоёв изображений.

  7. Добавлен WebMapServiceImageryProvider.

  8. Улучшено поведение щелчка средней кнопкой мыши, чтобы всегда наклонять в одном направлении.

  9. Добавлены методы getElementIndex в Matrix2, Matrix3 и Matrix4.

b9 — 2012-10-01

Критические изменения:

  1. Убраны функции render и renderForPick примитивов. Функция обновления примитива update обновляет список команд для рендерера. Для получения более подробной информации см. раздел «Детали рендеринга на основе данных» (Data Driven Renderer) на вики CesiumGS/cesium.

  2. Убраны Context.getViewport и Context.setViewport. По умолчанию область просмотра соответствует размеру холста, если примитив не переопределяет свойство области просмотра в состоянии рендера.

  3. Убрана функция shallowEquals.

  4. Передача undefined любой из функций set на Billboard теперь вызывает исключение.

  5. Передача undefined любой из функций set на Polyline теперь вызывает исключение.

  6. PolygonPipeline.scaleToGeodeticHeight теперь принимает эллипсоид в качестве последнего параметра вместо первого. Также теперь по умолчанию используется Ellipsoid.WGS84, если параметр не указан.

  7. Новый редактор Sandcastle в реальном времени и демонстрационная галерея заменяют примеры Sandbox и Skeleton.

  8. Повышена производительность и точность выбора.

  9. Добавлен EllipsoidPrimitive для визуализации эллипсоидов и сфер. В настоящее время это поддерживается только в 3D, но не в 2D или режиме Columbus.

  10. Добавлены DynamicEllipsoid и DynamicEllipsoidVisualizer, которые используют новый EllipsoidPrimitive для реализации эллипсоидов в CZML.

  11. Функции Extent теперь принимают необязательные параметры результата. Также добавлены функции getCenter, intersectWith и contains.

  12. Добавлен новый служебный класс DynamicObjectView для отслеживания DynamicObject с камерой в различных режимах сцены; также подключён CesiumViewerWidget для его использования.

  13. Добавлены свойства enableTranslate, enableZoom и enableRotate в Camera2DController для выборочного переключения поведения камеры. Все значения по умолчанию равны true.

  14. Добавлена Camera2DController.setPositionCartographic для упрощения программного перемещения камеры в режиме 2D.

  15. Улучшены расстояния до ближней и дальней плоскости и устранена z-конфликтность.

  16. Добавлены Matrix4.multiplyByTranslation, Matrix4.fromScale и Matrix3.fromScale.

b8 — 2012-09-05

Критические изменения:

  1. Материалы теперь создаются через централизованный класс Material с использованием схемы JSON, называемой Fabric. Например, измените:

    polygon.material = new BlobMaterial({repeat : 10.0});

на:

polygon.material = Material.fromType(context, 'Blob');
polygon.material.repeat = 10.0;

или:

polygon.material = new Material({
    context : context,
    fabric : {
        type : 'Blob',
        uniforms : {
            repeat : 10.0
        }
    }
});
  1. Label.computeScreenSpacePosition теперь требует текущего состояния сцены в качестве параметра.

  2. Передача undefined любой из функций set на Label теперь вызывает исключение.

  3. Префикс agi_ на идентификаторах GLSL заменён на czm_.

  4. Свойства vertexShader и fragmentShader в ViewportQuad заменены на необязательные. Аргументы конструктора.

  • Изменён GLSL автоматический юниформ czm_viewport с ivec4 на vec4, чтобы уменьшить приведение типов.

  • Billboard теперь по умолчанию использует индекс изображения -1, что указывает на отсутствие текстуры, ранее рекламные щиты по умолчанию использовали 0, что указывало на первую текстуру в атласе. Например, измените:

    billboards.add({ position : { x : 1.0, y : 2.0, z : 3.0 }, });

на:

billboards.add({ position : { x : 1.0, y : 2.0, z : 3.0 }, imageIndex : 0 });

  • Переименован SceneState в FrameState.
  • SunPosition был изменён со статического объекта на функцию computeSunPosition, которая теперь возвращает Cartesian3 с вычисленным положением. Также она была оптимизирована для производительности и снижения нагрузки на память. Например, замените:

var result = SunPosition.compute(date); var position = result.position;

на:

var position = computeSunPosition(date);

  • Все операции Quaternion теперь имеют статические версии, которые работают с любыми объектами, предоставляющими свойства x, y, z и w.
  • Добавлена поддержка вложенных полигонов с отверстиями. См. Polygon.configureFromPolygonHierarchy.
  • В рендерер добавлена поддержка усечения по области просмотра и окклюзии центрального тела. Все встроенные примитивы, такие как BillboardCollection, Polygon, PolylineCollection и т. д., могут быть отсечены. Подробные сведения см. в расширенных примерах в Sandbox.
  • Добавлена функция writeTextToCanvas, которая обрабатывает изменение размера результирующего холста в соответствии с желаемым текстом.
  • Добавлена поддержка визуализации пути CZML через объекты DynamicPath и DynamicPathVisualizer. Подробные сведения см. на вики CZML (https://github.com/CesiumGS/cesium/wiki/CZML-Guide).
  • Добавлена поддержка WEBGL_depth_texture (http://www.khronos.org/registry/webgl/extensions/WEBGL_depth_texture/). См. Framebuffer.setDepthTexture.
  • Добавлен CesiumMath.isPowerOfTwo.
  • Добавлено affectedByLighting к ComplexConicSensorVolume, CustomSensorVolume и RectangularPyramidSensorVolume, чтобы включать и выключать освещение для этих объектов.
  • Объекты CZML Polygon, Cone и Pyramid больше не подвержены влиянию освещения.
  • Добавлены автоматические юниформы GLSL czm_viewRotation и czm_viewInverseRotation.
  • К BillboardCollection и LabelCollection добавлено свойство clampToPixel. Когда оно истинно, все рекламные щиты и текст выравниваются по пикселю в пространстве экрана, обеспечивая более чёткое изображение за счёт более резкого движения.
  • Функции Ellipsoid теперь принимают необязательные параметры результата.

b7 — 2012-08-01

Изменения:

  • Удалена обработка ввода с клавиатуры из EventHandler.
  • TextureAtlas принимает объектный литерал в своём конструкторе вместо отдельных параметров. Код, который раньше выглядел так:

context.createTextureAtlas(images, pixelFormat, borderWidthInPixels);

теперь должен выглядеть так:

context.createTextureAtlas({images : images, pixelFormat : pixelFormat, borderWidthInPixels : borderWidthInPixels});

  • Camera.pickEllipsoid возвращает выбранное положение в мировых координатах, а параметр эллипсоида является необязательным. Предпочитайте новый метод Scene.pickEllipsoid. Например, замените

var position = camera.pickEllipsoid(ellipsoid, windowPosition);

на

var position = scene.pickEllipsoid(windowPosition, ellipsoid);

  • Camera.getPickRay теперь возвращает новый тип Ray вместо объекта со свойствами положения и направления.
  • Camera.viewExtent теперь принимает аргумент Extent вместо аргументов запад, юг, восток и север. Предпочитайте Scene.viewExtent над Camera.viewExtent. Scene.viewExtent будет работать в любом режиме SceneMode. Например, замените

camera.viewExtent(ellipsoid, west, south, east, north);

на

scene.viewExtent(extent, ellipsoид);

  • Удалён CameraSpindleController.mouseConstrainedZAxis. Вместо этого используйте CameraSpindleController.constrainedAxis. Код, который ранее выглядел так:

spindleController.mouseConstrainedZAxis = true;

должен теперь выглядеть так:

spindleController.constrainedAxis = Изменения в коде:

  1. В конструкторе Camera2DController и методе CameraControllerCollection.add2D теперь требуется проекция вместо эллипсоида.

  2. Удалена сущность Chain. when теперь включён как более полная реализация CommonJS Promises/A.

  3. Метод Jobs.downloadImage был заменён на loadImage, чтобы предоставить обещание, которое будет асинхронно загружать изображение.

  4. jsonp теперь возвращает обещание для запрошенных данных, устраняя необходимость в параметре обратного вызова.

  5. Метод JulianDate.getTimeStandard() был удалён, даты теперь всегда хранятся внутри как TAI.

  6. LeapSeconds.setLeapSeconds теперь принимает массив экземпляров LeapSecond вместо JSON.

  7. Методы TimeStandard.convertUtcToTai и TimeStandard.convertTaiToUtc были удалены, поскольку они больше не нужны.

  8. Метод Cartesian3.prototype.getXY() был заменён методом Cartesian2.fromCartesian3. Код, который ранее выглядел как cartesian3.getXY();, теперь должен выглядеть как Cartesian2.fromCartesian3(cartesian3);.

  9. Метод Cartesian4.prototype.getXY() был заменён методом Cartesian2.fromCartesian4. Код, который ранее выглядел как cartesian4.getXY(); теперь должен выглядеть как Cartesian2.fromCartesian4(cartesian4);.

  10. Метод Cartesian4.prototype.getXYZ() был заменён методом Cartesian3.fromCartesian4. Код, который ранее выглядел как cartesian4.getXYZ(); теперь должен выглядеть как Cartesian3.fromCartesian4(cartesian4);

  11. Метод Math.angleBetween был удалён, так как он дублировал метод Cartesian3.angleBetween. Просто замените вызовы первого на второй.

  12. Сущность Cartographic3 была переименована в Cartographic.

  13. Сущность Cartographic2 была удалена; используйте Cartographic вместо неё.

  14. Метод Ellipsoid.toCartesian был переименован в Ellipsoid.cartographicToCartesian.

  15. Метод Ellipsoid.toCartesians был переименован в Ellipsoid.cartographicArrayToCartesianArray.

  16. Метод Ellipsoid.toCartographic2 был переименован в Ellipsoid.cartesianToCartographic.

  17. Метод Ellipsoid.toCartographic2s был переименован в Ellipsoid.cartesianArrayToCartographicArray.

  18. Метод Ellipsoid.toCartographic3 был переименован в Ellipsoid.cartesianToCartographic.

  19. Метод Ellipsoid.toCartographic3s был переименован в Ellipsoid.cartesianArrayToCartographicArray.

  20. Метод Ellipsoid.cartographicDegreesToCartesian был удалён. Код, который раньше выглядел как ellipsoid.cartographicDegreesToCartesian(new Cartographic(45, 50, 10)), теперь должен выглядеть так: ellipsoid.cartographicToCartesian(Cartographic.fromDegrees(45, 50, 10)).

  21. Методы Math.cartographic3ToRadians, Math.cartographic2ToRadians, Math.cartographic2ToDegrees и Math.cartographic3ToDegrees были удалены. Эти функции больше не нужны, потому что экземпляры Cartographic всегда представлены в радианах.

  22. Все функции, начинающиеся с multiplyWith, теперь начинаются с multiplyBy, чтобы соответствовать функциям, начинающимся с divideBy.

  23. Функция multiplyWithMatrix на каждом типе Matrix была переименована в multiply.

  24. Все три класса Matrix были в значительной степени переписаны для обеспечения согласованности и производительности. Свойство values было устранено, и матрицы больше не являются неизменяемыми. Код, который раньше выглядел так: matrix = matrix.setColumn0Row0(12); теперь выглядит так: matrix[Matrix2.COLUMN0ROW0] = 12; код, который раньше выглядел так: matrix.setColumn3(cartesian3), теперь выглядит так: matrix.setColumn(3, cartesian3, matrix).

  25. Polyline больше нельзя создавать извне. Чтобы создать Polyline, используйте метод PolylineCollection.add.

Polyline polyline = new Polyline();

теперь выглядит так:

PolylineCollection polylineCollection = new PolylineCollection(); Polyline polyline = polylineCollection.add();

  1. Все операции Cartesian2 теперь имеют статические версии, которые работают с любыми объектами, предоставляющими свойства x и y.
  2. Все операции Cartesian3 теперь имеют статические версии, которые работают с любыми объектами, предоставляющими свойства x, y и z.
  3. Все операции Cartesian4 теперь имеют статические версии, которые работают с любыми объектами, предоставляющими свойства x, y, z и w.
  4. Все операции Cartographic теперь имеют статические версии, которые работают с любыми объектами, предоставляющими свойства longitude, latitude, b3 — 2012-02-06
  • Добавлена функция Camera.pickEllipsoid для получения точки на земном шаре под курсором мыши.
  • Добавлен атрибут Polygon.height для рисования полигонов на постоянной высоте над эллипсоидом.

Изменения:

  • Критические изменения:
    • Функции Geoscope.Constants и Geoscope.Trig заменены на Geoscope.Math.
    • Класс Polygon:
      • Атрибуты setColor и getColor заменены свойством material.color.
      • Атрибуты setEllipsoid и getEllipsoid заменены свойством ellipsoid.
      • Атрибуты setGranularity и getGranularity заменены свойством granularity.
    • Класс Polyline:
      • Атрибуты setColor/ getColor и setOutlineColor/ getOutlineColor заменены свойствами color и outline.
      • Атрибуты setWidth/ getWidth и setOutlineWidth/ getOutlineWidth заменены свойствами width и outlineWidth.
    • Удалено свойство Geoscope.BillboardCollection.bufferUsage. Теперь оно определяется автоматически.
    • Убраны функции set/get класса Geoscope.Label для свойств shadowOffset, shadowBlur, shadowColor. Больше не поддерживаются.
    • Функция Scene.getTransitions переименована в Scene.getAnimations.
    • Коллекция SensorCollection переименована в SensorVolumeCollection.
    • В классе ComplexConicSensorVolume материал заменён на отдельные материалы для каждой поверхности: outerMaterial, innerMaterial и capMaterial.
    • Переименованы материалы:
      • TranslucentSensorVolumeMaterial в ColorMaterial.
      • DistanceIntervalSensorVolumeMaterial в DistanceIntervalMaterial.
      • TieDyeSensorVolumeMaterial в TieDyeMaterial.
      • CheckerboardSensorVolumeMaterial в CheckerboardMaterial.
      • PolkaDotSensorVolumeMaterial в DotMaterial.
      • FacetSensorVolumeMaterial в FacetMaterial.
      • BlobSensorVolumeMaterial в BlobMaterial.
    • Добавлены новые материалы:
      • VerticalStripeMaterial.
      • HorizontalStripeMaterial.
      • DistanceIntervalMaterial.
    • Поддержка материалов для полигонов через новое свойство Polygon.material.
    • Классу ConicSensorVolume добавлена поддержка угла поворота через новые свойства maximumClockAngle и minimumClockAngle.
    • Добавлен прямоугольный датчик RectangularPyramidSensorVolume.
    • Пользовательский датчик теперь соединяет точки направления с помощью радиуса датчика; ранее точки соединялись линией.
    • Улучшена производительность и использование памяти классов BillboardCollection и LabelCollection.
    • Добавлено больше событий мыши.
    • Добавлены примеры использования новых функций в Sandbox.

b2 — 2011-12-01

  • Добавились сложные конические и пользовательские датчики, а также различные материалы для изменения их внешнего вида. См. новую папку Sensor в Sandbox.
  • Атрибут modelMatrix добавлен к примитивам для рендеринга в локальной системе координат. Пример полилинии см. в Sandbox.
  • Методы eastNorthUpToFixedFrame() и northEastDownToFixedFrame() добавлены к классу Ellipsoid для создания локальных систем координат.
  • Класс CameraFlightController добавлен для плавного масштабирования от одной точки к другой. Примеры новой камеры см. в Sandbox.
  • Доступны аксессоры строк и столбцов для матриц Matrix2, Matrix3 и Matrix4.
  • Добавлен класс Scene, который уменьшает объём кода, необходимого для использования Geoscope. Рекомендуется использовать его вместо явного вызова методов update() и render() для отдельных или составных примитивов. Существующему коду потребуются незначительные изменения:
    • Вызовы метода Context.pick() должны быть заменены на метод Scene.pick().
    • Конструкторы примитивов больше не требуют аргумента контекста.
    • Методы обновления и рендеринга примитивов теперь требуют аргумент контекста. Однако при использовании нового объекта Scene эти функции не нужно вызывать напрямую.
    • Текстурный атлас больше не должен создаваться напрямую; вместо этого вызовите Scene.getContext().createTextureAtlas().
    • Другие критические изменения:
      • Функции получения и установки камеры, например, getPosition / setPosition, были заменены свойствами, например, position.
      • Заменены функции получения и установки CompositePrimitive, Polygon и Polyline getShow / setShow на свойство show.
      • Заменены функции получения и установки Polyline, Polygon, BillboardCollection и LabelCollection getBufferUsage / setBufferUsage на свойство bufferUsage.
      • Изменены цвета, используемые рекламными щитами, метками. Полилинии и полигоны.

Ранее компоненты назывались r, g, b и a. Теперь они называются red (красный), green (зелёный), blue (синий) и alpha (альфа). Ранее диапазон каждого компонента был [0, 255]. Теперь диапазон равен [0, 1] с плавающей точкой. Например:

color : { r : 0, g : 255, b : 0, a : 255 }

становится:

color : { red : 0.0, green : 1.0, blue : 0.0, alpha : 1.0 }

b1 — 2011-09-19

  • Добавлен Shapes.computeCircleBoundary для вычисления окружностей. См. Sandbox.

  • Изменена функция конструктора EventHandler, чтобы она принимала холст Geoscope, что обеспечивает правильное положение мыши независимо от положения холста на странице. Код, который ранее выглядел так:

      var handler = new Geoscope.EventHandler();

теперь выглядит так:

    var handler = new Geoscope.EventHandler(canvas);
  • Context.Pick больше не требует зажима аргументов x и y. Код, который раньше выглядел так:

      var pickedObject = context.pick(primitives, us, Math.max(x, 0.0),
          Math.max(context.getCanvas().clientHeight - y, 0.0));

теперь может выглядеть так:

    var pickedObject = context.pick(primitives, us, x, context.getCanvas().clientHeight - y);
  • Изменено Polyline.setWidth и Polyline.setOutlineWidth, чтобы ограничить ширину пределом реализации WebGL вместо того, чтобы вызывать исключение. Код, который ранее выглядел так:

      var maxWidth = context.getMaximumAliasedLineWidth();
      polyline.setWidth(Math.min(5, maxWidth));
      polyline.setOutlineWidth(Math.min(10, maxWidth));

может теперь выглядеть так:

    polyline.setWidth(5);
    polyline.setOutlineWidth(10);
  • Улучшен Sandbox:

    • Код в редакторе теперь оценивается по мере ввода для быстрого прототипирования.
    • Выделение типа Geoscope в редакторе и нажатие кнопки doc на панели инструментов теперь вызывает справочную помощь для этого типа.
  • ИЗМЕНЕНИЕ: Функция-конструктор Context теперь принимает элемент вместо ID. Код, который ранее выглядел так:

      var context = new Geoscope.Context("glCanvas");
      var canvas = context.getCanvas();

должен теперь выглядеть так:

    var canvas = document.getElementById("glCanvas");
    var context = new Geoscope.Context(canvas);

b0 — 2011-08-31

  • Добавлены новые примеры Sandbox и Skeleton. Песочница содержит примеры кода для общих задач. Каркас представляет собой приложение с минимальными функциями для дальнейшего развития. Большинство примеров кода из песочницы можно скопировать и вставить прямо в каркас.
  • Добавлен Geoscope.Polygon для рисования полигонов на глобусе.
  • Добавлена функция Context.pick для выбора объектов в одной строке кода.
  • Добавлены функции bringForward, bringToFront, sendBackward и sendToBack в CompositePrimitive для управления порядком рендеринга наземных примитивов.
  • Добавлены функции getShow/setShow в Polyline и CompositePrimitive.
  • Добавлены новые типы управления камерой и события, включая CameraFreeLookEventHandler, CameraSpindleEventHandler и EventHandler.
  • Заменён Ellipsoid.toCartesian3 на Ellipsoid.toCartesian.
  • Функции update и updateForPick больше не требуют аргумента UniformState.

Альфа-релизы

a6 — 2011-08-05

  • Поддержка линий с использованием Geoscope.Polyline. См. пример Sandbox.
  • Сделаны CompositePrimitive, LabelCollection и BillboardCollection с согласованными именами функций, включая новую функцию contains().
  • Улучшена компоновка справочной документации.

a5 — 2011-07-22

  • Доработаны CompositePrimitive, TimeStandard и LeapSecond.
  • Улучшена поддержка браузеров, использующих ANGLE (только для Windows).

a4 — 2011-07-15

  • Добавлен Geoscope.TimeStandard для работы со стандартами времени TAI и UTC.
  • Добавлен Quaternion, который является основой для будущего управления камерой.
  • Добавлена первоначальная версия Geoscope.PrimitiveCollection для упрощения рендеринга.
  • Предотвращено обрезание рекламных щитов/меток вблизи поверхности глобуса.
  • См. песочницу для примера кода.
  • Добавлено больше справочной документации для меток.

a3 — 2011-07-08

  • Добавлена Geoscope.LabelCollection для рисования текста.
  • Добавлены Geoscope.JulianDate и... Geoscope.TimeConstants для корректной работы с временем.

См. пример Sandbox, чтобы узнать, как использовать новые метки и юлианскую дату.

a2 — 2011-07-01

  • Добавлены Geoscope.ViewportQuad и Geoscope.Rectangle (основы для 2D карты).
  • Улучшено визуальное качество теней от облаков.

a1 — 2011-06-24

  • Добавлен тип SunPosition для вычисления положения солнца на определённую юлианскую дату.
  • Упрощён выбор объектов. См. событие перемещения мыши в примере Sandbox.
  • Cartographic2 и Cartographic3 теперь являются изменяемыми типами.
  • Добавлена справочная документация по рекламным щитам.

a0 — 2011-06-17

  • Первоначальный выпуск.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/xuepengq-cesiumKD.git
git@api.gitlife.ru:oschina-mirror/xuepengq-cesiumKD.git
oschina-mirror
xuepengq-cesiumKD
xuepengq-cesiumKD
0.9.0