首页> 中文学位 >OpenGL着色语言编辑环境的设计与实现
【6h】

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

代理获取

目录

文摘

英文文摘

第一章 绪论

1.1 选题的背景与意义

1.2 计算机图形硬件的发展

1.3 着色语言的发展

1.4 研究目标及内容

1.5 论文的组织结构

第二章 OpenGL着色语言开发概述

2.1 OpenGL着色语言概述

2.2 着色器开发的意义

2.3 着色器分类

2.3.1 顶点处理器

2.3.2 片元处理器

2.3.3 几何处理器

2.4 OpenGL着色器创建流程

2.5 本章小结

第三章 OpenGL着色语言编辑环境系统概述

3.1 引言

3.2 需求分析

3.2.1 传统编程方法存在的问题

3.2.2 现有开发工具的不足

3.3 系统功能

3.4 OpenSceneCraph

3.4.1 OpenSceneGraph简介

3.4.2 场景图形的概念及渲染

3.4.3 OSG对GLSL的封装

3.5 本章小结

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

4.1 总体设计

4.1.1 功能模块划分

4.1.2 图形化用户界面

4.1.3 数据通信与交互

4.2 实时渲染

4.2.1 渲染窗口的建立

4.2.2 实时渲染的实现

4.3 属性编辑操作

4.3.1 GLSL中的数据类型

4.3.2 属性编辑的实现

4.3.3 属性操作

4.4 着色器代码编辑

4.4.1 语法上色的具体实现

4.4.2 代码编辑操作

4.5 着色器代码的编译

4.6 文件I/O

4.6.1 OSG插件机制

4.6.2 文件读写

4.7 本章小结

第五章 着色器开发实例及应用

5.1 引言

5.2 凹凸纹理的着色器实现

5.3 几何着色器的编写

5.3.1 新添加的几何图元

5.3.2 OpenGL争对几何着色器的扩展

5.3.3 几何着色器的实现

5.4 与现有工具比较

5.5 本章小结

第六章 总结与展望

6.1 本文工作总结

6.2 对今后工作的展望

致谢

参考文献

附 录

展开▼

摘要

如今,在三维应用(特别是电脑游戏)的推动下,实时三维图形技术的发展速度非常快,对计算机图形学相关领域产生了很大影响。但是,随着模型和场景复杂程度的急剧增长,实时性的要求也越来越高,依然是很多应用系统(虚拟现实技术、可视化技术等)的主要瓶颈所在。而中央处理器在处理三维数据上又显得力不从心,计算机图形硬件的出现为解决这一问题提出了一条现实的解决途径。
   近年来,随着可编程图形硬件时代的到来,着色器替代了传统的固定渲染管线以实现更加逼真的图像效果。高级着色语言的兴起,给着色器编写带来了方便,然而编写着色器依然带来一些独有的挑战。就像我们学习任何编程语言一样,我们总是希望提供一个可视化的开发环境,让学习编程语言的初学者能把主要精力花在语言本身的学习上,而不是一些语言之外的编程细节。本文的实现目标就是构建一款界面简洁、易于操作的OpenGL着色语言编辑环境,帮助开发者简化着色器编写,迅速构建一个参数化的着色器,并考虑其复用性和扩展性。
   本文主要工作如下:
   1.对OpenGL着色语言以及传统的开发模式进行介绍,并结合本文作者在实际开发学习过程中遇到的实际问题,提出了OpenGL着色器编辑环境应该具备的功能以及各功能模块的具体划分。
   2.设计并实现了一款OpenGL着色器编辑环境。该系统使用MFC最新类库Visual C++2008 Feature Pack构建简洁友好、易用的用户界面,利用OSG对OpenGL以及OpenGL着色语言良好的功能封装实现对着色器源代码、几何对象、一致变量、纹理等资源的管理,并借助OSG本身在场景管理及实时渲染上的优势来构建自定义的实时渲染窗口。
   3.本文实现的OpenGL着色器编辑环境实现了对新一代图形硬件中最新引入的几何着色器的实时编辑操作,而现有的着色器开发工具鲜有支持对几何着色器开发的应用设计。本文通过具体实例展示了几何着色器的功能及应用前景。
   本文实现的OpenGL着色器编辑环境界面简洁、直观;实现了语法上色、关键字大小写识别的着色器代码编辑窗口;支持多达几十种的3D模型、2D图形格式的导入导出操作;支持对OpenGL着色语言中一致变量、纹理的GUI编辑操作;同时提供了一个更具交互性的渲染窗口方便开发者进行实时观察着色效果和调试工作。

著录项

相似文献

  • 中文文献
  • 外文文献
  • 专利
代理获取

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号