什么是nux以及它用于什么?

这个问题提到Unity将使用nux作为工具包。

究竟什么是nux?

Nux是一个基于OpenGL的小部件工具包和canvas,用于创建用户界面,类似于GTK +。 在较高的层面上,nux被分解为3个库。

  • NuxCore
  • NuxGraphics
  • 马钱

NuxCore负责基本的事情,如类型系统,数学函数,颜色定义等。它基本上提供了小部件系统的所有基本类型(颜色,矩形,点)。 这里的逻辑非常少,这是一个基础库。

NuxGraphics是一个瘦的OpenGL抽象层。 它提供了常见OpenGL模式的简化(推送和弹出剪切矩形,更改渲染目标,状态设置等),但它并不直接禁止用户自己进行原始OpenGL调用。 NuxGraphics提供纹理和加载/卸载数据的抽象。

Nux是在NuxCore和NuxGraphics之上实现的小部件库。 Nux包含GTK堆栈中几乎每个主要窗口小部件的副本以及几个合成窗口小部件(颜色选择器,图形,三维视图)。 Nux小部件与GTK小部件的复杂程度尚不同,缺乏高级文本呈现(修复)和清除支持。

在nux中的渲染可以被描述为“canvas样式”。 Nux提供了一个画家来执行基本的绘图原语,除了嵌入其他小部件之外,还可以使用它们。 因此,小部件作者可以根据自己的选择使用画家直接绘制条形,而不是嵌入hbar来创建水平线。 图像也可以以这种方式呈现,而不是仅仅为了呈现静态非反应图像而嵌入附加小部件。 然而,这并不排除简单地嵌入小部件。

在Unity中,nux用于我们所谓的“嵌入式模式”。 本质上,nux提供了在外部开放gl上下文中绘制自身的function。 我们将paint函数和nux blits称为backbuffer。 如果我们愿意,我们可以继续在它上面绘画(有时我们允许compiz这样做)。 提供了在嵌入模式下进行opengl状态管理的function。

Interesting Posts