OpenGL画点函数

来源:互联网 发布:福州网络推广 编辑:程序博客网 时间:2024/06/13 06:38

要描述一个点的几何要素,我们只需要在世界坐标系中指定一个位置,然后该坐标位置和场景中已有的其他几何描述一起呗传输给观察子程序。除非指定其他属性值,OpenGL图元按默认的大小和颜色来显示。默认的图元是白色的,而默认的点大小等于单一屏幕像素大小。
我们使用下面的OpenGL函数可以指定一个点位置的坐标

glVertex *();

*表示该函数后面有缀码。这些缀码用来指明空间维数 、坐标值变量的数据类型和可能的向量形式坐标的描述。

比如:

void drawPointFunc(){    glBegin(GL_POINTS);    glVertex2i(50,100);    glVertex2i(100, 200);    glVertex2i(150, 300);    glEnd();}

这段代码就是三个在一条线的上的三个孤立点。这些点在2维空间,数据类型是整数类型
后缀码第一位中:代表空间的维数
后缀码第二位中:i(整数)、s(短整数)、f(浮点数)、d(双精度浮点数)
后缀码第三位中:v(“向量”);

下面就是一个根据点画出来的一个三角形

#include "stdafx.h"#include <GL\glut.h>void init(){    glClearColor(1.0, 1.0, 1.0, 0.0);    glMatrixMode(GL_PROJECTION);    gluOrtho2D(0.0,200.0,0.0,150.0);}void drawLine(){    glClear(GL_COLOR_BUFFER_BIT);    glColor3f(0.0,0.4,0.2);    int point1[] = { 50, 100 };    int point2[] = { 50, 200 };    int point3[] = { 200, 100 };    glBegin(GL_LINES);        glVertex2i(10, 10);        glVertex2i(75, 75);    glEnd();    glBegin(GL_LINES);        glVertex2i(75, 75);        glVertex2i(75, 10);    glEnd();    glBegin(GL_LINES);    glVertex2i(75, 10);    glVertex2i(10, 10);    glEnd();    glFlush();}int _tmain(int argc, char** argv){    glutInit(&argc,argv);    glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);    glutInitWindowPosition(100,100);    glutInitWindowSize(400, 400);    glutCreateWindow("画点函数");    init();    glutDisplayFunc(&drawLine);    glutMainLoop();    return 0;}

这里写图片描述

赶快自己动手做一下吧!

0 0
原创粉丝点击