2009-04-22 4 views
1

うまくいけば、賢明な質問今回...3Dレンダリング - この問題は何と呼ばれていますか?

上半分には、[OK]を見テクスチャを持っているか画像に表示されて、その後下半分(それがもう少し回転させた後)のテクスチャが解体され、そしてあなた形の内側を見ることができますか?ポリゴンが消えてしまった?

この問題は何と呼ばれていますか?私はそれを固定するときに何を探すべきかを知っておく必要があるので、私は知る必要があります!

なお、私はPapervisionでこれをやっています。あなたが偶然に修正を知っている場合(または可能であれば)、正しい方向に私を向けることができれば、私はあなたに余裕を感じることができます。

What is this called? http://i40.tinypic.com/6f40f4.jpg

おかげヒープ!

答えて

8

「z-fighting」と呼ばれましたが、より一般的な用語は、zオーダーまたはzバッファ問題です。

私はダイアグラムなしで問題を説明します。

3Dレンダラは、ポリゴンを前後に描画することによって動作します。これは、各ポリゴンを離散的な数の位置の1つに割り当てることによって行います。これはほとんどのシーンで有効です。

どのポリゴンが別のポリゴンの前にあるかを判断するのに十分なスロットがない場合、問題が発生します。それを解決するために

- それはあなたのアプリケーションに依存しますが、すべてに共通であるべきものがいくつかあります:

  1. は世界のバウンディングボックスができるだけ小さくなっていることを確認します。
  2. ディスプレイの色の濃さを増やします。 OpenGLとDirect3Dの両方で、zスロットの数をディスプレイの解像度に結びつけることができます。
  3. 三角形の数を増やす/減らします。より小さい三角形はこれの影響を受けにくくなりますが、それ以上描画するほどパフォーマンスは低下します。

Windowsで実行している場合は、デスクトップを最高の色解像度に設定する必要があります。アプリケーションでは、これをデフォルトとして使用する可能性があります。

OpenGLとDirect3Dのレンダリングを切り替えることはできますか?それで両方を試してみると、他のものより良い結果が得られるかもしれません。

+0

z-fighting! F-Zeroの後に何かのように聞こえる!私はPapervisionで1と2のやり方をまだ見つけることができませんでしたが、3は助けました。私はパフォーマンスヒットを取ったが、途中で何かを見つけ出すだろう。ありがとう! – Assembler

+0

より良い用語はzバッファの問題です。 2はあなたのモデリングシステムとは独立しているかもしれません - あなたはWindowsで稼働していますか?もしそうなら、それをデスクトップレベルで設定し、それが役立つかどうかを見てください。 – ChrisF

+0

私はまったく背中合わせの話をしません...実際にZバッファを使用している場合、ポリゴンをソートする必要はありません。 Zバッファは、ポリゴンが前面にあるべき各ピクセルについて解決する。 2つのポリゴンの差が小さすぎる場合を除いて、これはZの戦いを得るときです。 – unwind

1

何とかZバッファの問題と思われます。私はあなたがそこで使っているものに慣れていないので、おそらく私は本当に助けることはできません。

0

複数のオーバーレイされたテクスチャやポリゴンがありますか?

ここからは、正確に一致するサーフェスがあるときに問題が発生するように見えますが、浮動小数点エラーは、正しいものが一貫して表示されないことを意味します。

+0

閉じる...それは私が30分前に持っていた問題でした! – Assembler

+0

または、同じ場所にポリゴン/頂点を複製します。通常、コピー/貼り付け後のものです。^^ –

1

これはlinear mappingと呼ばれ、テクスチャをポリゴンにマッピングする方法です。しかし、この方法は遠近法で補正されていないため、極端な角度でテクスチャが壊れてしまいます。

Linear Mapping Perspective Corrected texture mapping

リニアテクスチャマッピング(アップ)と視点は、テクスチャマッピング(ダウン)を修正。

唯一の回避策はパフォーマンスを上げるポリゴンを追加することです(thisデモを参照)。

+0

ありがとう!しかし、実際に問題ではないと私は思う... PV3Dでは材料が正確に:これを回避するブール値設定...私はそれをオンとオフにしてみましたが、問題は残っていました。 – Assembler

+0

ここでこれを克服する方法のデモを見ることができます:http://www.papervision3d.org/demos/LinearMapping/ – LiraNuna

+0

これは別の問題ですが、papervisionを扱う際にも重要な問題です。 –

1

z戦ではなく間違っているデカールに似ています。 Z戦闘には通常、ギザギザのエッジがあります。その特定の三角形の投影行列が間違っている可能性があります(問題の程度がカメラの位置に依存することを考慮して)。

関連する問題