Лица модели FBX (некоторые) не отрисовываются должным образом

Я создал базовую сферу в Maya и загрузил ее в свой проект OpenGL. Проблема, которую я имею, показана ниже:

Модель Майя

Как видите, сфера триангулирована.

Но когда модель загружается в мой проект, некоторые грани не отображаются должным образом.

введите описание изображения здесь

Это мои настройки экспорта Maya FBX (проверено):

Общие настройки
— Расширения файлов по умолчанию
— сохранить ссылки

Текущий пресет
— Определяемые пользователем

Геометрия
— Гладкая сетка

Конвертировать NURBS поверхность в:
— Программное обеспечение Render Mesh
— Контейнеры со ссылками

Вставить медиа
— Вставить медиа

Единицы
— автоматическая

Преобразование оси
— Вверх по оси: Y

UI
— Показать менеджер предупреждений
— Создать данные журнала

Формат файла FBX
— Тип: Бинарный
— Версия: FBX 2013

Есть идеи, почему это происходит? Я использую FBX SDK 2013.

РЕДАКТИРОВАТЬ:

На момент публикации не осознавал, что белые треугольники (помеченные как «плохие треугольники») появляются из-за простой визуализации света. Но он расширил планку справа это актуальная проблема.

-4

Решение

Увидел ваш вопрос на моем видео YouTube.

Мне кажется, что некоторые из ваших треугольников выбиты на расширенной планке. Может быть, некоторые треугольники на планке имеют неправильную намотку? Что-то, чтобы проверить. Проверьте намотку на треугольники и поиграйте с лицевой стороной кегля opengl.

Что касается затенения, я видел нечто похожее на это раньше. Похоже, что вам может потребоваться включить плавное затенение вместо плоского затенения. Попробуйте вызвать glShadeModel (GL_SMOOTH);

Также попробуйте вызвать glDisable (GL_TEXTURE_2D). Если текстура включена и соответствующие координаты текстуры не заданы, это может привести к появлению странных плоских заштрихованных треугольников, которые вы видите.

Единственная другая возможность, о которой я могу подумать, это просто то, что ваши нормали настроены неправильно. Вот несколько причин, по которым это может происходить:

  1. Вы неправильно экспортировали нормали.
  2. Вы неправильно импортировали нормали в объекты буфера вершин, или, тем не менее, кешируете информацию
  3. Ваши шейдеры (при условии, что вы не используете непосредственный режим) не читают или не обрабатывают нормальные значения.

Надеюсь это поможет. Удачи!

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]