Revision 580f7d10
Added by Leszek Koltunski over 8 years ago
| src/main/java/org/distorted/library/DistortedNode.java | ||
|---|---|---|
| 236 | 236 |  | 
| 237 | 237 | mData.mFBO.setAsOutput(); | 
| 238 | 238 |  | 
| 239 | DistortedRenderState.colorDepthOn(); | |
| 240 |  | |
| 239 | 241 | GLES30.glClearColor(0.0f, 0.0f, 0.0f, 0.0f); | 
| 240 | 242 | GLES30.glClear( GLES30.GL_DEPTH_BUFFER_BIT | GLES30.GL_COLOR_BUFFER_BIT); | 
| 241 | 243 |  | 
| 244 |       android.util.Log.e("NODE", "clearing DEPTH buffer of FBO ");
 | |
| 245 |  | |
| 242 | 246 | if( mSurface.setAsInput() ) | 
| 243 | 247 |         {
 | 
| 244 | 248 | numRenders++; | 
| src/main/java/org/distorted/library/DistortedRenderState.java | ||
|---|---|---|
| 105 | 105 | sStencilOpDppass = -1; | 
| 106 | 106 | } | 
| 107 | 107 |  | 
| 108 | /////////////////////////////////////////////////////////////////////////////////////////////////// | |
| 109 |  | |
| 110 | static void colorDepthOn() | |
| 111 |     {
 | |
| 112 | if( sColorMaskR!=1 || sColorMaskG!=1 || sColorMaskB!=1 || sColorMaskA!=1 ) | |
| 113 |       {
 | |
| 114 | sColorMaskR = 1; | |
| 115 | sColorMaskG = 1; | |
| 116 | sColorMaskB = 1; | |
| 117 | sColorMaskA = 1; | |
| 118 | GLES30.glColorMask(true,true,true,true); | |
| 119 | } | |
| 120 | if( sDepthMask!=1 ) | |
| 121 |       {
 | |
| 122 | sDepthMask = 1; | |
| 123 | GLES30.glDepthMask(true); | |
| 124 | } | |
| 125 | } | |
| 126 |  | |
| 108 | 127 | /////////////////////////////////////////////////////////////////////////////////////////////////// | 
| 109 | 128 |  | 
| 110 | 129 | void apply() | 
| ... | ... | |
| 145 | 164 |       {
 | 
| 146 | 165 | sDepthMask = mDepthMask; | 
| 147 | 166 | GLES30.glDepthMask(sDepthMask==1); | 
| 167 |  | |
| 168 |       android.util.Log.e("STATE","switching depth mask to "+(sDepthMask==1));
 | |
| 148 | 169 | } | 
| 149 | 170 |  | 
| 150 | 171 | // 4. Enable Blending? | 
Also available in: Unified diff
Bugfix: we need to have DepthMask and ColorMask both fully on when clearing the FBO in Nodes!