参见:OpenGl编程指南(第七版),第二章内容
可以使用glLineStipple()函数定义点画模式,然后用glEnable()函数启用直线点画功能。
如:
glLineStipple( 1, 0x3F07 );
glEnable( GL_LINE_STIPPLE );
函数原型:
void glLineStipple( GLint factor, GLushort pattern );
参数:
pattern:是由1或0组成的16位序列(0x3F07 转二进制0011111100000111),从这个模式的低位开始,一个一个像素地进行处理,如果模型中对应的位是1,就绘制这个像素,否则不绘制。
factor:为重复因子,它与1和0的连续子序列相乘,如果模式中出现3个1,并且factor是2,那么他们就扩展为6个连续的1.
如果Pattern为0x3F07 则直线为--- ------ --- ------ --- ------
必须glEnable( GL_LINE_STIPPLE )开启状态,用glDisable( GL_LINE_STIPPLE )禁用状态;
如果没有开启状态,OpenGL会把pattern当成0xFFFF.