在glBegin()函数前面调用glEnable(GL_LINE_STIPPLE);glLineStipple(factor, 0x5555);期中glEnable(GL_LINE_STIPPLE)表示启用虚线模式,glLineStipple为甚至画虚线的规则。(下面引用关于glLineStipple函数的解释:http://baike.baidu.com/link?url=t7CeuQzNxSNKqi7l43QIRlmcwhxC4yQX5tC3v6cpWPOejgQx9K-e_X7Ac7W...
uint bit = uint(round(linePos/factor)) & 31U; if((pattern & (1U<<bit)) == 0U) discard; 4投票 要回答这个问题,我们首先要调查,glLineStipple实际上做了什么。 请参见图像,其中左侧的四边形由4个单独的线段使用基本类型GL_LINES绘制。右侧的圆由连续的多边形线绘制,使用基本类型GL_LINE_STRIP。
void glLineWidth(GLfloat width);其用法跟glPointSize类似。 (2)画虚线。 首先,使用glEnable(GL_LINE_STIPPLE);来启动虚线模式(使用glDisable(GL_LINE_STIPPLE)可以关闭之)。 然后,使用glLineStipple来设置虚线的样式。 void glLineStipple(GLint factor, GLushort pattern); pattern是由1和0组成的长度为16的序列...
函数glPointSize用于控制被渲染点的大小,其形式如下:void glPointSize(GLfloat size); size必须大于0,默认情况下为1.0。 直线 在OpenGL中直线术语表示一段线段。 为了创建点划线,可以使用glLineStipple()函数定义点画模式,然后调用glEnable()函数启用点画功能。其形式如下:void glLineStipple(GLint factor, GLushort ...
glLineStipple(1,type);//dashed(虚线),type为16位2进制数。0表示实点,1表示虚点 if(x1!=x2)//假设斜率存在 { GLfloatk=(y2-y1)/(x2-x1);//直线斜率 y=kx+c GLfloatc=(x2*y1-x1*y2)/(x2-x1);//直线常数 //假定以A为原点建立二维坐标系,则下边4个if分别相应于:第一象限,第二象限,...
glLineStipple(1, Ox3F07); glEnable(GL_LINE_STIPPLE); 此时模式为Ox3F07(二进制形式为0011111100000111),它所画出来的直线是这样的:先连续绘制3个像素,然后连续5个像素留空,再连续绘制6个像素,最后两个像素留空(注意,首先是从低位开始的)。如果factor是2,那么这个模式便被扩展为:先连续绘制6个像素,然后连续...
在OpenGL中画线是可以完全的控制,比如画虚线,用函数glLineStipple就可以控制画线的模式:函数glLineStipple有两个参数,第一个是重复的次数,第二个是用一个16-bit的数来控制,0表示不画,1表示画;比如0000111100001111=0x0F0F表示“ — —”这个模式。glLineWidth (1.0);glLineStipple (1...
glVertex2i(坐标1x,坐标1y); glVertex2i(坐标2x,坐标2y); glEnd(); GL_LINES:直线模式 GL_LINE_STIPPLE:虚线模式 三( 算法设计与分析 程序源码如下: #include <windows.h> #include <gl/glut.h> GLuint Line; void Initial(void) { glClearColor(1.0f, 1.0f, 1.0f, 1.0f); Line = glGenLists(...
GlVertex2f (11.5,6.0); GlVertex2f (7.5,6.0); GlEnd (); GlEnable (GL_LINE_STIPPLE); / / draw line start GlLineWidth (1); GlLineStipple (1,0x00FF); / / the first parameter is the ratio of second is 16 hexadecimal number GlBegin (GL_LINES); GlColor3f (1.0,1.0,0.0); GlVertex...
# glClear(GL_COLOR_BUFFER_BIT) # 将上面的颜色赋值给窗口, 只要有这个先后顺序就行 glMatrixMode(GL_PROJECTION) #设置投影模式 gluOrtho2D(0,200,0,200) # 设置画布x,y的范围 glDisable(GL_BLEND) # 关闭颜色混合 glEnable(GL_LINE_STIPPLE) #启用线型,可以绘制虚线之类的了 ...