Esta pergunta menciona que o Unity usará o nux como o kit de ferramentas.
O que exatamente é o nux?
Esta pergunta menciona que o Unity usará o nux como o kit de ferramentas.
O que exatamente é o nux?
O Nux é um kit de ferramentas e uma tela baseados em OpenGL, usados para criar interfaces de usuário, semelhantes ao GTK +. Em um nível alto, o nux é dividido em três bibliotecas.
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 do OpenGL. Ele fornece simplificações de padrões comuns do OpenGL (pressionando e pulando 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 fazer chamadas OpenGL não processadas. O NuxGraphics fornece abstrações para texturas e dados de carregamento / descarregamento.
O Nux é uma biblioteca de widgets implementada sobre o NuxCore e o NuxGraphics. O Nux contém uma duplicata para quase todos os principais widgets da pilha GTK, além de vários widgets de composição (seletor de cores, gráficos, visualizações em 3D). Os widgets Nux ainda não estão no mesmo nível de complexidade que os widgets GTK, sem renderização de texto avançada (sendo corrigida) e suporte claro a temas.
A renderização dentro do nux pode ser descrita como "estilo de tela". O Nux fornece um pintor para executar primitivas básicas de desenho que podem ser usadas além de incorporar outros widgets. Portanto, em vez de incorporar um hbar para criar uma linha horizontal, o autor de um widget pode, a seu critério, usar o pintor para desenhar a barra diretamente. As imagens também podem ser renderizadas dessa maneira, ao invés de incorporar um widget adicional simplesmente para renderizar uma imagem estática não reativa. No entanto, isso não exclui simplesmente a incorporação de widgets.
No Unity, o nux é usado no que chamamos de "Modo incorporado". Essencialmente, o nux fornece uma função para se pintar em um contexto externo aberto de gl. Chamamos a função paint e o nux se mistura no backbuffer. Podemos então continuar a pintar sobre ela, se desejarmos (às vezes permitimos que o compiz faça isso). Existem funções fornecidas para gerenciar o estado do opengl no modo incorporado.