vendredi 13 janvier 2017

Tutoriel Linux vkcpp : Partie 1

Salutations,

Je vais vous présenter petit à petit Vulkan et ses fonctionnalités. Tout se fera dans le langage c++, aussi je vais utiliser la librairie vkcpp qui n'est rien d'autre qu'un binding de la librairie pour le langage c.


On peut voir Vulkan comme étant une évolution d'OpenGL avec quelques caractéristiques supplémentaires intéressentes. Par exemple, Vulkan est orienté multithreading, ce qui va faciliter la tâche du CPU mais pas celle du programmeur. Vulkan est plus proche du GPU, ce qui va permettre de réaliser des choses encore plus fantastique qu'avec OpenGL mais au prix d'une programmation plus longue et plus fastidieuse avec un plus grand risque de faire une mauvaise manipulation, et de risquer de planter l'ordinateur...

Mais, bon, ..., si vous êtes ici, c'est que vous savez certainement déjà tout cela... Donc, nous allons rentrer dans le vif du sujet.

Même si Vulkan est capable de travailler ailleurs que sur une fenêtre, ici je ne m'intéresserai qu'à un seul cas particulier: Une fenêtre sous X-org créé via la librairie gtkmm3, le tout dans une distribution Archlinux. Cette distribution a l'avantage de suivre de suffisamment près les nombreuses librairies que l'on peut trouver dans un environnement GNU/Linux. C'est donc un bon système pour un développeur.

Tout cela pour dire que la première chose à laquelle nous allons nous intéresser sera la création d'une telle fenêtre. Il existe pour cela de nombreuse librairie portable comme sdl, glfw, et j'en passe bien d'autre, mais cela ne m'intéresse pas. De plus en plus, je considère que si je n'ai plus d'os payant, je ne vois pas pourquoi je devrais continuer à programmer quelque chose qui soit compatible avec ces fameux os...

Donc après avoir créé un nouveau projet dans votre IDE préféré, je vous invite à y ajouter la librairie gérant gtkmm3. Personnellement, je fais ça à l'aide de pkg-config. Ce programme récupère les paramètres à passer au compilateur et au linker. De plus, il est reconnu par la plupart des IDEs sous GNU/Linux ainsi que par les autotools.

Si vous ne connaissez pas gtkmm3, je vous propose d'aller voir cette documentation, mais ne vous en faites pas, moi aussi je commence dès le début, et je vais donc expliquer ce que je fais avec gtkmm3.

Comme je l'ai dis en première ligne, tout se fait en c++, ca tombe bien, gtkmm, c'est justement la version c++ du bien connu gtk+.

Je ne suis pas superman. Je n'ai pas la prétention de réinventer la roue. Je suis comme vous... je veux apprendre de nouvelles choses et qui m'intéresse... Donc on va faire un maximum de chose le plus simplement possible. Etant donné que je n'ai pas l'intention de dessiner une interface utilisateur, je n'aurai pas besoin de grand chose. Une fenêtre avec une barre de titre, ou pas, suivant votre gestionnaire de fenêtre. Un bouton ou bien un raccourci clavier pour fermer la fenêtre. C'est à peu de chose près, terminé pour la partie gtk. Bref, ça va aller vite! Après, ce sera Vulkan qui s'occupera du reste, du moins, dans un premier temps.

J'en ai fini pour le moment, je n'aime pas trop le blabla mais il fallait bien passer par là.

A bientôt pour la suite où je vais vous expliquer comment créer la fenêtre qui nous intéresse. Visiblement, plusieurs possibilités vont s'offrir à nous. Je ne prendrai peut être pas la plus facile, mais très certainement celle qui me paraîtra la plus pratique.

Ali Bébert.

Aucun commentaire:

Enregistrer un commentaire

N'hésitez pas à laisser un commentaire, de plus les Backlink sont activés ;)