Почему мое приложение OpenGL отображает 3D-модель с неожиданной прозрачностью?C++

Программы на C++. Форум разработчиков
Anonymous
Почему мое приложение OpenGL отображает 3D-модель с неожиданной прозрачностью?

Сообщение Anonymous »

Я разрабатываю игровой движок, используя SFML для управления окнами и OpenGL для рендеринга с помощью C++. Моя цель — визуализировать 3D-изображение модель, но части модели кажутся прозрачными. Я попробовал несколько подходов, чтобы гарантировать, что модель будет полностью непрозрачной, но проблема не устранена. Когда я вращаю камеру вокруг модели, передние грани становятся невидимыми. Из-за этого я всегда вижу лица сзади.
Изображение

Изображение


Моя настройка (минимум):
Исходные файлы

Что я пробовал strong>
  • Я отключил глобальное смешивание перед рендерингом

    Код: Выделить всё

    glDisable(GL_BLEND);
    
  • Я убедился, что прозрачный цвет имеет полностью непрозрачное значение альфа

    Код: Выделить всё

    glClearColor(0.9f, 0.9f, 1.0f, 1.0f);
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
    
  • Я убедился, что глубинное тестирование включено

    Код: Выделить всё

    glEnable(GL_DEPTH_TEST);
    glDepthFunc(GL_LESS);
    
  • Я заменил фрагментный шейдер простым сплошным цветом, чтобы изолировать проблемы с текстурой. Модель по-прежнему отображается с прозрачностью в некоторых областях.
Вопрос:[/b]
  • Почему модель отображается с прозрачностью даже после отключения смешивания и обеспечения непрозрачности цветов в шейдере?


Подробнее здесь: https://stackoverflow.com/questions/793 ... ansparency

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