Browse Source

Fix wipeCache!!! Big deal :)

David Catuhe 8 years ago
parent
commit
447e4469dc
4 changed files with 10644 additions and 10630 deletions
  1. 5313 5313
      dist/preview release/babylon.d.ts
  2. 5313 5313
      dist/preview release/babylon.module.d.ts
  3. 13 0
      src/Layer/babylon.highlightlayer.ts
  4. 5 4
      src/babylon.engine.ts

File diff suppressed because it is too large
+ 5313 - 5313
dist/preview release/babylon.d.ts


File diff suppressed because it is too large
+ 5313 - 5313
dist/preview release/babylon.module.d.ts


+ 13 - 0
src/Layer/babylon.highlightlayer.ts

@@ -610,6 +610,9 @@ module BABYLON {
             var previousStencilBuffer = engine.getStencilBuffer();
             var previousStencilFunction = engine.getStencilFunction();
             var previousStencilMask = engine.getStencilMask();
+            var previousStencilOperationPass = engine.getStencilOperationPass();
+            var previousStencilOperationFail = engine.getStencilOperationFail();
+            var previousStencilOperationDepthFail = engine.getStencilOperationDepthFail();            
             var previousAlphaMode = engine.getAlphaMode();
 
             // Texture
@@ -618,6 +621,11 @@ module BABYLON {
             // VBOs
             engine.bindBuffers(this._vertexBuffers, this._indexBuffer, currentEffect);
 
+            // Stencil operations
+            engine.setStencilOperationPass(Engine.REPLACE);
+            engine.setStencilOperationFail(Engine.KEEP);
+            engine.setStencilOperationDepthFail(Engine.KEEP);
+
             // Draw order
             engine.setAlphaMode(this._options.alphaBlendingMode);
             engine.setStencilMask(0x00);
@@ -640,6 +648,11 @@ module BABYLON {
             engine.setStencilMask(previousStencilMask);
             engine.setAlphaMode(previousAlphaMode);
             engine.setStencilBuffer(previousStencilBuffer);
+            engine.setStencilOperationPass(previousStencilOperationPass);
+            engine.setStencilOperationFail(previousStencilOperationFail);
+            engine.setStencilOperationDepthFail(previousStencilOperationDepthFail);            
+
+            (<any>engine)._stencilState.reset();
 
             this.onAfterComposeObservable.notifyObservers(this);
 

+ 5 - 4
src/babylon.engine.ts

@@ -2273,10 +2273,11 @@
             this.resetTextureCache();
             this._currentEffect = null;
 
-            this._stencilState.reset();
-            this._depthCullingState.reset();
-            this.setDepthFunctionToLessOrEqual();
-            this._alphaState.reset();
+            // 6/8/2017: deltakosh: Should not be required anymore. This message is then mostly for the future myself which will scream out loud when seeing that actually it was required :)
+            // this._stencilState.reset();
+            // this._depthCullingState.reset();
+            // this.setDepthFunctionToLessOrEqual();
+            // this._alphaState.reset();
 
             this._cachedVertexBuffers = null;
             this._cachedIndexBuffer = null;