浏览代码

* RenderState.copyMergedTo() now properly combines stencil state

git-svn-id: https://jmonkeyengine.googlecode.com/svn/trunk@7582 75d07b2b-3a1a-0410-a2c5-0572b91ccdca
sha..rd 14 年之前
父节点
当前提交
66bf6b20b9
共有 1 个文件被更改,包括 22 次插入0 次删除
  1. 22 0
      engine/src/core/com/jme3/material/RenderState.java

+ 22 - 0
engine/src/core/com/jme3/material/RenderState.java

@@ -1015,8 +1015,30 @@ public class RenderState implements Cloneable, Savable {
         }
         if (additionalState.applyStencilTest){
             state.stencilTest = additionalState.stencilTest;
+            
+            state.frontStencilStencilFailOperation = additionalState.frontStencilStencilFailOperation;
+            state.frontStencilDepthFailOperation   = additionalState.frontStencilDepthFailOperation;
+            state.frontStencilDepthPassOperation   = additionalState.frontStencilDepthPassOperation;
+            
+            state.backStencilStencilFailOperation = additionalState.backStencilStencilFailOperation;
+            state.backStencilDepthFailOperation   = additionalState.backStencilDepthFailOperation;
+            state.backStencilDepthPassOperation   = additionalState.backStencilDepthPassOperation;
+            
+            state.frontStencilFunction = additionalState.frontStencilFunction;
+            state.backStencilFunction = additionalState.backStencilFunction;
         }else{
             state.stencilTest = stencilTest;
+            
+            state.frontStencilStencilFailOperation = frontStencilStencilFailOperation;
+            state.frontStencilDepthFailOperation   = frontStencilDepthFailOperation;
+            state.frontStencilDepthPassOperation   = frontStencilDepthPassOperation;
+            
+            state.backStencilStencilFailOperation = backStencilStencilFailOperation;
+            state.backStencilDepthFailOperation   = backStencilDepthFailOperation;
+            state.backStencilDepthPassOperation   = backStencilDepthPassOperation;
+            
+            state.frontStencilFunction = frontStencilFunction;
+            state.backStencilFunction = backStencilFunction;
         }
         return state;
     }