コンテンツにスキップ

Change Log

0.10.6

Features and improvements

  • Atmosphere
    • Reworked the atmosphere into a physically based sky. Terrain, 3D buildings (B3D), point clouds and water are lit by the same model. Migration is described in doc/development/atmosphere/Atmosphere-Migration.md.
    • Added Atmosphere.applyPreset(), which takes one of the seven built-in Atmosphere.Preset names or an Atmosphere.PresetValues bundle. The built-in values are the read-only table Atmosphere.PRESETS.
    • Added Atmosphere.setQuality() with four levels (Atmosphere.Quality: minimal / low / medium / high), independent of the presets. medium and high smooth edges with 2 and 4 samples per pixel.
    • Added setters and read-only properties for the scattering, sun, exposure, aerial perspective and ground lighting parameters, such as multi_scattering, mie_g and aerial_perspective_distance. Lengths are in meters.
    • Presets, setters and Viewer.Option.render_effects follow "the last write wins". Settings made before the Viewer exists are applied when it is constructed.
    • Added AtmosphereLightingMode (inherit / auto / physical / simple / off) with B3dScene.setAtmosphereLightingMode(), PointCloud.setAtmosphereLightingMode() and Atmosphere.setDefaultLightingMode().
    • Added Atmosphere.setEnvironmentEnabled(). Hiding both the sky and the ground turns the environment off and renders as without an atmosphere.
    • Added Atmosphere.setBuildingReflectanceLimit() (default 0.8), which keeps untextured 3D buildings (B3D) from glowing under bloom.
    • The sun and the moon are dimmed by the atmosphere near the horizon.
  • Render effects
    • Added RenderEffects (Viewer.render_effects, Viewer.Option.render_effects) for tonemap, bloom, auto exposure, sun shafts and output gamma.
    • Added hdr_mode (auto / on / off), TonemapMode (aces / exponential / pbr_neutral) and RenderEffects.BloomMode (compact / wide).
    • Entities are composited after the tonemap and keep their colors.
    • Without a floating point color buffer, the viewer draws straight to the canvas.
  • Sun and moon
    • Added Sun.setIlluminance() and Sun.setAngularDiameterDegree() (illuminance, illuminance_lux, angular_diameter_degree). The sky, terrain, water and the sun disc follow them.
    • Added the same to Moon, with a night-adaptation gain that fades out towards sunrise.
    • Added SunVisualizer.setGlowIntensity() and MoonVisualizer.setGlowIntensity() for the glow around the sun and the moon.
  • Water
    • The water is driven by physical inputs: wind (setWindSpeed(), setWindAngleDegree(), setWindFetch()), current (setCurrentSpeed(), setCurrentAngleDegree()), setWaveSteepness() and setWaterTurbidity(). The wavelength, wave height, wave direction and whitecaps are derived and exposed as read-only properties.
    • Added setSeabed() (Seabed.VIRTUAL / REAL / MIXED), setSeabedSlope(), setSeabedSandColor() and setSeabedRockColor().
    • Added effect multipliers such as setWaveHeightScale() and setWhitecapScale(), 1 being the physical value. The defaults keep the previous look.
    • Added applyPreset() with Preset (INNER_SEA / LAKE / RIVER / OPEN_SEA) or PresetValues, and setQuality() with the same four levels as Atmosphere.Quality.
    • Added Option.usage (Usage.SHORE / Usage.OFFSHORE).
    • Reflections are traced in screen space against a snapshot of the opaque scene instead of a second, mirrored render of the scene.
    • Waves wash up on shores found from the terrain and break by depth. Caustics and the seabed seen through the water are drawn per pixel.
    • The water receives moonlight.
    • Added Viewer.load_status.entity_baking.
    • The inputs, derived values and limitations are described in doc/development/water/Water-Spec.md.
  • Point Cloud
    • Added PointCloud.plane_threshold and PointCloud.setPlaneThreshold(), so the threshold that classifies a box as having a planar point distribution is now configurable instead of being fixed at 0.8.
    • Added PointCloudDebugPlugin along with PointCloud.getDebugPlugin() / PointCloud.setDebugPlugin(). Debug rendering (the resolution heat-map shader and the box, axis, ellipsoid and cross-section meshes) and the render statistics are now opt-in: without a plugin attached, no debug meshes are built, no debug draw calls or uniform writes are issued, the debug materials and their shaders are never compiled, and the heat-map branch is no longer part of the point cloud vertex shader.
  • Other Changes
    • The pixel_ratio option is now stable and officially supported.
    • Added vectile_loading to Viewer.load_status so that pending vector tile requests are included in total_loading.
    • Viewer.load_status.pc_loading now reports the number of in-flight point cloud tile requests. It previously read a debug statistics object that was only allocated when a statistics handler was registered, so it was effectively always 0 and point clouds were not covered by total_loading.
    • Added background_color to Viewer.Option along with Viewer.getBackgroundColor() / Viewer.setBackgroundColor(), so the scene background can be set to a color other than the default black.

