GL::ProgramData shdata;
shdata.uniform("environment", 0);
shdata.uniform("reflectivity", 0.5f);
+ float env_mat[9] = { 1, 0, 0, 0, 1, 0, 0, 0, 1 };
+ shdata.uniform_matrix3("env_eye_matrix", env_mat);
GL::MatrixStack::projection() = GL::Matrix::frustum_centered(0.15, 0.1, 0.1, 10);
renderer.set_material(&material);
renderer.set_shader_program(&shprog, &shdata);
renderer.set_texture(&texture);
- renderer.matrix_stack() *= GL::Matrix::translation(0, 0, -7);
+ renderer.transform(GL::Matrix::translation(0, 0, -7));
{
GL::Renderer::Push _push(renderer);
- renderer.matrix_stack() *= GL::Matrix::translation(-2, 0, 0);
- renderer.matrix_stack() *= GL::Matrix::rotation(angle/2.3, 0, 1, 0);
- renderer.matrix_stack() *= GL::Matrix::rotation(angle, 1, 0.25, 0);
+ renderer.transform(GL::Matrix::translation(-2, 0, 0));
+ renderer.transform(GL::Matrix::rotation(angle/2.3, 0, 1, 0));
+ renderer.transform(GL::Matrix::rotation(angle, 1, 0.25, 0));
box.draw(renderer);
}
{
GL::Renderer::Push _push(renderer);
- renderer.matrix_stack() *= GL::Matrix::translation(2, 0, 0);
- renderer.matrix_stack() *= GL::Matrix::rotation(-angle/2.3, 0, 1, 0);
- renderer.matrix_stack() *= GL::Matrix::rotation(angle, 1, 0.25, 0);
+ renderer.transform(GL::Matrix::translation(2, 0, 0));
+ renderer.transform(GL::Matrix::rotation(-angle/2.3, 0, 1, 0));
+ renderer.transform(GL::Matrix::rotation(angle, 1, 0.25, 0));
cylinder.draw(renderer);
}
}