一种基于OpenGL的轻量级UI操作方法及系统技术方案

技术编号:38988092 阅读:12 留言:0更新日期:2023-10-07 10:18
本发明专利技术公开了一种基于OpenGL的轻量级UI操作方法及系统,采用初始化步骤和绘制刷新步骤,通过创建上下文、帧缓冲、纹理和渲染缓冲、顶点数组和顶点缓冲、创建索引数组和索引缓冲、以及顶点着色器和片段着色器;接收用户操作设备发送过来的用户操作指令,将待处理图像进行逐片段操作,在创建的纹理和渲染缓冲中将逐片段操作后的待处理图像渲染到纹理,将渲染后的待处理图像在绘制好的缓冲区与屏幕缓冲区进行交换,实现待处理图像在屏幕上的显示。本发明专利技术中程序员不需要通过提供坐标或使用可视化UI编辑器来设计图形界面,控件按照可选的给定层次结构自动组织。在大多数情况下,只需一行代码即可将新变量添加到调整栏。一行代码即可将新变量添加到调整栏。一行代码即可将新变量添加到调整栏。

【技术实现步骤摘要】
一种基于OpenGL的轻量级UI操作方法及系统


[0001]本专利技术涉及图形绘制
,尤其公开了一种基于OpenGL的轻量级UI操作方法及系统。

技术介绍

[0002]OpenGL图形系统是图形硬件的一种软件接口(GL表示GraphicsLibrary,即图形库)。OpenGL图形系统使得用户可以创建交互式的程序以产生运动的三维对象的颜色图像。通过OpenGL,可以使用计算机图形学技术来产生逼真的图像,或者通过一些虚构的方式产生虚拟的图像。
[0003]OpenGL发展至今,已经超过了20年的时间。作为一个成熟而久负盛名的跨平台的计算机图形应用程序接口规范,已经被广泛应用于游戏、影视、军事、航空航天、地理、医学、机械设计,以及各类科学数据可视化的领域。而随着网络和移动平台的飞速发展,异军突起的OpenGL ES和WebGL标准也吸引了大批开发者的眼球,而这两者与OpenGL本身同样有着千丝万缕的联系。
[0004]OpenGL支持几乎所有现有的主流操作系统平台,包括Windows、Mac OS X以及各种UNIX平台。同时也可以用于几乎所有主流的编程语言环境当中,例如C/C++、Java、C#、Visual Basic、Python、Perl等。因此,无可非议地说,OpenGL应当是目前全球最为广泛学习和使用的图形开发API接口,几乎可以在全世界任何一台计算机安装的软件当中找到它的身影。然而,OpenGL图形绘制时操作麻烦,增大了程序员的工作量。
[0005]因此,现有OpenGL图形绘制时操作麻烦,增大了程序员的工作量,是目前亟待解决的技术问题。

技术实现思路

