]> git.tdb.fi Git - libs/gl.git/blobdiff - demos/cubemap.cpp
Require import module names to be identifiers
[libs/gl.git] / demos / cubemap.cpp
index 1778fb7fbfa1567cbb9c6fb2314710096f45d180..2a0bc02c6d1ffe83313837e7ff1778c78a160854 100644 (file)
@@ -84,7 +84,7 @@ 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;
@@ -93,6 +93,8 @@ int main()
        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);
                        }
                }