Javaゲーム制作記

いろいろ作ってます  

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
[ --/--/-- --:-- ] スポンサー広告 | Comment(-)

3Dモデルをディスプレイに表示するまでの手順(レンダリング)の説明

前回はメモ書きでしたが今回はちゃんと解説ということで。。。

とりあえずタイトル通り3Dモデルをディスプレイに表示するまでの手順
をなるべく簡潔に解説します。

3D表示をするためにはまず3Dのモデルが必要になります。
3Dのモデルは頂点と面で構成されています。
今回はこんな三角形にしました。
3D

Z方向は全て0です。

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


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

そして最後にこのモデルを・・・
Z軸方向でつぶします!
画面は2Dなので奥行き(Z軸でしたよね)は関係ありません。
するとZ方向がなくなって事実上の2Dになりました
後はこれをそのままディスプレイに表示するだけです。


なんとなくどうやっているかわかりましたでしょうか?
今までのことをまとめると、
3D座標上にカメラを置いて写真を撮り、それを表示する
ということです。

しかしこれには膨大な量の計算が必要になります。
それを高速で行うのがGPU(グラフィックスボード)です。
そしてそのGPUに命令を送るのがDirectXやOPENGLといったライブラリなわけです。
GPUにレンダリングをしてもらうことをハードウェアレンダリングといいます。

しかしJavaからはGPUを操作できないので、この処理をCPUにやってもらうわけです。
これはソフトウェアレンダリングといいます。
GPUは描画処理専用に作られていますが、CPUは描画専用ではありません。
なので、かなり重くなるわけです。
最近ではCPUもそれなりの性能になってきたので、大量のポリゴンを表示したりしない限りは特に問題はないでしょう。

________________________________________

現在この3D表示をするプログラムを製作中です。
開発はオープンソースにしたいと思っています。
[ 2010/02/12 11:05 ] Java | Comment(2)
まった!
JOGLで検索するんだ!!!
[ 2010/02/12 16:08 ] [ 編集 ]
>>ffさん
コメントありがとうございます。
Javaには3D描画用のJava3Dや、JOGLがありますが、
今回はその描画システムを作っているんです。
つまり何にも使わずにがんばってみようということです。
[ 2010/02/12 16:41 ] [ 編集 ]
コメントの投稿




※URL記述の際はttp://としてください


プロフィール

saharan

Author:saharan

Twitter
検索フォーム


上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。