Qu'est-ce que nux et à quoi ça sert?

53

Cette question mentionne que Unity utilisera nux en tant que boîte à outils.

Qu'est-ce que nux exactement?

    
posée Jorge Castro 21.12.2010 - 19:36
la source

1 réponse

69

Nux est un toolkit basé 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 d’éléments de base comme un système de caractères, des fonctions mathématiques, des définitions de couleurs, etc. Il fournit essentiellement tous les types de primitives pour un système de widget (couleur, rectangle, point). Très peu de logique est présente ici, c'est une bibliothèque fondamentale.

NuxGraphics est une fine couche d’abstraction OpenGL. Il simplifie les modèles OpenGL courants (pousser et découper des rectangles de découpage, modifier les cibles de rendu, définir l'état, etc.), mais n'interdit pas directement aux utilisateurs de faire 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 couleurs, graphiques, vues 3d). Les widgets Nux ne sont pas encore au même niveau de complexité que les widgets GTK, sans rendu de texte avancé (fixe) et prise en charge claire du thème.

Le rendu à l'intérieur de nux pourrait être décrit comme "style de toile". Nux fournit à un peintre des primitives de dessin de base qui peuvent être utilisées en plus de l'intégration 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 manière, au lieu d'incorporer un widget supplémentaire simplement pour rendre une image statique non réactive. Cela n'exclut cependant pas simplement l'intégration de widgets.

Dans Unity, nux est utilisé dans ce que nous appelons le "mode intégré". Essentiellement, nux fournit une fonction pour se peindre dans un contexte gl ouvert étranger. Nous appelons la fonction paint et nux se bloque sur le backbuffer. Nous pouvons alors continuer à peindre dessus si nous le désirons (parfois nous autorisons compiz à le faire). Il existe des fonctions permettant de gérer les états opengl en mode embarqué.

    
réponse donnée Jason Smith 21.12.2010 - 19:38
la source

Lire d'autres questions sur les étiquettes