我是OpenGL新手。我正在使用JOGL。

我想为我的世界创造一个天空,让我可以用云层或星星作为纹理。我不确定执行此操作的最佳方法是什么。我的第一个直觉是用GLU_INSIDE二次定向制作一个非常大的球,并对其进行纹理处理。有没有更好的办法?

最佳答案

是的。

制作一个很大的球有两个主要问题。首先,您可能会遇到裁剪问题。如果天空不在您的远距离剪切范围内,则天空可能会消失。此外,从远处进入天空盒子的物体将在视觉上穿过非常坚固的墙壁。其次,您浪费大量的多边形(以及很多痛苦)来获得非常简单的效果。

大多数人实际上使用一个小立方体(因此被称为“天空盒子”)。您需要在深度测试关闭的情况下在预渲染中渲染多维数据集。因此,无论它们与您的实际距离如何,所有对象都将在立方体的顶部进行渲染。只要确保一面的长度大于附近剪切距离的两倍,就可以了。

关于java - OpenGL:创建天空盒?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3790611/

10-10 18:42