Directx 11纹理映射

时间:2013-07-22 20:20:01

标签: graphics directx game-engine directx-11 directx-9

我已经找到了这个,我确信可以做到。

有谁知道如何阻止纹理在超大面上伸展?

我记得在一些游戏设计中,您可以选择在对象上拉伸图像或运行重复。

编辑:好的,所以我使用了像素坐标,问题仍然存在。顶点很好。我想要做的是加载位图并保持大小相同,无论分辨率是什么,或图像的大小。我希望图像只使用20x20物理像素。

我希望这是有道理的,因为我不认为我之前的解释是这样做的。

Texture2D Texture;

SamplerState SampleType
{
    Filter = TEXT_1BIT;
//    AddressU = Clamp;
//    AddressV = Clamp;
};

struct Vertex
{
    float4 position : POSITION;
    float2 tex : TEXCOORD0;
};

struct Pixel
{
    float4 position : SV_POSITION;
    float2 tex : TEXCOORD0;
};

Pixel FontVertexShader(Vertex input)
{
    return input;
}

float4 FPS(Pixel input) : SV_Target
{
    return Texture.Sample(SampleType, input.tex);
}

...

1 个答案:

答案 0 :(得分:0)

答案在hwnd = CreateWindow(...);

使用WS_POPUP意味着我删除了边框,我的纹理能够正确映射自己。

您需要使用GetClientRect();

谢谢大家的帮助。 :)