+ // Render the effect chain to the given set of textures. This is equivalent
+ // to render_to_fbo() with a freshly created FBO bound to the given textures,
+ // except that it is more efficient if the last phase contains a compute shader.
+ // Thus, prefer this to render_to_fbo() where possible.
+ //
+ // The format must currently be GL_RGBA16F, and only one destination
+ // texture is supported. Both of these restrictions will be lifted in the future.
+ //
+ // All destination textures must be exactly of size <width> x <height>.
+ // width and height can not be zero.
+ struct DestinationTexture {
+ GLuint texnum;
+ GLenum format;
+ };
+ void render_to_texture(const std::vector<DestinationTexture> &destinations, unsigned width, unsigned height);
+