Gum*_*mgo 10
天空盒是一个很好的方式.你会想要使用立方体贴图.基本上,您在相机周围渲染一个立方体,并将纹理映射到立方体每个面的内侧.我相信的OpenGL可以包括这在其固定管线,但如果你正在做的着色方法(固定功能反正不建议使用),你需要使用立方体贴图采样(samplerCUBE在CG,不知道GLSL).绘制立方体贴图时,您还希望从模型视图矩阵中移除平移但保持旋转(这会使天空盒"跟随"相机,但允许您环顾天空的不同部分).
最好的办法是在绘制所有不透明对象后绘制立方体贴图.这可能看起来很奇怪,因为默认情况下天空会阻挡其他对象,但你使用以下技巧(如果使用着色器)来避免这种情况:在顶点着色器中写入最终输出位置时,不要写出.xyzw,写.xyww .这将迫使天空飞向远处的飞机,使其落后于一切.这样做的好处是绝对有0次透支!
是.
制作一个非常大的领域有两个主要问题.首先,您可能会遇到剪裁问题.如果距离你的远距离裁剪距离,天空可能会消失.此外,从远处进入天空盒的物体将在视觉上穿过非常坚固的墙壁.其次,你会浪费很多多边形(并且很多痛苦)来获得非常简单的效果.
大多数人实际上使用一个小立方体(因此称为"天空盒").您需要在关闭深度测试的预通道中渲染立方体.因此,无论与您的实际距离如何,所有对象都将呈现在多维数据集的顶部.只要确保一边的长度大于近剪裁距离的两倍,你应该没问题.
归档时间: |
|
查看次数: |
3737 次 |
最近记录: |