我有一个问题,当我渲染我的天空盒子。我正在使用带有c++的DirectX 11。这张照片太模糊了。我想可能是我使用了太低分辨率的纹理。目前,skybox的每个面的分辨率都是1024x1024。我的屏幕分辨率是1920x1080。平均而言,我会一直盯着skybox的一个面,这意味着1024x1024的图片将被拉伸以充满我的屏幕,这就是为什么它是模糊的。我正在考虑使用2048x2048纹理。我创建了一个简单的skybox纹理,它不再模糊。但是我的问题是它需要太多的内存!几乎100MB加载到GPU中,仅作为后台。
我的问题是,有没有更好的方法来渲染天空盒子?我在互联网上找了找,但没找到什么。有人说,标准是每张脸512x512。那么这种模糊性是不可接受的。我想知道商业游戏是如何实现它们的天空盒子的?他们使用了巨大的纹理尺寸吗?特别是,对于那些看过它的人来说,我喜欢死空间3的空间环境。我想要创造出这样的东西。那么他们是怎么做到的呢?
发布于 2013-02-28 15:21:22
首先,像素密度不仅取决于纹理和屏幕的分辨率,还取决于视场。较窄的视场将导致较少的天空框填满屏幕,因此将更多地放大纹理,需要更高的分辨率。你没有确切地说出你使用的是什么FOV,但我有点惊讶于1k的纹理特别模糊,所以可能它有点窄?
哦,在我忘记之前-你应该使用压缩纹理...2k纹理不应该那么可怕。
然而,除了改变分辨率外,我通常都会把skybox和一些简单的远距离物体结合起来。
例如,在一个空间场景中,我可能会渲染一个相当简单的天空盒子,它只包含星云等东西,其中分辨率并不重要。我可能会将至少一些星星渲染为精灵,那里的纹理密度可以局部更高。行星可以是带纹理的几何体。
如果我要渲染一个更传统的户外场景,我可以在天空框上渲染天空和云,但可以渲染远处的地平线作为几何体。天空中的月亮可能是一层叠加。
没有一个标准的答案--根据具体情况,可以采用多种技术。
https://stackoverflow.com/questions/15129258
复制相似问题