private static void setEnabled(final boolean enable, final StencilStateRecord record) { if (enable && (!record.isValid() || !record.enabled)) { GL11C.glEnable(GL11C.GL_STENCIL_TEST); } else if (!enable && (!record.isValid() || record.enabled)) { GL11C.glDisable(GL11C.GL_STENCIL_TEST); } record.enabled = enable; }
@Override public StateRecord createStateRecord(final ContextCapabilities caps) { return new StencilStateRecord(); }
private static void setEnabled(final boolean enable, final boolean twoSided, final StencilStateRecord record, final ContextCapabilities caps) { if (record.isValid()) { if (enable && !record.enabled) { GL11.glEnable(GL11.GL_STENCIL_TEST); } else if (!enable && record.enabled) { GL11.glDisable(GL11.GL_STENCIL_TEST); } } else { if (enable) { GL11.glEnable(GL11.GL_STENCIL_TEST); } else { GL11.glDisable(GL11.GL_STENCIL_TEST); } } setTwoSidedEnabled(enable ? twoSided : false, record, caps); record.enabled = enable; }
@Override public StateRecord createStateRecord(final ContextCapabilities caps) { return new StencilStateRecord(); }
private static void setTwoSidedEnabled(final boolean enable, final StencilStateRecord record, final ContextCapabilities caps) { if (caps.isTwoSidedStencilSupported()) { if (record.isValid()) { if (enable && !record.useTwoSided) { GL11.glEnable(EXTStencilTwoSide.GL_STENCIL_TEST_TWO_SIDE_EXT); } else if (!enable && record.useTwoSided) { GL11.glDisable(EXTStencilTwoSide.GL_STENCIL_TEST_TWO_SIDE_EXT); } } else { if (enable) { GL11.glEnable(EXTStencilTwoSide.GL_STENCIL_TEST_TWO_SIDE_EXT); } else { GL11.glDisable(EXTStencilTwoSide.GL_STENCIL_TEST_TWO_SIDE_EXT); } } } record.useTwoSided = enable; }
private static void setEnabled(final boolean enable, final boolean twoSided, final StencilStateRecord record, final ContextCapabilities caps) { final GL gl = GLContext.getCurrentGL(); if (record.isValid()) { if (enable && !record.enabled) { gl.glEnable(GL.GL_STENCIL_TEST); } else if (!enable && record.enabled) { gl.glDisable(GL.GL_STENCIL_TEST); } } else { if (enable) { gl.glEnable(GL.GL_STENCIL_TEST); } else { gl.glDisable(GL.GL_STENCIL_TEST); } } setTwoSidedEnabled(enable ? twoSided : false, record, caps); record.enabled = enable; }
private static void setTwoSidedEnabled(final boolean enable, final StencilStateRecord record, final ContextCapabilities caps) { final GL gl = GLContext.getCurrentGL(); if (caps.isTwoSidedStencilSupported()) { if (record.isValid()) { if (enable && !record.useTwoSided) { gl.glEnable(GL2.GL_STENCIL_TEST_TWO_SIDE_EXT); } else if (!enable && record.useTwoSided) { gl.glDisable(GL2.GL_STENCIL_TEST_TWO_SIDE_EXT); } } else { if (enable) { gl.glEnable(GL2.GL_STENCIL_TEST_TWO_SIDE_EXT); } else { gl.glDisable(GL2.GL_STENCIL_TEST_TWO_SIDE_EXT); } } } record.useTwoSided = enable; }