论文部分内容阅读
嵌入式产品越来越广泛的被人们使用,图形用户界面作为人们对产品的第一印象在嵌入式开发中的地位也越来越重要。传统的二维图形界面能够在功能上满足人们的需求,但是相对于生动多样、新奇精美的三维图形界面就逊色不少。在三维界面开发中OpenGL开放图形库具有诸多优点,但是复杂的设计流程不容易被开发者掌握和理解,Intel对OpenGL进行封装和裁剪实现了一个简洁易用的Cogl图形库。基于用户和开发者两方面的特殊需求,借助于Cogl实现了一个结构层次清晰、编程简洁高效、控件功能和特效种类丰富的NG三维控件系统。其中主要完成了控件系统事件管理模块、控件显示模块、三维特效和控件层的设计,对系统的功能和性能做了相关测试,解决了可能出现的问题并优化了系统性能。系统事件管理模块采用消息驱动的事件管理机制设计而成,实现了对外部键盘、鼠标等输入设备产生消息的接收、传递和用户具体事件的处理。系统的显示模块主要从控件关系角度讲述了控件的绘制、控件的Z序和控件的裁剪实现。NG三维控件系统中的物体对象实际上是二维图像呈现在三维空间中,控件的绘制和二维图形系统中物体的绘制有很多类似的地方。基于图像混合和三维图形矩阵变换的相关理论以及对控件运动过程的具体控制,实现了控件的半透明、几何变换和三维动画等特效。通过分析控件的分类、控件之间的关系和控件的行为属性,实现了控件系统基本结构和公共方法类结构的设计,并按照GObject框架搭建了系统平台。