Мне просто нужно добавить немного к ответу ap_.
Конечно, вы можете иметь несколько UV для одной вершины, это называется UV-слоями. Именно так двигатели отображали карты освещения и карты альбедо одновременно с появлением карт освещения. (возможно, движок землетрясения в 1996 году?)
Вы можете иметь больше УФ-слоев, если хотите сделать мультитекстурирование, например, для ландшафта, карты освещения, большого альбедо, детали альбедо, карты нормалей ...
К сожалению, растеризатор никогда не выберет УФ-слой в зависимости от примитива, который он рендерит. Такой рендерер мог бы быть сделан с дополнительным индексным буфером (примитивом к буферу отображения UV-слоя), но никакие графические карты и никакой графический API не поддерживают это. В любом случае, это ненужное нарушение KISS.
Таким образом, в этом случае нужно разделить вершину пирамиды на 4 отдельные вершины во время разработки. Во всяком случае, первая причина этого - не распаковка ультрафиолета, а в основном нормальное определение Если вам нужны острые края, вам нужно нарушить затенение, поэтому вам нужно иметь разные нормали, они тоже, как и UV, обычно определяются 1-1 в потоке вершин.
Последнее предложение, может быть, вы действительно не хотите использовать эту распаковку, я бы предпочел это:
Таким образом, у вас есть бесшовная непрерывность для фильтрации и выглядит по краям и на вершине.