| '''OpenGL extension NV.conditional_render |
| |
| This module customises the behaviour of the |
| OpenGL.raw.GL.NV.conditional_render to provide a more |
| Python-friendly API |
| |
| Overview (from the spec) |
| |
| This extension provides support for conditional rendering based on the |
| results of an occlusion query. This mechanism allows an application to |
| potentially reduce the latency between the completion of an occlusion |
| query and the rendering commands depending on its result. It additionally |
| allows the decision of whether to render to be made without application |
| intervention. |
| |
| This extension defines two new functions, BeginConditionalRenderNV and |
| EndConditionalRenderNV, between which rendering commands may be discarded |
| based on the results of an occlusion query. If the specified occlusion |
| query returns a non-zero value, rendering commands between these calls are |
| executed. If the occlusion query returns a value of zero, all rendering |
| commands between the calls are discarded. |
| |
| If the occlusion query results are not available when |
| BeginConditionalRenderNV is executed, the <mode> parameter specifies |
| whether the GL should wait for the query to complete or should simply |
| render the subsequent geometry unconditionally. |
| |
| Additionally, the extension provides a set of "by region" modes, allowing |
| for implementations that divide rendering work by screen regions to |
| perform the conditional query test on a region-by-region basis without |
| checking the query results from other regions. Such a mode is useful for |
| cases like split-frame SLI, where a frame is divided between multiple |
| GPUs, each of which has its own occlusion query hardware. |
| |
| |
| The official definition of this extension is available here: |
| http://www.opengl.org/registry/specs/NV/conditional_render.txt |
| ''' |
| from OpenGL import platform, constant, arrays |
| from OpenGL import extensions, wrapper |
| import ctypes |
| from OpenGL.raw.GL import _types, _glgets |
| from OpenGL.raw.GL.NV.conditional_render import * |
| from OpenGL.raw.GL.NV.conditional_render import _EXTENSION_NAME |
|
|
| def glInitConditionalRenderNV(): |
| '''Return boolean indicating whether this extension is available''' |
| from OpenGL import extensions |
| return extensions.hasGLExtension( _EXTENSION_NAME ) |
|
|
|
|
| |