gl_PointSize, соответствующий размеру мирового пространства

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

Это хорошо, потому что позволяет довольно просто установить экстент рекламного щита: вы вычисляете фактические позиции в мировом пространстве напрямую.

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

Единственный прецедент, который я мог найти, былэтот вопрос (чей ответ я не уверен, правильно) иэтот вопрос (что остается без ответа).

Стоит отметить, что довольно просто правильно масштабировать точку с расстоянием (gl_PointSize = constant/length(gl_Position), но это не контролируемо; Вы не можете сказать, например: я хочу, чтобы эта точка выглядела как две мировые единицы.

Итак: кто-нибудь знает, как это сделать?

Ответы на вопрос(1)

Ваш ответ на вопрос