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

Auteur Sujet: [Résolus][SFML 2.0] RenderStates Manquant?  (Lu 4362 fois)

0 Membres et 1 Invité sur ce sujet

Raitosan

  • Full Member
  • ***
  • Messages: 221
    • Voir le profil
    • E-mail
[Résolus][SFML 2.0] RenderStates Manquant?
« le: Avril 13, 2012, 06:10:12 pm »
Bonjour,

J'ai un problème avec les shaders qui m'empêchent de programmer ce que je veux(je suis obliger de passer par d'autres méthodes très lourdes et pas franchement efficaces...)

J'ai vu qu'avec la SFML 2.0 il fallait déclarer et charger notre shader puis l'envoyer à un RenderStates pour pouvoir l'afficher.
Or, je n'ai pas de RenderStates O_o Je ne peux pas non plus inclure l'entête car elle n'existe apparemment pas...

Ce simple code ne fonctionne donc pas:
sf::Shader sh;
sh.LoadFromFile("noirblanc.sfx");
sf::RenderStates r;
r.Shader = &sh;

Est-ce que ça a changer entre temps?
J'ai compiler la SFML 2.0 en mode débug et statique.(je n'ai pas d'autres problèmes que celui là)

Merci d'avance!
« Modifié: Avril 14, 2012, 12:58:41 pm par Raitosan »

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32504
    • Voir le profil
    • SFML's website
    • E-mail
Re : [SFML 2.0] RenderStates Manquant?
« Réponse #1 le: Avril 13, 2012, 06:13:52 pm »
La convention de nommage a changé, c'est maintenant du lowerCamelCase.

Et la prochaine fois, pense à donner le message d'erreur exact ;)

Et n'hésite pas à utiliser les raccourcis prévus :
window.draw(sprite, &sh);
Laurent Gomila - SFML developer

Raitosan

  • Full Member
  • ***
  • Messages: 221
    • Voir le profil
    • E-mail
Re : [SFML 2.0] RenderStates Manquant?
« Réponse #2 le: Avril 13, 2012, 06:17:45 pm »
Problème avec le header:
Citer
C:\Users\Raitosan\Documents\Programmation\Zeforiu-Editeur\src\Editeur.cpp|5|fatal error: SFML/RenderStates.hpp: No such file or directory|

#include <SFML/Graphics.hpp>
#include <SFML/Audio.hpp>
#include <SFML/RenderStates.hpp>

Citer
C:\Users\Raitosan\Documents\Programmation\Zeforiu-Editeur\src\Editeur.cpp|288|error: 'renderstates' is not a member of 'sf'|

sf::Shader sh;
sh.LoadFromFile("noirblanc.sfx");
sf::renderstates r;
r.Shader = &sh;

Koryushin

  • Jr. Member
  • **
  • Messages: 93
    • Voir le profil
Re : [SFML 2.0] RenderStates Manquant?
« Réponse #3 le: Avril 13, 2012, 06:22:02 pm »
RenderStates.hpp fait parti de Graphics donc tu peux l'inclure en faisant #include <SFML/Graphics.hpp>
ou <SFML/Graphics/RenderStates.hpp>

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32504
    • Voir le profil
    • SFML's website
    • E-mail
Re : [SFML 2.0] RenderStates Manquant?
« Réponse #4 le: Avril 13, 2012, 06:24:14 pm »
Faut pas essayer d'inventer des trucs. Tu n'as jamais inclus <SFML/LaClasse.hpp>, et bien aucune raison pour que ça change maintenant.
Laurent Gomila - SFML developer

Raitosan

  • Full Member
  • ***
  • Messages: 221
    • Voir le profil
    • E-mail
Re : [SFML 2.0] RenderStates Manquant?
« Réponse #5 le: Avril 13, 2012, 06:28:58 pm »
C'est pas que j'invente des trucs, c'est que j'essaye un peu tout... J'ai essayer avec SFML/Graphic/RenderStates.hpp et SFML/Graphics/RenderStates.hpp mais:

Citer
C:\Users\Raitosan\Documents\Programmation\Zeforiu-Editeur\src\Editeur.cpp|4|fatal error: SFML/Graphics/RenderStates.hpp: No such file or directory|

J'ai télécharger la dernière release de la SFML 2.0 ici: https://github.com/SFML/SFML

J'ai compiler en Static et debug et static et release et j'ai toujours ce problème.

J'ai regarder Graphics.hpp:

#include <SFML/Window.hpp>
#include <SFML/Graphics/Color.hpp>
#include <SFML/Graphics/Font.hpp>
#include <SFML/Graphics/Glyph.hpp>
#include <SFML/Graphics/Image.hpp>
#include <SFML/Graphics/Renderer.hpp>
#include <SFML/Graphics/RenderTexture.hpp>
#include <SFML/Graphics/RenderWindow.hpp>
#include <SFML/Graphics/Shader.hpp>
#include <SFML/Graphics/Shape.hpp>
#include <SFML/Graphics/Sprite.hpp>
#include <SFML/Graphics/Text.hpp>
#include <SFML/Graphics/Texture.hpp>
#include <SFML/Graphics/View.hpp>

Pas de RenderStates :/
Et là je me demande si ça a vraiment recompiler. J'ai utiliser CMake(en suivant le tutoriel) et j'ai ensuite compiler avec mingw32-make(sans erreur).

Il faut supprimer l'ancien dossier de la SFML avant de recompiler la librairie?

Voici une capture d'écran montrant la compilation:


J'ai renommer le dossier SFML dans C:\Program Files (x86) en SFML2 et j'ai ensuite clear le cache sur CMake et j'ai tout recompiler. On vois très bien dans la console que le dossier est ailleurs, surtout quand on vas dans C:\Program Files (x86) et qu'on remarquer que aucun dossier SFML s'est créer >_>

Donc là je ne comprend pas, apparement le problème viens de la compilation.
« Modifié: Avril 13, 2012, 07:09:14 pm par Raitosan »

gaulois94

  • Sr. Member
  • ****
  • Messages: 259
    • Voir le profil
Re : [SFML 2.0] RenderStates Manquant?
« Réponse #6 le: Avril 13, 2012, 07:10:16 pm »
Pourquoi ne fait tu pas une recherche dans ton dossier include de la SFML pour voir si tu trouve ton fichier ? C'est mieux que de tapper à l'aveugle :p

Raitosan

  • Full Member
  • ***
  • Messages: 221
    • Voir le profil
    • E-mail
Re : [SFML 2.0] RenderStates Manquant?
« Réponse #7 le: Avril 13, 2012, 07:13:42 pm »
Fait, j'ai éditer mon poste au fait.

gaulois94

  • Sr. Member
  • ****
  • Messages: 259
    • Voir le profil
Re : [SFML 2.0] RenderStates Manquant?
« Réponse #8 le: Avril 13, 2012, 07:16:10 pm »
Plusieurs points déjà :

RenderStates.hpp est bien disponible dans les include (je les trouvé dans le lien git).
Pour ce qui est de ton cmake, met comme point de compilation un nouveau répertoire (là où tu va pouvoir compiler ton projet). Sa sera beaucoup mieux comme sa.

Sinon, ta configuration avec cmake est correcte. Reclick sur configure puis ensuite sur generate. Voila, j'espère que tu va t'amuser :) .

