- // The geometry needed to draw this quad, bound to the vertex array
- // object. (Seemingly it's actually a win not to upload geometry every
- // frame, even for something as small as a quad, due to fewer state
- // changes.)
- GLuint vao;
- GLuint position_vbo, texcoord_vbo;
+ // Uniforms for this phase; combined from all the effects.
+ std::vector<Uniform<int> > uniforms_sampler2d;
+ std::vector<Uniform<bool> > uniforms_bool;
+ std::vector<Uniform<int> > uniforms_int;
+ std::vector<Uniform<float> > uniforms_float;
+ std::vector<Uniform<float> > uniforms_vec2;
+ std::vector<Uniform<float> > uniforms_vec3;
+ std::vector<Uniform<float> > uniforms_vec4;
+ std::vector<Uniform<Eigen::Matrix3d> > uniforms_mat3;
+
+ // For measurement of GPU time used.
+ GLuint timer_query_object;
+ uint64_t time_elapsed_ns;
+ uint64_t num_measured_iterations;