Added a screen size parameters to the fragviewer.
This commit is contained in:
parent
576110ea44
commit
80b4faf940
1 changed files with 14 additions and 7 deletions
|
@ -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…
Add table
Add a link
Reference in a new issue