有没有人有幸使用LinearWrap在广告资料上使用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)之内吗? 第一个数字是否必须为负数? (为什么不在微软的任何地方记录这一点)
答案 0 :(得分:4)
我认为您的问题是NormalizedShort对象。 “Normalized”通常表示从-1到1的值。对于XNA,它似乎是same。
尝试使用Vector2(浮点数)作为纹理坐标。