質問

CallList のオブジェクトがニアプレーンと交差すると、ちらつきが発生します...どうすればよいでしょうか?

OpenGLとSDLを使用しています。

はい、ダブルバッファリングされています。

役に立ちましたか?

解決

Z格闘してるみたいですね。

「Z ファイティングは、2 つ以上のプリミティブが Z バッファー内で同様の値を持つ場合に発生する 3D レンダリングの現象で、特に共面ポリゴンでよく見られます。この効果により、擬似ランダムピクセルが、1つのポリゴンまたは別の色の色で非決定的な方法でレンダリングされ、シーンがアニメーション化されると変化し、1つのポリゴンがZテストに「勝ち」、次に別のポリゴンが「勝ち」ます。 " (から ウィキペディア)

問題に関する詳細情報は、 OpenGL FAQ.

glPolygonOffset は役立つかもしれませんが、問題が発生する可能性もあります。Tom Forsyth の著書に詳しい説明があります。 よくある質問 注記:ZBIAS について説明していますが、それは DirectX と同等のものにすぎません。

他のヒント

問題は、回転関数に浮動小数点エラーがあり、model_view 行列が台無しになってしまうことでした。

誰も想像できなかったでしょう、時間を無駄にして申し訳ありませんでした。

私は、近い平面を移動することが何らかの問題の解決策であるとさえ考えるべきではないと思いますが、openGL は近い平面とのポリゴン交差をサポートしているため、通常は何か他の問題が発生します。

ニアクリッピングプレーンをもう少し遠くに配置してみてください。たとえば、gluPerspective -> 3 番目のパラメータを使用します。 z近く http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/glu/perspective.html

ああ、つまり、 近く 飛行機。:)

さて...同じ平面内にポリゴンを描画するときのもう 1 つのことは、次のことを使用することです。 glPolygonOffset

説明文より

  glPolygonOffset is useful for rendering hidden-line images,
  for applying decals to surfaces, and for rendering solids
  with highlighted edges.
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top