【技术实现步骤摘要】
即时渲染图形界面开发框架设计方法
[0001]本专利技术属于计算机软件领域,具体涉及一种即时渲染图形界面开发框架设计方法。
技术介绍
[0002]随着客户端软件开发技术的进步,客户端软件开发的内容与方法也随之更加多样化,这其中,图形用户接口(Graphics User Interfae,GUI)又称图形界面的开发是客户端软件的最核心部分,图形界面要求简化计算机与使用人员的交互过程,用户可以通过鼠标、键盘等输入设备对带有图形界面的客户端软件进行操控,同时计算机设备会将用户操作的结果通过屏幕等输出设备进行反馈。
[0003]随着软件开发技术的发展,图形界面的开发技术百花齐放,诸多成熟的开发框架被开发者广泛使用,这些框架主要包括目前使用很广泛的由Qt Company开发的跨平台C++图形界面应用程序开发框架QT、由微软研发的基于Windows系统原生API的GUI开发库MFC以及和Python、Perl、Ruby以及诸多其它流行的变成语言绑定使用原生API的跨平台开发库WxWidgets等。
[0004]然而以上开发框架有一些共有的缺点,比如庞大,臃肿,需要特别的运行环境,广度有余深度不足,拥有比较复杂的消息通信和状态同步机制、在使用中常常依赖于其他的第三方库等等缺点。以改进上述缺点为出发点,本专利技术提出一种基于渲染接口(OpenGL,Vulkan)的即时渲染图形界面框架。
[0005]相比于传统的图形界面开发技术,即时渲染模式的图形界面是近年来逐渐兴起的一种新的界面开发技术,以渲染接口为基础,在 ...
【技术保护点】
【技术特征摘要】
1.一种即时渲染图形界面开发框架设计方法,其特征在于,该框架基于操作系统接口和渲染接口之上,操作系统接口为框架提供了快速创建窗体的途径,渲染接口为框架提供了环境设置检查、界面绘制功能;该框架还包括:窗体管理模块:包括窗体的创建删除以及事件的处理,在不同的系统中都拥有完全不同的窗体管理方法,在本框架中,将抽象出一种不依赖与特定平台的窗体类型以及多种特定系统的具体窗体类型,抽象窗体类型负责提供使用接口,具体窗体类型负责选择最合适的实现方式;事件处理模块,用于帮窗体完成处理各种事件,事件处理模块将各种事件整合,并提供事件处理函数注册功能,在事件发生指示准确的将事件信息转发至事件处理函数;事件处理模块包括三大部分,分别是程序事件处理模块、键鼠事件处理模块以及事件分发模块;渲染器,用于将渲染接口封装起来,对开发者保持透明,渲染器负责设置数据缓冲区、数据属性以及发布渲染指令,开发者通过渲染器完成所有的界面绘制工作;界面层管理模块:开发框架将界面分成多个层,每一个层次都有自己的界面组件,布局以及数据互相独立不受影响,事件发生时事件处理模块也会遍历每一个界面层选择该界面层是否处理相应的事件;界面层分为普通界面层和界面组件层,普通界面层负责绘制开发者需要生成的图片,界面组件层承载通用的界面组件,包括:文字、按钮、连线以及表格;界面组件管理模块:用于管理特定组件的绘制,特定组件包括:按钮、标签和文字列表,同时负责捕捉这些组件在运行过程中发生的状态改变并及时处理;程序实例管理模块:用于实现渲染循环前的准备工作、渲染循环中的整合工作以及渲染循环结束后的清理工作,该模块负责协调调度各个模块有序完成各自的工作。2.如权利要求1所述的即时渲染图形界面开发框架设计方法,其特征在于,所述窗体管理中,在Windows、Linux以及Kylin系统中使用与OpenGL配套的GLFW软件库进行管理,在其它系统中使用原生的系统API进行管理。3.如权利要求1所述的即时渲染图形界面开发框架设计方法,其特征在于,窗体管理功能模块包括:抽象窗体管理模块和具体窗口管理模块;抽象窗体管理模块用于:构建窗体属性:窗体属性包括窗体的标题、宽、高基础属性,抽象窗体负责构建窗体属性信息;定义窗体事件处理函数:抽象窗体类型定义了窗体事件处理函数的签名、参数列表以及返回值,由程序实例管理模块根据该定义实现特定的函数统一收集转发各种事件;构建窗体功能接口:提供了窗体的刷新、宽度高度获取、事件处理函数设置以及原生窗体句柄获取功能接口;具体窗口管理模块用于:窗体创建与初始化:根据用户填充的抽象窗体模块的窗体属性信息创建出对应宽高标题的窗体,并注册事件处理函数;窗体功能接口实现:根据操作系统,实现窗体的刷新、宽度高度获取、事件处理函数设置以及原生窗体句柄获取功能接口;窗体销毁:用户选择关闭程序时,具体窗口管理模块负责窗体的关闭以及窗体使用资源的销毁;
抽象窗体管理负责提供接口与属性的结构,具体窗口管理模块负责实现抽象窗体模块提供的接口并根据具体的窗体属性构建窗体。4.如权利要求1所述的即时渲染图形界面开发框架设计方法,其特征在于,程序事件处理模块包括窗体尺寸事件处理、窗体关闭事件处理以及刷新事件处理;窗体尺寸事件处理是指在窗体尺寸发生改变时,将窗体最新的宽高回传给事件处理模块;刷新事件处理是指在程序刷新下一帧时决定下一帧刷新的界面是否发生变化;窗体关闭事件处理是指在窗体关闭按钮被点击时关闭窗体并通知程序清理使用的资源最后退出程序。5.如权利要求1所述的即时渲染图形界面开发框架设计方法,其特征在于,键鼠事件处理模块包括鼠标移动事件处理、鼠标滚轮事件处理、鼠标与键盘点击事件处理;鼠标移动事件处理是指在鼠标移动时将鼠标在x轴与...
【专利技术属性】
技术研发人员:董泽,彭璐,刘洋,
申请(专利权)人:北京计算机技术及应用研究所,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。