O que é nux e para que é usado?

53

Esta questão menciona que o Unity usará nux como o kit de ferramentas.

O que exatamente é o nux?

    
por Jorge Castro 21.12.2010 / 19:36

1 resposta

69

O Nux é um kit de ferramentas de widget baseado em OpenGL e uma tela usada para criar interfaces de usuário, semelhantes ao GTK +. Em um nível alto, o nux é dividido em 3 bibliotecas.

  • NuxCore
  • NuxGraphics
  • Nux

O NuxCore é responsável por coisas básicas como um sistema de tipos, funções matemáticas, definições de cores, etc. Ele basicamente fornece todos os tipos primitivos para um sistema de widgets (cor, retângulo, ponto). Muito pouca lógica está presente aqui, esta é uma biblioteca fundamental.

O NuxGraphics é uma fina camada de abstração OpenGL. Ele fornece simplificações de padrões comuns de OpenGL (pressionando e estalando retângulos de recorte, alterando destinos de renderização, configuração de estado, etc), no entanto, não proíbe diretamente os usuários de fazerem chamadas OpenGL brutas por conta própria. O NuxGraphics fornece abstrações para texturas e carga / descarga de dados.

O Nux é uma biblioteca de widgets implementada no NuxCore e no NuxGraphics. O Nux contém uma duplicata para quase todos os widgets principais na pilha do GTK, bem como vários widgets de composição (selecionador de cores, gráficos, visualizações em 3D). Os widgets do Nux ainda não estão no mesmo nível de complexidade que os widgets do GTK, faltando renderização de texto avançada (sendo corrigido) e claro suporte a temas.

A renderização dentro do nux pode ser descrita como "estilo de tela". O Nux fornece um pintor para executar primitivas de desenho básicas que podem ser usadas além de incorporar outros widgets. Portanto, em vez de incorporar um hbar para criar uma linha horizontal, um autor de widget pode, à sua escolha, usar o pintor para desenhar a barra diretamente. As imagens também podem ser renderizadas dessa maneira, em vez da incorporação de um widget adicional simplesmente para renderizar uma imagem estática não reativa. No entanto, isso não exclui a simples incorporação de widgets.

No Unity, o nux é usado no que chamamos de “Modo Embutido”. Essencialmente, o nux fornece uma função para se pintar em um contexto estrangeiro aberto. Nós chamamos a função paint e nux se encaixa no backbuffer. Podemos então continuar a pintar em cima dela, se desejarmos (às vezes permitimos que o compiz faça isso). Existem funções fornecidas para fazer o gerenciamento de estado opengl no modo incorporado.

    
por Jason Smith 21.12.2010 / 19:38

Tags