用着色器加倍DPI?

我正在开发一个游戏,用Perlin Noise生成地图,但在CPU上。 我在一个小尺寸的纹理上生成一些珀林噪声,然后将它拉伸到整个屏幕来模拟一张地图。

CPU产生噪声的原因是我希望它在所有设备上看起来都一样。

现在,这是最终结果。

在这里输入图像说明

请忽略图片上的子弹和爆炸。 重要的是背景(黑色/灰色像素)和地面(棕色像素)。 它们通过珀林噪声渲染成相同的纹理。

但是,这看起来不太漂亮。 所以我想知道是否有可能使用着色器来增加像素的数量,同时舍入边缘? 换句话说,提高DPI。

我使用SharpDX和DirectX 11,通过它的工具包function。 但是任何能够帮助我find正确方向的帮助(例如通过HLSL)都是非常有帮助的。

提前致谢。

您可以尝试HQx或xBR滤镜。 它们用于例如NES / SNES仿真器中,以提升像素graphics。

如果您使用的是单色噪点纹理,在着色器中使用颜色渐变将棕红色和蓝黑色应用于不同范围的噪声,则可以使用第二个噪声副本获得一些有趣的结果纹理(或不同的噪点纹理)缩小并添加到第一个。 这将是一个有效的详细地图。 在应用颜色渐变之前将两个噪声值相加在一起应具有分解像素化特征并创建不规则的海岸线的效果。 您可能还想打开噪声纹理的双线性过滤,因为您现在正在使用最近的邻居。