2010-11-12 30 views
10

intento usar el siguiente código para dibujar un píxel de forma cuadrada con OpenGLOpenGL - Cómo dibujar píxel cuadrado con GL_POINTS

glPointSize(5.0f); 
glBegin(GL_POINTS); 
glVertex3f(1.0f, 1.0f, 1.0f); 
glEnd(); 

Sin embargo, el resultado final es un píxel en forma de círculo.

Por favor, eche un vistazo a la referencia http://risknfun.com/compform/w1.html Vea el "Problema 4. Una rejilla". En el lado derecho, la imagen de visualización tiene un píxel de forma cuadrada.

+0

¿Cuál es su configuración de glPointSmooth? – Kos

+0

Uso valores predeterminados - gracias – q0987

+1

Ahora funciona para mí. Solo use glDisable (GL_POINT_SMOOTH) – q0987

Respuesta

17

En parte depende de la implementación de OpenGL (es decir, puede variar con su controlador de gráficos), pero con un poco de suerte, puede activarlo o desactivarlo con glEnable(GL_POINT_SMOOTH); o glDisable(GL_POINT_SMOOTH); Con suavizado de puntos activado, normalmente obtienes puntos redondos, pero con el apagado obtendrás puntos cuadrados.

5

También puede tratar de decir OpenGL no gastar tiempo haciendo GL_POINTS agradable y redonda, llamando al:

glHint(GL_POINT_SMOOTH_HINT, GL_FASTEST); 

Pero hay que tener en cuenta que es sólo una sugerencia. El controlador OpenGL finalmente tiene la última palabra.

Cuestiones relacionadas