# SceneTransforms

#### SceneTransforms()
Scene/SceneTransforms.js 33

  Functions that do scene-dependent transforms between rendering-related coordinate systems.

### Methods

#### staticCesium.SceneTransforms.wgs84ToDrawingBufferCoordinates(scene, position, result) → Cartesian2
Scene/SceneTransforms.js 217

  Transforms a position in WGS84 coordinates to drawing buffer coordinates. This may produce different results from SceneTransforms.wgs84ToWindowCoordinates when the browser zoom is not 100%, or on high-DPI displays.

  Name | Type | Description
  --- | --- | ---
  `scene` | Scene | The scene.
  `position` | Cartesian3 | The position in WGS84 (world) coordinates.
  `result` | Cartesian2 | optional An optional object to return the input position transformed to window coordinates.

  ##### Returns:

  The modified result parameter or a new Cartesian2 instance if one was not provided. This may be `undefined` if the input position is near the center of the ellipsoid.

  ##### Example:

      // Output the window position of longitude/latitude (0, 0) every time the mouse moves.
      var scene = widget.scene;
      var ellipsoid = scene.globe.ellipsoid;
      var position = Cesium.Cartesian3.fromDegrees(0.0, 0.0);
      var handler = new Cesium.ScreenSpaceEventHandler(scene.canvas);
      handler.setInputAction(function(movement) {
          console.log(Cesium.SceneTransforms.wgs84ToWindowCoordinates(scene, position));
      }, Cesium.ScreenSpaceEventType.MOUSE_MOVE);

#### staticCesium.SceneTransforms.wgs84ToWindowCoordinates(scene, position, result) → Cartesian2
Scene/SceneTransforms.js 61

  Transforms a position in WGS84 coordinates to window coordinates. This is commonly used to place an HTML element at the same screen position as an object in the scene.

  Name | Type | Description
  --- | --- | ---
  `scene` | Scene | The scene.
  `position` | Cartesian3 | The position in WGS84 (world) coordinates.
  `result` | Cartesian2 | optional An optional object to return the input position transformed to window coordinates.

  ##### Returns:

  The modified result parameter or a new Cartesian2 instance if one was not provided. This may be `undefined` if the input position is near the center of the ellipsoid.

  ##### Example:

      // Output the window position of longitude/latitude (0, 0) every time the mouse moves.
      var scene = widget.scene;
      var ellipsoid = scene.globe.ellipsoid;
      var position = Cesium.Cartesian3.fromDegrees(0.0, 0.0);
      var handler = new Cesium.ScreenSpaceEventHandler(scene.canvas);
      handler.setInputAction(function(movement) {
          console.log(Cesium.SceneTransforms.wgs84ToWindowCoordinates(scene, position));
      }, Cesium.ScreenSpaceEventType.MOUSE_MOVE);