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

Auteur Sujet: RenderTexture et antialiaising, aux nouvelles?  (Lu 7143 fois)

0 Membres et 1 Invité sur ce sujet

kryx

  • Jr. Member
  • **
  • Messages: 67
    • Voir le profil
RenderTexture et antialiaising, aux nouvelles?
« le: Mai 09, 2014, 05:54:40 pm »
Hello,

Je viens demander si l'antialiaising est enfin implémenté pour les renderTexture.
J'ai trouvé des postes de 2011 indiquant que cela allait être fait prochainement, mais je n'arrive pas à dessiner de beaux cercles^^
Vu que je travaille en jsfml (futur portage sur android), peut-être que la fonctionnalité n'a pas été implémentée en java?
Merci en tout cas de votre réponse, je suis toutefois étonné de ce retard pour l'antialiaising, qui permet de faire de belles applications...
Sinon je serai obligé de passer par la RenderWindow, mais ca va me demander de modifier tout mon code :/
« Modifié: Mai 09, 2014, 05:59:38 pm par kryx »

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32498
    • Voir le profil
    • SFML's website
    • E-mail
Re : RenderTexture et antialiaising, aux nouvelles?
« Réponse #1 le: Mai 09, 2014, 06:24:51 pm »
Non, il n'y a toujours aucun moyen d'activer l'antialiasing sur les sf::RenderTexture.
Laurent Gomila - SFML developer

kryx

  • Jr. Member
  • **
  • Messages: 67
    • Voir le profil
Re : RenderTexture et antialiaising, aux nouvelles?
« Réponse #2 le: Mai 09, 2014, 06:39:51 pm »
Ok, merci beaucoup.
Dois-je passer réellement par la renderWindow ou existerait-il un moyen de la simuler pour des rectangles et des cercles?
SI il faut je suis pret à recompiler le code source, est-ce faisable et que faudrait-il changer ?
Je suis vraiment étonné que cette fonctionnalité n'ait pas encore été implémentée. Passer par des RenderTextures pour les différents éléments graphiques est-elle une mauvaise technique?
« Modifié: Mai 09, 2014, 07:53:44 pm par kryx »

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32498
    • Voir le profil
    • SFML's website
    • E-mail
Re : RenderTexture et antialiaising, aux nouvelles?
« Réponse #3 le: Mai 09, 2014, 08:19:16 pm »
Non, c'est juste que personne n'a encore eu le temps de s'en occuper, mais c'est clair que ce sera implémenté un jour ou l'autre ;)

Est-ce qu'activer le filtrage (setSmooth(true)) sur la render-texture ne suffirait pas ? En baissant sa taille puis en l'affichant plus grande, si nécessaire.
Laurent Gomila - SFML developer

kryx

  • Jr. Member
  • **
  • Messages: 67
    • Voir le profil
Re : RenderTexture et antialiaising, aux nouvelles?
« Réponse #4 le: Mai 10, 2014, 01:58:03 pm »
j'ai deja tenté le setsmooth, malheureusement sans effet... Par diminuer et augmenter la taille vous entendez un setScale? Cela ne risque-t-il pas d'impacter les performance de faire 120 redimensionnement par seconde? De plus, j'ai besoin de beaucoup de précision sur le dessin... Je suis aussi tombé sur un topic ou vous aviez repondu qu'il suffisait de changer une ligne pour l'activer sur les rendertexture en dedinissant un contextsettings pour celle ci. J'ai deja telecharge les sources de la jsfml. Serait-il possible d'avoir une indication sur le changement a faire?

Si ce n'est pas possible, est-il possible d'acceder aux pixels de la rendertexture afin de dessiner manuellement l'antialiaising? Un grand merci pour votre reponse

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32498
    • Voir le profil
    • SFML's website
    • E-mail
Re : RenderTexture et antialiaising, aux nouvelles?
« Réponse #5 le: Mai 10, 2014, 02:16:39 pm »
Citer
Par diminuer et augmenter la taille vous entendez un setScale? Cela ne risque-t-il pas d'impacter les performance de faire 120 redimensionnement par seconde?
Non, c'est gratuit. De toute façon le but n'est pas de faire ça 120 fois par secondes, c'est plutôt de sous-dimensionner ta render-texture puis de l'afficher à la taille voulue (plus grande). Mais si tu as besoin d'un maximum de détail, ce n'est pas une bonne solution.

Citer
Serait-il possible d'avoir une indication sur le changement a faire?
Ca fait un moment que je n'ai pas mis le nez dans cette partie du code, il faudrait que j'ai le temps de jeter un oeil.

Citer
Si ce n'est pas possible, est-il possible d'acceder aux pixels de la rendertexture afin de dessiner manuellement l'antialiaising?
A mon avis tu peux oublier tout de suite ;)
Laurent Gomila - SFML developer

kryx

  • Jr. Member
  • **
  • Messages: 67
    • Voir le profil
