X-Git-Url: http://git.tdb.fi/?p=libs%2Fgl.git;a=blobdiff_plain;f=demos%2Fcubemap.cpp;h=2a0bc02c6d1ffe83313837e7ff1778c78a160854;hp=4f663055b8fc4ff68dce2c11b5c00bff484154cf;hb=ca52c492bd4f2fa1a1db3a85e50eaf7c43474830;hpb=e87e7a542c2b9fcde1676ba17387fcfb5180f196 diff --git a/demos/cubemap.cpp b/demos/cubemap.cpp index 4f663055..2a0bc02c 100644 --- a/demos/cubemap.cpp +++ b/demos/cubemap.cpp @@ -84,15 +84,17 @@ int main() material.set_specular(GL::Color(1.0)); material.set_shininess(100); - GL::Program::StandardFeatures features; + GL::ProgramBuilder::StandardFeatures features; features.lighting = true; features.specular = true; features.material = true; features.reflection = true; GL::Program shprog(features); - GL::ProgramData shdata(shprog); + 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); @@ -112,21 +114,21 @@ int main() GL::Bind bind_depth(GL::DepthTest::lequal()); GL::Renderer renderer(0); renderer.set_material(&material); - renderer.set_shader(&shprog, &shdata); + 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); } }