Pārlūkot izejas kodu

Added a new ADT.getProjectedPosition

David Catuhe 7 gadi atpakaļ
vecāks
revīzija
e7a2ea4cec
1 mainītis faili ar 15 papildinājumiem un 0 dzēšanām
  1. 15 0
      gui/src/advancedDynamicTexture.ts

+ 15 - 0
gui/src/advancedDynamicTexture.ts

@@ -309,6 +309,21 @@ module BABYLON.GUI {
             return this._fullscreenViewport.toGlobal(engine.getRenderWidth(), engine.getRenderHeight());
         }
 
+        public getProjectedPosition(position: Vector3, worldMatrix: Matrix): Vector2 {
+            var scene = this.getScene();
+
+            if (!scene) {
+                return Vector2.Zero();
+            }
+
+            var globalViewport = this._getGlobalViewport(scene);
+            var projectedPosition = Vector3.Project(position, worldMatrix, scene.getTransformMatrix(), globalViewport);
+
+            projectedPosition.scaleInPlace(this.renderScale);
+            
+            return new Vector2(projectedPosition.x, projectedPosition.y);
+        }
+
         private _checkUpdate(camera: Camera): void {
             if (this._layerToDispose) {
                 if ((camera.layerMask & this._layerToDispose.layerMask) === 0) {