Breaking Changes

  • The reworked atmosphere keeps its API, but scenes with an atmosphere look different. doc/development/atmosphere/Atmosphere-Migration.md lists what changes and how to get close to the previous look.
  • A Viewer with an atmosphere renders through the HDR pipeline with the ACES tonemap. Call Viewer.render_effects.setHDRMode( "off" ) to draw straight to the canvas as before.
  • new mapray.Atmosphere() starts from the filmic-physical preset at medium quality. Atmosphere.applyPreset( "oneil-classic" ) reproduces the previous look.
  • A frame drawn straight to the canvas applies the tonemap chosen with RenderEffects.setTonemapMode() instead of a fixed exponential curve.
  • SunVisualizer.setIntensity() sets the illuminance of the whole scene, and SunVisualizer.setRadius() scales the angular diameter, so a wider disc is dimmer.
  • The moon disc is much brighter at night, and the moon no longer lights daytime scenes.
  • ModelEntity is drawn before the tonemap, so the water reflects 3D models. Models in anchor_mode are unchanged.
  • StandardUIViewer lets the camera pitch up to 180 degrees.
  • The water setters, the numeric setters of RenderEffects and Atmosphere.setGroundRayleigh() / setGroundMie() / setGroundSunRate() / setAmbient() ignore non-finite values and clamp to their documented ranges. Atmosphere.setGroundExposure() ignores non-finite values.
  • TextureSunVisualizer no longer works. Use SunVisualizer.
  • The water API of 0.10.x is replaced without deprecated shims, and the mirror rendering classes (MirrorCamera, MirrorRenderer, WaterMirrorRenderer) are removed. The old and new APIs are mapped in "0.10.x からの移行" of doc/development/water/Water-Spec.md.
  • WaterPolygonEntity accepts only AltitudeMode.ABSOLUTE. The constructor throws an exception when options.json specifies "relative" or "clamp" for altitude_mode, and the altitude_mode setter throws an exception for any value other than AltitudeMode.ABSOLUTE.
  • Atmosphere.Parameters gained a required field for each new parameter.
  • Updated minimum requirement for Node.js from 18.18 to 22.22.2.
  • Removed Moon.moon_direction from the public type definitions; it is now correctly marked internal, matching Sun.sun_direction. This is a type-definitions-only change with no runtime behavior change; TypeScript code that referenced moon_direction at the type level will now fail to compile.
  • Removed the type parameter from Material, which is now written as Material instead of Material<T>. The parameter only typed an internal tracker that was never exported, so no meaningful argument could be supplied for it. This is a type-definitions-only change with no runtime behavior change; TypeScript code that wrote Material<T> will now fail to compile.
  • Removed flake_bbox_material from RenderStage.RenderCache. The flake bounding box material is now owned by the debug plugin and created on first use, so the render cache no longer holds it. TypeScript code that builds or reads a RenderStage.RenderCache will fail to compile.

Deprecations

  • Atmosphere.setAureoleIntensity() and aureole_intensity: use SunVisualizer.setGlowIntensity() and MoonVisualizer.setGlowIntensity().
  • Atmosphere.setMoonIlluminance(), MoonVisualizer.setIntensity() and MoonVisualizer.setRadius(): use Moon.setIlluminance() and Moon.setAngularDiameterDegree().
  • SunVisualizer.setIntensity(), SunVisualizer.setRadius(), Atmosphere.setGroundSunRate() and Atmosphere.setSunScale(): use Sun.setIlluminance() and Sun.setAngularDiameterDegree().
  • Atmosphere.setRayleigh() / setMie() / setSunRate() / setExposure() / setScaleDepth() / setGroundScaleDepth(), and setRayleigh() / setMie() / setScaleDepth() / setSunRate() of SunVisualizer and TextureSunVisualizer, are kept but have no effect on the reworked atmosphere.

