我明白他的错误
“当使用不是2的幂的纹理大小时,XNA Framework Reach profile要求对TextureAddressMode进行钳制”
对于line
GraphicsDevice.DrawUserPrimitives<VertexPositionTexture>
(PrimitiveType.TriangleStrip, verts, 0, 2);我该怎么做?
谢谢,
发布于 2011-04-11 12:05:47
当使用到达轮廓时,使用两个大小纹理的力量或将TextureAddressingMode设置为钳制。
TextureAddressingMode是GraphicsDevice SamplerState的一部分。您需要在调用绘图之前设置此状态。下面的代码显示了如何将第一个纹理采样器设置为内置采样器状态之一。
GraphicsDevice.SamplerStates[0] = SamplerState.LinearClamp;
GraphicsDevice.DrawUserPrimitives<VertexPositionTexture>
(PrimitiveType.TriangleStrip, verts, 0, 2);发布于 2012-10-03 09:34:41
在我的例子中,Model.fx文件将AddressMode设置为Wrap,这搞乱了它。
下面是来自我的Model.fx的正确的sampler_state:
sampler TextureSampler = sampler_state
{
Texture = (Texture);
MinFilter = Linear;
MagFilter = Linear;
MipFilter = Linear;
AddressU = Clamp;
AddressV = Clamp;
};更多信息可在此处找到:http://www.packtpub.com/article/xna-hsl
https://stackoverflow.com/questions/5615719
复制相似问题