|
@@ -6,15 +6,32 @@ module BABYLON {
|
|
private _pointerCaptures: {[pointerId:number]: boolean} = {};
|
|
private _pointerCaptures: {[pointerId:number]: boolean} = {};
|
|
private _lastPointerEvents: {[pointerId:number]: number} = {};
|
|
private _lastPointerEvents: {[pointerId:number]: number} = {};
|
|
private static _DefaultUtilityLayer:Nullable<UtilityLayerRenderer> = null;
|
|
private static _DefaultUtilityLayer:Nullable<UtilityLayerRenderer> = null;
|
|
|
|
+ private static _DefaultKeepDepthUtilityLayer:Nullable<UtilityLayerRenderer> = null;
|
|
|
|
+ /**
|
|
|
|
+ * A shared utility layer that can be used to overlay objects into a scene (Depth map of the previous scene is cleared before drawing on top of it)
|
|
|
|
+ */
|
|
public static get DefaultUtilityLayer():UtilityLayerRenderer{
|
|
public static get DefaultUtilityLayer():UtilityLayerRenderer{
|
|
if(UtilityLayerRenderer._DefaultUtilityLayer == null){
|
|
if(UtilityLayerRenderer._DefaultUtilityLayer == null){
|
|
UtilityLayerRenderer._DefaultUtilityLayer = new UtilityLayerRenderer(BABYLON.Engine.LastCreatedScene!);
|
|
UtilityLayerRenderer._DefaultUtilityLayer = new UtilityLayerRenderer(BABYLON.Engine.LastCreatedScene!);
|
|
- UtilityLayerRenderer._DefaultUtilityLayer.originalScene.onDisposeObservable.add(()=>{
|
|
|
|
|
|
+ UtilityLayerRenderer._DefaultUtilityLayer.originalScene.onDisposeObservable.addOnce(()=>{
|
|
UtilityLayerRenderer._DefaultUtilityLayer = null;
|
|
UtilityLayerRenderer._DefaultUtilityLayer = null;
|
|
});
|
|
});
|
|
}
|
|
}
|
|
return UtilityLayerRenderer._DefaultUtilityLayer;
|
|
return UtilityLayerRenderer._DefaultUtilityLayer;
|
|
}
|
|
}
|
|
|
|
+ /**
|
|
|
|
+ * A shared utility layer that can be used to embed objects into a scene (Depth map of the previous scene is not cleared before drawing on top of it)
|
|
|
|
+ */
|
|
|
|
+ public static get DefaultKeepDepthUtilityLayer():UtilityLayerRenderer{
|
|
|
|
+ if(UtilityLayerRenderer._DefaultKeepDepthUtilityLayer == null){
|
|
|
|
+ UtilityLayerRenderer._DefaultKeepDepthUtilityLayer = new UtilityLayerRenderer(BABYLON.Engine.LastCreatedScene!);
|
|
|
|
+ UtilityLayerRenderer._DefaultKeepDepthUtilityLayer.utilityLayerScene.autoClearDepthAndStencil = false;
|
|
|
|
+ UtilityLayerRenderer._DefaultKeepDepthUtilityLayer.originalScene.onDisposeObservable.addOnce(()=>{
|
|
|
|
+ UtilityLayerRenderer._DefaultKeepDepthUtilityLayer = null;
|
|
|
|
+ });
|
|
|
|
+ }
|
|
|
|
+ return UtilityLayerRenderer._DefaultKeepDepthUtilityLayer;
|
|
|
|
+ }
|
|
|
|
|
|
/**
|
|
/**
|
|
* The scene that is rendered on top of the original scene
|
|
* The scene that is rendered on top of the original scene
|