Added a screen size parameters to the fragviewer.

master
Zed A. Shaw 4 days ago
parent 576110ea44
commit 80b4faf940
  1. 21
      tools/fragviewer.cpp

@ -32,12 +32,14 @@ int main(int argc, char *argv[]) {
sf::Shader shader;
sf::RectangleShape rect;
textures::SpriteTexture sprite_texture;
sf::Vector2f u_resolution{720.0, 720.0};
sf::Vector2u screen_resolution{720, 720};
textures::init();
dbc::check(sf::Shader::isAvailable(), "You apparently are a time traveler from the 80s who doesn't have shaders.");
while((opt = getopt(argc, argv, "-hs:f:")) != -1) {
while((opt = getopt(argc, argv, "-hs:f:-x:-y:")) != -1) {
switch(opt) {
case 's':
sprite_name = optarg;
@ -46,13 +48,21 @@ int main(int argc, char *argv[]) {
case 'f':
frag_name = optarg;
break;
case 'x':
screen_resolution.x = std::atoi(optarg);
u_resolution.x = screen_resolution.x;
break;
case 'y':
screen_resolution.y = std::atoi(optarg);
u_resolution.y = screen_resolution.y;
break;
case 'h':
fmt::println(
"fragviewer is a simple tool to play fragment shaders.\n"
"USAGE: fragviewer [-s sprite_name] -f shader.frag");
"USAGE: fragviewer [-x size_x -y size_y] [-s sprite_name] -f shader.frag");
return 0;
default:
fmt::println("USAGE: fragviewer [-s sprite_name] -f shader.frag");
fmt::println("USAGE: fragviewer [-x size_x -y size_y] [-s sprite_name] -f shader.frag");
return -1;
}
}
@ -61,16 +71,13 @@ int main(int argc, char *argv[]) {
dbc::check(frag_name != "", "You must set the -f shader.frag option.");
sf::Vector2f u_resolution{720.0, 720.0};
sf::RenderWindow window(sf::VideoMode({720, 720}), "SFML Frag Shader Viewer");
sf::RenderWindow window(sf::VideoMode(screen_resolution), "SFML Frag Shader Viewer");
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});

Loading…
Cancel
Save