gl_PointSize correspondiente al tamaño del espacio mundial

Si desea renderizar una geometría impostora (diga comouna esfera), entonces la práctica estándar es dibujarlo usando dos triángulos (digamos pasando un vértice y haciendo una tira de triángulo con un sombreador de geometría).

Esto es bueno porque permite que la extensión de la cartelera se establezca de manera bastante simple: calcula directamente las posiciones reales del espacio mundial.

Los sombreadores de geometría pueden generar alternativamente primitivas de punto, y no veo una razón por la que no deberían hacerlo. El único problema es encontrar alguna forma de escalargl_PointSize para que obtengas ese efecto.

El único precedente que pude encontrar fueronesta pregunta (cuya respuesta no estoy seguro es correcta) yesta pregunta (que no tiene respuesta)

Vale la pena señalar que es bastante simple escalar el punto correctamente con la distancia (haciendogl_PointSize = constant/length(gl_Position), pero esto no es controlable; no se puede decir, por ejemplo: quiero que este punto parezca que tiene dos unidades mundiales de ancho.

Entonces: ¿alguien sabe cómo hacer esto?

Respuestas a la pregunta(1)

Su respuesta a la pregunta