5

次のコードがあります。

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

しかし、線はまだ z-fighting です。これはよくあるバグですか? 私の線の太さは 1.0f で、シーンの最後に線を引きます。

また、GL_ALPHA_TEST と GL_LINE_SMOOTH を無効にし、GL_BLEND と GL_COLOR_LOGIC_OP を有効にしました。

編集:私はすでにGL_POLYGON_OFFSET_FILLを試しましたが、役に立ちません。

4

2 に答える 2

12

GL_POLYGON_OFFSET_LINEを使用したポリゴン レンダリングでのみ機能しglPolygonMode(GL_FRONT_AND_BACK, GL_LINE)ます。プリミティブを描画してGL_LINESいる場合は機能しません。この場合、手動で頂点をオフセットする必要があります。

于 2010-01-07T13:13:20.890 に答える
4

代わりに GL_POLYGON_OFFSET_FILL を有効にしてみてください。(線は、以前にレンダリングしたポリゴンとの深度の戦いだと思いますか?)

于 2010-01-07T13:11:32.733 に答える