В DirectX я работал с текстурированной каре, используя следующую структуру:C++ DirectX - текстурирования 2D-сетки
struct TLVERTEX
{
float x;
float y;
float z;
D3DCOLOR colour;
float u;
float v;
};
Однако я хочу, чтобы сделать более сложной 2D сетки и текстуры те, но я понятия не имею, как я должен выровнять текстуру на нем. В текстурированном квадрате свойства u и v структуры определяют ориентацию текстуры.
Идеально, что я хочу, в конечном счете, иметь возможность иметь либо двумерную сетку с текстурой на ней, либо какие новые свойства структуры мне понадобятся, с текстурой, растянутой/манипулируемой, чтобы она полностью вписывалась в сетку независимо от того, как искажены это может в конечном счете выглядеть.
Еще одна вещь, которую я хотел бы сделать, это сказать, что у меня есть 2D-сетка с текстурой, наложенной на нее без растягивания текстуры и т. Д. Я бы просто хотел выровнять ее, так что если текстура не соответствовать форме сетки, биты будут отсутствовать и т. д.
Я пробовал Google, но могу только найти вещи, относящиеся к 3D-графике. Пока я понимаю, что я технически работаю в 3D-пространстве, в конечном итоге я пытаюсь создать 2D-графику. Я был бы признателен за ответы от чего-либо из предложений, где можно посмотреть/начать работу по достижению этого, чтобы, если возможно, заполнить примеры.
Ваш вопрос немного расплывчато. Если у вас есть вершина, вы можете иметь столько вершин/треугольников в сетке, сколько хотите. Обычно экспортер model/map/object будет перечислять, где uv находятся в формате файла, который вы читаете. –
Да, но у меня есть текстурированный квадрат с четырьмя вершинами. Проблема состоит более чем из четырех. Свойства u и v определяют ориентацию текстуры на квадроцикле, но как я могу достичь этого, когда имеется более 4 вершин? Или вы говорите, что свойства u и v могут применяться к вещам, отличным от текстурированных квадрациклов? Если да, то как я могу использовать их в этом сценарии? – Interminable