Fr/FlightGear Newsletter July 2012: Difference between revisions

Jump to navigation Jump to search
m
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 on 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.
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 codé en dur. Seulement quelques lignes de codes seront nécessaires pour l'interaction souris/clavier avec Nasal.
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 codé 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.
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é a 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 unifié 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é entièrement dans l'espace de script sans connaitre le C++, seulement des rudiments de Nasal.
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 passer date.
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, cela 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.
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 fonctionné 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.
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}}
checkuser
95

edits

Navigation menu