一种层次化OpenGL运行时编译软件实现方法与流程

文档序号:12063442阅读:253来源:国知局

本发明属于计算机图形学领域,尤其涉及一种层次化OpenGL运行时编译软件实现方法。



背景技术:

OpenGL运行时编译软件是OpenGL产品的重要组成部分,其功能、性能直接决定OpenGL接口的功能、性能,各图形处理器研发厂商都有自己的实现方法,但大都未公开,公开资料中,对OpenGL接口实现主要直接对应图形编码的方式,尚未发现有层次化的实现方法。



技术实现要素:

本发明的目的是:

本发明主要提供一种层次化OpenGL运行时编译软件实现方法,通过对OpenGL接口通过分层处理,实现OpenGL接口到图形指令的高效映射并达到图形指令的高效执行。

本发明的解决方案是:

一种层次化OpenGL运行时编译软件实现方法,包括

步骤1、根据OpenGL接口的功能和实现方式将属性设置类接口分为需指令映射接口,将功能操作类命令分为直接指令映射接口,并将OpenGL接口输入参数传输到参数、状态处理层(2),对接口输入参数以及运行状态进行处理;

步骤2、检测当前的运行状态并对接口分类层(1)传输的参数进行处理,并将处理后的参数传输到指令映射层(3)进行指令映射;

步骤3、根据接口分类层(1)中的需指令映射接口,及参数、状态处理层(2)传输的参数对接口分类层(1)中的需指令映射接口进行图形指令映射,并将映射后的图形指令传输到指令执行分类层(4)根据图形指令功能对指令进行分类;

步骤4、对指令映射层(3)传输的指令根据功能分为延时执行指令和立即执行指令两类,如果所述指令映射层(3)传输的指令与之前传输的指令类型相同,则为延时执行类命令,否则即为立即执行命令;将延时执行指令和立即执行指令传输到指令编码生成层(5)进行图形指令生成;

步骤5、将指令执行分类层(4)传输的两类指令根据OpenGL接口实现所对应的命令编码生成对应的二进制图形指令,并将生成的图形指令传输到指令编码存储层(6)进行图形指令的存储;

步骤6、接收指令编码生成层(5)生成的图形指令编码并将影响绘图结果的存入延时执行缓冲,不影响绘图结果的存入立即执行缓冲。

本发明的优点是:本发明提供的一种染色器驱动运行时重构方法,通过搜集染色器应用运行时所包含的染色器属性信息、染色器处理数据信息、染色器运行管理信息、染色器驱动软件,然后本次染色器运行有针对的优化染色器驱动软件,使得染色器应用在保证功能正确的情况下高性能的运行。

附图说明

图1为本发明的方法模块图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

下面结合附图和具体实施例对本发明的技术方案做进一步详细描述。

如图1所示,本发明实施例的一种层次化OpenGL运行时编译软件实现方法,包括

步骤1、根据OpenGL接口的功能和实现方式将属性设置类接口分为需指令映射接口,将功能操作类命令分为直接指令映射接口,并将OpenGL接口输入参数传输到参数、状态处理层(2),对接口输入参数以及运行状态进行处理;

步骤2、检测当前的运行状态并对接口分类层(1)传输的参数进行处理,并将处理后的参数传输到指令映射层(3)进行指令映射;

步骤3、根据接口分类层(1)中的需指令映射接口,及参数、状态处理层(2)传输的参数对接口分类层(1)中的需指令映射接口进行图形指令映射,并将映射后的图形指令传输到指令执行分类层(4)根据图形指令功能对指令进行分类;

步骤4、对指令映射层(3)传输的指令根据功能分为延时执行指令和立即执行指令两类,如果所述指令映射层(3)传输的指令与之前传输的指令类型相同,则为延时执行类命令,否则即为立即执行命令;将延时执行指令和立即执行指令传输到指令编码生成层(5)进行图形指令生成;

步骤5、将指令执行分类层(4)传输的两类指令根据OpenGL接口实现所对应的命令编码生成对应的二进制图形指令,并将生成的图形指令传输到指令编码存储层(6)进行图形指令的存储;

步骤6、接收指令编码生成层(5)生成的图形指令编码并将影响绘图结果的存入延时执行缓冲,不影响绘图结果的存入立即执行缓冲。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细地说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1