Co to jest nux i do czego służy?

53

To pytanie wspomina, że ​​Unity użyje Nux jako zestawu narzędzi.

Czym dokładnie jest nux?

Jorge Castro
źródło

Odpowiedzi:

69

Nux to oparty na OpenGL zestaw narzędzi i płótna do tworzenia interfejsów użytkownika, podobny do GTK +. Na wysokim poziomie, Nux jest podzielony na 3 biblioteki.

  • NuxCore
  • NuxGraphics
  • Nux

NuxCore odpowiada za podstawowe rzeczy, takie jak system typów, funkcje matematyczne, definicje kolorów itp. Zasadniczo zapewnia wszystkie podstawowe typy systemu widgetów (kolor, prostokąt, punkt). Jest tu bardzo mało logiki, jest to podstawowa biblioteka.

NuxGraphics to cienka warstwa abstrakcji OpenGL. Zapewnia uproszczenia typowych wzorców OpenGL (pchanie i popping wycinanie prostokątów, zmienianie celów renderowania, ustawianie stanu itp.), Jednak nie zabrania bezpośrednio użytkownikom samodzielnego wykonywania surowych wywołań OpenGL. NuxGraphics zapewnia abstrakcje tekstur oraz ładowanie / rozładowywanie danych.

Nux to biblioteka widżetów zaimplementowana na NuxCore i NuxGraphics. Nux zawiera duplikat dla prawie każdego większego widżetu w stosie GTK, a także kilka widżetów kompozycji (próbnik kolorów, wykresy, widoki 3D). Widżety Nux nie są jeszcze na tym samym poziomie złożoności co widżety GTK, brakuje im zaawansowanego renderowania tekstu (jest naprawiony) i przejrzystej obsługi tematycznej.

Renderowanie wewnątrz Nuxa można opisać jako „styl kanwy”. Nux zapewnia malarza do wykonywania podstawowych operacji podstawowych rysowania, których można używać oprócz osadzania innych widżetów. Zamiast osadzać hbar w celu utworzenia linii poziomej, autor widżetu może, według własnego wyboru, użyć malarza, aby narysować pasek bezpośrednio. Obrazy mogą być również renderowane w ten sposób, zamiast osadzania dodatkowego widżetu w celu renderowania statycznego niereaktywnego obrazu. Nie wyklucza to jednak po prostu osadzania widżetów.

W Unity nux jest używany w tak zwanym „trybie osadzonym”. Zasadniczo nux zapewnia funkcję malowania się w obcym kontekście otwartym gl. Nazywamy funkcję malowania i nux blits się na backbufferze. Możemy wtedy kontynuować malowanie na nim, jeśli chcemy (czasem pozwalamy na to compizowi). Dostępne są funkcje zarządzania stanem opengl w trybie osadzonym.

Jason Smith
źródło
1
bardzo pouczające, Jason. Dzięki. Czy istnieje link do miejsca, w którym można znaleźć więcej informacji?
SB
Czy jest jakiś cel, aby „rozszerzyć” Nux do podstawowego zestawu narzędzi dla Ubuntu w taki sposób, w jaki GTK + jest obecnie „podstawowym” zestawem narzędzi?
ShroudedCloud,