论文部分内容阅读
如何将图形学常用算法和图形卡的功能封装在一起并使之能为非图形学专业人士灵活运用一直是图形学界的一个梦想。特别是随着图形硬件的可编程性的提出及其不断发展,统一的实时绘制语言的设计与实现成为了实时渲染领域的一个热点问题。实时绘制语言的出现,改变了长期以来实时绘制编程中所采用的复杂的应用程序接口函数调用方式,使得人们可以用简明易懂的高级语言编程方式来描述复杂的绘制过程。可以说,实时绘制语言不仅可以大大地提高实时绘制图形程序的开发效率,还将深刻地影响着图形硬件的进一步发展。 本文首先介绍了绘制语言的概念,并以绘制语言的发展历史为顺序进行介绍,着重介绍了各种绘制语言的特点及其相关的绘制系统的结构,从中我们可以看到绘制语言的发展趋势。 其次,本文详细介绍了可编程图形硬件的系统框架和编程实现方法,并以Geforce3显示芯片为例,重点介绍了顶点绘制编程器和象素绘制编程器的功能和具体的使用方法,并同时给出了一个采用可编程图形硬件进行实时绘制的例子。 最后介绍了我们自己实现的实时绘制语言原型系统,这个原型系统的实现分成三层:首先是编译系统层,主要负责实现实时绘制语言的语法定义,还包括了对数据类型、预定义变量以及内建函数的定义和实现;其次是抽象表示层,本层采用了绘制语法树这种数据结构进行抽象表示,既包含了对绘制程序语义内容的描述,又为下一步的实现提供了一个通用的平台;最后就是实现层,负责对抽象表示层的具体实现。我们采用了基于通用图形硬件和基于可编程图形硬件的两种实现方法。文中分别从算法流程、数据结构等方面详细介绍了这两种实现方法,并给出了实现的绘制结果。结果表明,本实时绘制语言原型系统已经完成了从语法分析、语义表达到代码生成以及代码执行的整个流程的实现。