소스 검색

Fix states and gulp config

= 9 년 전
부모
커밋
be568373ab
2개의 변경된 파일13개의 추가작업 그리고 8개의 파일을 삭제
  1. 1 0
      Tools/Gulp/config.json
  2. 12 8
      src/States/babylon.stencilState.ts

+ 1 - 0
Tools/Gulp/config.json

@@ -25,6 +25,7 @@
       "../../src/Tools/babylon.tools.js",
       "../../src/Tools/babylon.tools.js",
       "../../src/States/babylon.alphaCullingState.js",
       "../../src/States/babylon.alphaCullingState.js",
       "../../src/States/babylon.depthCullingState.js",
       "../../src/States/babylon.depthCullingState.js",
+      "../../src/States/babylon.stencilState.js",
       "../../src/babylon.engine.js",
       "../../src/babylon.engine.js",
       "../../src/babylon.node.js",
       "../../src/babylon.node.js",
       "../../src/Tools/babylon.filesInput.js",
       "../../src/Tools/babylon.filesInput.js",

+ 12 - 8
src/States/babylon.stencilState.ts

@@ -18,7 +18,7 @@
         private _stencilOpStencilDepthPass: number;
         private _stencilOpStencilDepthPass: number;
 
 
         public get isDirty(): boolean {
         public get isDirty(): boolean {
-            return this._isStencilTestDirty || this._isStencilMaskDirty || this._isStencilFuncDirty;
+            return this._isStencilTestDirty || this._isStencilMaskDirty || this._isStencilFuncDirty || this._isStencilOpDirty;
         }
         }
 
 
         public get stencilFunc(): number {
         public get stencilFunc(): number {
@@ -125,22 +125,26 @@
             this._isStencilTestDirty = true;
             this._isStencilTestDirty = true;
         }
         }
 
 
+        public constructor() {
+            this.reset();
+        }
+
         public reset() {
         public reset() {
-            this._stencilMask = 0xFF;
             this._stencilTest = false;
             this._stencilTest = false;
+            this._stencilMask = 0xFF;
 
 
-            this._stencilFunc = null;
+            this._stencilFunc = WebGLRenderingContext.ALWAYS;
             this._stencilFuncRef = 1;
             this._stencilFuncRef = 1;
             this._stencilFuncMask = 0xFF;
             this._stencilFuncMask = 0xFF;
 
 
-            this._stencilOpStencilFail = 0x1E00; // KEEP
-            this._stencilOpDepthFail = 0x1E00; // KEEP
-            this._stencilOpStencilDepthPass = 0x1E01; // REPLACE
+            this._stencilOpStencilFail = WebGLRenderingContext.KEEP;
+            this._stencilOpDepthFail = WebGLRenderingContext.KEEP;
+            this._stencilOpStencilDepthPass = WebGLRenderingContext.REPLACE;
 
 
             this._isStencilTestDirty = true;
             this._isStencilTestDirty = true;
             this._isStencilMaskDirty = true;
             this._isStencilMaskDirty = true;
-            this._isStencilFuncDirty = false;
-            this._isStencilOpDirty = false;
+            this._isStencilFuncDirty = true;
+            this._isStencilOpDirty = true;
         }
         }
 
 
         public apply(gl: WebGLRenderingContext) {
         public apply(gl: WebGLRenderingContext) {