public void QueryEnd(IGLQuery query) { ForceToMainThread(() => { GLDevice.QueryEnd(query); }); // End ForceToMainThread }
public int QueryPixelCount(IGLQuery query) { int result = 0; ForceToMainThread(() => { result = GLDevice.QueryPixelCount(query); }); // End ForceToMainThread return(result); }
public bool QueryComplete(IGLQuery query) { bool result = false; ForceToMainThread(() => { result = GLDevice.QueryComplete(query); }); // End ForceToMainThread return(result); }
public IGLQuery CreateQuery() { IGLQuery result = null; ForceToMainThread(() => { result = GLDevice.CreateQuery(); }); // End ForceToMainThread return(result); }
public OcclusionQuery(GraphicsDevice graphicsDevice) { GraphicsDevice = graphicsDevice; query = GraphicsDevice.GLDevice.CreateQuery(); }
public int QueryPixelCount(IGLQuery query) { uint result; glGetQueryObjectuiv( (query as OpenGLQuery).Handle, GLenum.GL_QUERY_RESULT, out result ); return (int) result; }
public bool QueryComplete(IGLQuery query) { uint result; glGetQueryObjectuiv( (query as OpenGLQuery).Handle, GLenum.GL_QUERY_RESULT_AVAILABLE, out result ); return result != 0; }
public void QueryEnd(IGLQuery query) { // May need to check active queries...? glEndQuery( GLenum.GL_SAMPLES_PASSED ); }
public void QueryBegin(IGLQuery query) { glBeginQuery( GLenum.GL_SAMPLES_PASSED, (query as OpenGLQuery).Handle ); }
private void DeleteQuery(IGLQuery query) { uint handle = (query as OpenGLQuery).Handle; glDeleteQueries( 1, ref handle ); }
public void AddDisposeQuery(IGLQuery query) { if (IsOnMainThread()) { DeleteQuery(query); } else { GCQueries.Enqueue(query); } }
public void AddDisposeQuery(IGLQuery query) { GCQueries.Enqueue(query); }