web-dev-qa-db-fra.com

Qu'est-ce que Nux et à quoi sert-il?

Cette question mentionne qu'Unity utilisera nux comme boîte à outils.

Qu'est-ce que Nux?

53
Jorge Castro

Nux est une boîte à outils de widgets basée sur OpenGL et un canevas utilisé pour créer des interfaces utilisateur, similaires à GTK +. À un niveau élevé, nux est divisé en 3 bibliothèques.

  • NuxCore
  • NuxGraphics
  • Nux

NuxCore est responsable des éléments de base tels qu'un système de types, des fonctions mathématiques, des définitions de couleurs, etc. Il fournit essentiellement tous les types primitifs d'un système de widgets (couleur, rectangle, point). Très peu de logique est présente ici, il s'agit d'une bibliothèque de base.

NuxGraphics est une couche d'abstraction OpenGL mince. Il fournit des simplifications des modèles OpenGL courants (poussées et sauts de rectangles de découpage, modification des cibles de rendu, réglage de l'état, etc.), mais n'interdit pas directement aux utilisateurs de passer eux-mêmes des appels OpenGL bruts. NuxGraphics fournit des abstractions pour les textures et les données de chargement/déchargement.

Nux est une bibliothèque de widgets implémentée sur NuxCore et NuxGraphics. Nux contient un duplicata pour presque tous les principaux widgets de la pile GTK, ainsi que plusieurs widgets de composition (sélecteur de couleur, graphiques, vues 3D). Les widgets Nux ne sont pas encore au même niveau de complexité que les widgets GTK, ils ne disposent pas d'un rendu de texte avancé (en cours de correction) ni d'un support de thématisation clair.

Le rendu à l'intérieur de nux pourrait être décrit comme un "style de toile". Nux fournit à Painter la possibilité d'effectuer des primitives de dessin de base pouvant être utilisées en plus d'intégrer d'autres widgets. Ainsi, plutôt que d’incorporer un hbar pour créer une ligne horizontale, un auteur de widget peut, à son choix, utiliser le peintre pour dessiner directement la barre. Les images peuvent également être rendues de cette façon, plutôt que d'incorporer un widget supplémentaire simplement pour restituer une image statique non réactive. Cela n'exclut toutefois pas simplement l'intégration de widgets.

Dans Unity, nux est utilisé dans ce que nous appelons le "mode intégré". Nux fournit essentiellement une fonction permettant de se peindre dans un contexte étranger ouvert. Nous appelons la fonction Paint et Nux se bloque sur le backbuffer. Nous pouvons ensuite continuer à peindre dessus si nous le souhaitons (nous autorisons parfois Compiz à le faire). Il y a des fonctions fournies pour faire la gestion d'état opengl en mode intégré.

69
Jason Smith