Bonjour.
Est-il possible de faire du remplissage de polygone avec cairo ?
Par exemple je dessine un cube en 2D isométrique avec cairo. Puis-je utiliser une texture quelconque pour remplir les côtés de ce cube comme le ferait OpenGl par exemple ?
Bonjour.
Est-il possible de faire du remplissage de polygone avec cairo ?
Par exemple je dessine un cube en 2D isométrique avec cairo. Puis-je utiliser une texture quelconque pour remplir les côtés de ce cube comme le ferait OpenGl par exemple ?
Utilisation de Glade avec Gtk+
Code::Blocks et Gtk+ sous Windows
Programmation orientée objet avec Gtk+ v3
- N'oubliez pas de consulter les FAQ Gtk et les cours et tutoriels Gtk
Oui, c'est assez bien expliqué dans ce tutoriel: http://www.dil.univ-mrs.fr/~regis/CM-CAIRO/index.html
Je ne suis pas sûr que j'y trouve mes petits.
Ce que je cherche à faire c'est du mapping de texture. La texture appliquée doit se déformée pour prendre toute la surface du polygone.
Histoire de bien illustrer mon propos je désire par rapport à l'image ci-dessous appliquée les textures A, B et C aux polygones correspondants. D'après le lien qu tu m'as donné il semblerait qu'il ne soit possible de travailler que sur des rectangles.
Suis-je dans l'erreur ?
Utilisation de Glade avec Gtk+
Code::Blocks et Gtk+ sous Windows
Programmation orientée objet avec Gtk+ v3
- N'oubliez pas de consulter les FAQ Gtk et les cours et tutoriels Gtk
Je pense que pour arriver à tes fins, il suffit de créer la face comme une image avec la surface texturée et d'appliquer seulement ensuite les transformations qui vont positionner cette image comme tu le souhaite.
Il y a ici un exemple d'image transformée: https://www.cairographics.org/samples/image/
PS: en revanche, je ne suis pas sûr que tu ne soit pas obligé de programmer toi-même les transformations prenant en compte les effets de perspective.
Heu, j'y connais rien à la 3d, mais à mon avis utiliser un framework de dessin 2d pour faire de la 3d, c'est tendre le bâton pour se faire battre. Tu vas devoir gérer différentes matrices de transformation pour chaque face, tu auras sans doute des erreurs de positionnement dû aux arrondis ou à l'alignement sur un pixel plutôt qu'un autre, et sans doute d'autres cas limite... Si tu ne veux pas te retrouver à gérer tout toi même, utilise un framework fait pour ça. Soit directement l'opengl intégré dans GTK via GtkGlArea ou peut être une API comme cogl.
Je lis pas mal de choses sur les transformées avec des matrices mais je ne trouve pas exactement ce que je veux.
Il y a quelques temps je me suis penché sur l'interpolation bilinéaire avec quelques succès. Je crois que je vais implémenter une petite routine adossée à cairo pour réaliser la chose.
Utilisation de Glade avec Gtk+
Code::Blocks et Gtk+ sous Windows
Programmation orientée objet avec Gtk+ v3
- N'oubliez pas de consulter les FAQ Gtk et les cours et tutoriels Gtk
Salut à tous,
D'après mes connaissance, Cairo ne permet pas de faire des transformation en perspective.
Je rejoins liberforce en te proposant une bibliothèque. BABL qui est utilisé par Gimp avec l'outil cage :
PS: J'avoue ne pas savoir comment l'utiliser.
Partager