2.5.2 硬件加速的编程实现方法
2025年09月26日
2.5.2 硬件加速的编程实现方法
硬件加速分为两个应用方面,一种是针对渲染的加速,这种加速一般进行光照、平滑、多重纹理合成等一些问题,渲染程序的执行结果直接输送到屏幕显示的帧缓冲器中,以进行屏幕显示。另一种是通用计算,这类应用常常是利用GPU针对大数据量处理的加速特性,将一些通用型的计算任务,由CPU移植到GPU上执行。这类程序的执行结果不能输送到屏幕,而是通过FBO技术保存到显存中,然后通过图形操作指令,将执行结果回传到内存中,从而进行进一步的计算。
GPU的渲染流水线的主要任务是完成3D模型到图像的渲染(render)工作。渲染过程被分为几个可以并行处理的阶段,分别由GPU渲染流水线的不同单元进行处理。GPU输入的模型是数据结构(或语言)定义的对三维物体的描述,包括几何、方向、物体表面材质以及光源所在位置等;而GPU输出的图像则是从观察点对3D场景观测到的二维图像。典型的GPU渲染过程包括:顶点生成、顶点处理、图元生成、图元处理、片元生成、片元处理、像素操作七个过程。在GPU渲染流水线的不同阶段,需要处理的对象分别是顶点(vertex)、几何图元(primitive)、片元(fragment)、像素(pixel)。