filterCam.resize(buff.getWidth(), buff.getHeight(), true);\r
fsQuad.setPosition(0, 0);\r
}\r
- \r
+\r
if (mat.getAdditionalRenderState().isDepthWrite()) {\r
mat.getAdditionalRenderState().setDepthTest(false);\r
mat.getAdditionalRenderState().setDepthWrite(false);\r
}\r
- \r
+\r
fsQuad.setMaterial(mat);\r
fsQuad.updateGeometricState();\r
\r
r.setFrameBuffer(buff);\r
r.clearBuffers(false, true, true);\r
renderManager.renderGeometry(fsQuad);\r
- \r
- //re applying default render state at the end of the render \r
- // to avoid depth write issues, MUST BE A BETTER WAY\r
- r.applyRenderState(RenderState.DEFAULT);\r
+\r
}\r
\r
public boolean isInitialized() {\r
bits = GL_COLOR_BUFFER_BIT;\r
}\r
if (depth) {\r
+ \r
+ //glClear(GL_DEPTH_BUFFER_BIT) seems to not work when glDepthMask is false\r
+ //here s some link on openl board\r
+ //http://www.opengl.org/discussion_boards/ubbthreads.php?ubb=showflat&Number=257223\r
+ //if depth clear is requested, we enable the depthMask \r
+ if (context.depthWriteEnabled == false) {\r
+ glDepthMask(true);\r
+ context.depthWriteEnabled = true;\r
+ }\r
bits |= GL_DEPTH_BUFFER_BIT;\r
}\r
if (stencil) {\r
context.polyOffsetUnits = 0;\r
}\r
}\r
- \r
+\r
if (state.getFaceCullMode() != context.cullMode) {\r
if (state.getFaceCullMode() == RenderState.FaceCullMode.Off) {\r
glDisable(GL_CULL_FACE);\r
throw new UnsupportedOperationException("Unrecognized test function: " + testFunc);\r
}\r
}\r
- \r
+\r
/*********************************************************************\\r
|* Camera and World transforms *|\r
\*********************************************************************/\r