output_added(false),
finalized(false)
{
- CHECK(init_movit(".", MOVIT_DEBUG_OFF));
+ init_movit_for_test();
if (data != nullptr) {
add_input(data, pixel_format, color_space, gamma_curve);
num_outputs = 1;
}
+ glActiveTexture(GL_TEXTURE0);
+ check_error();
+
vector<EffectChain::DestinationTexture> textures;
for (unsigned i = 0; i < num_outputs; ++i) {
GLuint texnum = chain.get_resource_pool()->create_2d_texture(framebuffer_format, width, height);
textures.push_back(EffectChain::DestinationTexture{texnum, framebuffer_format});
+
+ // The output texture needs to have valid state to be written to by a compute shader.
+ glBindTexture(GL_TEXTURE_2D, texnum);
+ check_error();
+ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
+ check_error();
}
chain.render_to_texture(textures, width, height);