2016-04-03 9 views
2

私はアンドロイドでopenglを使用しています。私は別の3Dモデルである髪型を置くことができる3Dヒューマノイドモデルを持っています。レンダリング中に、2つのオブジェクトが非常に近い/一致する領域(頭髪領域)でレンダリングが適切ではないことがわかりました。実際、異なるモバイルデバイスで異なる結果が得られます。私はそれがz戦闘であるとは思わない。すべてのモバイルデバイスで一貫している、openglで適切にオブジェクトによって近くにレンダリングするための解決策がありますか?私は参照のためにスナップショットを添付しました。ここでOpenGL ES、オブジェクトの近くでレンダリング中に問題が発生しました

私は髪のモデルを配置しているが、代わりに頭の上に毛を示したの、私はレンダリングのこの種を取得した上で顔モデルを持っています。

+1

説明とz戦のように聞こえます。なぜあなたはそれがz戦闘であると疑っていますか?多くの古いAndroid搭載デバイスは16ビットの深度バッファしかサポートしていないため、これを処理することは大きな課題になる可能性があります。スクリーンショットを投稿できますか?私は他の有望な候補がブレンド付きの深度ソートであると考えていますが、ヘアモデルは頻繁にアルファブレンドに挑戦することがよくあります。 – Columbo

+0

問題を示す画像が添付されています。親切に行く。 – sreesreenu

+0

ありがとうございます。深度テストがまったく機能していない、または間違った方向にあるという疑いがあるのは私の疑惑です(離れているものはもっと近いものを隠している)、あるいは、バックカリングが間違った顔を淘汰していることです。髪型がなく、レンダリングが正しいと思われるものを表示できますか?頭と髪のモデルの両方をレンダリングするが、髪のモデルが片側にずれている場合、レンダリングが正しく行われているか、または壊れていますか? (あなたのヘアモデルレンダラーがあなたのシーンを壊しているレンダリング状態をいくつか設定している可能性があります) – Columbo

答えて

0

シェーダの浮動小数点精度を変更しようとしましたか?

precision highp float; 

などです。私は別の携帯電話でも異なる結果を見出しました。もしhighpが一部で有効になっていないと悪い結果が出ました。

シーンをスケーリングすることで問題を解決することもできます。

+0

私はこれを試しましたが、動作していないようです – sreesreenu

+0

この問題は、AdrenoシリーズGPU搭載のデバイスに固有のものです。 – sreesreenu

+0

また、スケールアップを大幅に試みましたか? – reden

関連する問題