Bug Fix

  • Fixed values given to setRadius() / setIntensity() of SunVisualizer, MoonVisualizer and TextureSunVisualizer before the Viewer initializes being discarded.
  • Fixed Viewer.destroy() not releasing the BAKE depth buffers.
  • Fixed WaterPolygonEntity.loadWaterPolygonGeoJSON() ignoring height: 0.
  • Fixed the water leaving its textures bound to their texture units after drawing.
  • Fixed the water keeping its listeners after dispose(), and its entity list after destroy().
  • Fixed a bug in PointCloud.removeEventListener() where an inverted condition prevented listener removal and could remove an unrelated listener.
  • Fixed point cloud debug meshes being drawn into the RID buffer, which corrupted picking results while they were visible. They are now restricted to the scene render target.
  • Fixed ComboVectorCurve accepting non-vector types in its constructor.
  • Fixed StandardUIViewer dropping mapray.Viewer constructor options such as logo_controller; all options inherited from mapray.Viewer.Option are now forwarded.
  • Fixed a TextEntity bug where all text failed to render when an entry exceeding the maximum text width was present.
  • Fixed TextEntity sharing its default color arrays across all instances, so setting color, stroke_color, or bg_color on one entity no longer overwrites the same property on every other entity.
  • Fixed a leak where object URLs created for Blob image sources were never revoked.
  • Fixed URLResource dropping the headers returned by its transform callback when loading Resource.Type.IMAGE.
  • Fixed MarkerLineEntity and PathEntity ignoring the translucent factor in anchor mode, so their occluded parts are now drawn semi-transparently like TextEntity and PinEntity.
  • Fixed PolygonEntity throwing a TypeError when constructed from JSON containing color, and ignoring opacity and extruded_height given in JSON.

0.10.5

Features and improvements

  • Point Cloud
    • Added support for box-based filtering in the point cloud module.
  • Entities
    • Added support for multi-character text in TextPin within PinEntity.
    • Added support for anchor_mode on clamped entities.
  • Other Changes
    • Added experimental support for high-resolution displays (e.g., Retina).

Bug Fix

  • Fixed a bug in GeoRegion.intersects().
  • Fixed a LineEntity bounding box calculation bug.

0.10.4

Bug Fix

  • Fix an issue in which optional shader features were utilized without proper capability checks

0.10.3

Features and improvements

  • Dem
    • Add support for Version 1.0, enabling fast, high-quality rendering
  • Other Changes
    • Fixed an issue where entry deletions were not reflected in point entities
    • Added some fundamental functions to point entities

0.10.2

Features and improvements

  • Vectile
    • Added support for clickinteractions and highlight display
  • SceneLoader
    • Added support for Atmosphere/DEM/PointCloud/B3D
  • Other Changes
    • Fixed an issue where the FlyCamera movement was not smooth in certain cases.
    • Added automated browser tests
    • Improved example codes
    • Minor bug fixes

0.10.1

Features and improvements

  • Added WaterPolygonEntity which supports water surface rendering for oceans and rivers
  • Added RastermapTilePolygonEntity to support heightmap data visualization
    • Supports high resolution data with a pitch of a few centimeters
    • Image and contour views are available. Contours can also be displayed only within an arbitrary polygon.
    • Supports animated display of two datasets.
  • Improved CloudAPI
    • Added Vectile Datasets
    • Added Tileset Datasets
  • Attributions
    • The attribution method has changed, and the values set in the Mapray Cloud are now shown automatically.
  • Dem
    • Added CustomDemProvider which allows flattening of partial areas in the debug app.
    • Added an option to show the back faces of the DEM for underground view (experimental).
    • Minor bugfix and improvements
  • StandardUIViewer
    • Fixed issue where the clamped camera position was incorrect.
    • Fixed altitude for URL hash generation
  • Other Changes
    • Added AzuremapsImageProvider in debug apps
    • Minor bugfixes of dem module
    • Added Z-Index to control order of anchor entities
    • Added pixel-offset property to TextEntity

