|
@@ -966,12 +966,6 @@
|
|
*/
|
|
*/
|
|
public VRHelper: VRExperienceHelper;
|
|
public VRHelper: VRExperienceHelper;
|
|
|
|
|
|
- /**
|
|
|
|
- * Gets or sets the simplification queue attached to the scene
|
|
|
|
- * @see http://doc.babylonjs.com/how_to/in-browser_mesh_simplification
|
|
|
|
- */
|
|
|
|
- public simplificationQueue: SimplificationQueue;
|
|
|
|
-
|
|
|
|
// Private
|
|
// Private
|
|
private _engine: Engine;
|
|
private _engine: Engine;
|
|
|
|
|
|
@@ -1079,22 +1073,6 @@
|
|
private _debugLayer: DebugLayer;
|
|
private _debugLayer: DebugLayer;
|
|
|
|
|
|
private _depthRenderer: { [id: string]: DepthRenderer } = {};
|
|
private _depthRenderer: { [id: string]: DepthRenderer } = {};
|
|
- private _geometryBufferRenderer: Nullable<GeometryBufferRenderer>;
|
|
|
|
-
|
|
|
|
- /**
|
|
|
|
- * Gets the current geometry buffer associated to the scene.
|
|
|
|
- */
|
|
|
|
- public get geometryBufferRenderer(): Nullable<GeometryBufferRenderer> {
|
|
|
|
- return this._geometryBufferRenderer;
|
|
|
|
- }
|
|
|
|
- /**
|
|
|
|
- * Sets the current geometry buffer for the scene.
|
|
|
|
- */
|
|
|
|
- public set geometryBufferRenderer(geometryBufferRenderer: Nullable<GeometryBufferRenderer>) {
|
|
|
|
- if (geometryBufferRenderer && geometryBufferRenderer.isSupported) {
|
|
|
|
- this._geometryBufferRenderer = geometryBufferRenderer;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
|
|
|
|
private _pickedDownMesh: Nullable<AbstractMesh>;
|
|
private _pickedDownMesh: Nullable<AbstractMesh>;
|
|
private _pickedUpMesh: Nullable<AbstractMesh>;
|
|
private _pickedUpMesh: Nullable<AbstractMesh>;
|
|
@@ -1172,6 +1150,11 @@
|
|
public _beforeCameraUpdateStage = Stage.Create<SimpleStageAction>();
|
|
public _beforeCameraUpdateStage = Stage.Create<SimpleStageAction>();
|
|
/**
|
|
/**
|
|
* @hidden
|
|
* @hidden
|
|
|
|
+ * Defines the actions happening before camera updates.
|
|
|
|
+ */
|
|
|
|
+ public _gatherRenderTargetsStage = Stage.Create<RenderTargetsStageAction>();
|
|
|
|
+ /**
|
|
|
|
+ * @hidden
|
|
* Defines the actions happening during the per mesh ready checks.
|
|
* Defines the actions happening during the per mesh ready checks.
|
|
*/
|
|
*/
|
|
public _isReadyForMeshStage = Stage.Create<MeshStageAction>();
|
|
public _isReadyForMeshStage = Stage.Create<MeshStageAction>();
|
|
@@ -1240,11 +1223,6 @@
|
|
this.attachControl();
|
|
this.attachControl();
|
|
}
|
|
}
|
|
|
|
|
|
- //simplification queue
|
|
|
|
- if (SimplificationQueue) {
|
|
|
|
- this.simplificationQueue = new SimplificationQueue();
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
//collision coordinator initialization. For now legacy per default.
|
|
//collision coordinator initialization. For now legacy per default.
|
|
this.workerCollisions = false;//(!!Worker && (!!BABYLON.CollisionWorker || BABYLON.WorkerIncluded));
|
|
this.workerCollisions = false;//(!!Worker && (!!BABYLON.CollisionWorker || BABYLON.WorkerIncluded));
|
|
|
|
|
|
@@ -4525,11 +4503,6 @@
|
|
this.actionManager.processTrigger(ActionManager.OnEveryFrameTrigger);
|
|
this.actionManager.processTrigger(ActionManager.OnEveryFrameTrigger);
|
|
}
|
|
}
|
|
|
|
|
|
- //Simplification Queue
|
|
|
|
- if (this.simplificationQueue && !this.simplificationQueue.running) {
|
|
|
|
- this.simplificationQueue.executeNext();
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
if (this._engine.isDeterministicLockStep()) {
|
|
if (this._engine.isDeterministicLockStep()) {
|
|
var deltaTime = Math.max(Scene.MinDeltaTime, Math.min(this._engine.getDeltaTime(), Scene.MaxDeltaTime)) + this._timeAccumulator;
|
|
var deltaTime = Math.max(Scene.MinDeltaTime, Math.min(this._engine.getDeltaTime(), Scene.MaxDeltaTime)) + this._timeAccumulator;
|
|
|
|
|
|
@@ -4691,16 +4664,16 @@
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ // Collects render targets from external components.
|
|
|
|
+ for (let step of this._gatherRenderTargetsStage) {
|
|
|
|
+ step.action(this._renderTargets);
|
|
|
|
+ }
|
|
|
|
+
|
|
// Depth renderer
|
|
// Depth renderer
|
|
for (var key in this._depthRenderer) {
|
|
for (var key in this._depthRenderer) {
|
|
this._renderTargets.push(this._depthRenderer[key].getDepthMap());
|
|
this._renderTargets.push(this._depthRenderer[key].getDepthMap());
|
|
}
|
|
}
|
|
|
|
|
|
- // Geometry renderer
|
|
|
|
- if (this._geometryBufferRenderer) {
|
|
|
|
- this._renderTargets.push(this._geometryBufferRenderer.getGBuffer());
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
// RenderPipeline
|
|
// RenderPipeline
|
|
if (this._postProcessRenderPipelineManager) {
|
|
if (this._postProcessRenderPipelineManager) {
|
|
this._postProcessRenderPipelineManager.update();
|
|
this._postProcessRenderPipelineManager.update();
|
|
@@ -4928,36 +4901,6 @@
|
|
delete this._depthRenderer[camera.id];
|
|
delete this._depthRenderer[camera.id];
|
|
}
|
|
}
|
|
|
|
|
|
- /**
|
|
|
|
- * Enables a GeometryBufferRender and associates it with the scene
|
|
|
|
- * @param ratio defines the scaling ratio to apply to the renderer (1 by default which means same resolution)
|
|
|
|
- * @returns the GeometryBufferRenderer
|
|
|
|
- */
|
|
|
|
- public enableGeometryBufferRenderer(ratio: number = 1): Nullable<GeometryBufferRenderer> {
|
|
|
|
- if (this._geometryBufferRenderer) {
|
|
|
|
- return this._geometryBufferRenderer;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- this._geometryBufferRenderer = new GeometryBufferRenderer(this, ratio);
|
|
|
|
- if (!this._geometryBufferRenderer.isSupported) {
|
|
|
|
- this._geometryBufferRenderer = null;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- return this._geometryBufferRenderer;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- /**
|
|
|
|
- * Disables the GeometryBufferRender associated with the scene
|
|
|
|
- */
|
|
|
|
- public disableGeometryBufferRenderer(): void {
|
|
|
|
- if (!this._geometryBufferRenderer) {
|
|
|
|
- return;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- this._geometryBufferRenderer.dispose();
|
|
|
|
- this._geometryBufferRenderer = null;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
/**
|
|
/**
|
|
* Freeze all materials
|
|
* Freeze all materials
|
|
* A frozen material will not be updatable but should be faster to render
|
|
* A frozen material will not be updatable but should be faster to render
|
|
@@ -4998,6 +4941,7 @@
|
|
this._afterRenderingGroupDrawStage.clear();
|
|
this._afterRenderingGroupDrawStage.clear();
|
|
this._afterCameraDrawStage.clear();
|
|
this._afterCameraDrawStage.clear();
|
|
this._beforeCameraUpdateStage.clear();
|
|
this._beforeCameraUpdateStage.clear();
|
|
|
|
+ this._gatherRenderTargetsStage.clear();
|
|
for (let component of this._components) {
|
|
for (let component of this._components) {
|
|
component.dispose();
|
|
component.dispose();
|
|
}
|
|
}
|