几何图元之一:点

    点是最基本的图元。在画点时,glBegin的参数应该设置为:GL_POINTS,每个顶点指定一个点,点尺寸属性通过函数glPointSize进行设置:

    void glPointSize(GLfloat size);

    该函数对点尺寸状态变量进行设定,尺寸的度量单位是屏幕中的像素,默认的值为1.0。

    示例代码:

#include <GL/glut.h>

void init();
void display();

void display()
{
    glClear(GL_COLOR_BUFFER_BIT);
 
    /**画点*/
    glPointSize(2.0);
    glBegin(GL_POINTS);
        glColor3f(1.0, 1.0, 1.0);
        glVertex2f(-0.5, -0.5);
  
        glColor3f(1.0, 0.0, 0.0);
        glVertex2f(-0.5, 0.5);
  
        glColor3f(0.0, 0.0, 1.0);
        glVertex2f(0.5, 0.5);
  
        glColor3f(0.0, 1.0, 0.0);
        glVertex2f(0.5, -0.5);
    glEnd();
 
 glFlush();
}

void init()
{
    glClearColor(0.0, 0.0, 0.0, 0.0);
 
    glColor3f(1.0, 1.0, 1.0);
 
    glMatrixMode(GL_PROJECTION);
    glLoadIdentity();
    gluOrtho2D(-1.0, 1.0, -1.0, 1.0);
}

int main(int argc, char** argv)
{
    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
    glutInitWindowPosition(0, 0);
    glutInitWindowSize(500, 500);
    glutCreateWindow("draw points");
    glutDisplayFunc(display);
 
    init();
 
    glutMainLoop();
 
    return 0;
}

 

执行结果:

几何图元之一:点_第1张图片

 

通过函数glPointSize设置像素点的尺寸,设置为20.0:glPointSize(20.0);

则:

几何图元之一:点_第2张图片

 

为什么绘制出来的点是矩形或者说是正方形,而不是圆形的呢?

你可能感兴趣的:(buffer)