[0006]本专利技术提供了一种基于OpenGL的轻量级UI操作方法及系统,旨在解决现有OpenGL图形绘制时操作麻烦,增大了程序员的工作量的技术问题。
[0007]本专利技术的一方面涉及一种基于OpenGL的轻量级UI操作方法,包括以下步骤:
[0008]初始化步骤:创建上下文、帧缓冲、纹理和渲染缓冲、顶点数组和顶点缓冲、创建索引数组和索引缓冲、以及顶点着色器和片段着色器;
[0009]绘制刷新步骤:接收用户操作设备发送过来的用户操作指令,将待处理图像进行逐片段操作,在创建的纹理和渲染缓冲中将逐片段操作后的待处理图像渲染到纹理,将渲染后的待处理图像在绘制好的缓冲区与屏幕缓冲区进行交换,实现待处理图像在屏幕上的显示。
[0010]进一步地,初始化步骤包括:
[0011]包含步骤:将AntTweakBar标题与相应内容一起包含在内;
[0012]初始化AntTweakBar步骤:在OpenGL或DirectX初始化和图形窗口创建之后,通过调用OpenGL或DirectX来初始化AntTweakBar。
[0013]进一步地,初始化AntTweakBar步骤包括:
[0014]若使用OpenGL,则使用命令为TwInit*TW_OpenGL来实现AntTweakBar初始化;
[0015]若使用DirectX,则使用命令为TwInit*TW_DIRECT3D9来实现AntTweakBar初始化。
[0016]进一步地,绘制刷新步骤包括:
[0017]创建调整条并添加变量步骤:声明一个或多个类型的指针,并通过调用TwBar*TwNewBar命令来创建一个或多个调整栏;
[0018]绘制调整栏步骤:在主循环结束时调用TwDraw命令来绘制调整栏;
[0019]处理鼠标和键盘事件以及窗口大小更改步骤:通过调用TwKeyPressed、TwMouseButton、TwMouseMotion、TwMouseWheel和TwWindowSize命令来将键盘、鼠标和窗口大小事件发送到AntTweakBar;
[0020]终止AntTweakBar步骤:在关闭图形窗口并取消初始化图形API之前,调用AntTweakBarTwTerminate命令以取消初始化AntTweakBar。
[0021]进一步地,处理鼠标和键盘事件以及窗口大小更改步骤包括:
[0022]若使用SDL,则处理传入事件时使用TwEventSDL命令来实现;
[0023]若使用GLUT,则调用TwEvent Keyboard GLUTTwEvent Special GLUTTwEventMouseButtonGLUTTwEventMouseMotionGLUT命令并在已注册的GLUT事件回调中调用;如果事件已由AntTweakBar处理,则返回非零值,否则返回零值;
[0024]若使用GLFW,则调用TwEventKeyGLFW、TwEventCharGLFW、TwEventMouseButtonGLFW、TwEventMousePosGLFW和TwEventMouseWheelGLFW命令并在已注册的GLFW事件回调中;如果事件已由AntTweakBar处理,则返回非零值,否则返回零值;
[0025]若使用SFML,则处理传入事件时使用TwEventSFML命令;
[0026]若使用Windows,则处理传入事件时使用TwEventWin命令;
[0027]若使用DXUT,则将AntTweakBar集成到基于DXUT的应用程序中;
[0028]若使用X11,则在关闭图形窗口并取消初始化图形API之前,调用TwTerminate命令以取消初始化AntTweakBar。
[0029]本专利技术的另一方面涉及一种基于OpenGL的轻量级UI操作系统,包括:
[0030]初始化模块,用于创建上下文、帧缓冲、纹理和渲染缓冲、顶点数组和顶点缓冲、创建索引数组和索引缓冲、以及顶点着色器和片段着色器;
[0031]绘制刷新模块,用于接收用户操作设备发送过来的用户操作指令,将待处理图像进行逐片段操作,在创建的纹理和渲染缓冲中将逐片段操作后的待处理图像渲染到纹理,将渲染后的待处理图像在绘制好的缓冲区与屏幕缓冲区进行交换,实现待处理图像在屏幕上的显示。
[0032]进一步地,初始化模块包括:
[0033]包含单元,用于将AntTweakBar标题与相应内容一起包含在内;
[0034]初始化AntTweakBar单元,用于在OpenGL或DirectX初始化和图形窗口创建之后,通过调用OpenGL或DirectX来初始化AntTweakBar。
[0035]进一步地,包含单元具体用于:
[0036]若使用OpenGL,则使用命令为TwInit*TW_OpenGL来实现AntTweakBar初始化;
[0037]若使用DirectX,则使用命令为TwInit*TW_DIRECT3D9来实现AntTweakBar初始化。
[0038]进一步地,绘制刷新模块包括:
[0039]创建添加单元,用于声明一个或多个类型的指针,并通过调用TwBar*TwNewBar命令来创建一个或多个调本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于OpenGL的轻量级UI操作方法,其特征在于,包括以下步骤:初始化步骤:创建上下文、帧缓冲、纹理和渲染缓冲、顶点数组和顶点缓冲、创建索引数组和索引缓冲、以及顶点着色器和片段着色器;绘制刷新步骤:接收用户操作设备发送过来的用户操作指令,将待处理图像进行逐片段操作,在创建的所述纹理和渲染缓冲中将逐片段操作后的待处理图像渲染到纹理,将渲染后的待处理图像在绘制好的缓冲区与屏幕缓冲区进行交换,实现待处理图像在屏幕上的显示。2.如权利要求1所述的基于OpenGL的轻量级UI操作方法,其特征在于,所述初始化步骤包括:包含步骤:将AntTweakBar标题与相应内容一起包含在内;初始化AntTweakBar步骤:在OpenGL或DirectX初始化和图形窗口创建之后,通过调用OpenGL或DirectX来初始化AntTweakBar。3.如权利要求2所述的基于OpenGL的轻量级UI操作方法,其特征在于,所述初始化AntTweakBar步骤包括:若使用OpenGL,则使用命令为TwInit*TW_OpenGL来实现AntTweakBar初始化;若使用DirectX,则使用命令为TwInit*TW_DIRECT3D9来实现AntTweakBar初始化。4.如权利要求1所述的基于OpenGL的轻量级UI操作方法,其特征在于,所述绘制刷新步骤包括:创建调整条并添加变量步骤:声明一个或多个类型的指针,并通过调用TwBar*TwNewBar命令来创建一个或多个调整栏;绘制调整栏步骤:在主循环结束时调用TwDraw命令来绘制调整栏;处理鼠标和键盘事件以及窗口大小更改步骤:通过调用TwKeyPressed、TwMouseButton、TwMouseMotion、TwMouseWheel和TwWindowSize命令来将键盘、鼠标和窗口大小事件发送到AntTweakBar;终止AntTweakBar步骤:在关闭图形窗口并取消初始化图形API之前,调用AntTweakBarTwTerminate命令以取消初始化AntTweakBar。5.如权利要求4所述的基于OpenGL的轻量级UI操作方法,其特征在于,所述处理鼠标和键盘事件以及窗口大小更改步骤包括:若使用SDL,则处理传入事件时使用TwEventSDL命令来实现;若使用GLUT,则调用TwEvent Keyboard GLUTTwEvent Special GLUTTwEventMouseButtonGLUTTwEventMouseMotionGLUT命令并在已注册的GLUT事件回调中调用;如果事件已由AntTweakBar处理,则返回非零值,否则返回零值;若使用GLFW,则调用TwEventKeyGLFW、TwEventCharGLFW、TwEventMouseButtonGLFW、TwEventMousePosGLFW和TwEventMouseWheelGLFW命令并在已注册的GLFW事件回调中;如果事件已由AntTweakBar处理,则返回非零值,否则返回零值;若使用SFML,则处理传入事件时使用TwEventSFML命令;若使用Windows,则处理传入事件时使用TwEventWin命令;若使用DXUT,则将AntTweakBar集成到基于DXUT的应用程序中;若使用X11,则在关闭图形窗口并取消初始化图形API之前,调用TwTerminate命令以取
消初始化AntTweakBar。6.一种基于OpenGL的轻...

【专利技术属性】
技术研发人员:皮杨超杨欢张绵兵李雪
申请(专利权)人:湖南泽天智航电子技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1