В настоящее время я пытаюсь применить изображение текстуры к орфографической плоскости, чтобы его можно было использовать как своего рода «U.I. украшение'.Как применить текстуру к ортографической плоскости с помощью шейдеров DirectX11
Самолет состоит из двух три в формате D3D11_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP. Когда я пытаюсь отобразить планшет с помощью шейдера, он просто выглядит белым (или невидимым, если у меня состояние смешивания установлено на true). Я считаю, что это потому, что я только беру выборку из четырех углов текстуры в орфографическом плане, поскольку я только беру выборку в вершинном шейдере.
Это текущий код в моих шейдерах:
void VSMain(const VSInput input, out PSInput output) {
output.pos = input.pos;
output.pos = mul(output.pos, g_WVP);
float2 tex_pos;
float4 Tex;
tex_pos.x = (input.pos.x + 512)/1024;
tex_pos.y = (-input.pos.z + 512)/1024;
Tex = g_materialMap.SampleLevel(g_sampler, tex_pos, 0);
output.colour = Tex;
}
void PSMain(const PSInput input, out PSOutput output) {
output.colour = input.colour;
}
Когда я применить этот шейдер к высотам, что я в настоящее время рендеринга в сцене, он работает должным образом, однако он не работает должным образом на ортографическая плоскость.
Может ли кто-нибудь помочь мне правильно применить эту текстуру к орфографической плоскости? (При необходимости я могу предоставить скриншоты текущей сцены)
Можете ли вы предоставить ваш создание вершин и ваша ничья код? Скриншот тоже будет интересным :) – Gnietschow