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

Auteur Sujet: Problème de tearing avec sfRenderTexture_getTexture [Résolu]  (Lu 1784 fois)

0 Membres et 1 Invité sur ce sujet

retro-bruno

  • Newbie
  • *
  • Messages: 20
    • Voir le profil
    • Mes freewares
Problème de tearing avec sfRenderTexture_getTexture [Résolu]
« le: Novembre 04, 2014, 08:21:08 pm »
Bonsoir à tous,

Je rencontre un problème de tearing avec sfRenderTexture_getTexture. Existe t'il un moyen de contourner ce bug ?

Voici mon code :

void scrolldown() {
    sfVector2f pos;
    pos.x = 0;
    pos.y = 16;
    scrolltex = sfRenderTexture_getTexture(ecran);
    sfSprite * tempspr = sfSprite_create();
    sfSprite_setTexture(tempspr,scrolltex,sfTrue);
    sfSprite_setPosition(tempspr,pos);
    sfRenderTexture_drawSprite(ecran,tempspr,NULL);
    sfSprite_destroy(tempspr);
    sfVector2f vect1;
    sfVector2f vect2;
    vect1.x = 0;
    vect1.y = 0;
    vect2.x = 639;
    vect2.y = 15;
    sfRectangleShape * rectangle = sfRectangleShape_create();
    sfRectangleShape_setPosition(rectangle,vect1);
    sfRectangleShape_setSize(rectangle,vect2);
    sfRectangleShape_setFillColor(rectangle,PAPER);
    sfRenderTexture_drawRectangleShape(ecran,rectangle,NULL);
}
 

Et voici deux screenshots, un avant application de mon scrolling et un après :





Ps : Je ne crois pas pouvoir faire un usage des views pour faire mon scrolling, à moins que quelqu'un ait une idée ? Mon programme est un intepréteur BASIC qui fonctionne un peu comme l'Amstrad CPC pour les scrolling avec les flêches du clavier.
S'il existe la possibilité de copier une view dans une rendertexture, texture, un sprite, une image, je suis preneur...
« Modifié: Novembre 04, 2014, 11:01:02 pm par DjPoke »
Fraternité - Equité - Liberté

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32498
    • Voir le profil
    • SFML's website
    • E-mail
Re : Problème de tearing avec sfRenderTexture_getTexture
« Réponse #1 le: Novembre 04, 2014, 10:37:58 pm »
Tu dessines une texture sur elle-même, c'est un comportement indéfini.

Pourquoi est-ce que tu ne peux pas utiliser une vue ?
Laurent Gomila - SFML developer

retro-bruno

  • Newbie
  • *
  • Messages: 20
    • Voir le profil
    • Mes freewares
Re : Problème de tearing avec sfRenderTexture_getTexture
« Réponse #2 le: Novembre 04, 2014, 10:45:19 pm »
il faut que je puisse faire un scrolling de taille très importante :
Si je tape la commande "LIST", et que j'ai un programme rempli au maximum, cela fait 65535 * 8 pixels de haut = 524280 pixels de haut !!

Par contre, s'il y a moyen de faire quelque chose avec une view pour pallier à ce problème, je veux bien l'entendre.

EDIT: Merci beaucoup, c'était ça ! Il suffisait donc de dupliquer la texture et d'assigner sa copie au sprite pour réécrire.  :)
« Modifié: Novembre 04, 2014, 11:01:56 pm par DjPoke »
Fraternité - Equité - Liberté