计算机图形学 -- 基本图形 [之一] [矩形,三角形等]

来源:互联网 发布:知乎 无线鼠标 2016 编辑:程序博客网 时间:2024/06/05 03:25


貌似只有点、线段和矩形、三角形啊,那就叫之一~大笑


在第一颗了解了基本语法之后,这一节就显得有些重复劳动了。。

全是一些glColor、glVertex。。


Code:


#include<GL/glut.h>#pragma comment(linker,"/subsystem:\"windows\" /entry:\"mainCRTStartup\"")void mydisplay(void){//glClearColor : 通过glClear使用红,绿,蓝以及AFA值来清除颜色缓冲区,并且缺省值全是0. 即(0,0,0,0)glClearColor(0.0,1.0,0.0,0.0);//设置背景为绿色glClear(GL_COLOR_BUFFER_BIT);//在左上角画一个黄色的矩形glColor3f(1.0f,1.0f,0.0f);glRectf(-0.9f,0.0f,0.0f,0.9f);//分别是左下角和右上角两点坐标//在右上角画一个花花的三角形glBegin(GL_TRIANGLES);glColor3f(1.0f,0.0f,0.0f);glVertex2f(0.9f,0.0f);glColor3f(0.0f,1.0f,0.0f);glVertex2f(0.5f,0.6f);glColor3f(0.0f,0.0f,1.0f);glVertex2f(0.1f,0.0f);glEnd();//画两个点glPointSize(5);//表示点的像素glBegin(GL_POINTS);glColor3f(0.0f,0.0f,0.0f);glVertex2f(0.05f,0.0f);glColor3f(1.0f,0.0f,0.0f);glVertex2f(0.05f,-0.5f);glEnd();//写一个我的"可"字,嘎嘎嘎glLineWidth(5);//表示线的宽度glBegin(GL_LINES);glColor3f(1.0f,1.0f,0.0f);glVertex2f(0.5f,-0.5f);glColor3f(1.0f,1.0f,0.0f);glVertex2f(0.8f,-0.5f);glColor3f(1.0f,1.0f,0.0f);glVertex2f(0.75f,-0.5f);glColor3f(1.0f,1.0f,0.0f);glVertex2f(0.75f,-0.8f);glEnd();glColor3f(1.0f,1.0f,0.0f);glRectf(0.55f,-0.7f,0.7f,-0.55f);glFlush();}int main(int argc,char *argv[]){glutInit(&argc,argv);glutInitDisplayMode(GLUT_RGB|GLUT_SINGLE);glutInitWindowPosition(100,100);glutInitWindowSize(600,600);glutCreateWindow("Basic Shape");glutDisplayFunc(&mydisplay);glutMainLoop();return 0;}


所以呢,这一课就是学习了几个函数而已:

画矩形的:glRectf()

三角形只需指定三点坐标和颜色变换

还有改变点的大小函数和线宽度函数~