C++ 模糊天空盒纹理

C++ 模糊天空盒纹理,c++,graphics,directx,textures,skybox,C++,Graphics,Directx,Textures,Skybox,渲染skybox时出现问题。我使用DirectX 11用C++。这幅画太模糊了。我想可能是因为我使用了太低分辨率的纹理。目前,对于skybox的每个面,分辨率为1024x1024。我的屏幕分辨率是1920x1080。平均而言,我会一直盯着skybox的一面,这意味着1024x1024的图片将被拉伸以填满我的屏幕,这就是为什么它是模糊的。我正在考虑使用2048x2048纹理。我创建了一个简单的skybox纹理,它不再模糊。但我的问题是它占用了太多的内存!几乎100MB加载到GPU只是为了背景 我的

渲染skybox时出现问题。我使用DirectX 11用C++。这幅画太模糊了。我想可能是因为我使用了太低分辨率的纹理。目前,对于skybox的每个面,分辨率为1024x1024。我的屏幕分辨率是1920x1080。平均而言,我会一直盯着skybox的一面,这意味着1024x1024的图片将被拉伸以填满我的屏幕,这就是为什么它是模糊的。我正在考虑使用2048x2048纹理。我创建了一个简单的skybox纹理,它不再模糊。但我的问题是它占用了太多的内存!几乎100MB加载到GPU只是为了背景


我的问题是,有没有更好的方法来渲染Skybox?我在互联网上到处看看,运气不好。有人说标准是每张脸512x512。这种模糊是不可接受的。我想知道商业游戏是如何制作他们的Skybox的?他们使用了巨大的纹理尺寸吗?特别是那些看过的人,我喜欢死空间3的空间环境。我想创造这样的东西。那么他们是如何做到的呢?

首先,像素密度不仅取决于纹理和屏幕的分辨率,还取决于视野。窄视场将减少填充屏幕的skybox,因此将更多地放大纹理,需要更高的分辨率。你没有说你使用的是什么FOV,但我有点惊讶1k的纹理特别模糊,所以可能有点窄

哦,在我忘记之前-你应该使用压缩纹理。。。2k纹理不应该那么可怕

然而,除了改变分辨率(这显然开始相当快地消耗内存)之外,我通常总是将skybox与一些简单的远距离对象结合起来

例如,在一个空间场景中,我可能会渲染一个相当简单的天空盒,其中只包含像星云之类的东西,分辨率并不重要。我可能会渲染至少一些星星作为精灵,其中纹理密度可以局部更高。行星可以是纹理几何体

如果我渲染的是更传统的室外场景,我可以在skybox上渲染天空和云,但可以将远处的地平线渲染为几何体。天空中的月亮可能是一个覆盖层


没有一个标准答案-根据具体情况,可以使用多种技术。

首先,像素密度不仅取决于纹理和屏幕的分辨率,还取决于视野。窄视场将减少填充屏幕的skybox,因此将更多地放大纹理,需要更高的分辨率。你没有说你使用的是什么FOV,但我有点惊讶1k的纹理特别模糊,所以可能有点窄

哦,在我忘记之前-你应该使用压缩纹理。。。2k纹理不应该那么可怕

然而,除了改变分辨率(这显然开始相当快地消耗内存)之外,我通常总是将skybox与一些简单的远距离对象结合起来

例如,在一个空间场景中,我可能会渲染一个相当简单的天空盒,其中只包含像星云之类的东西,分辨率并不重要。我可能会渲染至少一些星星作为精灵,其中纹理密度可以局部更高。行星可以是纹理几何体

如果我渲染的是更传统的室外场景,我可以在skybox上渲染天空和云,但可以将远处的地平线渲染为几何体。天空中的月亮可能是一个覆盖层


没有一个标准答案-根据具体情况,可以使用多种技术。

谢谢您的建议。我的视野是45度,我不知道这是否属于“狭窄”。压缩纹理方法似乎很有趣。只是一个简单的后续问题:加载压缩纹理的方式是否与加载普通DDS图像的方式相同?但我只是想到了一件事:即使我使用压缩纹理,也只意味着我将在运行时进行解压缩。我仍然需要将整个(未压缩)纹理发送到图形卡。不,图形卡支持压缩纹理,DDS格式也是如此。45度对我来说似乎很窄-如果你说的是半角(即总共90度),那么可能就不那么窄了,但你只需要选择感觉/看起来合适的东西。45度是我的总角度。我试着把它改成90度,但结果很奇怪,像鱼眼效应之类的。你们通常使用什么视场?还是正常的商业游戏使用?我们的默认设置是垂直90度(水平方向更宽)。谢谢你的建议。我的视野是45度,我不知道这是否属于“狭窄”。压缩纹理方法似乎很有趣。只是一个简单的后续问题:加载压缩纹理的方式是否与加载普通DDS图像的方式相同?但我只是想到了一件事:即使我使用压缩纹理,也只意味着我将在运行时进行解压缩。我仍然需要将整个(未压缩)纹理发送到图形卡。不,图形卡支持压缩纹理,DDS格式也是如此。45度对我来说似乎很窄-如果你说的是半角(即总共90度),那么可能就不那么窄了,但你只需要选择感觉/看起来合适的东西。45度是我的总角度。我试着把它改成90度,但结果很奇怪,像鱼眼效应之类的。你们通常使用什么视场?还是正常的商业游戏?我们的默认设置是垂直90度(水平方向更宽)。