如何在OpenGL中创建“夜空”效果?


10

我正在使用OpenGL创建游戏,我想渲染其中有几颗星星的夜空的效果。

我想在天空中产生闪亮的黑色效果,以便看起来不错。有人可以帮忙进行下去,也可以提供指向好教程的链接吗?

Answers:


11

典型的方法是天空盒空中穹顶。两种技术都涉及创建一些始终在相对于视图的固定位置进行渲染的简单几何图形,并向其应用纹理。最终效果的质量在很大程度上取决于纹理图稿的质量,因此,如果您不具备出色的艺术技能,则可能需要选择其他东西。不过,诸如Terragen之类的工具可以帮助产生体面的艺术品,这个问题与其他类似性质的工具有一系列联系。

一种不太明显地依赖于艺术的方法是按程序进行整个操作。您可以创建基于顶点颜色的天穹(此处链接和信息),这将允许您根据一些用于天空着色的经验(或其他)模型来调整颜色- 如果我没记错的话,Preetham和Shirley的模型特别好

然后,您可以应用在星空附近渲染的程序性星空生成(也许作为固定的粒子系统,或者通过纹理喷溅,等等)。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.