gpt4 book ai didi

c# - super 模糊的纹理 - XNA

转载 作者:行者123 更新时间:2023-11-30 19:12:14 26 4
gpt4 key购买 nike

当我近距离观察我的纹理时,我似乎变得非常模糊。我正在创建一个类似 minecraft 的地形东西,我希望纹理被像素化 - 就像它被制作而不是 XNA 试图为我平滑它。

它是这样显示的:http://s1100.photobucket.com/albums/g420/darestium/?action=view&current=bluryminecraftterrain.png

如有任何建议,我们将不胜感激。

最佳答案

它与抗锯齿无关……它与硬件如何对纹理中的纹素进行采样有关。 XNA 中的默认过滤器通常是线性的,但要获得那些看起来“ block 状”的纹理,您必须使用点。

在 C# 中,您可以将任何 SamplerStates 设置为使用 PointWrap。这是点过滤与 UV 环绕的组合。

// any state index from 0 to 15, textures usually take 0 first    
GraphicsDevice.SamplerStates[0] = SamplerState.PointWrap;

但是它必须分配给与 SamplerState 相同的寄存器。例如。寄存器 s0 通常是 SamplerStates[0]。或者,您可以在着色器上强制执行采样器状态,并在那里设置您的寄存器:

sampler2D textureSampler : register(s0) = sampler_state
{
Texture = <Texture>;
MipFilter = Point;
MagFilter = Point;
MinFilter = Point;
AddressU = Wrap;
AddressV = Wrap;
};

您还可以将 MipFilter 设置为 None 以强制关闭 mipmap。

关于c# - super 模糊的纹理 - XNA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8338095/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com