Orwel

  • Full Member
  • ***
  • Messages: 208
    • Voir le profil
Re : [SFML 2.0] RenderStates Manquant?
« Réponse #9 le: Avril 13, 2012, 07:27:03 pm »
Solution qui devrait marcher :

-Supprime le depot SFML qui est sur ton PC
-Reclone le dépot
-Réinstalle

Si le RenderState n'est pas dans Graphic.hpp, certainement une ancienne version. Je confirme qui est présent normalement dans le fichier. Regarde directement sur le dépot git  ;)

Raitosan

  • Full Member
  • ***
  • Messages: 221
    • Voir le profil
    • E-mail
Re : [SFML 2.0] RenderStates Manquant?
« Réponse #10 le: Avril 13, 2012, 07:36:17 pm »
@Orwel
C'est ce que j'ai fais, ça se compile et tout nickel, mais ça ne s'install pas dans C:/Program Files (x86)/SFML alors que c'est ce qui est spécifier dans CMake :/
Et je ne sais pas du tout où s'install la SFML du coup...

Edit: Après un redémarrage de l'ordinateur, ça a fonctionner... Je vais devoir maintenant tout modifier, je vous dis ensuite si mon problème est résolu ;)

ça passe!

Merci à vous tous pour votre aide :)
« Modifié: Avril 13, 2012, 08:19:06 pm par Raitosan »

 

anything