« 取りうる値の最大値が表現可能なビット数をコンパイル時に求める方法は? | トップページ | SAMい »

2014年12月 2日 (火)平面変換

おはようございます。
プログラマーのG.Iです。

ついに12月に突入しましたね。snow

日に日に寒くなっていき外に出たくなくなります、、。
そろそろ、上下ヒートテックを常備して過ごそうかな。


さて今日の内容ですが、最近描画の基礎の基礎部分のプログラムを
書いたので、そのあたりの内容を話そうと思います。

作成したのは本当に単純で、立方体のポリゴンに、
基本的なテクスチャマッピングと平行光源を表示しただけのものです。

もう久しく1からポリゴンを出すプログラムなんて書いてなかったので、
色々な箇所をを忘れてて想像以上に苦労しました。
画面に三角形ポリゴンを表示するところは、難なくできたのですが
その後の3D空間への変換部分は、恥ずかしながら自分で書いたことが
ほとんどなかったために、結構苦労しました。
ビュー変換、プロジェクション変換とか、今までは誰かが作ったライブラリを、
そのまま使っていただけで、改めて自作すると本当にに忘れてしまってますね。
いろんな本やらサイトを見て勉強をやり直しました。


結果、、改めて感じたことがあります。

それは、


モニターは平面なので、そこに3D空間なんて存在しない。
それっぽく見せるために拡大縮小を駆使している。


ということです。

何言ってんだこいつ??と思うかもしれませんが、、
3Dのゲームを作る上で、3D空間で物がどこに配置されて、どうやって動いて
想像することはすごく大切です。
そこから、面白い動きや、表現が作られますからね。


でも、最終的にはその想像された空間をつぶして拡縮して2Dの平面にうまいこと
表示しているだけです。
そして、その時に使用する計算がビュー変換とプロジェクション変換なのです。
全く論理的ではありませんが、そう考えた途端に理解しやすくなりました。
もしかすると、初めからそこまで想像できるような人が、
3Dのグラフィックプログラムセンスが高いのかもしれませんね。


いつもはもっと高等なことをやっていると思っていましたが
やっぱり基礎を見直すことは大事だと考えさせられました。

次は、ライティングとか見直そうかなー。

follow us in feedly
result = encodeURIComponent( "http://www.accessgames-blog.com/blog/2014/12/post-1921.html" );document.write( "result = " , result );&media=https%3A%2F%2Ffarm8.staticflickr.com%2F7027%2F6851755809_df5b2051c9_z.jpg&description=Next%20stop%3A%20Pinterest">

| | コメント (0) | トラックバック (0)

« 取りうる値の最大値が表現可能なビット数をコンパイル時に求める方法は? | トップページ | SAMい »

プログラマー」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/217647/60745048

この記事へのトラックバック一覧です: 平面変換:

« 取りうる値の最大値が表現可能なビット数をコンパイル時に求める方法は? | トップページ | SAMい »