Проблемы с GLG opengl — переполнение стека в Game Engine

В настоящее время я работаю над своим игровым движком, и у меня возникают проблемы, с которыми я не могу разобраться. Я передумал настраивать свою собственную математическую библиотеку, поэтому вернулся к использованию GLM, потому что это идеальное решение.
Но тут возникает проблема, с моим кодом все работает хорошо, но теперь с измененными функциями у меня возникает проблема с отсечением и пересечением объектов.

Увеличено

Это первое изображение показывает, как выглядит моя сцена, когда она увеличена. Все выглядит почти идеально, и плоскость правильно пересекает куб.

Уменьшено

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

proj = glm::perspective((double)fovy, (double)aspect, (double)nearPlane,(double) farPlane);

и вот как я вычисляю представление:

view = glm::lookAt(pos, tar, gameObject->transform.getUp());

Я знаю, что я должен опубликовать больше кода, но есть так много, что я действительно не знаю, с чего начать. Поэтому, пожалуйста, скажите мне, какой код может быть важен, и я опубликовал его. Заранее большое спасибо, и я надеюсь, что кто-нибудь сможет мне помочь. Если нужно больше фотографий, пожалуйста, скажите мне.

1

Решение

Похоже, вам не хватает разрешения по глубине. Это происходит когда nearPlane очень маленький и farPlane очень большой Например, от 0,0001 до 10000,0 даст вам низкое разрешение по глубине.

Делать nearPlane больше и farPlane меньше.

2

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

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

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