论文部分内容阅读
近年来,计算机图形学应用越来越广泛,尤其是三维(3D)绘图。3D绘图使用3D模型和各种影像处理产生具有三维空间真实感的影像,应用于虚拟真实情况以及多媒体的产品上,且多半是使用低成本的实时3D计算机绘图技术为基础。在初期3D图形学刚起步时,由于图形简单,因此可以利用CPU来运算,但随着图形学技术的发展,所要绘制的图形越来越复杂,这时如果单纯依赖CPU来处理,不能达到实时的要求,因此需要专门的硬件来加速图形处理,GPU(图形处理单元)因此出现了。不过由于3D图形加速硬件的复杂性和短寿命,这极大地提高了对硬件开发环境的需要。为了更好的对设计进行更改和测试,不能仅仅用专门定制的方法来设计,需要其他的方:硬件描述语言(HDL)和FPGA。
随着计算机绘图规模的需要,借助辅助硬件资源,来提高图形处理单元(GPU)处理速度的需求越来越普遍。自从15年前现场可编程门阵列(FPGA)开始出现以来,其在可编程硬件领域所起的作用越来越大。它们在速度、体积和速度方面都有了很大的提高。这意味着FPGA在以前只能使用专用硬件的场合越来越重要。其中一个应用领域就是3D图形渲染,在这个研究领域里人们正在利用具有可编程性能的FPGA来帮助改进图形处理单元(GPU)的性能。
能够在廉价、可动态重新配置的FPGA上实现复杂算法来辅助硬件设计。本文的设计就是通过在FPGA上实现3维图形几何处理管线部分功能来提高图形处理速度。具体实现中使用硬件描述语言(Verilog HDL)进行逻辑设计,并发现问题解决问题。
本文主要特色如下:
1.针对几何变换换子系统,提出一种硬件实现方案,该方案能对基本的几何变换如:平移、缩放、旋转和投影进行操作。首先构造出总体变换矩阵,随后进行矩阵乘法运算,再进行投影变换,最后输出变换座标。提出一种脉动阵列结构,用于两个矩阵的乘法运算。找到一种快捷的方法来实现矩阵相乘,将能大大提高系统的效率。
2.对于3D图形裁剪,文中描述了一种裁剪引擎,它能够处理3D图形中的裁剪、透视除法以及视口映射的功能。硬件实现的难度取决于裁剪算法的复杂程度。我们在Sutherland-Hodgman裁剪算法的基础上提出一种新的裁剪算法,该算法通过去除冗余顶点以提高处理速度,同时利用编码来判断线段可见性的方法使得硬件实现变得很容易。
3.最后,我们在FPGA上实现了几何变换以及三维裁剪,并与C语言的模拟结果对比发现结果正确,且三维裁剪能够以3M个三角形/s的速度运行,满足了图形流水中的实时性要求。