summaryrefslogtreecommitdiff
path: root/site/assets/demo/cloud/src/getOptimalFontSize.js
blob: 02787516c6d4166b6da600673d69940393f4870b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import {Vector3} from 'three';

let objectWorldPosition = new Vector3();
let cameraWorldPosition = new Vector3();
let objectWorldScale = new Vector3();

export default function(object, renderer, camera) {
	if (renderer.domElement.width && renderer.domElement.height && object.material.map.textLines.length) {
		let distance = object.getWorldPosition(objectWorldPosition).distanceTo(camera.getWorldPosition(cameraWorldPosition));
		if (distance) {
			let heightInPixels = object.getWorldScale(objectWorldScale).y * renderer.domElement.height / distance;
			if (heightInPixels) {
				return Math.round(heightInPixels / object.material.map.imageHeight);
			}
		}
	}
	return 0;
}