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

Function getProjectionParameters

docs/tests/v2/es6/js/sanddance.js:38090–38112  ·  view source on GitHub ↗
(_ref8)

Source from the content-addressed store, hash-verified

38088}
38089
38090function getProjectionParameters(_ref8) {
38091 var width = _ref8.width,
38092 height = _ref8.height,
38093 _ref8$altitude = _ref8.altitude,
38094 altitude = _ref8$altitude === void 0 ? DEFAULT_ALTITUDE : _ref8$altitude,
38095 _ref8$pitch = _ref8.pitch,
38096 pitch = _ref8$pitch === void 0 ? 0 : _ref8$pitch,
38097 _ref8$nearZMultiplier = _ref8.nearZMultiplier,
38098 nearZMultiplier = _ref8$nearZMultiplier === void 0 ? 1 : _ref8$nearZMultiplier,
38099 _ref8$farZMultiplier = _ref8.farZMultiplier,
38100 farZMultiplier = _ref8$farZMultiplier === void 0 ? 1 : _ref8$farZMultiplier;
38101 var pitchRadians = pitch * DEGREES_TO_RADIANS;
38102 var halfFov = Math.atan(0.5 / altitude);
38103 var topHalfSurfaceDistance = Math.sin(halfFov) * altitude / Math.sin(Math.PI / 2 - pitchRadians - halfFov);
38104 var farZ = Math.cos(Math.PI / 2 - pitchRadians) * topHalfSurfaceDistance + altitude;
38105 return {
38106 fov: 2 * Math.atan(height / 2 / altitude),
38107 aspect: width / height,
38108 focalDistance: altitude,
38109 near: nearZMultiplier,
38110 far: farZ * farZMultiplier
38111 };
38112}
38113
38114function getProjectionMatrix(_ref9) {
38115 var width = _ref9.width,

Callers 1

getProjectionMatrixFunction · 0.70

Calls

no outgoing calls

Tested by

no test coverage detected