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

Auteur Sujet: Notions de création de fenêtre à bas niveau  (Lu 4483 fois)

0 Membres et 1 Invité sur ce sujet

Aluriak

  • Newbie
  • *
  • Messages: 10
    • Voir le profil
Notions de création de fenêtre à bas niveau
« le: Juin 19, 2012, 07:16:35 pm »
Bonjour !

C'est peut-être décalé de demander ce genre de conseil ici, bien qu'à priori je vois mal où faire cela.

Pour aller droit au but :
j'ai pas envie de glander, à faire des choses sans rien apprendre. J'utilise la SFML pour un projet perso bien avancé (simulation gravitationnelle), et j'aimerais savoir "refaire" (notez les guillemets) une bibliothèque telle que la SFML. En sachant que mon objectif n'est pas d'égaler/concurrencer/recoder la SFML, ni même de faire un projet personnel lié à cela. Ce ne serait que perte de temps. Je veux juste savoir comment ça tourne à l'intérieur, pour savoir ce qui se passe réellement quand je compile et exécute l'instruction d'instanciation d'une RenderWindow, d'un Sprite,...
En fait, je stresse de plus en plus à l'idée de ne pas savoir ce que fait mon PC. Faire un projet sympa avec une bonne lib, c'est cool. Faire le projet en sachant pourquoi et comment la lib marche, c'est vachement mieux.

Donc, ma demande est fort simple : par où commencer pour apprendre, sachant que je maîtrise bien les bases du c et du cpp, je comprend assez bien les notions plus avancées (concepts composant la POO, natamment), et que j'aime l'assembleur ? (sans avoir assez d'idée de programme à faire avec pour pouvoir maintenir mon niveau dans ce langage, qui, je le pense, est précurseur dans la création d'une lib telle que la SFML)

Je vous remercie d'avance pour vos réponses.
Et si d'aventure mon projet vous intéressais, je suis prêt à nourrir le canal dédié !

Bonne journée !

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32504
    • Voir le profil
    • SFML's website
    • E-mail
Re : Notions de création de fenêtre à bas niveau
« Réponse #1 le: Juin 19, 2012, 08:22:47 pm »
Par où commencer ? Par le code source de SFML pardi ;)

Contrairement à bon nombre de bibliothèques similaires, les sources de SFML sont suffisamment simples et bien commentées pour que tu ne t'y perdes pas.

N'hésite pas non plus à recouper certaines choses avec SDL ou Qt (mes références perso pour les parties bas niveau spécifiques à l'OS), ça peut aider à y voir plus clair sur certains points obscurs.
Laurent Gomila - SFML developer

Aluriak

  • Newbie
  • *
  • Messages: 10
    • Voir le profil
Re : Re : Notions de création de fenêtre à bas niveau
« Réponse #2 le: Juin 19, 2012, 08:42:45 pm »
Ça me paraît logique, au point de me demander pourquoi j'ai posé la question.

Je ne trouve pas les headers pour la majorité des classes, telles que RenderWindow. En fait, les .hpp sont en large sous-nombre par rapport aux .cpp.
J'imagine que les classes sont divisées en headers + plusieurs sources, mais je ne trouve pas beaucoup d'entre elles. EN fait, j'ai l'impression de ne pas trouver le fondement même, juste l'interfaçage utilisateur ><

Hiura

  • SFML Team
  • Hero Member
  • *****
  • Messages: 4321
    • Voir le profil
    • E-mail
Re : Notions de création de fenêtre à bas niveau
« Réponse #3 le: Juin 19, 2012, 09:37:52 pm »
Les sources sont disponibles sur github : https://github.com/SFML/SFML . Tu as le dossier "include" qui contient les déclarations des classes/fonctions pour l'utilisateur final. Dans le dossier "src" tu as tout ce qui est implémentation de SFML. C'est dans ce deuxième dossier que tu vas trouver les choses les plus intéressantes.

Si tu te paumes à te balader de include à src et vice-versa pour parcourir les sources, tu peux fusionner les deux dossiers.  ;)
SFML / OS X developer

Aluriak

  • Newbie
  • *
  • Messages: 10
    • Voir le profil
Re : Re : Notions de création de fenêtre à bas niveau
« Réponse #4 le: Juin 19, 2012, 10:30:11 pm »
Si tu te paumes à te balader de include à src et vice-versa pour parcourir les sources, tu peux fusionner les deux dossiers.  ;)
Idée judicieuse !
Merci des précisions !

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32504
    • Voir le profil
    • SFML's website
    • E-mail
Re : Notions de création de fenêtre à bas niveau
« Réponse #5 le: Juin 19, 2012, 10:47:42 pm »
Tu peux aussi te générer un projet pour ton EDI préféré avec CMake, ce sera encore plus facile.
Laurent Gomila - SFML developer

Aluriak

  • Newbie
  • *
  • Messages: 10
    • Voir le profil
Re : Notions de création de fenêtre à bas niveau
« Réponse #6 le: Juin 20, 2012, 10:07:16 am »
Tu peux aussi te générer un projet pour ton EDI préféré avec CMake, ce sera encore plus facile.
Je ne connaissait pas du tout CMake, bien qu'il paraissait évident qu'il agissais comme une aide à la compilation/ouverture de projet. Visiblement, un outils bien puissant que je regarderais de plus près !
Cependant, comme je code avec vim exclusivement et des batteries de Makefile, je n'ai, pour des projets comme les miens ou de la lecture de fichiers, a priori pas encore besoin d'un cmake.

Question d'ordre esthétique : Un utilitaire à été utilisé pour générer les commentaires dans des boites de "/", ou tout est fait à la main ?

Je ne connaissait pas les fichiers inl ! (ils sont optimisés à la compilation/exécution, ou c'est juste pour simplifier la lecture ?)
« Modifié: Juin 20, 2012, 10:13:42 am par Aluriak »

Hiura

  • SFML Team
  • Hero Member
  • *****
  • Messages: 4321
    • Voir le profil
    • E-mail
Re : Notions de création de fenêtre à bas niveau
« Réponse #7 le: Juin 20, 2012, 10:44:10 am »
Pour les inl, c'est comme les tpp dans cet article. Bien pratique pour l'organisation du code mais c'est tout. Pas de magie là derrière.  ;)

Concernant les boites de /, ceux que j'ai tapées dans la partie OS X sont faites à la main (Xcode n'a pas d'outil pour ça, mais je suis sûr que vim peut en avoir). Après, je ne sais pas si Laurent a un outil sous Windows pour ça.
SFML / OS X developer

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32504
    • Voir le profil
    • SFML's website
    • E-mail
Re : Notions de création de fenêtre à bas niveau
« Réponse #8 le: Juin 20, 2012, 01:02:39 pm »
Pour les boîtes de commentaires, un bon vieux copier-coller me suffit largement.
Laurent Gomila - SFML developer

Aluriak

  • Newbie
  • *
  • Messages: 10
    • Voir le profil
Re : Notions de création de fenêtre à bas niveau
« Réponse #9 le: Juin 20, 2012, 01:12:02 pm »
Les boites de "/" sont nombreuses : ce genre de présentation est, je trouve, très lourde à faire. (après, cela doit aussi dépendre de l'éditeur) D'où ma question.

Je crois que moi aussi, je vais mettre à faire des fichiers du style de inl ou tpp. Ce bonnes idées, elles peuvent facilement rendre très lisible un code :)