From a7806d97ecc7a69c7a1183c3b8a7db430b64fc25 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Vondru=C5=A1?= Date: Sat, 23 May 2015 12:41:45 +0200 Subject: [PATCH] First-class WebGL support, part 12: reduced transform feedback functionality. --- src/Magnum/TransformFeedback.h | 40 ++++++++++++++++++---------------- 1 file changed, 21 insertions(+), 19 deletions(-) diff --git a/src/Magnum/TransformFeedback.h b/src/Magnum/TransformFeedback.h index 18da39f3c..ae7813fbf 100644 --- a/src/Magnum/TransformFeedback.h +++ b/src/Magnum/TransformFeedback.h @@ -50,14 +50,15 @@ to @fn_gl{BindTransformFeedback}. Transform feedback limits and implementation-defined values (such as @ref maxSeparateComponents()) are cached, so repeated queries don't result in repeated @fn_gl{Get} calls. -If extension @extension{ARB,direct_state_access} (part of OpenGL 4.5) is -available, functions @ref attachBuffer() and @ref attachBuffers() use DSA to -avoid unnecessary call to @fn_gl{BindTransformFeedback}. See their respective +If @extension{ARB,direct_state_access} (part of OpenGL 4.5) is available, +functions @ref attachBuffer() and @ref attachBuffers() use DSA to avoid +unnecessary calls to @fn_gl{BindTransformFeedback}. See their respective documentation for more information. @see @ref PrimitiveQuery @requires_gl40 Extension @extension{ARB,transform_feedback2} -@requires_gles30 Transform feedback is not available in OpenGL ES 2.0 +@requires_gles30 Transform feedback is not available in OpenGL ES 2.0. +@requires_webgl20 Transform feedback is not available in WebGL 1.0. @todo @extension{AMD,transform_feedback3_lines_triangles}? */ class MAGNUM_EXPORT TransformFeedback: public AbstractObject { @@ -140,7 +141,8 @@ class MAGNUM_EXPORT TransformFeedback: public AbstractObject { * (part of OpenGL 4.0) is not available, returns the same value as * @ref maxSeparateAttributes(). * @see @fn_gl{Get} with @def_gl{MAX_TRANSFORM_FEEDBACK_BUFFERS} - * @requires_gl Use @ref maxSeparateAttributes() in OpenGL ES. + * @requires_gl Use @ref maxSeparateAttributes() in OpenGL ES and + * WebGL. */ static Int maxBuffers(); #endif @@ -150,7 +152,7 @@ class MAGNUM_EXPORT TransformFeedback: public AbstractObject { * * Creates new OpenGL transform feedback object. If * @extension{ARB,direct_state_access} (part of OpenGL 4.5) is not - * supported, the transform feedback object is created on first use. + * available, the transform feedback object is created on first use. * @see @fn_gl{CreateTransformFeedbacks}, eventually * @fn_gl{GenTransformFeedbacks} */ @@ -219,8 +221,8 @@ class MAGNUM_EXPORT TransformFeedback: public AbstractObject { * @brief Attach range of buffer * @return Reference to self (for method chaining) * - * The @p offset parameter must be aligned to 4 bytes. If on OpenGL ES - * or @extension{ARB,direct_state_access} (part of OpenGL 4.5) is not + * The @p offset parameter must be aligned to 4 bytes. If + * @extension{ARB,direct_state_access} (part of OpenGL 4.5) is not * available, the transform feedback object is bound (if not already) * and the operation is then done equivalently to * @ref Buffer::bind(Buffer::Target, UnsignedInt, GLintptr, GLsizeiptr). @@ -238,9 +240,9 @@ class MAGNUM_EXPORT TransformFeedback: public AbstractObject { * @brief Attach buffer * @return Reference to self (for method chaining) * - * If on OpenGL ES or @extension{ARB,direct_state_access} (part of - * OpenGL 4.5) is not available, the transform feedback object is bound - * (if not already) and the operation is then done equivalently to + * If @extension{ARB,direct_state_access} (part of OpenGL 4.5) is not + * available, the transform feedback object is bound (if not already) + * and the operation is then done equivalently to * @ref Buffer::bind(Buffer::Target, UnsignedInt). * @note This function is meant to be used only internally from * @ref AbstractShaderProgram subclasses. See its documentation @@ -262,10 +264,10 @@ class MAGNUM_EXPORT TransformFeedback: public AbstractObject { * range of indices must respect @ref maxBuffers() (@ref maxSeparateComponents() * in OpenGL ES or if @extension{ARB,transform_feedback3} (part of * OpenGL 4.0) is not available). The offsets must be aligned to 4 - * bytes. All the buffers must have allocated data store. If on OpenGL - * ES or @extension{ARB,direct_state_access} (part of OpenGL 4.5) is - * not available, the transform feedback object is bound (if not - * already) and the operation is then done equivalently to + * bytes. All the buffers must have allocated data store. If + * @extension{ARB,direct_state_access} (part of OpenGL 4.5) is not + * available, the transform feedback object is bound (if not already) + * and the operation is then done equivalently to * @ref Buffer::bind(Buffer::Target, UnsignedInt, std::initializer_list>). * @note This function is meant to be used only internally from * @ref AbstractShaderProgram subclasses. See its documentation @@ -285,10 +287,10 @@ class MAGNUM_EXPORT TransformFeedback: public AbstractObject { * detached. The range of indices must respect @ref maxBuffers() * (@ref maxSeparateComponents() in OpenGL ES or if * @extension{ARB,transform_feedback3} (part of OpenGL 4.0) is not - * available). All the buffers must have allocated data store. If on - * OpenGL ES or @extension{ARB,direct_state_access} (part of OpenGL - * 4.5) is not available, the transform feedback object is bound (if - * not already) and the operation then is done equivalently to + * available). All the buffers must have allocated data store. If + * @extension{ARB,direct_state_access} (part of OpenGL 4.5) is not + * available, the transform feedback object is bound (if not already) + * and the operation then is done equivalently to * @ref Buffer::bind(Buffer::Target, UnsignedInt, std::initializer_list). * @note This function is meant to be used only internally from * @ref AbstractShaderProgram subclasses. See its documentation