Breaking Changes

  • Changed the default credentials policy to Same-Origin. The behavior changes if credentials is not explicitly specified.
  • The argument of CloudApi.get3DDatasetAsResource() has been changed.
  • Refactored functions to get and remove entries of point classes. (Changed getEntry() to getEntryById())

0.10.0

Features and improvements

  • Dem
    • Added a new feature that enables the visualization of multiple DEM tiles
    • Supported Dem datasets in Cloud API
    • Performed an overall refactoring
    • Added DotsPerPixel to optimize quality of the dem
    • Improved rendering speed
    • Added Atami dataset debug Module
  • PointCloud
    • Added getter for the bounding box of a dataset
    • Keep point values in memory
    • Added method to get nearest point position
  • B3D
    • Supported B3d datasets in Cloud API and refactored provider classes
  • Entities
    • Added Entity.anchor_mode, which allows visibility for entities hidden due to being underground
    • Improved ModelEntity to support Mapray Cloud settings
  • Others
    • Improved GeoRegion
    • Fixed a geographic calculation issue in the triangulator
    • Added minimum requirement for the node.js to 18.18.

Breaking Changes

  • CloudDemProvider has been removed. Use CloudApi.getDefaultDemAsResource() and StandardDemProvider.
  • The method of calling functions related to B3dProvider has changed.

0.9.6

  • Fixed issue that occur when using Webpack with TypeScript

0.9.5

Features and improvements

  • Add direct transition mode to the flyCamera function. #316
  • improved GeoRegion class #315
  • Improve readability of TypeDoc #314
  • Refactor GeoJSONLoader #313
  • Added browser tests #312
  • Incorrect Sun brightness #311
  • Sun and star rendering problems on certain devices #310
  • cloud.frag contains unused values #309
  • bugfix of slerp #308
  • Improve b3d rendering speed #303
  • Support transparent image in ImageIconEntity #306
  • Support anchor mode in PointEntities #305
  • Add lightweight rendering mode #304
  • use Viewer.pick() instead of Viewer.pickWithRay() for StandardUIVIewer #302
  • Support async/await syntax #301

Breaking Changes

  • Add contour layer #307
  • Unify Interfaces of provider classes #300

0.9.4

Features and improvements

  • Add Quaternion to GeoMath #288
  • Issue regarding gaps at tile image boundaries #298
  • Addition of ImageProvider switching functionality #295
  • Bug report: Incorrect endFrame processing #293
  • Support loading sprite images as SDF-enabled images #290
  • Issue with target_clamp parameter evaluation in startFlyCamera function #297
  • Issue regarding slow watch processing #292
  • Proposal to implement Linter for code quality enhancement #291

Breaking Changes

  • Upgrade to rollup 3 and update typescript version #273
  • Improvement of AttributionController #274
  • Changed WebGL version to WebGL2 and supported float buffer #289
  • Issue regarding clouds image origin location modification. #296

0.9.3

Features and improvements

  • add operation text and fix mouse control in example #284
  • Update document generation to include wasm build for successful generation #285

Bug Fix

  • Resolve build error in vectile/expression.ts #283

0.9.2

Features and improvements

  • Support Vector tiles #238

0.9.1

Features and improvements

  • WebGL2 Support #247
  • Added functionality to measure processing time information for point cloud loading #248
  • Web Mercator projection does not support drawing of Arctic and Antarctic regions #249
  • Add PinEntity and ImageIconEntity to Mapray's Scene definition #251
  • Add REST API to access Mapray Cloud Scene data in Mapray Cloud API #252
  • Add new mathematical operations to the GeoMath class #254
  • Make Material class public API and add support for integer uniform parameters #253
  • Add ability to specify elevation and maximum level in FlatDemProvider#255
  • Add API to toggle visibility of point clouds and B3D models and standardize their formats #256
  • Add the ability to click on B3D models and retrieve their unique IDs via API #257
  • Update build-related development tools #258
  • Convert remaining JavaScript code to TypeScript #264
  • Refactoring #266
  • Improve the Debug App #267
  • Add an Example for ImageIconEntity #268
  • Change default branch name to main #272

