使用OpenGL绘制点画线条

时间:2018-01-27 14:24:17

标签: opengl

使用OpenGL绘制点画线时,结果似乎很奇怪。直线看起来很好。但曲线断了。曲线是具有数百个顶点的多边形的轮廓。

我尝试更改线宽并打开平滑选项。所有都显示相同的结果。谁知道问题出在哪里?

info.lineStye = 0xE0E0

enter image description here

下面列出了渲染折线的代码,info存储了行数据

    glColor3ub(info.R, info.G, info.B);
    glLineWidth(info.lnWidth);
    glLineStipple(1, info.lineStyle);
    glEnable( GL_LINE_STIPPLE );

    if (info.bSmooth)
    {
        glEnable( GL_LINE_SMOOTH );
        glHint( GL_LINE_SMOOTH_HINT, GL_NICEST );
        glEnable( GL_BLEND );
        glBlendFunc( GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA );
    }
    else
    {
        glDisable(GL_LINE_SMOOTH);
        glDisable(GL_BLEND);
    }

    glVertexPointer(2,GL_SHORT,0,(void*)vertOfst);
    glEnableClientState(GL_VERTEX_ARRAY);
    glDrawArrays(GL_LINES, 0, info.nPts);

1 个答案:

答案 0 :(得分:2)

引用我自己的评论:

  

我怀疑你的GL_LINES没有正确连接,造成点画模式   重启。请尝试绘制GL_LINE_STRIP。