Что такое nux и для чего он используется?

52

В этом вопросе упоминается, что Unity будет использовать nux в качестве инструментария.

Что такое nux?

    
задан Jorge Castro 21.12.2010 в 19:36
источник

1 ответ

68

Nux - это набор инструментов виджета на основе OpenGL и холст, используемый для создания пользовательских интерфейсов, аналогичных GTK +. На высоком уровне nux разбивается на 3 библиотеки.

  • NuxCore
  • NuxGraphics
  • Nux

NuxCore отвечает за основные вещи, такие как система типов, математические функции, определения цветов и т. д. Он в основном предоставляет все примитивные типы для системы виджетов (цвет, прямоугольник, точка). Здесь очень мало логики, это фундаментальная библиотека.

NuxGraphics - это тонкий слой абстракции OpenGL. Он обеспечивает упрощение общих шаблонов OpenGL (нажатие и выскакивание обрезающих прямоугольников, изменение целей рендеринга, настройка состояния и т. Д.), Однако он не запрещает пользователям самим создавать необработанные вызовы OpenGL. NuxGraphics обеспечивает абстракции для текстур и загрузки / выгрузки данных.

Nux - это библиотека виджета, реализованная поверх NuxCore и NuxGraphics. Nux содержит дубликат почти для каждого крупного виджета в стеке GTK, а также несколько виджета состава (выбор цвета, графики, 3D-виды). Виджеты Nux еще не находятся на том же уровне сложности, что и виджеты GTK, не имеют расширенного текстового рендеринга (фиксируются) и прозрачной поддержки.

Рендеринг внутри nux может быть описан как «стиль холста». Nux предоставляет художнику возможность выполнять основные примитивы рисования, которые можно использовать в дополнение к встраиванию других виджетов. Поэтому вместо того, чтобы встраивать hbar для создания горизонтальной линии, автор виджета может по своему выбору использовать живописец для рисования панели напрямую. Изображения также могут отображаться таким образом, а встраивание дополнительного виджета просто для визуализации статического нереактивного изображения. Однако это не исключает просто встраивание виджетов.

В Unity nux используется в том, что мы называем «Встроенный режим». По сути nux предоставляет функцию для рисования в внешнем контексте open gl. Мы называем функцию красок, а nux - на backbuffer. Мы можем продолжить рисовать поверх него, если захотим (иногда мы разрешаем compiz делать это). Существуют функции, обеспечивающие управление состоянием opengl во встроенном режиме.

    
ответ дан Jason Smith 21.12.2010 в 19:38
источник