2016-06-10 2 views
0

Я рисую GL_POINTS с помощью glDrawArrays(GL_POINTS, 0, numberOfPoints) Размер каждой точки задается в моей вершинных шейдеров с помощью gl_PointSize. Я получаю матрицу вида от glm::lookAt(origin, eye, up). Позиция xyz точки задается с помощью gl_Position = view * proj * vec4(position, 1.0) в вершинном шейдере. Я бы хотел, чтобы размер точки увеличивался по мере того, как уменьшалось расстояние до источника камеры, а размер уменьшался по мере увеличения расстояния от источника камеры. Как и в обычной перспективе. Как я могу определить, насколько большой будет точка, от ее расстояния до камеры?Определение gl_PointSize с расстояния в GL_POINT к камере

+0

Это зависит от ситуации. Насколько велика вы хотите, чтобы это было? Здесь нет правильного ответа; ваш вопрос не очень конкретный. –

+0

Отредактированный вопрос. –

ответ

0

Просто установите размер точки на ref/ptCoord.z с размером ref, являющимся размером точки, которую вы хотите, когда она находится на расстоянии 1.0.

+0

Следует иметь в виду, что точки имеют максимальный размер, определенный реализацией. –

Смежные вопросы