Re : RenderTexture et antialiaising, aux nouvelles?
« Réponse #6 le: Mai 10, 2014, 03:19:09 pm »
je suis tombé sur ces liens ci:

https://github.com/SFML/SFML/issues/36

Et surtout:
http://en.sfml-dev.org/forum/index.php?topic=3622.0 (le lien ne semble pas marcher mais je suis sur mon gsm et j'ai du faire un erreur en recopiant)
Cette correction est-elle toujours valable?

Edit: http://en.sfml-dev.org/forums/index.php?topic=3622.0 lien correct
« Modifié: Mai 10, 2014, 10:50:56 pm par kryx »

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32498
    • Voir le profil
    • SFML's website
    • E-mail
Re : RenderTexture et antialiaising, aux nouvelles?
« Réponse #7 le: Mai 11, 2014, 09:48:17 am »
Oui ça devrait marcher, a priori.
Laurent Gomila - SFML developer

kryx

  • Jr. Member
  • **
  • Messages: 67
    • Voir le profil
Re : RenderTexture et antialiaising, aux nouvelles?
« Réponse #8 le: Mai 11, 2014, 11:12:18 am »
magnifique. Merci beaucoup! Je change et je recompile ca des que je le peux... Je vous tiens au courant des resultats

kryx

  • Jr. Member
  • **
  • Messages: 67
    • Voir le profil
Re : RenderTexture et antialiaising, aux nouvelles?
« Réponse #9 le: Mai 11, 2014, 09:04:39 pm »
Hum, j'ai tout recompilé comme il faut (du moins je le pense), mais le fichier jar final ne pese que 90 Ko au lieu des 5.8 Mo de l'original :/
Une idée peut-être de ce qui ne va pas?

Pour aiguiller: j'ai repris les sources de la SFML, que j'ai recompilé après le changement pour l'antialiaising.
Ensuite, apres avoir installé ant et setté mes variables d'envirronement, j'ai recompilé le fichier jar après avoir remplacé les nouveaux lib c++
et la, paf: 90Ko
Je n'ai eu aucun messages d'erreurs

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32498
    • Voir le profil
    • SFML's website
    • E-mail
Re : RenderTexture et antialiaising, aux nouvelles?
« Réponse #10 le: Mai 11, 2014, 09:16:20 pm »
Aucune idée, désolé.
Laurent Gomila - SFML developer

kryx

  • Jr. Member
  • **
  • Messages: 67
    • Voir le profil
Re : RenderTexture et antialiaising, aux nouvelles?
« Réponse #11 le: Mai 12, 2014, 11:04:09 am »
Il y aurait moyen d'avoir le code source de la sfml en 2.1, sans les changements qui viennent par après? Car à cause de ceux-ci, j'ai des soucis de compatibilité avec les méthodes java :/

Edit: c'est bon, je les ai
« Modifié: Mai 12, 2014, 11:19:39 am par kryx »

kryx

  • Jr. Member
  • **
  • Messages: 67
    • Voir le profil
Re : RenderTexture et antialiaising, aux nouvelles?
« Réponse #12 le: Mai 12, 2014, 12:20:57 pm »
hum, tout est compilé et tout fonctionne, mais ca ne fait pas encore ce que j'aimerais... Comment puis-je passer de ceci:



a ceci:


Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32498
    • Voir le profil
    • SFML's website
    • E-mail
Re : RenderTexture et antialiaising, aux nouvelles?
« Réponse #13 le: Mai 12, 2014, 12:50:18 pm »
C'est le résultat de ton application ça ? Tu dessines quoi, une polyligne ?

Est-ce que tu es sûr que c'est uniquement l'implémentation de sf::RenderTexture qui est en cause (i.e. est-ce que tu as testé l'antialiasing en dessinant directement sur un sf::RenderWindow) ?
Laurent Gomila - SFML developer

kryx

  • Jr. Member
  • **
  • Messages: 67
    • Voir le profil
Re : RenderTexture et antialiaising, aux nouvelles?
« Réponse #14 le: Mai 12, 2014, 12:56:11 pm »
Oui. le premier jet est l'antialiaising des rendertextures que j'ai modifiée, et la seconde vient d'une appli qui n'est pas à moi, mais qui montre ce a quoi j'aimerai arriver

Edit: en fait, sur la render Window ca marche comme en bleu... Ma modification n'aurait donc pas effet en fait?
j'ai placé ceci: myContext = new Context(ContextSettings(0,0, 8,2,0 ), 1, 1);

Le fichier que j'ai modifié s'appelle RenderTextureImplFBO.cpp et non src/SFML/Graphics/RenderImageImplFBO.cpp

Je suis certain que mes changements font effet, car placer un return false au début de cette méthode create fait planter toutes mes créations de textures. Donc la compilation se passe bien, c'est un souci de code probablement. Je me serais trompé dans le contextSettings?
« Modifié: Mai 12, 2014, 04:06:25 pm par kryx »