1、void glPolygonMode(GLenum face, GLenum mode);——face指定多边形哪个面为正面(GL_FRONT_AND_BACK/GL_FRONT/GL_BACK);mode指定以哪种方式绘制(GL_POINT点/GL_LINE轮廓/GL_FILL填充)
2、void glFrontFace(GLenum mode);——控制正面是如何决定的;mode为GL_CCW(默认)说明逆时针为正;GL_CW说明顺时针为正
3、剔除多边形的面
void glEnable(GL_CULL_FACE);——启用剔除功能
void glCullFace(GL_FRONT/GL_BACK/GL_FRONT_AND_BACK);——剔除正面、背面、所有面
void glDisable(GL_CULL_FACE);——禁用剔除功能
4、 点画多边形
void glEnable(GL_POLYGON_STIPPLE);——启用点画功能
void glPolygonStipple(const GLubyte *mask);——mask是指向点列表的指针,点用0、1组成的16位表示
void glDisable(GL_POLYGON_STIPPLE);
实例:
#include <GL/glut.h>
#include <stdlib.h>
void display(void)
{
GLubyte fly[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x03, 0x80, 0x01, 0xC0, 0x06, 0xC0, 0x03, 0x60,
0x04, 0x60, 0x06, 0x20, 0x04, 0x30, 0x0C, 0x20,