Я новичок в программировании графики, и мне приходится отображать лица в 3D для проекта в моем университете. Для молнии и затенения и прочее мне нужны нормали вершин, и по некоторым причинам они отсутствуют в нескольких объектных файлах, которые я использую. Я искал эту тему в течение нескольких дней, так что вы, ребята, (моя последняя надежда): Есть ли инструмент, где я в основном просто вставляю свой obj-файл и вычисляет недостающие нормали и сохраняет их в файле? Я знаю, что я мог бы рассчитать нормали сам, но это сэкономит много времени, если мне не нужно. Большое спасибо за любую помощь!Сохранение нормалей вершин в файле obj
ответ
Ну, если вы уже загружаете файл obj и разбираете его, вы можете также вычислить нормали одновременно. Если нет версальных нормалей, просто сделайте немного Cross (AB, BC) .Normalize() и сохраните это на треугольник (или квадрат). Если вы хотите, чтобы нормальная вершина вы могли усреднить все нормали над вершиной, например. если вершина является частью 5 треугольников, добавьте 5 нормалей к этой вершине, а затем разделите на 5, чтобы вы имели нормальную вершину. Возможно, потребуется дополнительная структура промежуточных данных, но должна быть достаточно простой.
Если вам разрешено использовать библиотеки, ASSIMP - это библиотека, которую я использовал для разбора различных форматов файлов в единый формат. Вероятно, они посчитают для вас нормали. Но так как это для университетского графического класса, вы, вероятно, должны сами выполнить эту работу.
- 1. Three.js Расчет нормалей вершин
- 2. Расчет нормалей вершин
- 3. Добавление нормалей в список вершин
- 4. Расчет нормалей вершин для GL_TRIANGLE
- 5. THREE.BufferGeometry - нормалей вершин и нормали граней
- 6. Отдельные массивы для вершин и нормалей
- 7. OpenGL - нормали вершин в OBJ
- 8. Сколько нормалей?
- 9. Как найти количество ребер в OBJ-файле?
- 10. Преобразование вершинных нормалей в three.js
- 11. вычисление вершинных нормалей в opengl с C++
- 12. Передача GLSL с указанием нормалей в шейдер
- 13. Flip face в obj файле
- 14. Нормальная карта в * .obj файле
- 15. Сохранение простого текста в файл (Obj-C)
- 16. DirectX 11 индексируется рисунок с нормалей
- 17. OpenGL ES 2.0 на iOS: импорт файлов .OBJ из экспорта zBrush без нормалей
- 18. Преобразование U3D в формат STL или OBJ
- 19. three.js - Сглаживание нормалей с использованием mergeVertices();
- 20. Расчет нормалей модели .3ds
- 21. Направление нормалей
- 22. Расчет нормалей для OpenGL
- 23. Преобразование нормалей в webgl
- 24. Расчет на грань нормалей в геометрии Shader
- 25. iOS Импорт файла .obj в модель ввода-вывода без дублирующих вершин
- 26. Сохранение нескольких объектов в двоичном файле
- 27. Что делает obj _ $ (variable_name) в make-файле?
- 28. Уже определенные функции в файле Obj
- 29. Реализация делегата Obj-C в отдельном файле
- 30. Вычисление нормалей для карты высоты
Я думаю, что вы предоставили очень мало информации, и вы ожидаете слишком много .. здесь, на SO, вы задаете вопрос типа (почти всегда). У меня есть этот код, и это не работает .. или я получаю такую ошибку. этот вопрос, вероятно, будет закрыт как слишком широкий - пожалуйста, предоставьте некоторую дополнительную информацию, как формат объектного файла, - это объектные файлы C++ (это звучит странно. У меня мало знаний о реализации 3D-графики), используете ли вы какой-то графический движок? позаботьтесь о том, чтобы поделиться своим кодом. – nayana