Voici une série de tuto sur la plus part des class de la librairie, il décrive le rôle de chaque class mais ne donne pas tous les détails.
La documentation elle pourra répondre à toutes vos questions.
Tous les getters de la librairie sont marqués comme const.
Premier programme hello world avec Bbop, affichage d'un rectangle blanc.
Initialisation de la librairie avec une fenêtre glfw.
Mise en place d'une Scene pour afficher notre premier rectangle.
Creation d'un rectangle.
Exemple dans une boucle d'affichage avec une fenêtre glfw.
Toutes les formes géométriques hérites de la class mère Shape, elles ont donc en commun la plus part de leurs attributs mais les utilisent de différente manières.
Ces attributs sont tous accessible avec des getters et setters.
Attributs communs.
Toutes les Shape hérites de BbopDrawable, qui est la class mère de tous les objets dessinables de la librairie.
Le rectangle est la forme la plus simple de la librairie et possède les attributs suivant.
Tous les attributs de la Shape sont utilisés de manière trivial !
todo
todo
todo
Le Sprite est basiquement un rectangle avec une Texture.
Elle stock cette texture avec un pointeur et le setter associé.
Une des grosse différente avec le RectangleShape est que le Sprite gère Vector3i Color
comme un filtre de couleur sur la texture.
Ce filtre peut-être activé avec getter et setter.
todo
La Scene est l'une des class principale de la librairie, elle sert à afficher les BbopDrawable et configurer le rendue de la lumière.
La Scene possède des attributs pour paramètrer la lumière ambiant.
La Scene possède aussi un pointeur vers une camera pour déterminer le point de vue avec le quel afficher les BbopDrawable.
On peut donc utiliser une camera personnalisé pour afficher des éléments dans notre Scene.
Pour déssiner sur une Scene lors d'une frame il faut d'abord "l'utiliser" pour transmettre les infos de la Scene au GPU.
Après cela on peut dessiner des BbopDrawable.
Voici un exemple du pipeline complet de rendue avec une Scene.
La methode render()
supprime le vecteur de lumière de la scene, il ne faut donc pas oublier d'ajouter les lumières à chaque frames.
todo
todo
todo
todo
todo
todo