@choupa
Архитектор (обычный, который строит)

Интерференция граней. Как побороть?

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

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

Настройка рендера precision = 'highp'. Как с этим бороться?

Пока ничего лучше создания большего зазора или удаления граней в мэшах, которыми они примыкают к соседям, не придумал. Но это всё варианты сильно геморройные и вообще неправильные.
5ab14663c53a4307543146.jpeg

Мне видится, что это решается какими-то настройками. Объектов в сцене немного, поэтому быстродействие не поджимает совершенно. Можно использовать какие-нибудь "тяжёлые" настройки.

Если ли какая-нибудь повышенная точность пространственных вычислений?
  • Вопрос задан
  • 58 просмотров
Решения вопроса 1
@choupa Автор вопроса
Архитектор (обычный, который строит)
Нашёл решение схожей проблемы на SOF: https://stackoverflow.com/questions/40328722/how-c...

Перспективная камера имеет плоскость переднего плана и плоскость заднего плана. И этому отрезку между ними соответствует буфер глубины ограниченной ёмкости. Поэтому вместо значений по умолчанию, хорошо бы выставить конкретные значения "от и до" в которые укладывается сцена. В этом случае буфер глубины будет обслуживать меньшую область и пространственное разрешение повысится. А это позволяет отсекать и корректно обрабатывать мэши, близко расположенные друг к другу.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы