Everyone is on fire temporarily.
This commit is contained in:
parent
467a26628c
commit
5ffa3b0d1e
5 changed files with 104 additions and 9 deletions
|
@ -9,6 +9,8 @@
|
|||
#include <fmt/core.h>
|
||||
#include <unistd.h>
|
||||
|
||||
bool SHADER_RELOAD = true;
|
||||
|
||||
void Handle_events(sf::RenderWindow &window) {
|
||||
// is this a main event loop
|
||||
while (const auto event = window.pollEvent()) {
|
||||
|
@ -16,8 +18,8 @@ void Handle_events(sf::RenderWindow &window) {
|
|||
window.close();
|
||||
} else if(const auto* key = event->getIf<sf::Event::KeyPressed>()) {
|
||||
using KEY = sf::Keyboard::Scan;
|
||||
if(key->scancode == KEY::Escape) {
|
||||
window.close();
|
||||
if(key->scancode == KEY::Escape || key->scancode == KEY::Space) {
|
||||
SHADER_RELOAD = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -75,9 +77,6 @@ int main(int argc, char *argv[]) {
|
|||
window.setFramerateLimit(60);
|
||||
window.setVerticalSyncEnabled(true);
|
||||
|
||||
bool good_shader = shader.loadFromFile(frag_name, sf::Shader::Type::Fragment);
|
||||
dbc::check(good_shader, fmt::format("failed to load shader {}", frag_name));
|
||||
|
||||
if(load_sprite) {
|
||||
sprite_texture = textures::get(sprite_name);
|
||||
sprite_texture.sprite->setPosition({0,0});
|
||||
|
@ -89,13 +88,23 @@ int main(int argc, char *argv[]) {
|
|||
} else {
|
||||
rect.setPosition({0,0});
|
||||
rect.setSize(u_resolution);
|
||||
rect.setFillColor({255, 0, 0, 255});
|
||||
}
|
||||
|
||||
shader.setUniform("u_resolution", u_resolution);
|
||||
|
||||
while(window.isOpen()) {
|
||||
Handle_events(window);
|
||||
|
||||
if(SHADER_RELOAD) {
|
||||
bool good_shader = shader.loadFromFile(frag_name, sf::Shader::Type::Fragment);
|
||||
|
||||
if(!good_shader) {
|
||||
fmt::print("!!!!!! failed to load shader {}\n", frag_name);
|
||||
}
|
||||
|
||||
shader.setUniform("u_resolution", u_resolution);
|
||||
SHADER_RELOAD = false;
|
||||
}
|
||||
|
||||
sf::Time u_time = clock.getElapsedTime();
|
||||
sf::Vector2i mouse_at = sf::Mouse::getPosition(window);
|
||||
sf::Vector2f u_mouse{float(mouse_at.x), float(mouse_at.y)};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue