カスタムHLSLリリース

ユーザーさんが自由にシェーダーを編集して実行できるようにしてリリースしました。
まだポストエフェクトのみですが。
この機能が盛り上がりを見せるようだったらボーン変形の方のシェーダー公開も考えてみます。

はたして使う人はいるだろうか?

あ、シェーダーの勉強はDirectXのドキュメントとか本とかを見てくださいね。
ぼくは説明しません。
デバッグもしません。
自己責任で!

テーマ : プログラミング - ジャンル : コンピュータ

カスタムHLSL機能の需要は?

モノトーンフィルターとCbCrフィルターを追加してリリースしました。

bbs_normal

bbs_mono

bbs_cbcr

一番上の図は通常レンダーで、真中がモノトーン、下がCbCrフィルターです。
CbCrフィルターはRGBをYCbCr色空間に変換してY値を保ったままCbとCrを好きな値に設定できます。
図ではCbが-0.2でCrが0.1です。
Cb, Crを変化させることで色合いを自由に決められます。

これでポストエフェクトは一段落かな?
ネットをみるとまだまだいろんなポストエフェクトがあるけど
ピクセルシェーダー2.0で出来るのは限られてるし
あんまり重くなるのもやりたくないし。

E3DのHLSLファイルをいじってる人はまだいないみたいだけど
次はユーザーさんが自由に定義できるカスタムHLSLの機能を作ろうかな。
HLSLにユーザーさん用のデータ領域とテクニック領域を作っておいて
E3Dから呼び出せるようにしてオリジナルのエフェクトを作ってもらおうというものです。
はたして需要はあるだろうか?

テーマ : プログラミング - ジャンル : コンピュータ

HDRブルームリリース

HDRライティングを実装してリリースしました。
まずは実行画面を。

e3d_hdrbloom


部屋の中に黒い柱と壁に絵があり、ちょっと右寄りに明るいポイントライトがある構図です。
左側が通常レンダで右側がトーンマッピングとブルーム処理をしたものです。
右側はmiddlegrayっていうキーの値を変えることで自由に暗くしたり明るくしたり出来ます。

今回のサンプルは
浮動小数点フォーマットが使えるビデオカードじゃないと表示できません。

どうでしょ?使いどころはあるかな?

最近ポストエフェクトばっかりやってきましたが次は何をやろうかな。
モノクロ調とセピア調でもやってみようかな。

テーマ : プログラミング - ジャンル : コンピュータ

HDRの準備中

この前書いたとおりHDRブルームの前準備として
ピクセル単位のPhongライティングを実装してリリースしました。

ローポリでも結構細かいライティングが可能になります。
バンプほどじゃないけど。

図で比較するとこんな感じ。
plane_phong

plane_pphong


上が32ポリPhongモードとポイントライト
下が同じ32ポリでPixel Phong モードでポイントライト。

まだちょっといびつだけどかなりましになるでしょ!?

さてHDRLightingっていうサンプルも解読できたし
次はいよいよHDRブルームの実装です。
サンプルでは暗いところから明るいところへ
明るいところから暗い所へ移動する場合に順応反応みたいな仕組みが組み込んであったけど
これはやめるかな?
ダイレクトに数値指定で明暗を調整できるようにしようかと思ってます。

テーマ : プログラミング - ジャンル : コンピュータ

テクスチャの大きさ

最近はデバッグが忙しくてあまりHDRを調べられませんでした。
今日からまた調査を始めました。

そんで今まで大きな勘違いをしていたことが判明。
レンダーターゲットテクスチャの大きさのことです。
通常のテクスチャと同様に2のべき乗じゃないと駄目だと思ってたんですが
なんと123とか半端な大きさでも成功するんですね。
作った後でE3DGetTextureInfoで調べましたが実際に指定した大きさで作られているようでした。
これでかなり気が楽になりました。
ゲーム作るときは伸縮して比率を合わせないといけないと思ってたので(笑)

あとHDRに対応するにはいろいろ拡張しないといけないことも判明。
まずライトの強さに1.0(整数では255)より大きい値を入れられるようにすることと
バンプじゃない通常のレンダーでもピクセル単位のライティングをしないと
HDRのポイントライトの効果が分かりずらいこと。
なのでピクセル単位ライティングのシェーダーを足すことにします。

調査はDirectXのSDKについてたHDRLightingっていうサンプルを見ています。
サンプルではstarエフェクトも使ってるけど
あんまり重くなるのも嫌なのでstarはやらないかも。
まずは純粋はブルームをやります。

トーンマッピングは迷ってたけどサンプルを実行してみたら
これは欠かせない技術のようなので実装します。


テーマ : プログラミング - ジャンル : コンピュータ

| ホーム |


 BLOG TOP  » NEXT PAGE