The WebGLTransformFeedback
interface is part of the WebGL 2 API and enables transform feedback, which is the process of capturing primitives generated by vertex processing. It allows to preserve the post-transform rendering state of an object and resubmit this data multiple times.
When working with WebGLTransformFeedback
objects, the following methods of the {{domxref("WebGL2RenderingContext")}} are useful:
- {{domxref("WebGL2RenderingContext.createTransformFeedback()")}}
- {{domxref("WebGL2RenderingContext.deleteTransformFeedback()")}}
- {{domxref("WebGL2RenderingContext.isTransformFeedback()")}}
- {{domxref("WebGL2RenderingContext.bindTransformFeedback()")}}
- {{domxref("WebGL2RenderingContext.beginTransformFeedback()")}}
- {{domxref("WebGL2RenderingContext.endTransformFeedback()")}}
- {{domxref("WebGL2RenderingContext.pauseTransformFeedback()")}}
- {{domxref("WebGL2RenderingContext.resumeTransformFeedback()")}}
- {{domxref("WebGL2RenderingContext.transformFeedbackVaryings()")}}
- {{domxref("WebGL2RenderingContext.getTransformFeedbackVarying()")}}
Examples
Creating a WebGLTransformFeedback
object
in this example, gl
must be a {{domxref("WebGL2RenderingContext")}}. WebGLTransformFeedback
objects are not available in WebGL 1.
var transformFeedback = gl.createTransformFeedback();
Specifications
Specification | Status | Comment |
---|---|---|
{{SpecName('WebGL2', "#3.5", "WebGLTransformFeedback")}} | {{Spec2('WebGL2')}} | Initial definition. |
Browser compatibility
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Basic support | {{CompatNo}} [2] | {{CompatNightly}} [1] | {{CompatNo}} | {{CompatNo}} | {{CompatNo}} |
Feature | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Basic support | {{CompatNo}} | {{CompatNo}} | {{CompatNo}} | {{CompatNo}} | {{CompatNo}} | {{CompatNo}} |
[1] WebGL 2 is enabled by default in Firefox Nightly. To enable it in a release version of Firefox, set the preference webgl.enable-prototype-webgl2
to true
in about:config.
[2] To use an experimental implementation of WebGL 2 in Chrome, you have to start Chrome with the runtime flag --enable-unsafe-es3-apis
.