蓝宝书 第三章
本章主要是讲解绘制图元,主要图元如下表所示。
图片来源:点击打开链接
多边形通用设置
1)正反面
一般来说,看向多边形时,该多边形通过点逆时针连接而成的面为正面,顺时针连接而成的面为背面。
glFrontFace(GL_CW); 设置多边形顺时针连接的面为正面
glFrontFace(GL_CCW);设置多边形逆时针连接的面为正面
2)纯色填充
glShadeModel(GL_FLAT);多边形纯色填充,填充颜色为多边形最后一个顶点的颜色
3)线条平滑
glShadeModel(GL_SMOOTH);
4)深度缓冲区功能
glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGBA | GLUT_DEPTH);//初始化深度缓冲区功能
glEnable(GL_DEPTH_TEST); //开启深度缓冲功能
glDisable(GL_DEPTH_TEST); //关闭深度缓冲功能
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); //清除深度缓冲
深度缓冲功能:绘制图形时按照当前视觉角度查找当前图像是否会被其他图像遮挡,若被遮挡则当前被遮挡部分不进行绘制,即只绘制最上层图像。一般绘制3D图像时需要开启该功能,使图像更真实,若要绘制透明图像,则需关闭该功能,参考:点击打开链接
5)剔除功能
去除图像正面或背面,减少不必要的开销,提高运算速度
参考:点击打开链接
6)多边形模式
glPolygonMode(GL_BACK,GL_LINE);设置图形背面使用线条
glPolygonMode(GL_BACK,GL_FILL);设置图形背面填充
GL_BACK,GL_FRONT 设置图形正反面,GL_LINE设置使用线条描绘轮廓,GL_FILL设置使用颜色填充图形
使用该模式时,需禁用该面的剔除功能,否则无法看到正面或反面
新闻热点
疑难解答