2011-08-03 15 views
1

STLメッシュを読み込んだり、GL_TRIANGLESを使って正しく描画したり、回転したり、色を変えたり、メッシュの移動中にライトが定位置に留まるなど、すべてが素晴らしいです。次に三角形をオフにして、GL_POINTSを使って頂点だけを表示します。回転すると(三角形と頂点を一緒に表示しても)、回転すると点が消えるように見えます。片側。OpenGL ES Android:回転中にポイントクラウドが消える理由

誰にでも鐘が鳴りますか?

ありがとうございました。

baz

答えて

0

多分それはちょうど知覚の成果です。まだ照明がついている場合は、三角形の頂点のように(実際には法線に依存して)点が点灯します。つまり、ポイントには直感的ではないにしても、実際には向きがあります。だから、光の中に/から離れて回転させるとき、それらはより暗くまたは明るくなるかもしれません。ギャップを埋めるために他のサーフェスポイントを持たず、調光を補うことができないので、この変更がより明白に見えるだけです。照明を無効にしてみてください。回転するときには色を維持する必要があります。

+0

奇妙なことは、モデルが回転するにつれてライトが固定されていることです(ビューアーはシーンを見ると各肩の上にライトが配置されています)が、回転すると光が原点の周りを移動するように見えますシーン、それで私はポイントのバック(見た目はあまり明るくない側)を見ています。また、点と三角形が一緒に見えることもあるので、ライトを消すことはできません。すべて非常に混乱しています。 – Barry

+0

@Bazライトが(カメラに対して)所定の位置にとどまり、ポイントが回転すると、それらは異なって点灯します。あなたが彼らの無地の顔を見るのではなく、彼らの顔を光から遠ざける。ライティングを使用する場合、点には向きがあり、その法線によって定義されます。だから、彼らがあなたから離れたとき(光)、もちろん彼らは調光する。たぶん、あなたのコードやスクリーンショットは、物事を明確にする/解決するのに役立ちます。 –

+0

クリスチャンありがとう、私はあなたの元の答えにもっと注意を払う必要がありました!私は、DrawArraysがポイントを呼び出してから、やり直す直前にライトを消すことができました。それは完全に動作します。私は間違ってポイントが方向を持っていないと仮定した。仮定しないでください!どうもありがとう。 – Barry

関連する問題