Breaking Changes

  • Added/fixed the features to specify elevation and maximum level to FlatDemProvider
  • Pick function interface unification

Bug fix

  • Improved timing to update URL hash #237
  • Dragging near the poles in software is not intuitive #250
  • Fix Clamp Calculation Bug in LineEntity #259
  • URLHash update process #260
  • Enabling CloudVisualize causes B3D to disappear #261
  • visibility:false option not being applied when adding layers #262
  • Camera does not animate when time parameter is set to 0 #263

0.9.0

Features and improvements

  • Improve b3dtiles, building data #177
  • Support texture in b3dtiles #185
  • Add select and pick functions for point cloud #230
  • Change the language used from ES6 to Typescript #227
  • Add atmospheric expression #186
  • Add new data visualization method for cloud in the sky #225
  • Support star and moon in the night sky #226
  • Support Mapray Cloud API for v2 #224
  • Add new example and debug applications #229

Breaking Changes

  • The old b3dtiles format in the prototype can no longer be loaded because b3dtiles has been updated to the latest format.

Bug fix

  • Set default url for Mapray Cloud #213

0.8.8

Bug fix

0.8.7

Features and improvements

  • Flat terrain at zero altitude #202, #203
  • Change visibility of entity and ground in UI Package #205, #206
  • Add GOCS_MATRIX transform mode to ModelEntity #201

0.8.6

Features

Improved

  • Modified shader code in the surface #196

Bug fix

  • Fixed incorrect package name issues #172, #173, #174
  • Fixed incorrect link in documents #175, #176
  • Fixed build error when generating API documents #178, #179
  • Fixed CI build error in loal build 183

0.8.5

Features

  • Implement bounding box from entities #166, #167
  • Sample code for animation #142

Bug fix

  • Fixed histroy stack is filled with mapray's URL #168, #169

0.8.4

Features

  • Implement mouse event for each entities #105, #132
  • Support overlay entity#145
  • compute geographical distance between two GePoints#152, #155
  • Supported smoothly changing camera position and roration#153, #155
  • Supported to set position and rotation of camera on URL #154, #155

Improved

  • Refactor classes which related to resource#146
  • Upatate the style for jsdoc#159, #158
  • Modified stroke of TextEntity#160, #161

Bug fix

  • Animation isn't working with sigle KFLCorve#144,#143
  • Couldn't rebind EasyBindingBlock #149, #150
  • bugfix of depth hit test of anchor object #156, #157

0.8.3

Bug fix

  • material for flake will not be loaded #139, #138

0.8.2

Features

  • Support Animation in each entity and added path entity#106, #126
  • Support Point Cloud #127, #130

Improved

  • Improved operation of mouse zoom #119, #118

Bug fix

0.8.1

  • Support glTF KHR_materials_unlit#115, #112
  • Delete non-required packages and add required packages#113, #114
  • Modify includiing modules when build dev mode #116

0.8.0

  • Build the foundation of the animation engine #101
  • Modulized Mapray JS and ui packages #107

0.7.3

  • fixed that glTF rendering is black and nolighting #97

0.7.2

Bug fix

  • fixed deployment error for npmcom #89

0.7.1

Features

  • Support ClampTpTerrian mode for all entities #60
  • Support altitude mode and extruded mode for GeoJSON Loader #63, #69
  • Add attribution controller #85
  • Organize copyright notices #86
  • Add UI Engine #78 #82
  • Support Text stroke and background color in TextEntity #72
  • Update Examples and tutorials #65, #68 #70
  • Add CSS files and support to generate css file #84

Bug fix

Breaking Changes

Renamed height variable to altitude in GeoPoint. #73

0.7.0

Features

  • Altitude mode for each entites and schema of scene file #49
  • GeoJSON Loader #46
  • Support Polygon Entity #35
  • Support Pin Entity #34
  • Support ImageIcon Entity #56
  • Support Mapray API #52
  • Support Model entity #50

Breaking Changes

  • Change the coordination for mapray scene file and API #50
  • Remove Generic Entity #50

0.6.0

