基本概念

context(animgui上下文)

用于存储帧间内部状态,提供简单的接口与控制大部分渲染过程。

primitive(图元)

最基本的显示元素,如矩形、线条、文字等。用于在画布中绘制组件。

canvas(画布)

管理整个窗口或者窗口的一块绘制区域,组件与画布交换渲染数据和用户输入数据以完成内部状态更新。通过画布可以创建子画布、绘制图元等。

layout(布局)

布局是画布的特殊形式,布局可以管理下辖布局或组件的位置、大小和可见性等属性。

widget(组件)

组件是UI的最基本元素,如按钮、输入框、滑块、标签等。它们接受用户输入并作出相应的反应。

style(风格)

所有组件和布局共同遵循的一套主题,包括字体、颜色、边框样式等等。

render_backend(渲染后端)

将绘图指令提交到后端API(通常是底层API,直接提交到显卡上),并管理在显卡上的资源(比如纹理、顶点缓冲等)。

font_backend(字体后端)

读取字体文件(.ttc/.ttf等)并将其转换为渲染后端识别的格式(目前暂时只支持光栅化),兼计算字符间距。

input_backend(窗口管理器)

与系统窗口管理器交互,负责接收来自用户的输入、调整窗口属性、与剪贴板交互等。

emitter(指令发射器)

将图元的位置转换为绝对坐标并将图元数据转换为渲染后端识别的绘制指令(比如三角形列表),兼计算图元的包围盒。

command_optimizer(指令优化器)

将绘制指令合并以减少drawcall,减小渲染后端的压力,提升渲染性能。

image_compactor(纹理分配器)

将小型纹理合并到一张大纹理中,减少纹理切换,给指令优化器提供更多的优化机会,提升渲染性能。

animator(动画机)

定义动画曲线。