glPolygonOffset() bugs with lines

2019-02-23 02:13发布

问题:

I have the following code:

glEnable(GL_POLYGON_OFFSET_LINE);
glPolygonOffset(1,1); // or 40,40 etc... doesnt help at all

But the lines are still z-fighting, is this common bug or something...? My lines are 1.0f thick and i draw the lines last in the scene.

Also i have disable GL_ALPHA_TEST and GL_LINE_SMOOTH and enabled GL_BLEND and GL_COLOR_LOGIC_OP

Edit: i have already tried GL_POLYGON_OFFSET_FILL, it doesnt help.

回答1:

GL_POLYGON_OFFSET_LINE only works for polygon rendering with glPolygonMode(GL_FRONT_AND_BACK, GL_LINE). If you're drawing primitives with GL_LINES it doesn't work. In this case you'll have to manually offset the vertices.



回答2:

Try enabling GL_POLYGON_OFFSET_FILL instead. (I presume the lines are depth-fighting with polygons you have rendered earlier?)



标签: c++ opengl lines