Browse Source

Doc++

pull/7/head
Vladimír Vondruš 14 years ago
parent
commit
dc1ab80cda
  1. 46
      src/AbstractShaderProgram.h
  2. 20
      src/Buffer.h
  3. 8
      src/BufferTexture.h
  4. 3
      src/Context.h
  5. 2
      src/CubeMapTexture.h
  6. 2
      src/CubeMapTextureArray.h
  7. 2
      src/Extensions.h
  8. 10
      src/Mesh.h
  9. 2
      src/Platform/ExtensionWrangler.h
  10. 19
      src/Query.h
  11. 12
      src/Renderer.h
  12. 8
      src/Shader.h
  13. 9
      src/Texture.h

46
src/AbstractShaderProgram.h

@ -168,7 +168,7 @@ GLint transformationUniform = uniformLocation("transformation");
GLint projectionUniform = uniformLocation("projection");
@endcode
@requires_gl43 Extension @extension{ARB,explicit_uniform_location} for
@requires_gl43 %Extension @extension{ARB,explicit_uniform_location} for
explicit uniform location instead of using uniformLocation().
@requires_gl Explicit uniform location is not supported in OpenGL ES. Use
uniformLocation() instead.
@ -191,7 +191,7 @@ setUniform(DiffuseTextureUniform, DiffuseTextureLayer);
setUniform(SpecularTextureUniform, SpecularTextureLayer);
@endcode
@requires_gl42 Extension @extension{ARB,shading_language_420pack} for explicit
@requires_gl42 %Extension @extension{ARB,shading_language_420pack} for explicit
texture layer binding instead of using setUniform(GLint, GLint).
@requires_gl Explicit texture layer binding is not supported in OpenGL ES. Use
setUniform(GLint, GLint) instead.
@ -485,7 +485,7 @@ class MAGNUM_EXPORT AbstractShaderProgram {
* @note This function should be called after attachShader() calls and
* before link().
* @see @fn_gl{ProgramParameter} with @def_gl{PROGRAM_BINARY_RETRIEVABLE_HINT}
* @requires_gl41 Extension @extension{ARB,get_program_binary}
* @requires_gl41 %Extension @extension{ARB,get_program_binary}
* @requires_gles30 Always allowed in OpenGL ES 2.0.
*/
inline void setRetrievableBinary(bool enabled) {
@ -500,7 +500,7 @@ class MAGNUM_EXPORT AbstractShaderProgram {
* @note This function should be called after attachShader() calls and
* before link().
* @see @fn_gl{ProgramParameter} with @def_gl{PROGRAM_SEPARABLE}
* @requires_gl41 Extension @extension{ARB,separate_shader_objects}
* @requires_gl41 %Extension @extension{ARB,separate_shader_objects}
* @requires_es_extension %Extension @es_extension{EXT,separate_shader_objects}
*/
inline void setSeparable(bool enabled) {
@ -562,7 +562,7 @@ class MAGNUM_EXPORT AbstractShaderProgram {
* @ref AbstractShaderProgram-attribute-location "class documentation"
* for more information.
* @see @fn_gl{BindFragDataLocationIndexed}
* @requires_gl33 Extension @extension{ARB,blend_func_extended}
* @requires_gl33 %Extension @extension{ARB,blend_func_extended}
* @requires_gl Multiple blend function inputs are not available in
* OpenGL ES.
*/
@ -576,7 +576,7 @@ class MAGNUM_EXPORT AbstractShaderProgram {
* The same as bindFragmentDataLocationIndexed(), but with `index` set
* to `0`.
* @see @fn_gl{BindFragDataLocation}
* @requires_gl30 Extension @extension{EXT,gpu_shader4}
* @requires_gl30 %Extension @extension{EXT,gpu_shader4}
* @requires_gl Use explicit location specification in OpenGL ES 3.0
* instead.
*/
@ -659,7 +659,7 @@ class MAGNUM_EXPORT AbstractShaderProgram {
#ifndef MAGNUM_TARGET_GLES2
/**
* @copydoc setUniform(GLint, GLfloat)
* @requires_gl30 Extension @extension{EXT,gpu_shader4}
* @requires_gl30 %Extension @extension{EXT,gpu_shader4}
* @requires_gles30 Only signed integers are available in OpenGL ES 2.0.
*/
inline void setUniform(GLint location, GLuint value) {
@ -668,7 +668,7 @@ class MAGNUM_EXPORT AbstractShaderProgram {
/**
* @copydoc setUniform(GLint, GLfloat)
* @requires_gl30 Extension @extension{EXT,gpu_shader4}
* @requires_gl30 %Extension @extension{EXT,gpu_shader4}
* @requires_gles30 Only signed integers are available in OpenGL ES 2.0.
*/
inline void setUniform(GLint location, const Math::Vector<2, GLuint>& value) {
@ -677,7 +677,7 @@ class MAGNUM_EXPORT AbstractShaderProgram {
/**
* @copydoc setUniform(GLint, GLfloat)
* @requires_gl30 Extension @extension{EXT,gpu_shader4}
* @requires_gl30 %Extension @extension{EXT,gpu_shader4}
* @requires_gles30 Only signed integers are available in OpenGL ES 2.0.
*/
inline void setUniform(GLint location, const Math::Vector<3, GLuint>& value) {
@ -686,7 +686,7 @@ class MAGNUM_EXPORT AbstractShaderProgram {
/**
* @copydoc setUniform(GLint, GLfloat)
* @requires_gl30 Extension @extension{EXT,gpu_shader4}
* @requires_gl30 %Extension @extension{EXT,gpu_shader4}
* @requires_gles30 Only signed integers are available in OpenGL ES 2.0.
*/
inline void setUniform(GLint location, const Math::Vector<4, GLuint>& value) {
@ -697,7 +697,7 @@ class MAGNUM_EXPORT AbstractShaderProgram {
#ifndef MAGNUM_TARGET_GLES
/**
* @copydoc setUniform(GLint, GLfloat)
* @requires_gl40 Extension @extension{ARB,gpu_shader_fp64}
* @requires_gl40 %Extension @extension{ARB,gpu_shader_fp64}
* @requires_gl Only floats are available in OpenGL ES.
*/
inline void setUniform(GLint location, GLdouble value) {
@ -706,7 +706,7 @@ class MAGNUM_EXPORT AbstractShaderProgram {
/**
* @copydoc setUniform(GLint, GLfloat)
* @requires_gl40 Extension @extension{ARB,gpu_shader_fp64}
* @requires_gl40 %Extension @extension{ARB,gpu_shader_fp64}
* @requires_gl Only floats are available in OpenGL ES.
*/
inline void setUniform(GLint location, const Math::Vector<2, GLdouble>& value) {
@ -715,7 +715,7 @@ class MAGNUM_EXPORT AbstractShaderProgram {
/**
* @copydoc setUniform(GLint, GLfloat)
* @requires_gl40 Extension @extension{ARB,gpu_shader_fp64}
* @requires_gl40 %Extension @extension{ARB,gpu_shader_fp64}
* @requires_gl Only floats are available in OpenGL ES.
*/
inline void setUniform(GLint location, const Math::Vector<3, GLdouble>& value) {
@ -724,7 +724,7 @@ class MAGNUM_EXPORT AbstractShaderProgram {
/**
* @copydoc setUniform(GLint, GLfloat)
* @requires_gl40 Extension @extension{ARB,gpu_shader_fp64}
* @requires_gl40 %Extension @extension{ARB,gpu_shader_fp64}
* @requires_gl Only floats are available in OpenGL ES.
*/
inline void setUniform(GLint location, const Math::Vector<4, GLdouble>& value) {
@ -800,7 +800,7 @@ class MAGNUM_EXPORT AbstractShaderProgram {
#ifndef MAGNUM_TARGET_GLES
/**
* @copydoc setUniform(GLint, GLfloat)
* @requires_gl40 Extension @extension{ARB,gpu_shader_fp64}
* @requires_gl40 %Extension @extension{ARB,gpu_shader_fp64}
* @requires_gl Only floats are available in OpenGL ES.
*/
inline void setUniform(GLint location, const Math::Matrix<2, GLdouble>& value) {
@ -809,7 +809,7 @@ class MAGNUM_EXPORT AbstractShaderProgram {
/**
* @copydoc setUniform(GLint, GLfloat)
* @requires_gl40 Extension @extension{ARB,gpu_shader_fp64}
* @requires_gl40 %Extension @extension{ARB,gpu_shader_fp64}
* @requires_gl Only floats are available in OpenGL ES.
*/
inline void setUniform(GLint location, const Math::Matrix<3, GLdouble>& value) {
@ -818,7 +818,7 @@ class MAGNUM_EXPORT AbstractShaderProgram {
/**
* @copydoc setUniform(GLint, GLfloat)
* @requires_gl40 Extension @extension{ARB,gpu_shader_fp64}
* @requires_gl40 %Extension @extension{ARB,gpu_shader_fp64}
* @requires_gl Only floats are available in OpenGL ES.
*/
inline void setUniform(GLint location, const Math::Matrix<4, GLdouble>& value) {
@ -827,7 +827,7 @@ class MAGNUM_EXPORT AbstractShaderProgram {
/**
* @copydoc setUniform(GLint, GLfloat)
* @requires_gl40 Extension @extension{ARB,gpu_shader_fp64}
* @requires_gl40 %Extension @extension{ARB,gpu_shader_fp64}
* @requires_gl Only floats are available in OpenGL ES.
*/
inline void setUniform(GLint location, const Math::RectangularMatrix<2, 3, GLdouble>& value) {
@ -836,7 +836,7 @@ class MAGNUM_EXPORT AbstractShaderProgram {
/**
* @copydoc setUniform(GLint, GLfloat)
* @requires_gl40 Extension @extension{ARB,gpu_shader_fp64}
* @requires_gl40 %Extension @extension{ARB,gpu_shader_fp64}
* @requires_gl Only floats are available in OpenGL ES.
*/
inline void setUniform(GLint location, const Math::RectangularMatrix<3, 2, GLdouble>& value) {
@ -845,7 +845,7 @@ class MAGNUM_EXPORT AbstractShaderProgram {
/**
* @copydoc setUniform(GLint, GLfloat)
* @requires_gl40 Extension @extension{ARB,gpu_shader_fp64}
* @requires_gl40 %Extension @extension{ARB,gpu_shader_fp64}
* @requires_gl Only floats are available in OpenGL ES.
*/
inline void setUniform(GLint location, const Math::RectangularMatrix<2, 4, GLdouble>& value) {
@ -854,7 +854,7 @@ class MAGNUM_EXPORT AbstractShaderProgram {
/**
* @copydoc setUniform(GLint, GLfloat)
* @requires_gl40 Extension @extension{ARB,gpu_shader_fp64}
* @requires_gl40 %Extension @extension{ARB,gpu_shader_fp64}
* @requires_gl Only floats are available in OpenGL ES.
*/
inline void setUniform(GLint location, const Math::RectangularMatrix<4, 2, GLdouble>& value) {
@ -863,7 +863,7 @@ class MAGNUM_EXPORT AbstractShaderProgram {
/**
* @copydoc setUniform(GLint, GLfloat)
* @requires_gl40 Extension @extension{ARB,gpu_shader_fp64}
* @requires_gl40 %Extension @extension{ARB,gpu_shader_fp64}
* @requires_gl Only floats are available in OpenGL ES.
*/
inline void setUniform(GLint location, const Math::RectangularMatrix<3, 4, GLdouble>& value) {
@ -872,7 +872,7 @@ class MAGNUM_EXPORT AbstractShaderProgram {
/**
* @copydoc setUniform(GLint, GLfloat)
* @requires_gl40 Extension @extension{ARB,gpu_shader_fp64}
* @requires_gl40 %Extension @extension{ARB,gpu_shader_fp64}
* @requires_gl Only floats are available in OpenGL ES.
*/
inline void setUniform(GLint location, const Math::RectangularMatrix<4, 3, GLdouble>& value) {

20
src/Buffer.h

@ -97,7 +97,7 @@ class MAGNUM_EXPORT Buffer {
#ifndef MAGNUM_TARGET_GLES
/**
* Used for storing atomic counters.
* @requires_gl42 Extension @extension{ARB,shader_atomic_counters}
* @requires_gl42 %Extension @extension{ARB,shader_atomic_counters}
* @requires_gl Atomic counters are not available in OpenGL ES.
*/
AtomicCounter = GL_ATOMIC_COUNTER_BUFFER,
@ -106,7 +106,7 @@ class MAGNUM_EXPORT Buffer {
#ifndef MAGNUM_TARGET_GLES2
/**
* Source for copies. See copy().
* @requires_gl31 Extension @extension{ARB,copy_buffer}
* @requires_gl31 %Extension @extension{ARB,copy_buffer}
* @requires_gles30 Buffer copying is not available in OpenGL ES
* 2.0.
*/
@ -114,7 +114,7 @@ class MAGNUM_EXPORT Buffer {
/**
* Target for copies. See copy().
* @requires_gl31 Extension @extension{ARB,copy_buffer}
* @requires_gl31 %Extension @extension{ARB,copy_buffer}
* @requires_gles30 Buffer copying is not available in OpenGL ES
* 2.0.
*/
@ -124,14 +124,14 @@ class MAGNUM_EXPORT Buffer {
#ifndef MAGNUM_TARGET_GLES
/**
* Indirect compute dispatch commands.
* @requires_gl43 Extension @extension{ARB,compute_shader}
* @requires_gl43 %Extension @extension{ARB,compute_shader}
* @requires_gl Compute shaders are not available in OpenGL ES.
*/
DispatchIndirect = GL_DISPATCH_INDIRECT_BUFFER,
/**
* Used for supplying arguments for indirect drawing.
* @requires_gl40 Extension @extension{ARB,draw_indirect}
* @requires_gl40 %Extension @extension{ARB,draw_indirect}
* @requires_gl Indirect drawing not available in OpenGL ES.
*/
DrawIndirect = GL_DRAW_INDIRECT_BUFFER,
@ -161,14 +161,14 @@ class MAGNUM_EXPORT Buffer {
#ifndef MAGNUM_TARGET_GLES
/**
* Used for shader storage.
* @requires_gl43 Extension @extension{ARB,shader_storage_buffer_object}
* @requires_gl43 %Extension @extension{ARB,shader_storage_buffer_object}
* @requires_gl Shader storage is not available in OpenGL ES.
*/
ShaderStorage = GL_SHADER_STORAGE_BUFFER,
/**
* Source for texel fetches. See BufferTexture.
* @requires_gl31 Extension @extension{ARB,texture_buffer_object}
* @requires_gl31 %Extension @extension{ARB,texture_buffer_object}
* @requires_gl Texture buffers are not available in OpenGL ES.
*/
Texture = GL_TEXTURE_BUFFER,
@ -177,7 +177,7 @@ class MAGNUM_EXPORT Buffer {
#ifndef MAGNUM_TARGET_GLES2
/**
* Target for transform feedback.
* @requires_gl30 Extension @extension{EXT,transform_feedback}
* @requires_gl30 %Extension @extension{EXT,transform_feedback}
* @requires_gles30 Transform feedback is not available in OpenGL
* ES 2.0.
*/
@ -185,7 +185,7 @@ class MAGNUM_EXPORT Buffer {
/**
* Used for storing uniforms.
* @requires_gl31 Extension @extension{ARB,uniform_buffer_object}
* @requires_gl31 %Extension @extension{ARB,uniform_buffer_object}
* @requires_gles30 Uniform buffers are not available in OpenGL ES
* 2.0.
*/
@ -293,7 +293,7 @@ class MAGNUM_EXPORT Buffer {
* buffers aren't already bound somewhere, they are bound to
* `Target::CopyRead` and `Target::CopyWrite` before the copy is
* performed.
* @requires_gl31 Extension @extension{ARB,copy_buffer}
* @requires_gl31 %Extension @extension{ARB,copy_buffer}
* @requires_gles30 Buffer copying is not available in OpenGL ES 2.0.
* @see @fn_gl{BindBuffer} and @fn_gl{CopyBufferSubData} or
* @fn_gl_extension{NamedCopyBufferSubData,EXT,direct_state_access}

8
src/BufferTexture.h

@ -67,7 +67,7 @@ uses DSA function to avoid unnecessary calls to @fn_gl{ActiveTexture} and
"relevant section in AbstractTexture documentation" and respective function
documentation for more information.
@requires_gl31 Extension @extension{ARB,texture_buffer_object}
@requires_gl31 %Extension @extension{ARB,texture_buffer_object}
@requires_gl Texture buffers are not available in OpenGL ES.
*/
class MAGNUM_EXPORT BufferTexture: private AbstractTexture {
@ -147,7 +147,7 @@ class MAGNUM_EXPORT BufferTexture: private AbstractTexture {
/**
* RGB, each component non-normalized unsigned int.
* @requires_gl40 Extension @extension{ARB,texture_buffer_object_rgb32}
* @requires_gl40 %Extension @extension{ARB,texture_buffer_object_rgb32}
*/
RGB32UI = GL_RGB32UI,
@ -162,7 +162,7 @@ class MAGNUM_EXPORT BufferTexture: private AbstractTexture {
/**
* RGB, each component non-normalized signed int.
* @requires_gl40 Extension @extension{ARB,texture_buffer_object_rgb32}
* @requires_gl40 %Extension @extension{ARB,texture_buffer_object_rgb32}
*/
RGB32I = GL_RGB32I,
@ -186,7 +186,7 @@ class MAGNUM_EXPORT BufferTexture: private AbstractTexture {
/**
* RGB, each component float.
* @requires_gl40 Extension @extension{ARB,texture_buffer_object_rgb32}
* @requires_gl40 %Extension @extension{ARB,texture_buffer_object_rgb32}
*/
RGB32F = GL_RGB32F,

3
src/Context.h

@ -138,10 +138,13 @@ class MAGNUM_EXPORT Context {
/**
* @brief Constructor
*
* Constructed automatically, see class documentation for more
* information.
* @see @fn_gl{Get} with @def_gl{MAJOR_VERSION}, @def_gl{MINOR_VERSION},
* @fn_gl{GetString} with @def_gl{EXTENSIONS}
*/
Context();
~Context();
/** @brief Current context */

2
src/CubeMapTexture.h

@ -82,7 +82,7 @@ class CubeMapTexture: public AbstractTexture {
*
* Initially disabled on desktop OpenGL.
* @see @fn_gl{Enable}/@fn_gl{Disable} with @def_gl{TEXTURE_CUBE_MAP_SEAMLESS}
* @requires_gl32 Extension @extension{ARB,seamless_cube_map}
* @requires_gl32 %Extension @extension{ARB,seamless_cube_map}
* @requires_gl Not available in OpenGL ES 2.0, always enabled in
* OpenGL ES 3.0.
*/

2
src/CubeMapTextureArray.h

@ -66,7 +66,7 @@ one of the six sides of the cube map, fourth part is layer in the array. See
also AbstractShaderProgram for more information.
@see CubeMapTexture::setSeamless()
@requires_gl40 Extension @extension{ARB,texture_cube_map_array}
@requires_gl40 %Extension @extension{ARB,texture_cube_map_array}
@requires_gl Cube map texture arrays are not available in OpenGL ES.
*/
class CubeMapTextureArray: public AbstractTexture {

2
src/Extensions.h

@ -30,7 +30,7 @@ Each extension is `struct` named hierarchically by prefix, vendor and
extension name, for example `GL::APPLE::vertex_array_object`. Each struct has
the same public methods as Extension class (requiredVersion(), coreVersion()
and string(), but these structs are better suited for compile-time decisions
rather than Extension instances. See Context::isExtensionSupported() for
rather than %Extension instances. See Context::isExtensionSupported() for
example usage.
@see MAGNUM_ASSERT_EXTENSION_SUPPORTED()

10
src/Mesh.h

@ -155,11 +155,11 @@ class MAGNUM_EXPORT Mesh {
* @brief Provoking vertex
*
* @see setProvokingVertex()
* @requires_gl OpenGL ES behaves always like
* <tt>ProvokingMode::%LastVertexConvention</tt>.
* @requires_gl32 Extension @extension{ARB,provoking_vertex}. Older
* @requires_gl32 %Extension @extension{ARB,provoking_vertex}. Older
* versions behave always like
* <tt>ProvokingMode::%LastVertexConvention</tt>.
* @requires_gl OpenGL ES behaves always like
* <tt>ProvokingMode::%LastVertexConvention</tt>.
*/
enum class ProvokingVertex: GLenum {
/** @brief Use first vertex of each polygon. */
@ -174,9 +174,9 @@ class MAGNUM_EXPORT Mesh {
*
* Initial value is <tt>ProvokingMode::%LastVertexConvention</tt>.
* @see @fn_gl{ProvokingVertex}
* @requires_gl OpenGL ES behaves always like the default.
* @requires_gl32 Extension @extension{ARB,provoking_vertex}. Older
* @requires_gl32 %Extension @extension{ARB,provoking_vertex}. Older
* versions behave always like the default.
* @requires_gl OpenGL ES behaves always like the default.
*/
inline static void setProvokingVertex(ProvokingVertex mode) {
glProvokingVertex(static_cast<GLenum>(mode));

2
src/Platform/ExtensionWrangler.h

@ -21,7 +21,7 @@
namespace Magnum { namespace Platform {
/** @brief Extension wrangler interface */
/** @brief %Extension wrangler interface */
class ExtensionWrangler {
public:
/** @brief Whether to enable or disable experimental features */

19
src/Query.h

@ -78,7 +78,8 @@ class MAGNUM_EXPORT AbstractQuery {
* Note that this function is blocking until the result is available.
* See resultAvailable().
* @see @fn_gl{GetQueryObject} with @def_gl{QUERY_RESULT}
* @requires_gl33 Extension @extension{ARB,timer_query} (result type `GLuint64` and `GLint64`)
* @requires_gl33 %Extension @extension{ARB,timer_query} (result
* type `GLuint64` and `GLint64`)
* @requires_gl Result types @c GLint, @c GLuint64 and @c GLint64 are
* not available in OpenGL ES.
*/
@ -119,7 +120,7 @@ if(!q.resultAvailable()) {
// ...or block until the result is available
GLuint primitiveCount = q.result<GLuint>();
@endcode
@requires_gl30 Extension @extension{EXT,transform_feedback}
@requires_gl30 %Extension @extension{EXT,transform_feedback}
@requires_gles30 Only sample queries are available on OpenGL ES 2.0.
*/
class MAGNUM_EXPORT Query: public AbstractQuery {
@ -144,7 +145,7 @@ class MAGNUM_EXPORT Query: public AbstractQuery {
/**
* Elapsed time
* @requires_gl33 Extension @extension{ARB,timer_query}
* @requires_gl33 %Extension @extension{ARB,timer_query}
* @requires_gl Only transform feedback query is available in
* OpenGL ES.
*/
@ -227,7 +228,7 @@ class MAGNUM_EXPORT SampleQuery: public AbstractQuery {
/**
* Whether any samples passed from fragment shader
* @requires_gl33 Extension @extension{ARB,occlusion_query2}
* @requires_gl33 %Extension @extension{ARB,occlusion_query2}
*/
#ifndef MAGNUM_TARGET_GLES2
AnySamplesPassed = GL_ANY_SAMPLES_PASSED,
@ -240,7 +241,7 @@ class MAGNUM_EXPORT SampleQuery: public AbstractQuery {
*
* An implementation may choose a less precise version of the
* test at the expense of some false positives.
* @requires_gl43 Extension @extension{ARB,ES3_compatibility}
* @requires_gl43 %Extension @extension{ARB,ES3_compatibility}
*/
#ifndef MAGNUM_TARGET_GLES2
AnySamplesPassedConservative = GL_ANY_SAMPLES_PASSED_CONSERVATIVE
@ -253,7 +254,7 @@ class MAGNUM_EXPORT SampleQuery: public AbstractQuery {
/**
* @brief Conditional render mode
*
* @requires_gl30 Extension @extension{NV,conditional_render}
* @requires_gl30 %Extension @extension{NV,conditional_render}
* @requires_gl Conditional rendering is not available in OpenGL ES.
*/
enum class ConditionalRenderMode: GLenum {
@ -298,7 +299,7 @@ class MAGNUM_EXPORT SampleQuery: public AbstractQuery {
* @brief Begin conditional rendering based on result value
*
* @see @fn_gl{BeginConditionalRender}
* @requires_gl30 Extension @extension{NV,conditional_render}
* @requires_gl30 %Extension @extension{NV,conditional_render}
* @requires_gl Conditional rendering is not available in OpenGL ES.
*/
inline void beginConditionalRender(ConditionalRenderMode mode) {
@ -309,7 +310,7 @@ class MAGNUM_EXPORT SampleQuery: public AbstractQuery {
* @brief End conditional render
*
* @see @fn_gl{EndConditionalRender}
* @requires_gl30 Extension @extension{NV,conditional_render}
* @requires_gl30 %Extension @extension{NV,conditional_render}
* @requires_gl Conditional rendering is not available in OpenGL ES.
*/
inline void endConditionalRender() {
@ -352,7 +353,7 @@ GLuint timeElapsed1 = tmp-q1.result<GLuint>();
GLuint timeElapsed2 = q3.result<GLuint>()-tmp;
@endcode
Using this query results in fewer OpenGL calls when doing more measures.
@requires_gl33 Extension @extension{ARB,timer_query}
@requires_gl33 %Extension @extension{ARB,timer_query}
@requires_gl Timer query is not available in OpenGL ES.
*/
class TimeQuery: public AbstractQuery {

12
src/Renderer.h

@ -79,7 +79,7 @@ class MAGNUM_EXPORT Renderer {
/**
* Depth clamping. If enabled, ignores near and far clipping plane.
* @requires_gl32 Extension @extension{ARB,depth_clamp}
* @requires_gl32 %Extension @extension{ARB,depth_clamp}
* @requires_gl Depth clamping is not available in OpenGL ES.
*/
DepthClamp = GL_DEPTH_CLAMP,
@ -146,7 +146,7 @@ class MAGNUM_EXPORT Renderer {
* @overload
*
* @see @fn_gl{ClearDepth}
* @requires_gl41 Extension @extension{ARB,ES2_compatibility}
* @requires_gl41 %Extension @extension{ARB,ES2_compatibility}
* @todo Call double version if the extension is not available
*/
inline static void setClearDepth(GLfloat depth) { glClearDepthf(depth); }
@ -451,7 +451,7 @@ class MAGNUM_EXPORT Renderer {
* Second source color (@f$ RGB = (R_{s1}, G_{s1}, B_{s1}); A = A_{s1} @f$)
*
* @see AbstractShaderProgram::bindFragmentDataLocationIndexed()
* @requires_gl33 Extension @extension{ARB,blend_func_extended}
* @requires_gl33 %Extension @extension{ARB,blend_func_extended}
* @requires_gl Multiple blending inputs are not available in
* OpenGL ES.
*/
@ -468,7 +468,7 @@ class MAGNUM_EXPORT Renderer {
* One minus second source color (@f$ RGB = (1.0 - R_{s1}, 1.0 - G_{s1}, 1.0 - B_{s1}); A = 1.0 - A_{s1} @f$)
*
* @see AbstractShaderProgram::bindFragmentDataLocationIndexed()
* @requires_gl33 Extension @extension{ARB,blend_func_extended}
* @requires_gl33 %Extension @extension{ARB,blend_func_extended}
* @requires_gl Multiple blending inputs are not available in
* OpenGL ES.
*/
@ -490,7 +490,7 @@ class MAGNUM_EXPORT Renderer {
* Second source alpha (@f$ RGB = (A_{s1}, A_{s1}, A_{s1}); A = A_{s1} @f$)
*
* @see AbstractShaderProgram::bindFragmentDataLocationIndexed()
* @requires_gl33 Extension @extension{ARB,blend_func_extended}
* @requires_gl33 %Extension @extension{ARB,blend_func_extended}
* @requires_gl Multiple blending inputs are not available in
* OpenGL ES.
*/
@ -507,7 +507,7 @@ class MAGNUM_EXPORT Renderer {
* One minus second source alpha (@f$ RGB = (1.0 - A_{s1}, 1.0 - A_{s1}, 1.0 - A_{s1}); A = 1.0 - A_{s1} @f$)
*
* @see AbstractShaderProgram::bindFragmentDataLocationIndexed()
* @requires_gl33 Extension @extension{ARB,blend_func_extended}
* @requires_gl33 %Extension @extension{ARB,blend_func_extended}
* @requires_gl Multiple blending inputs are not available in
* OpenGL ES.
*/

8
src/Shader.h

@ -47,28 +47,28 @@ class MAGNUM_EXPORT Shader {
#ifndef MAGNUM_TARGET_GLES
/**
* Tessellation control shader
* @requires_gl40 Extension @extension{ARB,tessellation_shader}
* @requires_gl40 %Extension @extension{ARB,tessellation_shader}
* @requires_gl Tessellation shaders are not available in OpenGL ES.
*/
TessellationControl = GL_TESS_CONTROL_SHADER,
/**
* Tessellation evaluation shader
* @requires_gl40 Extension @extension{ARB,tessellation_shader}
* @requires_gl40 %Extension @extension{ARB,tessellation_shader}
* @requires_gl Tessellation shaders are not available in OpenGL ES.
*/
TessellationEvaluation = GL_TESS_EVALUATION_SHADER,
/**
* Geometry shader
* @requires_gl32 Extension @extension{ARB,geometry_shader4}
* @requires_gl32 %Extension @extension{ARB,geometry_shader4}
* @requires_gl Geometry shaders are not available in OpenGL ES.
*/
Geometry = GL_GEOMETRY_SHADER,
/**
* Compute shader
* @requires_gl43 Extension @extension{ARB,compute_shader}
* @requires_gl43 %Extension @extension{ARB,compute_shader}
* @requires_gl Compute shaders are not available in OpenGL ES.
*/
Compute = GL_COMPUTE_SHADER,

9
src/Texture.h

@ -102,7 +102,8 @@ rectangle textures don't support mipmapping and repeating wrapping modes, see
generateMipmap() documentation for more information.
@requires_gl Rectangle textures are not available in OpenGL ES.
@requires_gl31 Extension @extension{ARB,texture_rectangle} (rectangle textures)
@requires_gl31 %Extension @extension{ARB,texture_rectangle} (rectangle
textures)
@see Texture1D, Texture2D, Texture3D, CubeMapTexture, CubeMapTextureArray
@todo @extension{AMD,sparse_texture}
@ -135,7 +136,7 @@ template<std::uint8_t dimensions> class Texture: public AbstractTexture {
/**
* One-dimensional texture array (i.e. two dimensions in total)
* @requires_gl30 Extension @extension{EXT,texture_array}
* @requires_gl30 %Extension @extension{EXT,texture_array}
* @requires_gl Only 2D and 3D textures are available in OpenGL
* ES.
*/
@ -143,7 +144,7 @@ template<std::uint8_t dimensions> class Texture: public AbstractTexture {
/**
* Two-dimensional texture array (i.e. three dimensions in total)
* @requires_gl30 Extension @extension{EXT,texture_array}
* @requires_gl30 %Extension @extension{EXT,texture_array}
* @requires_gles30 Array textures are not available in OpenGL ES
* 2.0.
*/
@ -151,7 +152,7 @@ template<std::uint8_t dimensions> class Texture: public AbstractTexture {
/**
* Rectangle texture (i.e. two dimensions)
* @requires_gl31 Extension @extension{ARB,texture_rectangle}
* @requires_gl31 %Extension @extension{ARB,texture_rectangle}
* @requires_gl Rectangle textures are not available in OpenGL ES.
*/
Rectangle = GL_TEXTURE_RECTANGLE

Loading…
Cancel
Save