checkuser
95
edits
Line 19: | Line 19: | ||
=== Le nouveau système de rendu 2D Canvas === | === Le nouveau système de rendu 2D Canvas === | ||
En juillet 2012, les développeurs de FlightGear | En juillet 2012, les développeurs de FlightGear ont accepté d'inclure le nouveau système de rendu 2D développé par Tom qui est géré par des propriétés et gère tout l'affichage 2D avec l'arbre des propriétés de FlightGear. Initialement, l'idée était de remplacé la bibliothèque graphique PLIB et d'utilisé uniquement Canvas, qui sera majoritairement implanté dans l'espace de script Nasal et simplement utilisé le système Canvas comme interface de rendu. Les détails de l'implantation sont couverts en détail sur le wiki: http://wiki.flightgear.org/Canvas_Widgets . Cette étape va permettre à l'utilisateur final de personnaliser facilement l'apparence et l'interface graphique de FlightGear en créant des thèmes graphiques personnalisés ou créer une nouvelle fenêtre en utilisant un éditeur de fichier SVG tel que Inkscape. | ||
Actuellement, il seulement possible de modifier l'affichage dans une fenêtre de dialogue existante, mais l'idée est d'implanter progressivement la fonctionnalité actuelle dans Nasal pour se débarrassé des fenêtres de dialogue | Actuellement, il seulement possible de modifier l'affichage dans une fenêtre de dialogue existante, mais l'idée est d'implanter progressivement la fonctionnalité actuelle dans Nasal pour se débarrassé des fenêtres de dialogue codées en dur. Seulement quelques lignes de codes seront nécessaires pour l'interaction souris/clavier avec Nasal. | ||
Contrairement à l'utilisation de fenêtre de dialogue | Contrairement à l'utilisation de fenêtre de dialogue codées en dur, cette approche donnera beaucoup plus de flexibilité et permettera de modifier et créer des fenêtres, sans toucher au code de FlightGear. | ||
Avec le système Canvas, n'importe quel type de fenêtre sera possible, même des sous-menus seront réalisables. Un autre avantage est que le système Canvas repose largement sur l'arbre des propriétés de FlightGear, qu'il est entièrement accessible depuis l'espace de script Nasal et il est configurable avec le format XML actuel. | Avec le système Canvas, n'importe quel type de fenêtre sera possible, même des sous-menus seront réalisables. Un autre avantage est que le système Canvas repose largement sur l'arbre des propriétés de FlightGear, qu'il est entièrement accessible depuis l'espace de script Nasal et il est configurable avec le format XML actuel. | ||
Le but de la fenêtre de démo de Canvas est de démontré | Le but de la fenêtre de démo de Canvas est de démontré à quel point le système Canvas est puissant et flexible. Il ne peut pas uniquement être utilisé pour les instruments d'appareils, mais aussi pour l'interface graphique, ce qui veut dire que le système peut unifier l'interface de rendu 2D en réduisant le code C++ requis pour faire ce genre de chose, ce qui permet à l'interface d'être gérée entièrement dans l'espace de script sans connaitre le C++, seulement des rudiments de Nasal. | ||
En adoptant le système Canvas, des tonnes de code C++ périmé pourra être envoyé à la poubelle et être remplacé par une seule implantation en C++ qui utilise du code C++/OSG moderne, ce qui veut dire qu'OSG peut faire plus d'hypothèse sur ce qui doit être rendu pour qu'il y ait plus d'optimisation, donc plus d'images par seconde en utilisant les protocoles d'OSG au lieu de vieille bibliothèque | En adoptant le système Canvas, des tonnes de code C++ périmé pourra être envoyé à la poubelle et être remplacé par une seule implantation en C++ qui utilise du code C++/OSG moderne, ce qui veut dire qu'OSG peut faire plus d'hypothèse sur ce qui doit être rendu pour qu'il y ait plus d'optimisation, donc plus d'images par seconde en utilisant les protocoles d'OSG au lieu de vieille bibliothèque qui n'est plus à jour. | ||
Ce qui est intéressant à propos de ce système, c'est qu'il est intégré d'une telle façon, qu'il va fonctionner avec l'ancien code d'interface graphique en place. En plus, toutes les fonctionnalités de l'interface actuelle sont supportées grâce à la façon dont il est intégré. Habituellement, | Ce qui est intéressant à propos de ce système, c'est qu'il est intégré d'une telle façon, qu'il va fonctionner avec l'ancien code d'interface graphique en place. En plus, toutes les fonctionnalités de l'interface actuelle sont supportées grâce à la façon dont il est intégré. Habituellement, c'est un vrai problème, car lors de l'intégration d'une nouvelle bibliothèque graphique avec les fenêtres de dialogue, tout doit être porté. Cependant, le système Canvas va nous donner cela sans effort, ce qui veut dire moins de code C++ donc plus facile à maintenir. | ||
De plus, quand la version autonome sera disponible, il sera possible de faire | De plus, quand la version d'autonome sera disponible, il sera possible de faire fonctionner l'interface en mode multi fenêtre et chaque fenêtre de façon indépendante. En utilisant le système Canvas pour les fenêtres de dialogue, il sera possible de rendre les instruments d'un avion, comme le HUD ou le MFD dans une fenêtre de dialogue. | ||
{{#ev:youtube|CIS8UyuJLgM}} | {{#ev:youtube|CIS8UyuJLgM}} |