gl_PointSize correspondente ao tamanho do espaço no mundo

Se você deseja renderizar uma geometria impostor (por exemplo,uma esfera), a prática padrão é desenhá-lo usando dois triângulos (digamos, passando um vértice e fazendo uma tira triangular com um sombreador de geometria).

Isso é bom porque permite que a extensão do quadro de avisos seja definida de maneira bastante simples: você calcula as posições reais do espaço mundial diretamente.

Os sombreadores de geometria podem alternadamente gerar primitivas de pontos, e não vejo uma razão pela qual elas não devam. O único problema é encontrar uma maneira de escalargl_PointSize para que você obtenha esse efeito.

O único precedente que encontrei foramessa questão (cuja resposta não tenho certeza está correta) eessa questão (que não tem resposta).

Vale a pena notar que é bastante simples escalar o ponto corretamente com a distância (fazendogl_PointSize = constant/length(gl_Position), mas isso não é controlável; você não pode dizer, por exemplo: quero que este ponto pareça ter duas unidades mundiais.

Então: alguém sabe como fazer isso?

questionAnswers(1)

yourAnswerToTheQuestion