OpenGL着色语言编辑环境的设计与实现

来源 :杭州电子科技大学 | 被引量 : 0次 | 上传用户:aiming5968f
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
如今,在三维应用(特别是电脑游戏)的推动下,实时三维图形技术的发展速度非常快,对计算机图形学相关领域产生了很大影响。但是,随着模型和场景复杂程度的急剧增长,实时性的要求也越来越高,依然是很多应用系统(虚拟现实技术、可视化技术等)的主要瓶颈所在。而中央处理器在处理三维数据上又显得力不从心,计算机图形硬件的出现为解决这一问题提出了一条现实的解决途径。   近年来,随着可编程图形硬件时代的到来,着色器替代了传统的固定渲染管线以实现更加逼真的图像效果。高级着色语言的兴起,给着色器编写带来了方便,然而编写着色器依然带来一些独有的挑战。就像我们学习任何编程语言一样,我们总是希望提供一个可视化的开发环境,让学习编程语言的初学者能把主要精力花在语言本身的学习上,而不是一些语言之外的编程细节。本文的实现目标就是构建一款界面简洁、易于操作的OpenGL着色语言编辑环境,帮助开发者简化着色器编写,迅速构建一个参数化的着色器,并考虑其复用性和扩展性。   本文主要工作如下:   1.对OpenGL着色语言以及传统的开发模式进行介绍,并结合本文作者在实际开发学习过程中遇到的实际问题,提出了OpenGL着色器编辑环境应该具备的功能以及各功能模块的具体划分。   2.设计并实现了一款OpenGL着色器编辑环境。该系统使用MFC最新类库Visual C++2008 Feature Pack构建简洁友好、易用的用户界面,利用OSG对OpenGL以及OpenGL着色语言良好的功能封装实现对着色器源代码、几何对象、一致变量、纹理等资源的管理,并借助OSG本身在场景管理及实时渲染上的优势来构建自定义的实时渲染窗口。   3.本文实现的OpenGL着色器编辑环境实现了对新一代图形硬件中最新引入的几何着色器的实时编辑操作,而现有的着色器开发工具鲜有支持对几何着色器开发的应用设计。本文通过具体实例展示了几何着色器的功能及应用前景。   本文实现的OpenGL着色器编辑环境界面简洁、直观;实现了语法上色、关键字大小写识别的着色器代码编辑窗口;支持多达几十种的3D模型、2D图形格式的导入导出操作;支持对OpenGL着色语言中一致变量、纹理的GUI编辑操作;同时提供了一个更具交互性的渲染窗口方便开发者进行实时观察着色效果和调试工作。  
其他文献
Ad hoc网络,作为一种特殊的无线网络,具有多跳、自组织、无中心等特点。由于Ad hoc网络组网快捷、灵活,且不受固定基站束缚,使它十分适用于军事或一些紧急场合的应用。例如,
交通网数据库是在空间数据库、时空数据库基础上研究在受限环境中运动的移动对象,其核心内容为交通网建模,交通网移动对象建模,索引,查询等问题,目的在于为智能交通提供一个
随着宽带网络和数据存储技术提高,数字图像的数量急剧的增加。如何快速有效从图像数据库中的找到所需的图像已经成为多媒体技术发展的关键。同时,针对大量存在的压缩格式的文
随着计算机技术、网络技术以及无线传感器网络技术的迅猛发展和广泛应用,敏感信息泄密事件时有发生,面临的信息安全问题也越来越严重。目前,政府各个部门、国防单位、军队、
无线传感器网络(Wireless Sensor Networks,WSNs)是一种综合了无线传输技术和传感器技术为一体的网络系统。系统中多节点自组织的动态形成网络拓扑结构,微传感器以协作的方式
随着移动智能时代的到来,以移动电话为主的移动智能终端已经超越传统PC(Personal Computer),成为最受欢迎的移动计算智能设备。但是同时,在各种利益的驱使下,黑客和恶意病毒
随着信息技术的发展以及经济全球化进程的加快,新产品的更新换代也就越来越快。如何提升企业的市场竞争力,高效的产品设计就是关键。知识管理系统可以使设计人员在设计过程中
随着互联网的发展和广泛应用,网络安全问题也日益严重。在众多的网络安全技术中,防火墙是其中主要的一种。但传统防火墙是被动的,即只能对网络的流量进行控制,对已经感染的软
多尺度函数与多小波由于在高压缩比的系数量化上提供了较单小波更大的灵活性与稀疏性能,在图像压缩领域得到重视,且将多小波运用到了三维视频图像编码中,目前,三维多小波视频
随着计算机软硬件技术的不断发展,大量的数据得以收集。与此同时,原有的数据处理及分析技术面临着越来越多的挑战。分类是机器学习和数据挖掘的一项基本任务,如何构建泛化能