Features

  • Added options and methods to specify object visibility in mapray.Viewer

    • Options

      • ground_visibility: Ground visibility
      • entity_visibility: Entity visibility
    • Method

      • setVisibility
      • getVisibility
  • Supports loading a glTF model #18

  • Supports new scene graph engine that manages 3D models #17 #18
  • Added method to calculate KML compatible model transformation matrix in mapray.GeoMath #15
    • kml_model_matrix()
  • Add entity class mapray.ModelEntity #18
  • Support rotate and scale to the transform property in mapray scene file #16
  • Added some samples for Mapray JS #10
  • Support CI with TravisCI #23

Changed

  • Remove babel es2015 #21
  • Support error handing in fetch functions #20

Details about changes to the mapray scene file

Rotate (heading, tilt, roll) and scale(scale) to the transform property of each entity You can now optionally specify the properties.

The following is an example specification of the transform property. It rotates 45 degrees to the right and makes the scale 10 times larger.

{
  "type": "generic",
  "transform": {
    "cartographic": [139.8, 36.5, 12.3],
    "heading": 45,
    "scale": [10, 10, 10]
  },
  ...
}

Added entity type corresponding to mapray.ModelEntity. When using this type, specify model for the type property.

Refers to a model object registered in model_register by the ref_model property.

If there are multiple models in the referenced model object, you can use integers or names in index It can be selected by specifying.

"model_register": {
  "model-x": {
    "link": "models/model-x.gltf",
    "offset_transform": { "heading": 180, "tilt": -90 }
  },
  ...
},

"entity_list": [
  {
    "type": "model",
    "transform": { "cartographic": [140.0, 35, 0], "heading": 180 },
    "ref_model": "model-x"
  },
  {
    "type": "model",
    "transform": { "cartographic": [140.1, 35, 0], "scale": 2.5 },
    "ref_model": "model-x",
    "index": 3
  },
  {
    "type": "model",
    "transform": { "cartographic": [140.2, 35, 0] },
    "ref_model": "model-x",
    "index": "scene-name-x"
  },
  ...
]

0.5.1

Features

0.5.0

  • Published as open source software
  • Supports layering of image provider

Changed

  • Renamed Inou to Mapray JS

0.4.2

Features

  • Add new application nextRambler to access the cloud

0.4.1

Bug fixed

  • Fixed the issue with texture cache not being reduced (Occurred in Version 0.4.0).
  • Fixed the issue that the div tag in rambler.html was not closed.

0.4.0

Features

  • Added destroy () method to destroy Inou.Viewer instance.

0.3.1

Features

  • Added Inou Content Developer Guide in doc/InouDeveloperGuide.md
  • Added sample source code Turning

Fixed

  • Fixed the issue that Inou.TextEntity method was private
  • Fixed the issue that Inou.GenericEntity # setTransform () was not implemented

0.3.0

Features

  • Added the function to get the intersection of ray and ground
    • Inou.Ray
    • Inou.Viewer#getRayIntersection()
  • Added the method to get transformation matrix to camera
    • Inou.Camera#getCanvasToView()
    • Inou.Camera#getCanvasToGocs()
    • Inou.Camera#getViewToCanvas()
  • Added the method to get rays to the camera
    • Inou.Camera#getCanvasRay()
  • Merged Inou.DemBinary and Inou.FlakeMesh cache into Inou.Globe

  • Rambler

    • Added camera move operation with dragging
    • Changed camera rotation operation from Drag to Ctrl + Drag
    • Supports Microsoft Edge

0.2.0

Features

  • Changed Inou.DemProvider of the DEM data provider from the abstract class to public class
    • Added an option of dem_provider to Inou.Viewer constructor
    • Added property of dem_provider to the Inou.Viewer instance
    • Added implementation class Inou.StandardDemProvider of standard DEM data provider

Changed

  • The interface of Inou.ImageProvider has been changed due to the change of Inou.DemProvider
    • Added method
      • ImageProvider#requestTile( z, x, y, callback )
      • ImageProvider#cancelRequest( id )
    • Deleted method
      • ImageProvider#getTileAddress( z, x, y )

0.1.0

Features

  • Packaged inou engine to npm package
  • Added Text Entity

Changed

  • The scene schema of MarkerL