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

Modified on: Sat, 09 Jun 2018 21:56:23 +0800

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

nux究竟是什么?

最佳答案

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

  • NuxCore
  • NuxGraphics
  • 马钱

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

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

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

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

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


相关问答

添加新评论