Как правило, вы хотите заранее вычислить как можно больше. Большинство движков будут иметь собственный инструмент для написания, который может принимать необработанные данные из программного обеспечения 3D и преобразовывать их в формат для времени выполнения (добавляя касательные и битовые касания и т. Д.). Однако ...
В определенных ситуациях издержки памяти на каждую вершину могут вызывать особые проблемы с производительностью. Это связано с тем, что с перемещением данных о системе связаны накладные расходы - они «скрыты», поскольку они не являются явными в виде инструкции, добавляемой в шейдер, поэтому они немного более продвинуты.
В этих случаях битангенс не может быть предварительно вычислен, а вместо этого может быть создан во время выполнения (чтобы уменьшить размер вершины в памяти). Битангенсы подходят для этого, потому что они могут быть построены из нормального , тангенса и флага направленности - которые являются всеми свойствами одна вершина.
Нормы , некоторые UV-отображения и другие вещи требуют знания "топологии" сетки - и эта топология обычно не присутствует в данных времени выполнения. Они также требуют дополнительной маркировки от художников; например, острые края и текстуры, швы и т. д. По этой причине нормали , УФ * и первая касательная будут почти всегда рассчитываться для всех, кроме очень специализированных типов геометрии.
Помните, что представление модели в Max, Maya или Blender сильно отличается от версии во время выполнения.
Редактор программного обеспечения
- суп из треугольников и квадратов с информацией о соседях
- края помечены как острые / мягкие
- одна вершина может иметь несколько нормалей и несколько UV-координат
Время выполнения (для DirectX, OpenGL и т. Д.)
- кэш-дружественная коллекция треугольных полос и треугольных вентиляторов
- ребра неявны, к ним не привязана дополнительная информация
- каждая вершина имеет только одну позицию, одну нормаль и одну координату UV (для текстуры)
- иногда существует на нескольких уровнях детализации
Как правило, вы теряете много информации, которую невозможно восстановить. Ваши художники будут счастливы, если вы сделаете столько, сколько сможете с оригинальной версией геометрии Макс / Майя.