Assimp молча не может рассчитать касательное пространствоC++

Программы на C++. Форум разработчиков
Anonymous
Assimp молча не может рассчитать касательное пространство

Сообщение Anonymous »

Я использую Assimp для загрузки моделей для использования для моего приложения. Как правило, я заинтересован в том, чтобы иметь касательное пространство - нормы, касательные и битангеты. Есть вариант для Assimp для их расчета: < /p>
// Calculates the tangents and bitangents for the imported meshes.
aiProcess_CalcTangentSpace = 0x1
< /code>
Однако в моем случае это ничего не делает. Сетка, которую я пытаюсь импортировать, имеет нормы, но нет касательных и битангентов. Вот как я читаю свои файлы: < /p>
Assimp::Importer importer;

const aiScene* scene = importer.ReadFile(myFile,
aiProcess_Triangulate |
aiProcess_JoinIdenticalVertices |
aiProcess_OptimizeGraph |
aiProcess_OptimizeMeshes |
aiProcess_GenSmoothNormals |
aiProcess_CalcTangentSpace);

OutputDebugStringA(importer.GetErrorString());

aiMesh* mesh = scene->mMeshes[0];

if (!mesh->HasNormals() || !mesh->HasPositions() || !mesh->HasFaces() || !mesh->HasTangentsAndBitangents())
return false;
< /code>
Если я сломаю этот код, у PTR «сетка» есть нормальные нормы, но Tangets и Bitangent Importer.getErrorString () '

Подробнее здесь: https://stackoverflow.com/questions/710 ... gent-space

Вернуться в «C++»