OpenGL使用可编程管线实现屏幕空间环境光遮蔽

2018-06-06 10:14:36易湘舟李永李敏
电脑知识与技术 2018年7期

易湘舟 李永 李敏

摘要:OpenGL计算机图形编程接口实现了计算机对3D图形的渲染功能,然而旧版本的OpenGL(兼容版 compatibility profile)是采用固定管线的渲染模式对图形进行渲染,固定管线中的渲染程序是固定的,OpenGL用户无法更改这类渲染程序,这使得旧版本OpenGL的使用者实现的功能受到了很大的限制。新版本的OpenGL(核心板 core profile)则采用了可编程管线模式对图形进行渲染,可编程管线相对于传统固定管线的优势在于图形该如何和渲染可以由OpenGL用户来实现,从而使OpenGL的灵活性得到扩展。将通过可编程管线来实现传统固定管线难以实现的环境光遮蔽效果。

关键词:OpenGL;可编程渲染管线;屏幕空间环境光遮蔽

中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2018)07-0173-03

OpenGL作为一个成熟而久负盛名的跨平台的计算机图形应用程序接口规范,它已经被广泛用于游戏、影视、军事、航空航天、地理、医学、机械设计,以及各类科学数据可视化的领域[1~3]。目前大部分的研究均基于OpenGL实现[4]。随着时间的推移以及计算机图形学的发展,OpenGL自身也进行了很多的更新换代,在OpenGL3.0中,某些特性被标记为“不鼓励使用的”,也就是说这些特性在未来的OpenGL版本中可能会被删除。而被标记“不鼓励使用的”功能主要目的是推动OpenGL标准的发展[5],所以为了提高程序的规范性和兼容性,开发者有必要了解并使用OpenGL核心模式(core profile)。在核心模式中,开发者可以更灵活的渲染、处理自己的模型以获得更多的效果。

1 系统原理及结构

OpenGL中所有的事物都被放在一个抽象的3D空间之中,然而屏幕只是一个二维的像素阵列,并不是一上来就可以直接显示3D图像的,所以OpenGL的任务是将3D图形从一堆二进制数据的形态转换成能够显示到屏幕上的每一帧图片。……

登录APP查看全文