Bienvenue, Invité. Merci de vous connecter ou de vous inscrire.
Avez-vous perdu votre e-mail d'activation ?

Auteur Sujet: [Résolu] Sprite / Texture pixelisé.  (Lu 2563 fois)

0 Membres et 1 Invité sur ce sujet

Boost

  • Newbie
  • *
  • Messages: 6
    • Voir le profil
[Résolu] Sprite / Texture pixelisé.
« le: Avril 09, 2014, 02:44:44 am »
Bonjour,

Je suis un grand débutant avec la SFML, j'ai décidé de mettre sur mon "application" un .png.

Celui ci :



Sauf que le rendu sur ma fenêtre c'est ça :



Pour ce qui est de mon code :

int                     menu()
{
    sf::Sprite          sprite;
    sf::Texture         image;
    std::string         path(FONTS);

    sf::ContextSettings settings;
    settings.antialiasingLevel = 8;

    sf::RenderWindow    window(sf::VideoMode(200, 400), "Menu Snake",
                                                   sf::Style::Default, settings);
   
    path.assign(IMAGES);
    path.append("snake_logo.png");
    if (!image.loadFromFile(path, sf::IntRect(0, 0, 128, 128)))
        return (printError(ERR_OPEN_IMG));
    image.setSmooth(true);
    sprite.setTexture(image);
    sprite.move(36, 10);

    window.clear(sf::Color::White);
    while (window.isOpen())
    {
        sf::Event event;
        if (window.pollEvent(event))
        {
            if (event.type == sf::Event::Closed)
                window.close();
            if (sf::Keyboard::isKeyPressed(sf::Keyboard::Escape))
                window.close();
        }
        window.draw(sprite);
        window.display();
    }
    return (0);
}

Je ne comprends pas pourquoi ça me fais ça.
J'ai même essayé avec le setSmooth(true), mais rien n'y fait.

Est-ce que quelqu'un sait pourquoi ?

Merci d'avance.
« Modifié: Avril 11, 2014, 12:19:14 am par Boost »

math1992

  • Jr. Member
  • **
  • Messages: 77
    • Voir le profil
    • E-mail
Re : Sprite / Texture pixelisé.
« Réponse #1 le: Avril 09, 2014, 03:05:23 am »
Il est où le
window.clear(sf::Color::White);
dans la boucle? Il faut l'appeler à chaque fois avant de dessiner sur la fenêtre.

Cependant, j'ignore si cela fera une différence.

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32498
    • Voir le profil
    • SFML's website
    • E-mail
Re : Sprite / Texture pixelisé.
« Réponse #2 le: Avril 09, 2014, 07:41:08 am »
Oui, ça fera une grosse différence : les pixels semi-transparents ne s'accumuleront plus à l'infini, et ne produiront plus ces bordures nettes.
Laurent Gomila - SFML developer

Boost

  • Newbie
  • *
  • Messages: 6
    • Voir le profil
Re : Sprite / Texture pixelisé.
« Réponse #3 le: Avril 09, 2014, 12:20:13 pm »
Il faut donc que je place le clear dans la boucle ?

Est-ce que ça ne vas pas trop ralentir mes taux d'affichage par seconde ?

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32498
    • Voir le profil
    • SFML's website
    • E-mail
Re : Sprite / Texture pixelisé.
« Réponse #4 le: Avril 09, 2014, 01:17:53 pm »
Non... c'est fait pour.

Merci de lire les tutoriels, et surtout les blocs rouges qui se trouvent dans ceux-ci.
Laurent Gomila - SFML developer

Boost

  • Newbie
  • *
  • Messages: 6
    • Voir le profil
Re : Sprite / Texture pixelisé.
« Réponse #5 le: Avril 09, 2014, 09:50:10 pm »
Très bien merci.