着色器简化和优化的研究与实现

来源 :山东大学 | 被引量 : 0次 | 上传用户:heyunhu
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着计算机图形学的飞速发展,计算机图形在越来越多的领域发挥重要作用,比如数据可视化、虚拟现实、计算机动画和游戏制作等等。为了提高图形质量人们不断提出新的光照模型、渲染算法,以期在有限的硬件条件下实现高质量的渲染结果。自可编程着色器于上世纪80年代提出以来,可编程着色器就迅速成为了计算机图形学领域里描绘物体材质属性的一种高可靠性和高扩展性的工具。由于当时硬件条件的限制,可编程着色器的重要作用并没有得到很好体现,这是因为执行可编程着色器占据非常多的渲染时间并很容易超出计算机硬件的能力。随着计算机硬件能力的提高,可编程着色器在图形学领域的重要作用也越来越明显:在离线渲染领域着色器分为表面着色器、光源着色器、体着色器、置换着色器和图像着色器,在实时渲染领域也有如像素着色器、顶点着色器等。不过对于产生复杂特效的着色器,在现今硬件条件下执行时,仍然有可能超出硬件能力造成渲染时间过长或者直接渲染失败。这就需要对可编程着色器进行简化和优化来满足渲染要求和硬件的限制。由于可编程着色器是着色器程序员编写的代码,对于产生同样效果的着色器,因着色器程序员的经验不同,计算机执行着色器的时间也不同,这为可编程着色器进行简化产生重要契机;另外可编程着色器作为一段程序代码,也可以利用代码简化等分析代码的方法并结合可编程着色器自身的特点进行简化。另外着色流程作为渲染流水线的一个重要步骤,优化着色过程统一可以有效的缩短渲染时间而不会损失渲染结果的质量。本文在“可视媒体计算的新方法”项目的支持下可以方便的对本文的渲染引擎进行着色器简化以及优化来加速着色流程。本文主要内容分为三个部分:1.着色器简化:本文涉及的渲染引擎是一种符合RenderMan标准的离线渲染引擎,关注渲染高质量的结果,本文对可编程着色器的简化是对RenderMan Shading Language中的五种类型的着色器进行的简化。2.着色器简化控制:有效的控制着色器简化过程对着色器简化非常重要,如何在保证渲染结果的质量下简化着色器并减少渲染时间是本文研究的一项重点内容。3.着色器优化:对着色器进行优化主要是对渲染引擎着色流程的优化,渲染流水线中的着色阶段是整个流水线最耗时的阶段,优化着色流程可以有效的减少渲染时间。本文在前人工作的基础上提出新颖的方式实现了着色器简化和着色器优化,在当前硬件条件的限制下有效的减少了渲染时间,保证了渲染结果的质量。
其他文献
随着互联网的迅速发展,文件共享、视频直播、远程教育等大量的多用户大规模网络应用应运而生,在给用户带来丰富应用的同时也产生了庞大的数据传输问题。P2P技术通过采用分布
立体匹配是移动机器人视觉导航领域的关键技术之一,是由二维图像获取三维物体结构信息的主要技术手段。近几年来,立体匹配取得了重大进展,每年都有新的算法提出,并且一些性能
随着社会信息化的不断加快,从海量信息中快速获取所需要的信息变得越来越重要。人物检索是最常见的检索之一,而通用搜索引擎的返回结果往往是同名的不同人物实体相关网页的混
企业级应用是指那些为商业组织、企业而创建并部署的解决方案及应用。一个理想的企业级应用系统平台应该具备良好的安全性。J2EE(Java 2 Platform Enterprise Edition)是一个
近年来,数字图书馆的建设受到世界各国高度重视,并已迅速发展为人们获取知识和信息的重要途径之一。但随着数字图书馆信息的快速增长,如何从海量的数字资源中获取用户需要的
伴随着数字媒体技术的迅猛发展,加之各类社交平台的盛行,数字图像的种类和数量呈爆炸式增长。基于内容的图像检索(Content-Based Image Retrieval,CBIR)作为一种能够从海量图
TCP稳定状态的性能会受到网络拥塞的影响,如何为可获得的网络容量(瓶颈链路)选择合适的数据是一个开放性问题。网络拥塞主要是由于发送大量的数据流(如FTP数据)而导致的。本文
随着社区化搜索技术的不断发展,博客以极快的速度融入社会生活中,成为当前互联网上较重要的一种社会媒体,并随之带来博客文章数量的指数级增长,如何在数量众多的文章中准确找到与
多核时代片上所集成的核数越来越多,龙芯芯片在继4核的龙芯3A之后也推出了8核的龙芯3B芯片。然而,程序所获得的性能提升并未随着芯片能力的提升而呈现线性增长,系统资源未被充分
互联网已经成为人们生活中不可缺少的信息获取方式。而为了更好的服务于人们,各式各样的互联网应用随之出现。其中,网络视频服务可以说扮演了非常重要的角色。而由于这种服务