在给定位置渲染立方体纹理上的2D纹理

我想模仿天空中的移动太阳。 到目前为止,我所能做的就是计算太阳的确切位置,即从照相机在世界上的位置到太阳的3D方向vector。 天空是6面与一些立方体贴图纹理纹理的立方体。 天空盒的位置不断被设置在相机的位置,所以相机总是在立方体的中心。

现在,我有一个简单的太阳2D纹理,我想使用上述的方向vector渲染到立方体贴图纹理上。 你能介绍一下我怎么能做到这一点? 我的推理是我需要绑定立方体贴图的帧缓冲区,然后用正确的太阳纹理渲染太阳网格。 但是,如何在这里指定太阳的位置,使其与我之前计算的方向vector相匹配? 另一个问题是,如果太阳的一部分应该被渲染在立方体纹理的一个面上而其他部分在立方体纹理的另一面上,那么是否会有问题呢?

先谢谢你。

为什么把太阳变成天空盒? 只需渲染天空盒,然后在不使用深度testing的情况下绘制太阳。 这样你就不必修改任何纹理,然后重画它们。 在这样的地方绘制太阳也很容易。

正如Nicol Bolas在评论中提到的,如果透明的话,你可以把太阳放在天空盒后面 。 你可以做一些事情,比如将透明的颜色设置为azure色并将其清除,在适当的位置绘制太阳,然后画出包含云的天空盒。 如果你模拟一整天,你需要随着时间的推移改变清晰的颜色,并旋转天空盒,使云看起来像他们正在移动。