前回はメモ書きでしたが今回はちゃんと解説ということで。。。
とりあえずタイトル通り
3Dモデルをディスプレイに表示するまでの手順をなるべく簡潔に解説します。
3D表示をするためにはまず3Dのモデルが必要になります。
3Dのモデルは頂点と面で構成されています。
今回はこんな三角形にしました。

Z方向は全て0です。
座標系は図のようにYが上方向、Xが横方向、Zが奥行き方向です。

とりあえずモデルは準備できました。
次に、モデルを写す
カメラ(視点)を用意しなくてはなりません。
そしてモデルの座標をカメラから見た座標に変換します。

そして最後にこのモデルを・・・
Z軸方向でつぶします!
画面は2Dなので奥行き(Z軸でしたよね)は関係ありません。
すると
Z方向がなくなって事実上の2Dになりました!
後はこれをそのままディスプレイに表示するだけです。
なんとなくどうやっているかわかりましたでしょうか?
今までのことをまとめると、
3D座標上にカメラを置いて写真を撮り、それを表示する
ということです。
しかしこれには膨大な量の計算が必要になります。
それを高速で行うのがGPU(グラフィックスボード)です。
そしてそのGPUに命令を送るのがDirectXやOPENGLといったライブラリなわけです。
GPUにレンダリングをしてもらうことをハードウェアレンダリングといいます。
しかし
JavaからはGPUを操作できないので、この処理をCPUにやってもらうわけです。
これはソフトウェアレンダリングといいます。
GPUは描画処理専用に作られていますが、CPUは描画専用ではありません。
なので、かなり重くなるわけです。
最近ではCPUもそれなりの性能になってきたので、大量のポリゴンを表示したりしない限りは特に問題はないでしょう。
________________________________________
現在この3D表示をするプログラムを製作中です。
開発はオープンソースにしたいと思っています。