@xeokit/xeokit-sdk 2.2.1 → 2.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -16,16 +16,13 @@ npm i @xeokit/xeokit-sdk
16
16
  ## Usage
17
17
 
18
18
  The xeokit SDK lets us develop our own browser-based BIM viewer, which we can fully customize and extend with
19
- plugins.
20
-
21
- Let's create a [Viewer](https://xeokit.github.io/xeokit-sdk/docs/class/src/viewer/Viewer.js~Viewer.html) with
19
+ plugins. Let's create a [Viewer](https://xeokit.github.io/xeokit-sdk/docs/class/src/viewer/Viewer.js~Viewer.html) with
22
20
  a [WebIFCLoaderPlugin](https://xeokit.github.io/xeokit-sdk/docs/class/src/plugins/WebIFCLoaderPlugin/WebIFCLoaderPlugin.js~WebIFCLoaderPlugin.html)
23
21
  to view a IFC model in the browser, then view a sample IFC model from
24
22
  the [Open IFC Model Database](http://openifcmodel.cs.auckland.ac.nz/Model/Details/274).
25
23
 
26
- > > [Run this example](https://xeokit.github.io/xeokit-sdk/examples/#BIMOffline_WebIFCLoaderPlugin_Duplex)
27
- >
28
- > > [Read the full tutorial](https://www.notion.so/xeokit/Viewing-an-IFC-Model-with-WebIFCLoaderPlugin-9a572b801af949bf87a21c88968bd251)
24
+ * [Run this example](https://xeokit.github.io/xeokit-sdk/examples/#BIMOffline_WebIFCLoaderPlugin_Duplex)
25
+ * [Read the full tutorial](https://www.notion.so/xeokit/Viewing-an-IFC-Model-with-WebIFCLoaderPlugin-9a572b801af949bf87a21c88968bd251)
29
26
 
30
27
  ![](https://xeokit.io/img/docs/WebIFCLoaderPlugin/WebIFCLoaderPluginBig.png)
31
28
 
@@ -15447,6 +15447,14 @@ const Renderer = function (scene, options) {
15447
15447
  gl.clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT);
15448
15448
  };
15449
15449
 
15450
+ /**
15451
+ * Returns true if the next call to render() will draw something
15452
+ * @returns {boolean}
15453
+ */
15454
+ this.needsRender = function () {
15455
+ return (imageDirty || drawableListDirty || stateSortDirty);
15456
+ };
15457
+
15450
15458
  /**
15451
15459
  * Renders inserted drawables.
15452
15460
  * @private
@@ -26430,6 +26438,10 @@ class Scene extends Component {
26430
26438
  this._needRecompile = false;
26431
26439
  }
26432
26440
 
26441
+ if (!forceRender && !this._renderer.needsRender()) {
26442
+ return;
26443
+ }
26444
+
26433
26445
  renderEvent.sceneId = this.id;
26434
26446
 
26435
26447
  const passes = this._passes;
@@ -15443,6 +15443,14 @@ const Renderer = function (scene, options) {
15443
15443
  gl.clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT);
15444
15444
  };
15445
15445
 
15446
+ /**
15447
+ * Returns true if the next call to render() will draw something
15448
+ * @returns {boolean}
15449
+ */
15450
+ this.needsRender = function () {
15451
+ return (imageDirty || drawableListDirty || stateSortDirty);
15452
+ };
15453
+
15446
15454
  /**
15447
15455
  * Renders inserted drawables.
15448
15456
  * @private
@@ -26426,6 +26434,10 @@ class Scene extends Component {
26426
26434
  this._needRecompile = false;
26427
26435
  }
26428
26436
 
26437
+ if (!forceRender && !this._renderer.needsRender()) {
26438
+ return;
26439
+ }
26440
+
26429
26441
  renderEvent.sceneId = this.id;
26430
26442
 
26431
26443
  const passes = this._passes;