vector<GL::Program *> programs;
for(unsigned i=0; i<12; ++i)
{
- GL::Program::StandardFeatures feat;
+ GL::ProgramBuilder::StandardFeatures feat;
feat.material = i/4>0;
feat.texture = i/4>1;
feat.lighting = i%4>0;
}
GL::ProgramData progdata;
+ progdata.uniform("texture", 0);
progdata.uniform("normalmap", 1);
GL::Lighting lighting;
GL::Renderer renderer(0);
renderer.set_material(&mat);
renderer.set_texturing(&texturing);
+ renderer.add_shader_data(progdata);
for(unsigned i=0; i<12; ++i)
{
GL::MatrixStack::Push push(renderer.matrix_stack());
- renderer.set_shader(programs[i], &progdata);
+ renderer.set_shader_program(programs[i]);
renderer.matrix_stack() *= GL::Matrix::translation(-3.3+(i%4)*2.2, 0, -3.5+(i/4)*3.0);
renderer.matrix_stack() *= GL::Matrix::rotation(angle, 0, 0, 1);
mesh.draw(renderer);