Узнайте, какие треугольники были нарисованы OpenGL - PullRequest
0 голосов
/ 16 апреля 2019

У меня есть идея, и я хочу знать, возможно ли это каким-либо образом. Я хочу визуализировать сцену и использовать полученное изображение, чтобы узнать, какие треугольники были или видны с моей текущей точки зрения.

Позвольте мне привести пример: я рендерил сцену в пользовательский кадровый буфер и сохранял определенный идентификатор для каждого пикселя, идентификатор был бы идентификатором исходного примитива. Теперь моя проблема в том, что я не знаю, как узнать, какой пиксель принадлежал тому или иному треугольнику. Моя первая идея состояла в том, чтобы просто передать ID по этапам шейдера, но я не знаю, возможно ли это. Если я смогу узнать, какие примитивы были нарисованы, я мог бы отбросить остальных. Есть ли способ узнать, какой пиксель принадлежал какому (оригинальному) треугольнику?

Здесь есть похожий вопрос о Stackoverflow, но он на самом деле не отвечает на мой вопрос (см. question ).

Почему я хочу это сделать?

У меня есть сценарий сервер-клиент, где мой сервер очень мощный, а мой клиент - нет. Сервер отправляет данные модели клиенту, а клиент отображает их локально. Чтобы сократить время рендеринга и объем необходимой памяти, я хочу выполнить предварительный расчет на сервере и отправить клиенту только определенные части модели.

Редактировать: Изменил мой вопрос, потому что я неправильно понял некоторые понятия.

...