忍者ブログ
カレンダー
10 2024/11 12
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
プロフィール
HN:
[-_-;] (みかん)
性別:
男性
趣味:
プログラミング、XOPS
自己紹介:
中部地方在住です。
最新コメント
[11/30 NONAME]
[11/22 NONAME]
[09/24 NONAME]
[06/10 NONAME]
[01/29 NONAME]
XOPS関連サイト「みかん箱」の運営や、OpenXOPSの開発などを行う[-_-;](みかん)のブログ。近状報告や独り言などを書きます。
Prev Month123456789101112131415161718192021222324252627282930Next Month
OpenXOPSにシェーダーで影を付ける
8月ですね。
1-2週間前までは雨が降っていてジメジメしていたのに、急に暑く
なってきました。


早速本題ですが、既に他所でも発表した通り、OpenXOPSに影を
実装してみました。


(クリックで拡大)

マップに人の影が落ちているほか、画像だと分かりにくいですが、
(腕に持っている)武器や、小物に対しても影が落ちます。
また、影はリアルタイムに演算し描画しているため、影/太陽の
向きも自在に変更できます。

もちろん、UnityやUnreal Engineのようなゲームエンジンは一切
使っていません。
HLSLでシェーダー(シェーダーモデル 3.0)を書いており、
フルスクラッチでシャドウマップを実装しています。
影が綺麗に出るようソフトシャドウをやっており、カメラとの
距離に応じて、シャドウマップは複数枚に平行分割しています。

OpenXOPSの描画を、固定パイプラインからシェーダーに移行し、
影を実装する計画は、2018年の前半頃から考えていました。
 OpenXOPSをシェーダーに移植してオンライン化したい
 (2018/06/11)
  ※この頃はオンライン化も真剣に考えていた。
当時から本を買って読んで勉強したりもしていましたが、私生活
で色々なことが起きたり、XOPS関係でも他にやるべきことが
できたりで、殆ど手付かずでした。
ただ、今年6月頃からシェーダーの勉強を再開しようと思い立ち、
8月になってようやく それっぽく動くようになりました。

ゲームに影を付けると威力(印象の差)は絶大で、ゲームとして
グラフィックが結構向上しますね。
やりたかった方向性としては予定通りです。
ただ、やはり画像では分かりにくい細かいところにバグや描画が
汚いところがあることと、
今回実装したのは言わば平行光源のみで、点光源やスポットライト
は実装していないので、室内は真っ暗になります(^^;
まだまだ研究段階です。

他所でも感想として述べましたが、
シェーダープログラミング未経験の状態で、いきなりDirectXから
シェーダーを動かすのは、恐ろしくハードルが高いと感じました。
特に、近年はゲームエンジンの発展により、シェーダーでゴリゴリ
と影を演出する技法はマイナーになりつつあり、解説が少ないのは
あると思います。

Output(成果物)を優先し、かつ「徹底的に本家XOPSに近づける」
というミッションがないのであれば、素直にゲームエンジンを
使うべきです。
・・いや、ゲームエンジンって本当に凄いんだぞ? マジで。
ただ、せっかくここまでやったので、もう少しHLSLでシェーダーを
弄りたいという気持ちはあります。



本題とは全然関係ないですが、1Uサイズのラックサーバーを買い
ました。
サーバー向けCPUであるIntel Xeonプロセッサーが入っています。
いつか書くタイミングがあれば紹介します。
紹介する機会なく、そのままお蔵入りになるかもしれませんが(^^;
category : ソフト・ツール開発 comment [0]
PR
COMMENTS
【本文以外は任意項目です】
SUBJECT(タイトル)
NAME(お名前)
MAIL(メールアドレス)
HOME(サイトURL)
COMMENT(本文)
PASS(削除パスワード)
Secret?(管理者へのみ表示)

※スパム防止のため「Hello!」「website」「ブランド」「みかんの戦闘ブログ」
「http」などの一部キーワードを禁止しています。ご了承ください。

※過去のブログ記事は 原則として編集・修正していません。
 各記事の内容は投稿時のものであり、現在では異なる場合があります。
 最新の情報は、関係する内容について書かれた 最新の記事をご覧ください。

TOP