如何保持虚线和#34;跳舞"在OpenGl?

时间:2016-03-19 23:48:55

标签: opengl

我使用以下代码在OpenGL中绘制一些行(来自C):

glLineStipple(6, 0xEEEE);
glEnable(GL_LINE_STIPPLE);
glBegin(GL_LINE_STRIP);

glVertex2f(x, y);
...

如果一切都还在,它会很有效。但是,我的问题是,只要我放大或缩小线条就会开始闪烁。我的意思是线条中破折号的位置移动。它看起来很草率。

是否有某种方法可以锚定线条在模型空间中如何破碎?我认为我的问题是glLineStipple()查看绘制的像素数,但我希望看一下模型空间中的长度。

1 个答案:

答案 0 :(得分:1)

是。纹理线而不是使用点画和alpha混合。我更喜欢镜面包装模式的纹理,但重复将同样适用于模式。使用alpha测试删除导致工件的覆盖范围(如果有)。将纹理坐标放在线上就像任何多边形一样。

不需要着色器。