Top Description Fields Constructors Methods
org.lwjgl.opengl

public final Class ARBQueryBufferObject

extends Object
Class Inheritance

Native bindings to the ARB_query_buffer_object extension.

Statistics about the operation of the OpenGL pipeline, such as the number of samples that passed the depth test, the elapsed time between two events or the number of vertices written by transform feedback can be retrieved from the GL through query objects. The result of a query object is acquired by the application through the OpenGL API into a client provided memory location. Should the result returned by the API be required for use in a shader, it must be passed back to the GL via a program uniform or some other mechanism. This requires a round-trip from the GPU to the CPU and back.

This extension introduces a mechanism whereby the result of a query object may be retrieved into a buffer object instead of client memory. This allows the query rsult to be made available to a shader without a round-trip to the CPU for example by subsequently using the buffer object as a uniform buffer, texture buffer or other data store visible to the shader. This functionality may also be used to place the results of many query objects into a single, large buffer and then map or otherwise read back the entire buffer at a later point in time, avoiding a per-query object CPU-GPU synchronization event.

The extension allows acquiring the result of any query object type supported by the GL implementation into a buffer object. The implementation will determine the most efficient method of copying the query result to the buffer.

Requires OpenGL 1.5.

Field Summary

Modifier and TypeField and Description
public static final int
public static final int
GL_QUERY_BUFFER_BARRIER_BIT

Accepted in the barriers bitfield in MemoryBarrier.

public static final int
GL_QUERY_BUFFER_BINDING

Accepted by the pname parameter of GetBooleanv, GetIntegerv, GetFloatv, and GetDoublev.

public static final int

Constructor Summary

AccessConstructor and Description
private

Method Summary

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

GL_QUERY_BUFFERback to summary
public static final int GL_QUERY_BUFFER

Accepted by the target parameter of BindBuffer, BufferData, BufferSubData, MapBuffer, UnmapBuffer, MapBufferRange, GetBufferSubData, GetBufferParameteriv, GetBufferParameteri64v, GetBufferPointerv, ClearBufferSubData, and the readtarget and writetarget parameters of CopyBufferSubData.

GL_QUERY_BUFFER_BARRIER_BITback to summary
public static final int GL_QUERY_BUFFER_BARRIER_BIT

Accepted in the barriers bitfield in MemoryBarrier.

GL_QUERY_BUFFER_BINDINGback to summary
public static final int GL_QUERY_BUFFER_BINDING

Accepted by the pname parameter of GetBooleanv, GetIntegerv, GetFloatv, and GetDoublev.

GL_QUERY_RESULT_NO_WAITback to summary
public static final int GL_QUERY_RESULT_NO_WAIT

Accepted by the pname parameter of GetQueryObjectiv, GetQueryObjectuiv, GetQueryObjecti64v and GetQueryObjectui64v.

Constructor Detail

ARBQueryBufferObjectback to summary
private ARBQueryBufferObject()