Struct glium::draw_parameters::AnySamplesPassedQuery
source · pub struct AnySamplesPassedQuery { /* private fields */ }
Expand description
A query type that allows you to know whether any sample has been written to the output during the operations executed with this query.
OpenGL
This is usually a query of type GL_ANY_SAMPLES_PASSED
or
GL_ANY_SAMPLES_PASSED_CONSERVATIVE
.
However if the backend doesn’t support conservative queries, glium will automatically fall
back to a non-conservative query. If the backend doesn’t support either types but supports
GL_SAMPLES_PASSED
, then glium will automatically use a GL_SAMPLES_PASSED
query instead.
Implementations§
source§impl AnySamplesPassedQuery
impl AnySamplesPassedQuery
sourcepub fn new<F>(
facade: &F,
conservative: bool
) -> Result<AnySamplesPassedQuery, QueryCreationError>where
F: Facade,
pub fn new<F>( facade: &F, conservative: bool ) -> Result<AnySamplesPassedQuery, QueryCreationError>where F: Facade,
Builds a new query.
If you pass true
for conservative
, then OpenGL may use a less accurate algorithm,
leading to a faster result but with more false positives.
source§impl AnySamplesPassedQuery
impl AnySamplesPassedQuery
sourcepub fn get(self) -> bool
pub fn get(self) -> bool
Returns the value of the query. Blocks until it is available.
This function doesn’t block if is_ready
would return true.
Note that you are strongly discouraged from calling this in the middle of the rendering process, as it may block for a long time.
Queries should either have their result written into a buffer, be used for conditional rendering, or stored and checked during the next frame.
sourcepub fn to_buffer_u32(
&self,
target: BufferSlice<'_, u32>
) -> Result<(), ToBufferError>
pub fn to_buffer_u32( &self, target: BufferSlice<'_, u32> ) -> Result<(), ToBufferError>
Writes the result of the query to a buffer when it is available.
This function doesn’t block. Instead it submits a commands to the GPU’s commands queue and orders the GPU to write the result of the query to a buffer.
This operation is not necessarly supported everywhere.