Bresenham の線画アルゴリズムを使用した三角形のラスタライズの 3D 実装を探しています。つまり、私はこのソースを持っています:
http://www.sunshine2k.de/coding/java/TriangleRasterization/TriangleRasterization.html、
ただし、アルゴリズムは 2D です。これを 3D に拡張する方法はありますか?
ありがとうございました
Bresenham の線画アルゴリズムを使用した三角形のラスタライズの 3D 実装を探しています。つまり、私はこのソースを持っています:
http://www.sunshine2k.de/coding/java/TriangleRasterization/TriangleRasterization.html、
ただし、アルゴリズムは 2D です。これを 3D に拡張する方法はありますか?
ありがとうございました
ここに投稿された 3D Bresenham があります。コードは matlab スクリプトですが、C++ に変換するのは簡単だと思います。
最初の試みとして、X だけではなく (X, Z) 座標を計算するように、2D 標準またはブレゼンハム三角形アルゴリズムのいずれかを変更してみてください (XZ 平面で交点を計算するか、3D ブレゼンハムラインアルゴリズムで描画します) 。ピクセルの単純な行ではなく、これらの間で 2D ブレゼンハムラインアルゴリズムを使用してポイントを結合します。