【OpenGL】画一个带渲染效果的多边形
代码略。
运行效果:
本学期图形学的第一个实验,总体来说比较简单,但还是学到了一些东西,首先是glBegin(GL_TRIANGLE_FAN);中的GL_TRIANGLE_FAN这个参数的作用是绘制一组相连的三角形,三角形由glBegin(GL_TRIANGLE_FAN);...... glEnd();之间的顶点坐标所确定。进一步查阅资料,对OpenGL绘制多边形的几个重要参数做如下小结:
参数名 |
说明 |
GL_POLYGON |
将所给的点顺次连接 |
GL_TRIANGLES |
每三个点进行一次连接,得到的是一个个独立的三角形 |
GL_TRIANGLE_STRIP |
第n点与第(n-1)点、第(n-2)点连接,得到的是一组三角形面片(n>=3) |
GL_TRIANGLE_FAN |
第n点开始和第(n-1)点、第1点连接,得到的是一组三角形面片(n>=3) |
实验过程中程序显示出了一些很奇怪的形状,后来发现错误原因是没有加上glVertex2f(0,0);这行代码,这是没有完全理解上面列出的参数的意义造成的。如果多画这个点,那么使用GL_POLYGON或者GL_TRIANGLE_FAN其实都可以完成任务。
其次是学了函数glColor3f()的使用方法,它的三个参数对应了rgb值,取值范围从0到1.0,常用的颜色如下:
取值 |
对应颜色 |
0.0, 0.0, 0.0 |
黑 |
1.0, 1.0, 1.0 |
白 |
1.0, 0.0, 0.0 |
红 |
0.0, 1.0, 0.0 |
绿 |
0.0, 0.0, 1.0 |
蓝 |
1.0, 1.0, 0.0 |
黄 |
1.0, 0.0, 1.0 |
粉 |
0.0, 1.0, 1.0 |
青 |