GLRenderer: don't set depth function twice

experimental
Kirill Vainer 9 years ago
parent 5845671409
commit f80364a8c2
  1. 6
      jme3-core/src/main/java/com/jme3/renderer/RenderContext.java
  2. 5
      jme3-core/src/main/java/com/jme3/renderer/opengl/GLRenderer.java

@ -241,12 +241,12 @@ public class RenderContext {
public IDList attribIndexList = new IDList();
/**
* depth tets function
* depth test function
*/
public RenderState.TestFunction depthFunc = RenderState.TestFunction.LessOrEqual;
public RenderState.TestFunction depthFunc = RenderState.TestFunction.Less;
/**
* alpha tets function
* alpha test function
*/
public RenderState.TestFunction alphaFunc = RenderState.TestFunction.Greater;

@ -614,17 +614,16 @@ public class GLRenderer implements Renderer {
if (state.isDepthTest() && !context.depthTestEnabled) {
gl.glEnable(GL.GL_DEPTH_TEST);
gl.glDepthFunc(convertTestFunction(context.depthFunc));
context.depthTestEnabled = true;
} else if (!state.isDepthTest() && context.depthTestEnabled) {
gl.glDisable(GL.GL_DEPTH_TEST);
context.depthTestEnabled = false;
}
if (state.getDepthFunc() != context.depthFunc) {
if (state.isDepthTest() && state.getDepthFunc() != context.depthFunc) {
gl.glDepthFunc(convertTestFunction(state.getDepthFunc()));
context.depthFunc = state.getDepthFunc();
}
if (state.isDepthWrite() && !context.depthWriteEnabled) {
gl.glDepthMask(true);
context.depthWriteEnabled = true;

Loading…
Cancel
Save