MoveTo() & LineTo() 源代码

#include<windows.h>
#include <gl/glut.h>

struct GLPoint{
    GLint x, y;
};
GLPoint pt;        //全局变量,一定要在这里,不能再main()函数中。

const GLint screenWidth = 100;
const GLint screenHeight = 100;

void myDisplay(void);
void myInit(void);
void moveTo(GLint, GLint);
void LineTo(GLint, GLint);

int main(int argc, char ** argv){

    // (0,0) 到 (100,100)的直线

    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB);
    glutInitWindowSize(screenWidth,screenHeight);
    glutInitWindowPosition(100,150);

    glutCreateWindow("MoveTo & LineTo Function.");

    glutDisplayFunc(myDisplay);
    myInit();

    glutMainLoop();

    return 0;
}

void LineTo(GLint x , GLint y){
    glBegin(GL_LINES);
    glVertex2i(pt.x,pt.y);
    glVertex2i(x,y);
    glEnd();
    glFlush();

    pt.x = x;
    pt.y = y;
}

void moveTo(GLint x, GLint y){
    pt.x = x;
    pt.y = y;
}


void myDisplay(void){
    glClear(GL_COLOR_BUFFER_BIT);

    moveTo(0,0);
    LineTo(100,100);

}

void myInit(void){
    glClearColor(1.0,1.0,1.0,0.0);
    glColor3f(0.0f,0.0f,0.0f);
    glPointSize(2.0);
    glMatrixMode(GL_PROJECTION);
    glLoadIdentity();

    gluOrtho2D(0.0,(GLdouble)screenWidth,0.0,(GLdouble)screenHeight);
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值