# SceneTransforms

Scene/SceneTransforms.js 15
Functions that do scene-dependent transforms between rendering-related coordinate systems.

### Methods

#### static Cesium.SceneTransforms.wgs84ToDrawingBufferCoordinates(scene, position, result) → Cartesian2
Scene/SceneTransforms.js 204

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);

#### static Cesium.SceneTransforms.wgs84ToWindowCoordinates(scene, position, result) → Cartesian2
Scene/SceneTransforms.js 48

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);