|
@@ -36,6 +36,7 @@ THREE.CSS2DRenderer = function () {
|
|
var vector = new THREE.Vector3();
|
|
var vector = new THREE.Vector3();
|
|
var viewMatrix = new THREE.Matrix4();
|
|
var viewMatrix = new THREE.Matrix4();
|
|
var viewProjectionMatrix = new THREE.Matrix4();
|
|
var viewProjectionMatrix = new THREE.Matrix4();
|
|
|
|
+ var frustum = new THREE.Frustum();
|
|
|
|
|
|
var cache = {
|
|
var cache = {
|
|
objects: new WeakMap()
|
|
objects: new WeakMap()
|
|
@@ -82,6 +83,7 @@ THREE.CSS2DRenderer = function () {
|
|
element.style.MozTransform = style;
|
|
element.style.MozTransform = style;
|
|
element.style.oTransform = style;
|
|
element.style.oTransform = style;
|
|
element.style.transform = style;
|
|
element.style.transform = style;
|
|
|
|
+ element.style.display = frustum.containsPoint( object.position ) ? '' : 'none';
|
|
|
|
|
|
var objectData = {
|
|
var objectData = {
|
|
distanceToCameraSquared: getDistanceToSquared( camera, object )
|
|
distanceToCameraSquared: getDistanceToSquared( camera, object )
|
|
@@ -164,6 +166,7 @@ THREE.CSS2DRenderer = function () {
|
|
|
|
|
|
viewMatrix.copy( camera.matrixWorldInverse );
|
|
viewMatrix.copy( camera.matrixWorldInverse );
|
|
viewProjectionMatrix.multiplyMatrices( camera.projectionMatrix, viewMatrix );
|
|
viewProjectionMatrix.multiplyMatrices( camera.projectionMatrix, viewMatrix );
|
|
|
|
+ frustum.setFromMatrix( viewProjectionMatrix );
|
|
|
|
|
|
renderObject( scene, camera );
|
|
renderObject( scene, camera );
|
|
zOrder( scene );
|
|
zOrder( scene );
|