Профиль XNA Reach - PullRequest
       8

Профиль XNA Reach

3 голосов
/ 11 апреля 2011

я получаю свою ошибку

"Для профиля XNA Framework Reach требуется, чтобы TextureAddressMode был Clamp при использовании размеров текстур, не имеющих степени двойки" *

для строки

GraphicsDevice.DrawUserPrimitives<VertexPositionTexture>
                    (PrimitiveType.TriangleStrip, verts, 0, 2);

Что мне делать?

Спасибо

Ответы [ 2 ]

8 голосов
/ 11 апреля 2011

При использовании профиля досягаемости используйте мощные текстуры двух размеров или установите для TextureAddressingMode значение Clamp.

TextureAddressingMode является частью GraphicsDevice SamplerState. Вам нужно установить это состояние до вашего розыгрыша. В следующем коде показано, как установить для первого сэмплера текстуры одно из встроенных состояний сэмплера.

GraphicsDevice.SamplerStates[0] = SamplerState.LinearClamp;

GraphicsDevice.DrawUserPrimitives<VertexPositionTexture>
                    (PrimitiveType.TriangleStrip, verts, 0, 2);
1 голос
/ 03 октября 2012

В моем случае в файле Model.fx для AddressMode было задано значение Wrap, и это испортило его.

Вот правильное значение sampler_state из моего Model.fx:

sampler TextureSampler = sampler_state
{
    Texture = (Texture);

    MinFilter = Linear;
    MagFilter = Linear;
    MipFilter = Linear;

    AddressU = Clamp;
    AddressV = Clamp;
};

Более подробную информацию можно найти здесь: http://www.packtpub.com/article/xna-hsl

...