У меня есть трехмерное изображение облака точек (см. Ниже).
И я хотел бы отбросить все точки, которые теоретически находятся за другими точками (например, точки вокруг спины человека не будут видны, так как ему мешают точки вокруг груди и живота).
Как мне пойти и решить эту проблему?
Все, что мне нужно, это просто точки, которые не закрыты спереди, чтобы я мог использовать их для других целей.
Изменить: это не совсем для просмотра. Я пытаюсь выделить только беспрепятственные вершины, чтобы вычислить нормаль поверхности позже, чтобы извлечь особенности изображения глубины.
Вы не можете скрыть что-то с помощью точки — у нее нет измерений.
Если у вас есть сетка (то есть вы знаете, какие точки «соединяются» с какими), вы можете скрыть вещи, которые скрыты за этой сеткой.
Если вы этого не сделаете, самый простой трюк, который мне известен для достижения чего-то похожего на ваше требование, — это использовать замирание, связанное с z — просто делайте точки на заднем обесцвечивании.
Как насчет рендеринга полигональной сетки с текстурой точек? Другим способом является рендеринг полигональной сетки в z-буфер (вам нужна только глубина) и использование его для отбрасывания (дальние точки не пройдут z-тест) точек, находящихся за сеткой.