@Override public void glEndQuery (int target) { GL15.glEndQuery(target); }
@Override public void glEndQuery (int target) { GL15.glEndQuery(target); }
@Override public void glEndQuery (int target) { GL15.glEndQuery(target); }
@Override public void glEndQuery (int target) { GL15.glEndQuery(target); }
@Override public void glEndQuery(int target) { GL15.glEndQuery(target); }
@Override public void glEndQuery(final int target) { GL15.glEndQuery(target); }
@Override public void glEndQuery (int target) { GL15.glEndQuery(target); }
@Override public void glEndQuery (int target) { GL15.glEndQuery(target); }
@Override public void endQuery() { GL15.glEndQuery(GL15.GL_SAMPLES_PASSED); }
@Override public void glEndQuery(int target) { GL15.glEndQuery(target); }
@Override public void timerQueryFinish(final JCGLTimerQueryUsableType q) throws JCGLException { NullCheck.notNull(q); final LWJGL3TimerQuery tq = LWJGL3TimerQuery.checkTimerQuery(this.context, q); JCGLResources.checkNotDeleted(q); if (!Objects.equals(q, this.running)) { final StringBuilder sb = new StringBuilder(128); sb.append("This timer query is not running."); sb.append(System.lineSeparator()); if (this.running != null) { sb.append("Currently running query: "); sb.append(this.running); sb.append(System.lineSeparator()); } throw new JCGLExceptionQueryNotRunning(sb.toString()); } GL15.glEndQuery(GL33.GL_TIME_ELAPSED); this.running = null; }
@Override public void timerQueryFinish(final JCGLTimerQueryUsableType q) throws JCGLException { NullCheck.notNull(q, "Query"); final LWJGL3TimerQuery tq = LWJGL3TimerQuery.checkTimerQuery(this.context, q); JCGLResources.checkNotDeleted(q); if (!Objects.equals(q, this.running)) { final StringBuilder sb = new StringBuilder(128); sb.append("This timer query is not running."); sb.append(System.lineSeparator()); if (this.running != null) { sb.append("Currently running query: "); sb.append(this.running); sb.append(System.lineSeparator()); } throw new JCGLExceptionQueryNotRunning(sb.toString()); } GL15.glEndQuery(GL33.GL_TIME_ELAPSED); this.running = null; }
public void doQuery(Renderable object){ glColorMask(false, false, false, false); glDepthMask(false); // Begin occlusion query glBeginQuery(GL_SAMPLES_PASSED, getId()); // Every pixel that passes the depth test now gets added to the result object.render(); glFinish(); glEndQuery(GL_SAMPLES_PASSED); // Now get the number of pixels passed int querystate = 0; while (querystate == 0){ querystate = glGetQueryObjectui(getId(), GL_QUERY_RESULT_AVAILABLE); } glFinish(); glGetQueryObjectiv(getId(), GL_QUERY_RESULT, getBuffer()); setOcclusionFactor(getBuffer().get(0)); glColorMask(true, true, true, true); glDepthMask(true); }
public void doQuery(Light light){ glColorMask(false, false, false, false); glDepthMask(false); // Begin occlusion query glBeginQuery(GL_SAMPLES_PASSED, getId()); // Every pixel that passes the depth test now gets added to the result light.getParent().render(); glFinish(); glEndQuery(GL_SAMPLES_PASSED); // Now get the number of pixels passed int querystate = 0; while (querystate == 0){ querystate = glGetQueryObjectui(getId(), GL_QUERY_RESULT_AVAILABLE); } glFinish(); glGetQueryObjectiv(getId(), GL_QUERY_RESULT, getBuffer()); setOcclusionFactor(getBuffer().get(0)); if (getOcclusionFactor() < 8000) setOcclusionFactor(0);; glColorMask(true, true, true, true); glDepthMask(true); }