在本章中支持二维角色变形的自适应网格,由于具有局部运算特性,因此可使用硬件加速特性以获得更佳的运行效率,为下一步大规模群组运动角色仿真提供支持。
在基于GPGPU的硬件加速算法中,图形硬件是通过图形API来调用其功能的。在进行加速运算之前,首先通过图形API初始化图形硬件,然后将CG程序分别加载到图形硬件的顶点渲染器和片段渲染器中。在计算过程中,首先将计算所需要的数据,由内存加载至显存中,并在合适的时机,设定某段渲染器程序有效,即可启用图形硬件加速功能,最终获得加速计算的结果,最终结果将通过图形API返回内存或输出至屏幕帧缓冲区。
图形硬件GPU的接口程序包括初始化运行环境、编译与编译GPU渲染器程序、调用GPU计算和结果返回几个部分。
1.初始化GPU运行环境
初始化GPU运行环境的步骤是首先创建运行环境,然后获取GPU所能支持的最佳顶点程序配置和片段程序配置,最后设置顶点程序配置和片段程序配置,具体代码如下:
2.GPGPU通用计算环境初始化
GPGPU通用计算环境初始化包括建立GPGPU计算环境和配置FBO离屏渲染对象两部分。建立GPGPU计算环境代码如下:
配置FBO离屏渲染对象代码如下:(www.xing528.com)
3.加载GPGPU计算程序
在图形硬件中,有两个渲染器可以进行编程功能调用,它们分别是顶点渲染器和片段渲染器,在这两个渲染器中,分别运行顶点程序和片段程序,这两个程序需要在GPGPU计算之前提前进行编译并加载到渲染器中。
GPU顶点渲染器程序编译和加载代码如下:
GPU片段渲染器程序编译和加载代码如下:
4.GPGPU功能调用与结果取回
GPGPU计算的程序的编译和加载一般在初始化阶段进行,在场景渲染过程中,才进行功能调用,计算完毕之后,将计算结果返回至内存,以进行进一步处理。在功能调用过程中有如下步骤:设置绘画模式与目标、设置程序有效、设置程序失效和结果返回。设置绘画模式与目标的代码如下:
设置渲染器程序有效及取消代码如下:
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。