Graphics 使用XNA的SamplerState.LinearRap

Graphics 使用XNA的SamplerState.LinearRap,graphics,xna,textures,Graphics,Xna,Textures,有没有人在reach profile上有幸让LinearRap与XNA 4.0合作 例如 device.SamplerStates[0] = SamplerState.LinearWrap; leftVert.TexCoord = new NormalizedShort(0.0f, 0.0f); rightVert.TexCoord = new NormalizedShort(5.0f, 1.0f); 这不会沿u轴缠绕纹理5次。事实上,它呈现的效果就像5.0f是1.0f一样 另一个例

有没有人在reach profile上有幸让LinearRap与XNA 4.0合作

例如

device.SamplerStates[0] = SamplerState.LinearWrap;    

leftVert.TexCoord = new NormalizedShort(0.0f, 0.0f);
rightVert.TexCoord = new NormalizedShort(5.0f, 1.0f);
这不会沿u轴缠绕纹理5次。事实上,它呈现的效果就像5.0f是1.0f一样

另一个例子

leftVert.TexCoord = new NormalizedShort(-5.0f, 0.0f);
rightVert.TexCoord = new NormalizedShort(5.0f, 1.0f);
这将包裹纹理一次,但不是预期的10次

所以。。。有人知道如何使用这个系统的规则吗

那就是

相邻坐标之间是否存在最大支持偏差? 所有坐标都必须在-1,1之内吗? 第一个数字必须是负数吗?
为什么没有在Microsoft的任何地方记录这一点呢?我认为您的问题是NormalizedShort对象。标准化通常表示从-1到1的值。就XNA而言,它似乎是最重要的


尝试使用Vector2浮动作为纹理坐标。

我认为您的问题是NormalizedShort对象。标准化通常表示从-1到1的值。就XNA而言,它似乎是最重要的


尝试使用Vector2浮动作为纹理坐标。

标记似乎有正确的答案。同样在Reach配置文件上,你只能包装两个大小的纹理:128、256、512等。标记似乎有正确的答案。同样在Reach配置文件上,您只能包裹两个大小的纹理:128、256、512等。