Java2D で単純なエンジンを記述して 3D キューブをレンダリングできるかどうか、少し興味がありました。私の試みは、驚いたことに、これまでのところ成功しています。立方体は、これまでのところ非常によく見えます。
しかし、ご覧のとおり、深さのテストが非常に不足しています。ただし、Java2Dで深さテストを行う方法については完全に迷っています。私が見つけたものから、各ポリゴンをビットマップにレンダリングし、競合する可能性のある他のすべてのピクセルに対して各ピクセルをテストすることで、それを実現します。これは私が迷っているところです。
ポリゴンの各頂点に必要な深度値はありますが、各ピクセルの深度値はありません。これはおそらく、fillPolygon(Polygon p) メソッドを使用して Java2D に各ポリゴンを塗りつぶさせることの副作用です。したがって、fillPolygon(..) メソッドを使用してポリゴンをレンダリングすると、深度テストを実行できないと思われます。私の最初の質問は次のとおりです。まだ怠惰で Java にピクセル描画を任せながら、z バッファリングを行うことはできますか?
そうでない場合、私の次の質問は、ポリゴンを自分でレンダリングするにはどうすればよいのでしょうか? つまり、ピクセルをビットマップに保存し、それらを画像にレンダリングする方法を十分に知っています。各ポリゴンの 4 つの頂点を取得して適切にレンダリングする方法を知りたいです。