Javaゲーム制作記

いろいろ作ってます  

スポンサーサイト

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

テクスチャマッピング&JOGL!

Poly3Dにテクスチャをマッピングする機能をつけました。

・・・しかしここで大きな壁が。
下の画像は小さな箱に地球のテクスチャを貼り付けたものです。


きれいにできてます。
問題ありません。
ところが・・・



大きくしてみると
「ん?テクスチャがゆがんでる・・・?」

この画像では目立ちませんがテクスチャをしましまにすると一目瞭然。

こ れ は ひ ど い

実はこれ、パースペクティブをOFFにすると目立ちません。

UV座標を単なる線形補間で埋めているため、下の図のようにパースをかけたときに折れ曲がってしまうみたいです。


これを防ぐための方法を探したんですが・・・
なかなか載ってない。
載ってない。
ようやく見つけて実装してみたところ・・・


上手くいきました。
歪みがないですね。

・・・しかしここでまた大きな壁が。

それは・・・

遅い!

ピクセル単位で除算を行わなければいけないため
これを処理するのに20ms近くかかってます。
これはもうほぼ論外なわけで。
60FPSで表示しようと思ったら1フレームを16ms以内で処理する必要があります。
もうオーバーしています。
まだ箱一つなのに・・・

そこでJavaでOPENGLを使うためのライブラリJOGLを使ってみたところ・・・

テクスチャの補間にバイリニアを使ってるみたいです。
気になる処理時間は・・・

0.15ms

( ゚д゚)

150倍・・・


O| ̄|_

OTL

orz


さすがは並列処理が得意なGPU、といった所でしょうか。
まだまだ最適化する必要がありますね・・・

GPU強し。
[ 2010/02/26 16:28 ] 3D | Comment(3)
ふむむ、かなりの差があるものなんですねえ。
頑張って下さいね。
ではでは。
拍手ですー。
[ 2010/02/26 22:50 ] [ 編集 ]
・・・。
まあ、GPUはそれが仕事だからね・・・
でも、自作3Dエンジンなんて自分には10000000歩も先の話ですから・・・
あなたは私にとって神のような存在かもしれません・・。
あと、今150倍って言ったけど、PCのスペックによって違うんじゃね?
まあ、へこたれずにがんばってください。
[ 2010/02/27 13:20 ] [ 編集 ]
>>HTRE さん
差はあると思ってましたけどこんなにあるとは思ってませんでした・・・
正直かなりびっくりしました。
もう少し高速化に向けて頑張ります。

>>・・・さん
ありがとうございます!
本がすぐ隣においてあるので、それをみながらちょっとずつ作ってます。
わからないところはパス!
それとやっぱり描画はGPUに任せるべきなんでしょうか・・・
150倍というのは自分の環境だったので、もちろんPCスペックによって変わると思います。
まだ改善の余地があるのでもうちょっと頑張ってみようかと思います。
[ 2010/02/27 14:11 ] [ 編集 ]
コメントの投稿




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


プロフィール

saharan

Author:saharan

Twitter
検索フォーム


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