opengl es 2.0で線とオブジェクトの交点(x、y、z)を取得する方法を知っている人はいますか?基本的なアルゴリズムまたはリンクが必要です。私はこの答えを2日間探していましたが、その方法がわかりませんでした。
質問する
506 次
1 に答える
1
組み込みデバイスでのレンダリングを高速化するには、オブジェクトのすべての頂点を使用しないようにします。
最終的には、トリックを使用する必要があります。
1)衝突を検出するときは、オブジェクトを近似するための便利な方法に従って開発します
2) 単一点を使用してオブジェクトを表し、次のことを確認します。
foreach(LINEPOINTS)
if (MVP * LINEPOINTS).x or .y or .z equals (MVP * objectCentre).x or .y or .z
3) 別の方法 (私が Perl を使用しているように、あなたが知っている他の言語) を使用して、次のように簡単に中心を見つけます。
count = numofvertices
foreach vertices
sumx += x;
sumy += y;
sumz += z;
centreofmass = {sumx/count, sumy/count, sumz/count}
この値をプライベート float[] final objectCentre = centerofmass として直接使用します
4)これが機能する場合は、オブジェクトには膨大な数の頂点があり、近似しても見えないという意味ではないため、他の言語で事前に計算され、Javaアプリで使用されるより多くの頂点(形状のエッジセンターやコーナーなど)を使用します。いいですね、見た目はいいですが、アプリに合った方法を見つけるのにより多くの時間を費やします
于 2012-08-05T16:50:16.023 に答える