Есть такая функция:
//----------------------------------------------------------------------
// Computes the bump basis vector for the U texture channel (called the Tangent),
// and the cross product of the surface normal with the Tangent (called the Binormal).
// These along with the surface normal are used as the basis vectors for normal mapping.
DllExport void ComputeTangentAndBinormal(const Point3 tv[3], const Point3 v[3], Point3 bvec[2]);
maxsdk\include\gutil.h
Чет не работает. Или я чет на правильно делаю. Как полчить тангент и бинормаль?
mrX
а как она не так работает? И стоит ли вообще считать ее в экспортере? я вот тоже на выходных подошел к этой проблеме. Дело в том что дополнительно разрастется данные в сохраняемом файле из-за экспортирования еще 2 векторов по 3 float для каждой вершины. Может это сделать в загрузчике движка, по требованию ведь не всем мешам в сцене нужен бамп.
Ну ты можешь свою функцию применить для подсчета. Полазь по форуму или по сети много готового есть. Если не найдешь дам ссылку или напишу.
У меня при экспорте выбирается что нужно экспортить. А вычислять тангент и бинормаль при загрузке мне кажется не выгодно. Я считаю, если что то можно вычислить в оффлайн, то это стоит сделать.
mrX
а размер файла с мешем?
Размер будет больше, хотя над подумать. Если тангент вычислить будет быстрее, чем загрузить из файла, то сохранять их в файл не стоит. Надо думать.
Тема в архиве.