そこで、Ogre3Dでモデルを作成しました。このモデルは、任意の回転と位置の多数の三角形で構成されています。多くのモデリングプログラムのようにモデルを「アンラップ」して、すべての三角形が2d(x、y)にマップされるようにしますが、三角形のサイズは維持されます。デカール塗布用です。テクスチャが適用されたときにストレッチが発生しないように、三角形のサイズを維持する必要がある理由。
これは私が進むことを考えていた方向でしたが、それを視覚化して正しいアルゴリズムを達成するのに問題があります:
//Verticies will have a converted bool;
func( triangle x):
for each of x's vertices:
map to x,y coordinates if not converted;
check other triangles for common vertex if so call func(common_tri);
これが返されると、すべての三角形の変換バージョンが作成され、すべての三角形がラップ解除されてテクスチャ上に配置できるようになります。問題があるのは、x、yスペースへのマッピングです。3D空間から2D空間に三角形を作成して、そのすべての属性を維持する方法がわかりません(角度のあるビューからサーフェスの垂直ビューに移行するなど)。助けていただければ幸いです。