FPSを作ってみる@wiki
01)
最終更新:
slice
-
view
(2016/01/22)
トーンマッピングやってみた。…からなのかよくわからんが夕焼けっぽいものはできた。
トーンマッピングとは要するに入ってくる光の量に応じてディスプレイに表示する明るさを良い感じに調節するという事なのだが、
これをすると当然色味が変わってしまうのでそれはそれで調節が要るっぽいですね。
っていうか結局地形が黒くつぶれてしまってるね。
あと星空や地面の反射、雲なんかが無いとビミョーだね。
まあでもトーンマッピングしないと幾らパラメータをいじってもこんな色は出なかったので一応進捗という事で、ひとつ。
トーンマッピングとは要するに入ってくる光の量に応じてディスプレイに表示する明るさを良い感じに調節するという事なのだが、
これをすると当然色味が変わってしまうのでそれはそれで調節が要るっぽいですね。
っていうか結局地形が黒くつぶれてしまってるね。
あと星空や地面の反射、雲なんかが無いとビミョーだね。
まあでもトーンマッピングしないと幾らパラメータをいじってもこんな色は出なかったので一応進捗という事で、ひとつ。
さて。空は一段落として地面を描画したくなるが、その前に海かね。
夕焼けは海の反射がないと映えないし、海ならパターンの繰り返しで延々と続かせる事も出来そうだし。
夕焼けは海の反射がないと映えないし、海ならパターンの繰り返しで延々と続かせる事も出来そうだし。
(2016/01/19)
久々の進捗らしい進捗。
レイリー散乱とミー散乱を考慮した大気シミュレーション…と思わせて全然してない見掛け倒しのスクリーンショットである。
リアルなんて何のそのでパラメータ調整しまくりでそれっぽく仕上がったものを撮ったってだけ。
本当は夕焼けもやりたかったがこちらはHDRでないと無理っぽく、光がオレンジっぽくはなるが
明るい領域が白でつぶれたり全体的に鮮やかさに欠け、暗過ぎて断念。
レイリー散乱とミー散乱を考慮した大気シミュレーション…と思わせて全然してない見掛け倒しのスクリーンショットである。
リアルなんて何のそのでパラメータ調整しまくりでそれっぽく仕上がったものを撮ったってだけ。
本当は夕焼けもやりたかったがこちらはHDRでないと無理っぽく、光がオレンジっぽくはなるが
明るい領域が白でつぶれたり全体的に鮮やかさに欠け、暗過ぎて断念。
しかしこう改めて見ると何か物凄い計算をしてそうな雰囲気を醸し出しているね…
だがもう一度言おう。たいしたことはしてないと。
http://developer.amd.com/wordpress/media/2012/10/GDC_02_HoffmanPreetham.pdf
これを見ながらテキトーに実装しただけだ。
地形も別に広域を描画してるわけではなく、中点変位で生成したのを視点をうまく調整したという。
だがもう一度言おう。たいしたことはしてないと。
http://developer.amd.com/wordpress/media/2012/10/GDC_02_HoffmanPreetham.pdf
これを見ながらテキトーに実装しただけだ。
地形も別に広域を描画してるわけではなく、中点変位で生成したのを視点をうまく調整したという。
いや、元はと言えばもっとリアルな奴
http://www-ljk.imag.fr/Publications/Basilic/com.lmc.publi.PUBLI_Article@11e7cdda2f7_f64b69/index_en.html
に挑戦していたんだけど論文を読み進めていくとGeForce8800GTで33fpsとか言ってるし
ゲームにこれはいくら何でも重く、そもそも地球を飛び出して宇宙から眺めるとかスペースシミュでも無い限り全然要らないだろと気づいた次第である。
前者は後者の実装と比べて相当端折ってあって、各係数なんかもあまり細かく説明されておらず
要は「実際の環境に合わせて良しなにしてね」感がプンプンする、あくまで誤魔化しの技術だ。
その証拠に光の反射も1段しか考慮されていない。
にもかかわらず先ほどのスクリーンショットの様にうまく調節すればそれなりの品質で描画でき、
頂点シェーダーにまとめるかテクスチャにテーブルを格納しておけば7~8年程前のGPUでも負荷的にも問題なさそうなのが長所であり、ゲームでちょっと使うにはこれで十分かもしれんね。
http://www-ljk.imag.fr/Publications/Basilic/com.lmc.publi.PUBLI_Article@11e7cdda2f7_f64b69/index_en.html
に挑戦していたんだけど論文を読み進めていくとGeForce8800GTで33fpsとか言ってるし
ゲームにこれはいくら何でも重く、そもそも地球を飛び出して宇宙から眺めるとかスペースシミュでも無い限り全然要らないだろと気づいた次第である。
前者は後者の実装と比べて相当端折ってあって、各係数なんかもあまり細かく説明されておらず
要は「実際の環境に合わせて良しなにしてね」感がプンプンする、あくまで誤魔化しの技術だ。
その証拠に光の反射も1段しか考慮されていない。
にもかかわらず先ほどのスクリーンショットの様にうまく調節すればそれなりの品質で描画でき、
頂点シェーダーにまとめるかテクスチャにテーブルを格納しておけば7~8年程前のGPUでも負荷的にも問題なさそうなのが長所であり、ゲームでちょっと使うにはこれで十分かもしれんね。
ところで地形描画に使ってるタイル状のポリゴン、これはVineに上げた動画の様に一応詳細度レベルを滑らかに変化させられるようにしてあるのだが
視点からのカリングや詳細度レベルの決定アルゴリズムなど作ってないので実質機能しておらず。
レイリー散乱 & ミー散乱もどきのHDR対応を先にしてから地形描画に入りたいところだが、果たしてどうなるか。
視点からのカリングや詳細度レベルの決定アルゴリズムなど作ってないので実質機能しておらず。
レイリー散乱 & ミー散乱もどきのHDR対応を先にしてから地形描画に入りたいところだが、果たしてどうなるか。
(2016/01/07)
新年あけて一週間経ちましておめでとうございます!
一応オリキャラだけどまだ名前は決まってないという。
なんか気難しそうなドラゴン。サウスポーですね。
なんか気難しそうなドラゴン。サウスポーですね。
さてプログラミングの方は…去年、wikiじゃないサイトを作ろう作ろうと言って全然進んでなかったので
そっちの方の準備。
WebGLで無駄に背景が豪華なページを作ろうとしていて、場所は何処にしようかと思ったんだけど
サーバーで色々処理させるんでなければGitHubで公開できるじゃんという事に気づいた。
背景としてアウトドアなシーンに挑戦したかったので今はレイリー散乱 & ミー散乱について調べている。
レイリー散乱は空が青く見える要因として挙げられ、ミー散乱は例として雲や霧が出るやつですな。
いやぁ、スマフォで3Dがバリバリ動く時代にもなってスカイドームにテクスチャペタッじゃちょっとね…と。
そっちの方の準備。
WebGLで無駄に背景が豪華なページを作ろうとしていて、場所は何処にしようかと思ったんだけど
サーバーで色々処理させるんでなければGitHubで公開できるじゃんという事に気づいた。
背景としてアウトドアなシーンに挑戦したかったので今はレイリー散乱 & ミー散乱について調べている。
レイリー散乱は空が青く見える要因として挙げられ、ミー散乱は例として雲や霧が出るやつですな。
いやぁ、スマフォで3Dがバリバリ動く時代にもなってスカイドームにテクスチャペタッじゃちょっとね…と。
で、これはちょっと考えるとわかるが真面目に計算すると散乱した光がまた別の場所で散乱して…
という風にラジオシティ並みの計算量になってしまい、1シーンに数分とか数時間かかってしまうような代物なのである。
従ってリアルタイムで動かすにはいろいろ端折ったり事前計算して何とかする訳で、その為の手法が幾つか存在するのだけど
とりあえず調べてる最中なので尻切れトンボなのを承知しつつ、この辺で。
という風にラジオシティ並みの計算量になってしまい、1シーンに数分とか数時間かかってしまうような代物なのである。
従ってリアルタイムで動かすにはいろいろ端折ったり事前計算して何とかする訳で、その為の手法が幾つか存在するのだけど
とりあえず調べてる最中なので尻切れトンボなのを承知しつつ、この辺で。