X-Git-Url: https://git.sesse.net/?p=movit;a=blobdiff_plain;f=effect_chain.h;h=de50512f204b7f15fd67f9620307026c44fad528;hp=22f0b96c6e4eabc807c8bf57a75b70516c3a8cda;hb=abd6d031918db487e0724218dc604d4a51e5f650;hpb=88003f99c7ef12ed895e504d41c6d528c3fda78d diff --git a/effect_chain.h b/effect_chain.h index 22f0b96..de50512 100644 --- a/effect_chain.h +++ b/effect_chain.h @@ -179,6 +179,10 @@ struct Phase { std::vector > uniforms_vec4; std::vector > uniforms_mat3; + GLuint ubo; // GL_INVALID_INDEX if not using UBOs. + GLuint uniform_block_index; + std::vector ubo_data; + // For measurement of GPU time used. std::list timer_query_objects_running; std::list timer_query_objects_free; @@ -194,7 +198,7 @@ public: // will create its own that is not shared with anything else. Does not take // ownership of the passed-in ResourcePool, but will naturally take ownership // of its own internal one if created. - EffectChain(float aspect_nom, float aspect_denom, ResourcePool *resource_pool = NULL); + EffectChain(float aspect_nom, float aspect_denom, ResourcePool *resource_pool = NULL, GLenum intermediate_format = GL_RGBA16F); ~EffectChain(); // User API: @@ -438,6 +442,7 @@ private: std::vector inputs; // Also contained in nodes. std::vector phases; + GLenum intermediate_format; unsigned num_dither_bits; OutputOrigin output_origin; bool finalized;