忍者ブログ

神戸電子専門学校ゲームソフト学科の生徒が運営するGESのブログです。

   

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

DirectXとOpenGL

どうも、大西(はかせ)です。久しぶりに記事を書いてみました。
今回は2・3年生向けにDirectXとOpenGLの違いにちょっと触れてみたいと思います。
2年生は夏休みの面接練習でDirectXとOpenGLの違いを説明できますか?みたいな質問をされたり、
ゲーム会社に行った先輩達からは「PS3とかで開発したいんだったらOpenGLやっといた方が良いよ」
みたいな話を聞くっていうのを松尾先生から聞いた人もいるんじゃないでしょうか?

何でかっていうと、DirectXはWindows環境に強く依存するので
PCゲームやXBox360などはこれでいけますが、
他のハードだとOpenGLESベースのものが多いからです。
そんな訳でDirectXとOpenGLの違いを説明しようと思うのですが、
皆さんこの2つの違いっていくつ知ってます?

拍手[0回]



まず、座標系が違いますよね。左手座標系と右手座標系。
後は外積で出るベクトルの向き、頂点の結び順、etc・・・

座標系の違いはわかりますよね。正と負どっちが奥で手前かって言う話です。
じゃあ、これが違うとどうなるのかっていうと外積のとこが変わります。
外積は2つのベクトルに垂直なベクトルを求めますが、その向きってどちらを向いているでしょう?
外積の関数は2つのベクトルを与えて計算しますが、最初のベクトルを親指、2つ目を人差し指に
当てはめて考えてみてください。右手と左手で違いますよね?そういうことです。

次は頂点の結び順。DirectXのマニュアル見れば書いてありますけど、( って言うかマニュアルは読もうね。 ) DirectXでは頂点を時計回りに結んでできた面がポリゴンの表( 法線の出てる方 )になります。
OpenGLはその逆です。松尾先生のLinuxの授業の教科書を確認してみましょう。
頂点の結び順が反時計回りのはずです。ここが違うと当然、カリングも変わります。
皆さんも描画負荷を減らすのにカリングは使っているはずです。

3DCGでは無駄な描画を省くため、カメラから見て反対を向いているポリゴンの描画を
カリング( 間引く )します。DirectXではレンダーステートの設定でできますよね。
D3DCULL_CCW これがどういう意味かっていうと CCW( Counter-Clock-Wise 反時計回りの意味 )
です。DirectXではポリゴンの表面は頂点が時計回りなのですから、これを裏から見ると反時計回り
ですよね。そいつを描画しないっていうことです。当然、こいつもOpenGLでは逆です。
表面のものは反時計回りなので、間引くのは時計回りのものにします。

まぁ、ざっとこんな感じです。いかがでしたか。


それと、この場を借りて皆さんに残念なお知らせと謝罪をさせていただきます。
既にご存知の人もいると思いますが、諸事情で予定していたシェーダー講座は
ちょっと開けそうにありません。楽しみにされていた方、本当に申し訳ありません。
しかし、なるべくこのような形で皆さんの役に立ちそうな情報や余裕があれば
シェーダーのコードも載せて解説していきたいと思います。

もしかしたら、加藤(ぱぱ)の方には前に講座のサンプルにしようとしていた
シェーダーのプロジェクト(光学迷彩っぽい様なガラスのようなレンダリングをするやつ)とかを
渡してたので僕に代わってシェーダー講座を開いてくれるかも?(という期待を抱きつつ)
まぁ、レンダリングパイプラインの中でのことや画面座標系までの各座標系への変換で座標が
どんな風に変換されるかとか、シェーダー関連で聞きたいことがあれば質問ください。
一応、Deferred Rendering とかもやってるんで。
時間が空いていれば答えられそうなことは答えたいと思います。

それではまた会う日まで。





--------- どうでもいい話 ----------------------------------

少し前、時間がロクに無いのにも関わらず、最近デジタルな( PC上で作る )ものしか作ってないなぁ~。
と思い、ちょっとした衝動に駆られてACのプラモを買ってしまいました。( 何やってんだ俺。 )
買ったのは水没王子。他に破壊天使とかアリーヤとかローディー先生とかも売ってたんですけど、
忙しいのでスミ入れとかしなくても素組みするだけでそこそこ見れるやつがいいと思って、
箱の横の組み立てただけのイメージを見比べつつ、機体の白いノブリスはスミ入れしないと微妙なので却下、アリーヤと相当悩んだんですけどアリーヤは本体はそのままでもいけるけど、武器のランナー色が 明るいグレーっぽく、これもスミ入れしないと微妙っぽかったんでステイシスにしました。
目標はDarkSoulまでに完成させる予定。忙しすぎる・・・( Luaの勉強もしたいのに。 )

AC Vが発売日延期になったけどその時期はFF零式とかもあるし、忙しそうなので喜べば良いのか
悲しめば良いのか複雑な気分・・・。
PR

COMMENT

NAME
TITLE
MAIL(非公開)
URL
EMOJI
Vodafone絵文字 i-mode絵文字 Ezweb絵文字
COMMENT
PASS(コメント編集に必須です)
SECRET
管理人のみ閲覧できます

無題

  • by ぱぱ
  • 2011/08/06(Sat)15:47
  • Edit
ぎゃふんっ

なんかフラグ立てられた

ブログ内検索

最新コメント

[01/29 人面犬]
[10/01 8ch]
[09/12 uncle]
[09/10 某卒業生]
[06/07 uncle]

カレンダー

03 2024/04 05
S M T W T F S
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30

テスト

Copyright ©  -- GESブログ --  All Rights Reserved
Design by CriCri / Photo by Geralt / powered by NINJA TOOLS / 忍者ブログ / [PR]