summaryrefslogtreecommitdiffhomepage
path: root/old/main.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'old/main.cpp')
-rw-r--r--old/main.cpp115
1 files changed, 0 insertions, 115 deletions
diff --git a/old/main.cpp b/old/main.cpp
deleted file mode 100644
index 2da2a2a1..00000000
--- a/old/main.cpp
+++ /dev/null
@@ -1,115 +0,0 @@
-#include "logging.hpp"
-#include <glm/ext/matrix_transform.hpp>
-#include <glm/ext/matrix_clip_space.hpp>
-#include <SFML/Graphics.hpp>
-
-#if 0
-static const float isometric_matrix [16] = {
-#if 1
- 0.766044, -0.633022, 0.111619, 0.000000,
- 0.642788, 0.754407, -0.133022, 0.000000,
- 0.000000, 0.173648, 0.984808, 0.000000,
- 0.000000, 0.000000, 0.000000, 1.000000,
-#else
- 0.61237f, -0.50000f, 0.61237f, 0.0f,
- 0.35355f, 0.86603f, 0.35355f, 0.0f,
- 0.61237f, -0.50000f, 0.61237f, 0.0f,
- 0.0f, 0.0f, 0.0f, 1.0f
-#endif
-};
-#endif
-
-static constexpr glm::mat4 transform4_yz {
- 1, 0, 0, 0,
- 0, 0, 1, 0,
- 0, 1, 0, 0,
- 0, 0, 0, 1,
-};
-
-static constexpr glm::mat4 identity_transform4{1};
-
-static auto make_projection(sf::Vector2f offset, const glm::mat4& transform = identity_transform4)
-{
- auto [x, y] = offset;
- auto m = glm::mat4{1};
- m = glm::translate(m, { x, -y, 0 });
- m = glm::scale(m, { 1.f, 0.6f, 1.f });
- m = glm::rotate(m, glm::radians(-45.f), glm::vec3(1.0f, 0.0f, 0.0f));
- m = glm::rotate(m, glm::radians(0.0f), glm::vec3(0.0f, 1.0f, 0.0f));
- m = glm::rotate(m, glm::radians(-45.0f), glm::vec3(0.0f, 0.0f, 1.0f));
- m *= transform;
- return m;
-}
-
-static const std::string transform_str{"transform"};
-
-int main()
-{
- // create the window
- sf::RenderWindow window(sf::VideoMode(800, 800), "My window");
- sf::Texture tex;
- if (!tex.loadFromFile("images/wildtextures_cracked-asphalt-seamless-texture.jpg"))
- return 1;
-
- sf::Sprite sprite{tex, { { 0, 0 }, { 100, 100 } }};
- sprite.setPosition({0, 0});
-
- sf::Shader shader;
- if (!shader.loadFromFile("shaders/tile.vert", "shaders/tile.frag"))
- return 1;
-
- int offx = 0, offy = 0;
-
- // run the program as long as the window is open
- while (window.isOpen())
- {
- // check all the window's events that were triggered since the last iteration of the loop
- sf::Event event = {};
-
- while (window.pollEvent(event))
- {
- // "close requested" event: we close the window
- if (event.type == sf::Event::Closed)
- window.close();
- else if (event.type == sf::Event::KeyPressed)
- {
- constexpr int off = 10;
- switch (event.key.code)
- {
- default: break;
- case sf::Keyboard::Escape: window.close(); break;
- case sf::Keyboard::Left: offx += -off; break;
- case sf::Keyboard::Right: offx += +off; break;
- case sf::Keyboard::Up: offy += -off; break;
- case sf::Keyboard::Down: offy += +off; break;
- }
- }
- else if (event.type == sf::Event::Resized)
- {
- auto view = window.getView();
- view.setSize(window.getSize().x, window.getSize().y);
- }
- }
-
- // clear the window with black color
- window.clear(sf::Color::Black);
-
- {
- auto [w, h] = window.getView().getSize();
- sf::Vector2f camera_offset { offx / (float)w, offy / (float)h };
- //shader.setUniform(transform_str, make_projection(camera_offset));
- //window.draw(sprite, &shader);
- auto rect = sprite.getLocalBounds();
- sf::Vector2f pos{-(rect.width - rect.left - offx) / w,
- (rect.height - rect.top + offy)*.5f / h};
- auto mv = make_projection(pos/*, transform4_yz*/);
- shader.setUniform(transform_str, sf::Glsl::Mat4{&mv[0][0]});
- window.draw(sprite, &shader);
- }
-
- // end the current frame
- window.display();
- }
-
- return 0;
-}