Допустим, у вас есть сетка. Рассмотрим один из треугольников. Допустим, вы хотите узнать, какие треугольники являются соседями этого треугольника.
Фактически:
Знает ли OpenGL (или какой-либо другой аспект 3D-конвейера) каким-то образом эту информацию?
Единственный известный мне способ найти соседние треугольники — это просто просмотреть все вершины меша.
Мой вопрос:
На уровне фактического 3D-конвейера знает ли «аппаратное обеспечение», какие треугольники являются смежными??
Или есть какая-то магия, возможно, подход на уровне шейдеров, который мгновенно дает эти ответы?
Или, может быть, на уровне физики каким-то образом можно быстро узнать, какие треугольники меша столкновения являются смежными?
Или, возможно, вы можете получить эту информацию, написав собственный шейдер, «знает» ли уровень шейдера эту информацию?
В чем дело, знатоки низкого уровня?? Спасибо
PS, конечно, если эта информация НЕ доступна "из аппаратного обеспечения", лучше всего поддерживать какую-то пространственную базу данных вашего меша. Достаточно просто, но глупо, если информация уже доступна из какого-то аспекта конвейера/оборудования. Спасибо!
ПОСЛЕДНЕЕ ЗАМЕЧАНИЕ для будущих читателей: я подробно обсудил этот вопрос с парой людей, которые работают над аппаратным обеспечением.
Вот ответ:
Действительно, одним словом, 3D-конвейер НЕ знает о соседних треугольниках: это так просто. Вершина визуализируется только относительно двух других в одном треугольнике, и все, как объясняет Антеру. Надеюсь, это поможет кому-то.