探検
シェーダープログラマが集うスレ
■ このスレッドは過去ログ倉庫に格納されています
01/11/08 11:06ID:???
∧ ∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄
(,,・∀・) < ゲームにもシェーダーの時代到来でち♪
@_) \_______
バーテックスシェーダーとかピクセルシェーダーとかを語りまくるスレ。
439名前は開発中のものです。
2010/04/26(月) 18:44:51ID:q9PPgRR+ 難しいことしてるんだね・・・
日曜プログラマには遠い世界だ・・・
最先端を行くシェーダプログラマさん、応援してます!
日曜プログラマには遠い世界だ・・・
最先端を行くシェーダプログラマさん、応援してます!
440名前は開発中のものです。
2010/04/26(月) 23:50:14ID:OdPbzt9V >>438
そんな感じ。
RSMからVirtual Point Lightsの基準になる点を選ぶ。
あとは、法線方向に半球に広がるSH係数を3Dテクスチャに書き込む。
それを6方向(±XYZ)に広げていくだけ。
使うときは3Dテクスチャをサンプリングするだけだから負荷も低い。
6方向だけだとイビツな形に広がっちゃうけど、LPVをカスケードすると緩和できる。
そのままだとオブジェクトを突き抜けて光が広がっちゃうんで、遮蔽するようなSH係数を書き込んでおいたり
SH Gradientを使って緩和したりするんだけど、そこまでやらんでもそれなりには綺麗になるよ。
大げさに書いてあるけど、実装自体はそんなに難しくないんでやってみる価値はあるかと。
そんな感じ。
RSMからVirtual Point Lightsの基準になる点を選ぶ。
あとは、法線方向に半球に広がるSH係数を3Dテクスチャに書き込む。
それを6方向(±XYZ)に広げていくだけ。
使うときは3Dテクスチャをサンプリングするだけだから負荷も低い。
6方向だけだとイビツな形に広がっちゃうけど、LPVをカスケードすると緩和できる。
そのままだとオブジェクトを突き抜けて光が広がっちゃうんで、遮蔽するようなSH係数を書き込んでおいたり
SH Gradientを使って緩和したりするんだけど、そこまでやらんでもそれなりには綺麗になるよ。
大げさに書いてあるけど、実装自体はそんなに難しくないんでやってみる価値はあるかと。
441名前は開発中のものです。
2010/04/27(火) 23:13:00ID:dIei8hJx 固定機能って英語でなんて言うの?
442名前は開発中のものです。
2010/04/27(火) 23:14:37ID:or6B45UJ Fixedなんちゃら?
443名前は開発中のものです。
2010/04/27(火) 23:40:11ID:6UsTVwUx Fixed Fuction Shader
Fixed Pipeline
Fixed Pipeline
444名前は開発中のものです。
2010/04/28(水) 00:13:07ID:o4K4QM/E そのままなんだ,どもども
445名前は開発中のものです。
2010/04/30(金) 10:03:28ID:JBQK921o シェーダプログラムをVCみたくプロジェクト管理できるようになるのはいつごろになるんでしょうか
446名前は開発中のものです。
2010/04/30(金) 14:51:15ID:PJyGEE1y w
447名前は開発中のものです。
2010/04/30(金) 23:11:36ID:Ll80FyeF RenderMonkeyで十分だけど
最新のはもっと使いやすいのかな
最新のはもっと使いやすいのかな
448名前は開発中のものです。
2010/04/30(金) 23:54:38ID:NulfKJ1a FxComposerは機能が多すぎて好きになれないなぁ
RenderMonkeyがシェーダモデル4.0に対応してくれれば最高なんだけど…
RenderMonkeyがシェーダモデル4.0に対応してくれれば最高なんだけど…
449名前は開発中のものです。
2010/05/01(土) 00:13:59ID:Tc5IDNAz シェーダーコードを記述していていつも思うんだが、
OpenGLでもDirect3Dでも、setShader("shader-code-filename", ...若干のパラメータ);
ですぐ適用されるような関数ってどこかにないものだろうか。
OpenGLでもDirect3Dでも、setShader("shader-code-filename", ...若干のパラメータ);
ですぐ適用されるような関数ってどこかにないものだろうか。
450名前は開発中のものです。
2010/05/02(日) 12:47:48ID:qwH1pwxC 単なるテクスチャとディフュースマップって別ものですか?
451名前は開発中のものです。
2010/05/02(日) 14:10:24ID:4jveGEXL テクスチャの使い方の1つがディフューズマップだろ
452名前は開発中のものです。
2010/05/02(日) 15:36:55ID:qwH1pwxC えっと..そうですね
453名前は開発中のものです。
2010/05/06(木) 07:36:08ID:zkphwCfb454名前は開発中のものです。
2010/05/06(木) 08:18:32ID:VYQ7ECsG >>453
今のGPUはカメラが1つなのが問題だと思う。
640x480個ぐらいの視点を一度にレンダリングできれば、
プリミティブは1回だけレンダリングパイプラインに送ればいい。
現状AOが一番視覚的な効果が大きいので
GPUメーカーはここを何とかすべきだと思うのでござる
今のGPUはカメラが1つなのが問題だと思う。
640x480個ぐらいの視点を一度にレンダリングできれば、
プリミティブは1回だけレンダリングパイプラインに送ればいい。
現状AOが一番視覚的な効果が大きいので
GPUメーカーはここを何とかすべきだと思うのでござる
455名前は開発中のものです。
2010/05/06(木) 08:38:50ID:a6N34ubG つまりレイトレに移行しろってことね
456名前は開発中のものです。
2010/05/06(木) 10:40:00ID:OlmSacGP それで「リアルタイム」レンダリング出来るなら別にいいけどな・・・。
リアルタイムじゃなくていいなら現行のGPUとDirectX11で出来るわ。
リアルタイムじゃなくていいなら現行のGPUとDirectX11で出来るわ。
457名前は開発中のものです。
2010/05/07(金) 00:25:22ID:xoQQFLxq ComputeShaderで標準化されたおかげで
GPU Kd-Treeが結構現実的な選択肢になってきたしなぁ。
ゲームでも影と反射計算だけレイトレで、ってのはそんなに遠くない未来にできそう。
GPU Kd-Treeが結構現実的な選択肢になってきたしなぁ。
ゲームでも影と反射計算だけレイトレで、ってのはそんなに遠くない未来にできそう。
458名前は開発中のものです。
2010/05/07(金) 01:52:19ID:o17sITaf ハイブリッドレンダリング・・・か・・・
459名前は開発中のものです。
2010/05/07(金) 16:16:33ID:z6L6ZJ31 まあ現行の技術もインチキ満載だし
460名前は開発中のものです。
2010/05/07(金) 20:35:02ID:o17sITaf インチキで飯食ってる人は廃業かねぇ・・・
461名前は開発中のものです。
2010/05/07(金) 23:28:45ID:mLAx+DEY 携帯機が絶好調のご時勢にシェーダーバリバリ使ったグラフィックスな方が時代の流れには逆らってるだろ。
どうせ現実や写真には勝てないんだからただリアルになりゃいってもんじゃない。
パラメーターもアホほど増えるしコストもアホほど増えてるし。
どうせ現実や写真には勝てないんだからただリアルになりゃいってもんじゃない。
パラメーターもアホほど増えるしコストもアホほど増えてるし。
462名前は開発中のものです。
2010/05/07(金) 23:57:22ID:o17sITaf なんか、そんな感じになってきたねぇ・・・
これからのリアルタイム3Dグラフィックスはどうなっていくやら・・・
これからのリアルタイム3Dグラフィックスはどうなっていくやら・・・
463名前は開発中のものです。
2010/05/08(土) 01:04:02ID:+hCQKb13 そもそもゲームが飽きられてるという根本的な問題
464名前は開発中のものです。
2010/05/08(土) 03:21:58ID:/t+6ZQ8p iPhoneでもGLSLは使えるんじゃないのけ?
465名前は開発中のものです。
2010/05/08(土) 03:34:47ID:XtadjUgU 今はDirectXのパイプラインがどんどん増えて複雑化する一方だが、
いずれリセットされてソフトウェアレンダ時代に回帰(=GPGPU)するだろうと予想してるゲーム開発者もいるみたいね。
NVのFermiやIntelのLarrabeeは明確にそれを指向しているし。
でも、マイクロポリゴンもボクセルもリアルタイムレイトレも思いの外遠いなあ・・・。
遠いといえばユーザーインターフェースもだな。
2010年ともなれば、脳神経に無線介入して視覚や聴覚等の身体感覚をダイレクトに乗っ取って情報を流し込んだり
脳波で全ての操作が可能になってキーボードやマウスが不要になったり、
もう少しそれを進めて脳とコンピューターを(プロトコルを介して)接続して思考を拡張したり出来る様になると思っていたのに、
メガネかけて立体視が最先端、70、80年代と本質的には変わりなしとは幻滅もいいとこだよ。
百歩譲っても、空中に結像する立体ディスプレイ位は絶対にあると思ってた。
いずれリセットされてソフトウェアレンダ時代に回帰(=GPGPU)するだろうと予想してるゲーム開発者もいるみたいね。
NVのFermiやIntelのLarrabeeは明確にそれを指向しているし。
でも、マイクロポリゴンもボクセルもリアルタイムレイトレも思いの外遠いなあ・・・。
遠いといえばユーザーインターフェースもだな。
2010年ともなれば、脳神経に無線介入して視覚や聴覚等の身体感覚をダイレクトに乗っ取って情報を流し込んだり
脳波で全ての操作が可能になってキーボードやマウスが不要になったり、
もう少しそれを進めて脳とコンピューターを(プロトコルを介して)接続して思考を拡張したり出来る様になると思っていたのに、
メガネかけて立体視が最先端、70、80年代と本質的には変わりなしとは幻滅もいいとこだよ。
百歩譲っても、空中に結像する立体ディスプレイ位は絶対にあると思ってた。
466名前は開発中のものです。
2010/05/08(土) 04:18:00ID:d4R1Ls+Z 胸が熱くなるねぇ・・・
でも、ソフトウェアレンダリングは一部の優秀な人間しか構築できないだろうから、
今のDirectXみたいな広がりは見られなくなるだろうね・・・
でも、ソフトウェアレンダリングは一部の優秀な人間しか構築できないだろうから、
今のDirectXみたいな広がりは見られなくなるだろうね・・・
467名前は開発中のものです。
2010/05/08(土) 10:32:37ID:fA2uIeet ソフトウェアレンダラーの時代になったときに
いったいどれだけの人間が残れるんだろうな・・・
いったいどれだけの人間が残れるんだろうな・・・
468名前は開発中のものです。
2010/05/08(土) 11:10:49ID:+hCQKb13 おまいら今からpbrt読んどけってこった
469名前は開発中のものです。
2010/05/08(土) 12:34:25ID:ulmgTB5n >>465
nia
ttp://akiba-pc.watch.impress.co.jp/hotline/20080830/sp_ocznia.html
網膜ディスプレイ
ttp://www.itmedia.co.jp/news/articles/0911/06/news015.html
ttp://www.itmedia.co.jp/news/articles/0809/04/news076.html
眼鏡の要らない3次元映像技術の研究開発
ttp://www.itmedia.co.jp/news/articles/1004/28/news041.html
ttp://japan.internet.com/column/webtech/20100507/8.html
求めているものと違うのは重々承知だがw
niaはネタの域。網膜ディスプレイは今750万円だっけな。ゆくゆくは3D化も視野に入れているそうだ。
ゲームの3D映像化は、たぶんハードの方でやるだろうから、我々のやる事は変わらなそうだね。
この辺は楽ですなぁ。
nia
ttp://akiba-pc.watch.impress.co.jp/hotline/20080830/sp_ocznia.html
網膜ディスプレイ
ttp://www.itmedia.co.jp/news/articles/0911/06/news015.html
ttp://www.itmedia.co.jp/news/articles/0809/04/news076.html
眼鏡の要らない3次元映像技術の研究開発
ttp://www.itmedia.co.jp/news/articles/1004/28/news041.html
ttp://japan.internet.com/column/webtech/20100507/8.html
求めているものと違うのは重々承知だがw
niaはネタの域。網膜ディスプレイは今750万円だっけな。ゆくゆくは3D化も視野に入れているそうだ。
ゲームの3D映像化は、たぶんハードの方でやるだろうから、我々のやる事は変わらなそうだね。
この辺は楽ですなぁ。
470名前は開発中のものです。
2010/05/09(日) 08:14:30ID:zbXbbgYt >>440
レスthx
大分理解が進んだ気がするけど、実装方法がいまいちわからず
いくつか質問させてください
>RSMからVirtual Point Lightsの基準になる点を選ぶ。
fluxマップの各テクセル全てが二次光源になるということ?
>あとは、法線方向に半球に広がるSH係数を3Dテクスチャに書き込む。
このSH係数はどうやって求めるんだろう?任意の位置のfluxマップの近傍からどうにかするんだろうか?謎
あと3DテクスチャへのレンダリングってたしかDX10以降じゃないとできないよね?
>それを6方向(±XYZ)に広げていくだけ。
これもCPU側で全グリッドをぶんまわして処理するんかな?
>カスケード
>遮蔽するようなSH係数を書き込む
>SH Gradient
この辺に至ってはさっぱりイメージもつかない・・・
概要はなんとなくわかったけど実装となると・・・・
サンプル(擬似コード)を書いてくれると非常にありがたいのだけども
レスthx
大分理解が進んだ気がするけど、実装方法がいまいちわからず
いくつか質問させてください
>RSMからVirtual Point Lightsの基準になる点を選ぶ。
fluxマップの各テクセル全てが二次光源になるということ?
>あとは、法線方向に半球に広がるSH係数を3Dテクスチャに書き込む。
このSH係数はどうやって求めるんだろう?任意の位置のfluxマップの近傍からどうにかするんだろうか?謎
あと3DテクスチャへのレンダリングってたしかDX10以降じゃないとできないよね?
>それを6方向(±XYZ)に広げていくだけ。
これもCPU側で全グリッドをぶんまわして処理するんかな?
>カスケード
>遮蔽するようなSH係数を書き込む
>SH Gradient
この辺に至ってはさっぱりイメージもつかない・・・
概要はなんとなくわかったけど実装となると・・・・
サンプル(擬似コード)を書いてくれると非常にありがたいのだけども
471名前は開発中のものです。
2010/05/09(日) 14:07:31ID:OSyt/H/l >>470
> fluxマップの各テクセル全てが二次光源になるということ?
意味的にはそう。
けど実際には重点的サンプリングで個数を減らす。
シェーダコードがCryEngine3 のLPVの資料に書いてあるから見てみるといいかも。
> このSH係数はどうやって求めるんだろう?
VPLはそれぞれ点光源なんで、法線方向に半球状に分布したSH係数を作ればいい。色はRSMから引っ張ってくる。
で、この係数はZonalHarmonicsていうSHの特殊な形態+SHRotationで求めることができるんで、シェーダでも計算可。
ZH+SHRotationの詳細は、PyramidのCEDEC2006講演の資料を見るといいかも。
> あと3DテクスチャへのレンダリングってたしかDX10以降じゃないとできないよね?
DX9だとテクスチャ1枚に展開して自前でバイリニアサンプリングを実装するのが一番楽かも。
CPUを混ぜて描画先のサーフェスを引っ張ってくるのも有りだけど、重そうだな…。
> これもCPU側で全グリッドをぶんまわして処理するんかな?
シェーダで。
各イテレーションごとに、前後左右上下6方向の色から自身(現在見ているテクセル)の次の色を求める。
それを数回繰り返して拡散(=プロパゲーション)させる
> サンプル(擬似コード)を書いてくれると非常にありがたいのだけども
Crytek の資料に Injection と Propagation の疑似コードはあった希ガス。
> fluxマップの各テクセル全てが二次光源になるということ?
意味的にはそう。
けど実際には重点的サンプリングで個数を減らす。
シェーダコードがCryEngine3 のLPVの資料に書いてあるから見てみるといいかも。
> このSH係数はどうやって求めるんだろう?
VPLはそれぞれ点光源なんで、法線方向に半球状に分布したSH係数を作ればいい。色はRSMから引っ張ってくる。
で、この係数はZonalHarmonicsていうSHの特殊な形態+SHRotationで求めることができるんで、シェーダでも計算可。
ZH+SHRotationの詳細は、PyramidのCEDEC2006講演の資料を見るといいかも。
> あと3DテクスチャへのレンダリングってたしかDX10以降じゃないとできないよね?
DX9だとテクスチャ1枚に展開して自前でバイリニアサンプリングを実装するのが一番楽かも。
CPUを混ぜて描画先のサーフェスを引っ張ってくるのも有りだけど、重そうだな…。
> これもCPU側で全グリッドをぶんまわして処理するんかな?
シェーダで。
各イテレーションごとに、前後左右上下6方向の色から自身(現在見ているテクセル)の次の色を求める。
それを数回繰り返して拡散(=プロパゲーション)させる
> サンプル(擬似コード)を書いてくれると非常にありがたいのだけども
Crytek の資料に Injection と Propagation の疑似コードはあった希ガス。
472名前は開発中のものです。
2010/05/09(日) 14:24:45ID:NFK2xJXR 日本語でおk
473名前は開発中のものです。
2010/05/09(日) 23:55:29ID:JidFUs/v パーティクル系の話題は無いですか?
474名前は開発中のものです。
2010/05/10(月) 00:34:35ID:4ZkZHoJB ビルボード沢山並べとけ
475名前は開発中のものです。
2010/05/10(月) 07:43:59ID:+q2/1pH3476名前は開発中のものです。
2010/05/10(月) 08:01:40ID:qqyWyual 誰か>>470-471を俺にも分かるように解説してくれ
477名前は開発中のものです。
2010/05/10(月) 08:03:25ID:CI0J4Kj0 すごいレベルの人がいるな・・・
478名前は開発中のものです。
2010/05/10(月) 08:54:39ID:HF9uRFsA 最先端のシェーダは複雑すぎて理解できなくなってきてるしなあ
479名前は開発中のものです。
2010/05/10(月) 22:39:39ID:9s3hDp0g 勉強せよせよせよせよ(残響音含む)
480名前は開発中のものです。
2010/05/10(月) 23:22:50ID:4ZkZHoJB まぁ色々な意味で難しいよな。
最新技術がバリバリだからって職があるわけじゃねえし。
ゲームを作るための能力とは別のものだからな・・・。
ある程度地位が上がってくるとその辺勉強する時間がなくなる。
最新技術がバリバリだからって職があるわけじゃねえし。
ゲームを作るための能力とは別のものだからな・・・。
ある程度地位が上がってくるとその辺勉強する時間がなくなる。
481名前は開発中のものです。
2010/05/10(月) 23:37:04ID:AGC8PD06 ぴくさーにてんしょくするといいとおもうよ
482名前は開発中のものです。
2010/05/11(火) 00:24:13ID:EoqmnJKU 偉くなったらディレクターだのマネージャーだのと
当たり前のように考えてる日本企業は遅れてるよなあ。
海の向こうみたいに、シニアエンジニアでいいじゃん。
管理職なんてやりたくないよ。。。
当たり前のように考えてる日本企業は遅れてるよなあ。
海の向こうみたいに、シニアエンジニアでいいじゃん。
管理職なんてやりたくないよ。。。
483名前は開発中のものです。
2010/05/11(火) 01:17:03ID:cOMIVk0P シニアエンジニアつってもじゃぁ国立大出身の20〜30代とか相手にして
いつまでも技術的に優位に立てるかって話になるとまぁ無理だろ。
給料も若造なんかより断然いいんだから技術が同程度じゃ首切り候補にしかならんし。
経験を生かすって言う意味なら管理職は悪くないと思うけどね。
管理専任ってわけじゃなくコーディングもする現場で陣頭指揮執る感じでなら。
いつまでも技術的に優位に立てるかって話になるとまぁ無理だろ。
給料も若造なんかより断然いいんだから技術が同程度じゃ首切り候補にしかならんし。
経験を生かすって言う意味なら管理職は悪くないと思うけどね。
管理専任ってわけじゃなくコーディングもする現場で陣頭指揮執る感じでなら。
484名前は開発中のものです。
2010/06/12(土) 11:29:56ID:7TAHLBTP 最近シェーダを覚え始めたのですが,
シェーダファイルというのは,
ポリゴン1枚ごとに用意するようなものなのでしょうか?
全体で1ファイルくらいのイメージだったので...
シェーダファイルというのは,
ポリゴン1枚ごとに用意するようなものなのでしょうか?
全体で1ファイルくらいのイメージだったので...
485名前は開発中のものです。
2010/06/13(日) 00:09:35ID:ik5QPNjq 好きにすればいい。
そんなものは人それぞれだ。
そんなものは人それぞれだ。
486名前は開発中のものです。
2010/06/23(水) 15:47:34ID:h7bLJtbu さて、シェーダが枯れてきた今日この頃、シェーダに挑戦したおれが
通りますよ
通りますよ
487名前は開発中のものです。
2010/06/23(水) 22:05:27ID:QTyERG+B シェーダ時代もそろそろ終焉か・・・
10年は流行ったな。
10年は流行ったな。
488名前は開発中のものです。
2010/07/03(土) 21:11:29ID:e0GiQGu1 モバイルや組み込み用途でまだまだ通用するんじゃないか
489名前は開発中のものです。
2010/07/18(日) 17:22:18ID:WZ5gkLAg ComputeShaderもシェーダって言っていいじゃない!
490名前は開発中のものです。
2010/07/30(金) 01:56:01ID:yXrThz8G 終わったとかじゃなく
標準装備じゃないの?
標準装備じゃないの?
491名前は開発中のものです。
2010/07/30(金) 09:44:16ID:tyngkfBZ そうだよな、じゃなきゃ
C++時代も終焉
Windows時代も終焉
PC時代も終焉
デジタル機器時代も終焉
になっちまう。
C++時代も終焉
Windows時代も終焉
PC時代も終焉
デジタル機器時代も終焉
になっちまう。
492名前は開発中のものです。
2010/07/30(金) 20:28:24ID:hrkkns/J ネタにマジレスかk
493名前は開発中のものです。
2010/12/29(水) 17:38:08ID:6aZphMj8 sh−だ
494名前は開発中のものです。
2010/12/30(木) 14:25:41ID:5+Vmow6Z シェーダで色々試してるけど、デバッグが大変。
495名前は開発中のものです。
2011/03/06(日) 01:53:58.13ID:uxekzd7V まだ生きてたか
496名前は開発中のものです。
2011/03/06(日) 01:58:25.39ID:5BJTJl2g シェーダおもしろい。
すごい絵を生み出すプログラム言語。
たまらない。
すごい絵を生み出すプログラム言語。
たまらない。
497名前は開発中のものです。
2011/08/24(水) 09:37:36.52ID:GBHBxqQG 2001年からあるのかよこのスレ
498名前は開発中のものです。
2011/08/24(水) 21:33:07.06ID:ZWTGEuMP まだまだシェーダの時代は続くよ
499名前は開発中のものです。
2011/08/31(水) 19:53:52.29ID:aAnnapp6 最近はシェーダのアルゴリズムをノードで作る機能がちらほらあるな
実際HLSL知らない素人がすごいシェーダを作ってる
実際HLSL知らない素人がすごいシェーダを作ってる
500名前は開発中のものです。
2011/08/31(水) 19:55:01.43ID:J5Qq/R9e 有名なゲームエンジンに搭載されているのをよくみかけるね。
501名前は開発中のものです。
2011/09/04(日) 20:16:59.49ID:jDK6dh7P autodeskのサブスク入ってるとmental millが使えるらしいけど、
他にないのかな。汎用エディタ
他にないのかな。汎用エディタ
502名前は開発中のものです。
2011/09/17(土) 21:17:04.34ID:cGXxjAm6 unityやmayaでシェーダ書きたいんですけどオススメの勉強方を教えてください。
503名前は開発中のものです。
2011/09/17(土) 21:51:26.90ID:W1GVjjON504名前は開発中のものです。
2011/09/17(土) 21:54:39.93ID:++nK5HX4 やっぱボーンデジタルだよね。
505名前は開発中のものです。
2011/09/17(土) 22:15:17.66ID:cGXxjAm6506名前は開発中のものです。
2011/10/16(日) 01:49:25.36ID:Kccg3Kxx シェーダに挑戦したいんですが、分かりやすい入門サイト教えて下さい!
507名前は開発中のものです。
2011/10/17(月) 00:34:28.42ID:avtsDiyY >>506
マルペケつくろーどっとコム
http://marupeke296.com/
MaverickProject
http://maverickproj.web.fc2.com/pg00.html#DirectX9
ProjectASURA
http://asura.iaigiri.com/program.html
もんしょさんのサイト
http://sites.google.com/site/monshonosuana/
http://monsho.blog63.fc2.com/
書籍もイイのがあるよ。
DirectXシェーダプログラミング
仕組みからわかるゲームエフェクトテクニック
http://www.sbcr.jp/products/4797344967.html
DirectX 9 シェーダプログラミングブック
http://book.mycom.co.jp/book/4-8399-1247-5/4-8399-1247-5.shtml
有名なプログラマさんの本。
今や東大の博士号持ち。
工学的素養があると読み易いだろうけど、そうじゃなくても気合があれば大丈夫。
がんばれ!
マルペケつくろーどっとコム
http://marupeke296.com/
MaverickProject
http://maverickproj.web.fc2.com/pg00.html#DirectX9
ProjectASURA
http://asura.iaigiri.com/program.html
もんしょさんのサイト
http://sites.google.com/site/monshonosuana/
http://monsho.blog63.fc2.com/
書籍もイイのがあるよ。
DirectXシェーダプログラミング
仕組みからわかるゲームエフェクトテクニック
http://www.sbcr.jp/products/4797344967.html
DirectX 9 シェーダプログラミングブック
http://book.mycom.co.jp/book/4-8399-1247-5/4-8399-1247-5.shtml
有名なプログラマさんの本。
今や東大の博士号持ち。
工学的素養があると読み易いだろうけど、そうじゃなくても気合があれば大丈夫。
がんばれ!
508名前は開発中のものです。
2011/10/17(月) 14:34:27.97ID:eQZWcNCm ttp://www.t-pot.com/program/index.html
ttp://digitalerr0r.wordpress.com/tutorials/
ttp://digitalerr0r.wordpress.com/tutorials/
509506
2011/10/18(火) 12:25:28.02ID:RTMVJYk1 おお、こんなにたくさん…ありがとうございます!
510名前は開発中のものです。
2012/01/25(水) 22:36:13.85ID:ex6ghf32 質問です
fx composer2.5でHLSLの勉強をしているのですが頂点色が取得できません
コードは以下の感じで。
VS_OUTPUT mainVS(VS_OUTPUT input){
VS_OUTPUT Out = (VS_OUTPUT)0;
Out.Pos = mul(input.Pos, mWVP);
Out.Col = input.Col;
return Out;
}
float4 mainPS(VS_OUTPUT input) : COLOR {
return input.Col;
}
ちなみに3Dのモデルはメタセコイアで作成しました。
力を貸して頂きたいです。よろしくお願いします。
fx composer2.5でHLSLの勉強をしているのですが頂点色が取得できません
コードは以下の感じで。
VS_OUTPUT mainVS(VS_OUTPUT input){
VS_OUTPUT Out = (VS_OUTPUT)0;
Out.Pos = mul(input.Pos, mWVP);
Out.Col = input.Col;
return Out;
}
float4 mainPS(VS_OUTPUT input) : COLOR {
return input.Col;
}
ちなみに3Dのモデルはメタセコイアで作成しました。
力を貸して頂きたいです。よろしくお願いします。
511名前は開発中のものです。
2012/01/25(水) 23:39:07.81ID:7SJSf43i >>510
VS_OUTPUT構造体の宣言見せて。
VS_OUTPUT構造体の宣言見せて。
512名前は開発中のものです。
2012/01/26(木) 01:40:50.84ID:EOsUmT1V データには含まれてるのは確実だが取得できないってな風な言い方だがちゃんと確認してるんだろうな
メタセコ自体は頂点カラーないが、ちゃんとマテリアルから頂点カラーに変換してるんだろうな
色の違う2つ以上の隣接する面の境目の頂点はちゃんと面の数分の頂点にわけてるんだろうな
データに頂点カラーありません、もしくは全部白でしたって落ちなら、ちょっと確認すればわかるはず
それくらいのことにも頭の回らないやつはシェーダとかプログラムとか向いてないからやめちまえ
メタセコ自体は頂点カラーないが、ちゃんとマテリアルから頂点カラーに変換してるんだろうな
色の違う2つ以上の隣接する面の境目の頂点はちゃんと面の数分の頂点にわけてるんだろうな
データに頂点カラーありません、もしくは全部白でしたって落ちなら、ちょっと確認すればわかるはず
それくらいのことにも頭の回らないやつはシェーダとかプログラムとか向いてないからやめちまえ
513510
2012/01/26(木) 22:10:35.18ID:1uAW8pfc514511
2012/01/26(木) 22:33:07.12ID:anB1nVoG >>513
う〜ん、問題無さそうだなぁ。
「頂点色が取得できない」とあるけど、
色が付かないだけ(黒で描画される?)で、
頂点通りの形状は描かれている感じ?
fx composerは知らないから何とも言えないけど、
シェーダに与えるデータストリームがどういう区切り
(1頂点につき座標、色なのでfloat8個分)なのかが、
シェーダ側が分かっていないのかも?
「1頂点が座標と色で成り立ってますよ」っていう情報は
どうやって教えてる?
う〜ん、問題無さそうだなぁ。
「頂点色が取得できない」とあるけど、
色が付かないだけ(黒で描画される?)で、
頂点通りの形状は描かれている感じ?
fx composerは知らないから何とも言えないけど、
シェーダに与えるデータストリームがどういう区切り
(1頂点につき座標、色なのでfloat8個分)なのかが、
シェーダ側が分かっていないのかも?
「1頂点が座標と色で成り立ってますよ」っていう情報は
どうやって教えてる?
515510
2012/01/26(木) 22:51:38.01ID:1uAW8pfc >色が付かないだけ(黒で描画される?)で、
>頂点通りの形状は描かれている感じ?
まさにその通りです
モデルに.fxを適応させると全部が黒く塗りつぶされてしまいます
適応させないと元のモデルまま表示されるのですが・・・
>頂点通りの形状は描かれている感じ?
まさにその通りです
モデルに.fxを適応させると全部が黒く塗りつぶされてしまいます
適応させないと元のモデルまま表示されるのですが・・・
516511
2012/01/26(木) 23:33:37.53ID:anB1nVoG >>515
なるほど。
原因箇所を絞りたいから、以下を試してほしい。
テスト1 : ピクセルシェーダを使わず、頂点出力をダイレクトに出力する。
technique記述で
PixelShader = NULL;
と記述する。
テスト2 : ピクセルシェーダで固定色を出力させる
return input.Col; を
return float4( 1.0f, 0.0f, 0.0f, 1.0f ); などとする
テスト1で色が付かないなら、頂点シェーダの時点でデータがおかしいorうまくデータを渡せていない。
テスト1がOKでテスト2がダメなら、そもそもピクセルシェーダが働いていない可能性がある。
テスト1、2ともに意図した通りの表示になるなら頂点シェーダからピクセルシェーダへの
データ渡しがうまくいっていない可能性がある。
なるほど。
原因箇所を絞りたいから、以下を試してほしい。
テスト1 : ピクセルシェーダを使わず、頂点出力をダイレクトに出力する。
technique記述で
PixelShader = NULL;
と記述する。
テスト2 : ピクセルシェーダで固定色を出力させる
return input.Col; を
return float4( 1.0f, 0.0f, 0.0f, 1.0f ); などとする
テスト1で色が付かないなら、頂点シェーダの時点でデータがおかしいorうまくデータを渡せていない。
テスト1がOKでテスト2がダメなら、そもそもピクセルシェーダが働いていない可能性がある。
テスト1、2ともに意図した通りの表示になるなら頂点シェーダからピクセルシェーダへの
データ渡しがうまくいっていない可能性がある。
517名前は開発中のものです。
2012/01/28(土) 02:16:32.29ID:RxUZAweR >>516
試してみました
テスト1:変わらず黒く塗りつぶされたままでした
テスト2:指定した色で塗りつぶされました
また、関係ないかもしれませんが頂点シェーダで
Out.Col = float4(1,1,0,1);
としたら黄色で塗りつぶされたモデルが表示されました。
一応確認の為xファイルをテキストエディタで開いて確認した所、ちゃんと頂点色はありました
(MeshVertexColors{〜〜} の所でいいですよね?)
試してみました
テスト1:変わらず黒く塗りつぶされたままでした
テスト2:指定した色で塗りつぶされました
また、関係ないかもしれませんが頂点シェーダで
Out.Col = float4(1,1,0,1);
としたら黄色で塗りつぶされたモデルが表示されました。
一応確認の為xファイルをテキストエディタで開いて確認した所、ちゃんと頂点色はありました
(MeshVertexColors{〜〜} の所でいいですよね?)
518511
2012/01/28(土) 11:14:51.34ID:MHEoVIAH >>517
その結果だと、頂点シェーダの時点で色を渡せてないね。
FxComposerがxファイルを読み込むときに問題があるのかも。
今回問題のxファイルはモデラで作ったの?
どっかから拾ってきたやつ?
できればアップローダにアップしてほしい。
その結果だと、頂点シェーダの時点で色を渡せてないね。
FxComposerがxファイルを読み込むときに問題があるのかも。
今回問題のxファイルはモデラで作ったの?
どっかから拾ってきたやつ?
できればアップローダにアップしてほしい。
519名前は開発中のものです。
2012/01/28(土) 20:20:15.04ID:RxUZAweR >>518
モデルはメタセコイアで自作しました。
作成したxファイルを下にアップロードしました。
特にパスワードなどは指定していませんのでそのままダウンロード出来るかと思います。
ttp://www.rupan.net/uploader/download/1327749433.x
モデルはメタセコイアで自作しました。
作成したxファイルを下にアップロードしました。
特にパスワードなどは指定していませんのでそのままダウンロード出来るかと思います。
ttp://www.rupan.net/uploader/download/1327749433.x
520511
2012/01/28(土) 20:43:37.04ID:MHEoVIAH >>519
アップありがとう。
これ、たぶんMaterialのほうの色を見てるね。
DirectXViewerで開いてみたら真っ白なんで、あれ?って思って中身見てみた。
MeshMaterialList中にある
Material {
0.800000;0.800000;0.800000;1.000000;;
5.000000;
0.000000;0.000000;0.000000;;
0.000000;0.000000;0.000000;; ← こいつがRGB(レンジは0.0〜1.0ね)
}
をいじると色が付いて見えたよ。
たぶんFxComposerでも色が付くんじゃないかな。
どうやったらMeshVertexColorsのほうを使ってくれるのかな?
アップありがとう。
これ、たぶんMaterialのほうの色を見てるね。
DirectXViewerで開いてみたら真っ白なんで、あれ?って思って中身見てみた。
MeshMaterialList中にある
Material {
0.800000;0.800000;0.800000;1.000000;;
5.000000;
0.000000;0.000000;0.000000;;
0.000000;0.000000;0.000000;; ← こいつがRGB(レンジは0.0〜1.0ね)
}
をいじると色が付いて見えたよ。
たぶんFxComposerでも色が付くんじゃないかな。
どうやったらMeshVertexColorsのほうを使ってくれるのかな?
521511
2012/01/28(土) 21:13:44.59ID:MHEoVIAH ごめん、Diffuse色は一番上のRGBAだね。
んで、そこいじったとしても、>>510のコードでは色が付かない可能性が高い。
DirectXプログラムでは、マテリアルの色を使う場合、ホスト側からGPUのグローバル変数として色を指定するし。
頂点色を使う場合はFVFを使ってできるんだけど。
FxComposerがどういう仕組みでデータを流してるのか分からないと対策立てにくいなぁ。
んで、そこいじったとしても、>>510のコードでは色が付かない可能性が高い。
DirectXプログラムでは、マテリアルの色を使う場合、ホスト側からGPUのグローバル変数として色を指定するし。
頂点色を使う場合はFVFを使ってできるんだけど。
FxComposerがどういう仕組みでデータを流してるのか分からないと対策立てにくいなぁ。
522510
2012/01/28(土) 21:50:29.35ID:RxUZAweR >>512
520の内容を試してみたのですが521の予想通り真っ黒でした・・・。
もう一度FxComposerとDirectXの仕様等々を調べてみます。
3日間にわたって質問に答えて頂いてありがとうございました。
520の内容を試してみたのですが521の予想通り真っ黒でした・・・。
もう一度FxComposerとDirectXの仕様等々を調べてみます。
3日間にわたって質問に答えて頂いてありがとうございました。
523511
2012/01/29(日) 00:21:59.53ID:fwAvUd6T >>522
FxComposer2.5インストールして試してみた。
たしかに頂点カラー、読み込めないね。
マテリアルカラーは、FxComposerに放り込んだ時点で反映されて表示されるものの、
それをHLSLで使うことはできないみたい。
しかも、複数マテリアルだと、表示はするものの、編集は一つしかできないw
頂点カラーについては読み込もうとすらしていないような気がするw
こういう使い方は想定されていないんじゃないかと思う。
そこで、FxComposerを使わない代替案を考えたほうがイイと思うんだが、
>>510がHLSLの勉強をするにあたって、目標としていることは何だろうか?
どうしてもFxComposerを使わなければならない理由はある?
DirectXプログラムでグラフィック表現したいとかだったら、
簡単なDirectXプログラムを組んで、その上でシェーダ開発したほうがより実践的で良いこともある。
(FxComposerの魅力的な機能も捨て難いけどね)
FxComposer2.5インストールして試してみた。
たしかに頂点カラー、読み込めないね。
マテリアルカラーは、FxComposerに放り込んだ時点で反映されて表示されるものの、
それをHLSLで使うことはできないみたい。
しかも、複数マテリアルだと、表示はするものの、編集は一つしかできないw
頂点カラーについては読み込もうとすらしていないような気がするw
こういう使い方は想定されていないんじゃないかと思う。
そこで、FxComposerを使わない代替案を考えたほうがイイと思うんだが、
>>510がHLSLの勉強をするにあたって、目標としていることは何だろうか?
どうしてもFxComposerを使わなければならない理由はある?
DirectXプログラムでグラフィック表現したいとかだったら、
簡単なDirectXプログラムを組んで、その上でシェーダ開発したほうがより実践的で良いこともある。
(FxComposerの魅力的な機能も捨て難いけどね)
524名前は開発中のものです。
2012/01/29(日) 08:28:33.79ID:WliZ25k9 >>523
なるほど。。。
わざわざありがとうございます!
HLSLを勉強する目的はゲームエフェクトを作成したいと考えているのです
もっと突っ込むと少しパラメータをいじると炎の大きさや色を変えてエフェクトファイルを出力する、と言った
知識なしである程度のエフェクトを作成することのできるツール(?)を作りたいな〜と。
なのでFxComposerを使わなければならない理由はありません。
>>DirectXを組む
昔挑戦して挫折したんですよね…
この機会にリベンジしてみます!
なるほど。。。
わざわざありがとうございます!
HLSLを勉強する目的はゲームエフェクトを作成したいと考えているのです
もっと突っ込むと少しパラメータをいじると炎の大きさや色を変えてエフェクトファイルを出力する、と言った
知識なしである程度のエフェクトを作成することのできるツール(?)を作りたいな〜と。
なのでFxComposerを使わなければならない理由はありません。
>>DirectXを組む
昔挑戦して挫折したんですよね…
この機会にリベンジしてみます!
525511
2012/01/29(日) 10:15:08.05ID:fwAvUd6T >>524
おお、パーティクルエディタか!
おもしろそうだね!
パーティクルの挙動とかをゲーム実行時に動的に制御したりとか幅を広げることを考えると、
DirectXをベースにした開発基盤を構築したほうがベターではあるね。
DirectXプログラム、しんどいとは思うけど、よい志があるんだからがんばってほしいな。
フリーで高性能なゲームエンジンが台頭している中、熱いよ君。
また壁に当たったら、このスレやDirectXスレで聞いてみてくれ。
応援してるぞ。
おお、パーティクルエディタか!
おもしろそうだね!
パーティクルの挙動とかをゲーム実行時に動的に制御したりとか幅を広げることを考えると、
DirectXをベースにした開発基盤を構築したほうがベターではあるね。
DirectXプログラム、しんどいとは思うけど、よい志があるんだからがんばってほしいな。
フリーで高性能なゲームエンジンが台頭している中、熱いよ君。
また壁に当たったら、このスレやDirectXスレで聞いてみてくれ。
応援してるぞ。
526510
2012/01/29(日) 12:55:50.63ID:WliZ25k9 >>525
Mayaとか3DSmax使えば簡単にできる事をわざわざやろうとしている変人ですw
が、そう言えってもらえるとモチベーション上がります!
DirectXから勉強初めて行きたいと思います
ありがとうございました!
Mayaとか3DSmax使えば簡単にできる事をわざわざやろうとしている変人ですw
が、そう言えってもらえるとモチベーション上がります!
DirectXから勉強初めて行きたいと思います
ありがとうございました!
527名前は開発中のものです。
2012/04/01(日) 04:41:47.17ID:Q9dYuBbF 一つのシェーダ「A」を作って、そのシェーダからテクスチャや各種強度の数値などのパラメータ部分だけを変更したマテリアルを使う場合
シェーダが一つでもそれを使うマテリアルの種類が多ければ多いほど処理が重くなるのかな?
シェーダが一つでもそれを使うマテリアルの種類が多ければ多いほど処理が重くなるのかな?
528名前は開発中のものです。
2012/04/01(日) 10:22:14.70ID:6VgRhCgv マテリアル切り替えのコストはけっこう大きいと聞いたことがある。
だいぶ前の話なので、最近は気にならないレベルに改善されてるかもね。
だいぶ前の話なので、最近は気にならないレベルに改善されてるかもね。
529名前は開発中のものです。
2012/04/20(金) 20:07:54.18ID:cSwGsiDe DirectX9でHLSL使っていろいろ実験してるけど
シェーダ面白いね
シェーダ面白いね
530名前は開発中のものです。
2012/04/20(金) 20:08:30.98ID:WD2vQjf/ 間違いない。
531名前は開発中のものです。
2012/04/23(月) 04:04:41.38ID:mFLfC3GZ532名前は開発中のものです。
2012/06/25(月) 01:16:20.19ID:pz+hnE9H 初心者です、質問させてください。
tex2DってLOD計算を内部でやってると思うのですが
tex2Dlod使って同じ結果を導く方法が分かりません
x = ddx(UV*texWidth);
y = ddy(UV*texHeight);
d = log2(max(dot(x,x),dot(y,y)));
tex2Dlod(tex,float4(UV,0,d));
こんな感じかと思ってFXComposerで比較してみたけど若干見え方違って疑問
ddxとかddy辺りも理解が曖昧ですが分かりやすい解説などあれば教えて欲しいです。
tex2DってLOD計算を内部でやってると思うのですが
tex2Dlod使って同じ結果を導く方法が分かりません
x = ddx(UV*texWidth);
y = ddy(UV*texHeight);
d = log2(max(dot(x,x),dot(y,y)));
tex2Dlod(tex,float4(UV,0,d));
こんな感じかと思ってFXComposerで比較してみたけど若干見え方違って疑問
ddxとかddy辺りも理解が曖昧ですが分かりやすい解説などあれば教えて欲しいです。
533532
2012/06/27(水) 00:51:33.17ID:ZfBRZ2Wn534名前は開発中のものです。
2012/09/26(水) 23:17:33.59ID:ibhDcE1q レンズフレア(ゴーストじゃなくて光芒?の方です)を実装したいのですが、
実装レベルで解説されているサイトが見つけられなくて困っています。
そもそもあったとしても理解できるかわからないのですが、いいサイトまたは
検索キーワードがあったら教えてください。
光芒 グレア フレア レンズフレア シェーダ GLSL マルチパス
ゲームエフェクト フーリエ変換 FFT
それっぽいキーワード(やその組み合わせ)で検索しているのですが
ミドルウェアのその宣伝やプロモーション、完成したCGなどしか
引っかかってきません。
実装レベルで解説されているサイトが見つけられなくて困っています。
そもそもあったとしても理解できるかわからないのですが、いいサイトまたは
検索キーワードがあったら教えてください。
光芒 グレア フレア レンズフレア シェーダ GLSL マルチパス
ゲームエフェクト フーリエ変換 FFT
それっぽいキーワード(やその組み合わせ)で検索しているのですが
ミドルウェアのその宣伝やプロモーション、完成したCGなどしか
引っかかってきません。
535名前は開発中のものです。
2012/09/28(金) 17:16:37.75ID:pGRLAsEf 光芒って、事前に用意したテクスチャを上からかけるだけじゃね普通。
536名前は開発中のものです。
2012/09/29(土) 13:50:47.33ID:3t35+0xV 元の画面を描画
輝度の高いところを抽出
座標をずらしつつ何度も重ね合わせて光芒を作成
元の画面に重ね合わせる
って手順だったはず
t-potさんのサイトに解説されてないかな?
なかったらごめん
あと検索ワードは俺も分からぬ
輝度の高いところを抽出
座標をずらしつつ何度も重ね合わせて光芒を作成
元の画面に重ね合わせる
って手順だったはず
t-potさんのサイトに解説されてないかな?
なかったらごめん
あと検索ワードは俺も分からぬ
537名前は開発中のものです。
2012/09/29(土) 17:26:32.68ID:kNOGECAw 545です
>>535
>>536
ありがとうございます。
なるほど、いろいろやり方があるのですね。
というか光芒といってもいろいろあるからそのイメージが伝えきれてなかった
かもしれないのでその点申し訳なかったです。
今さらですが一応イメージに近い動画があったので貼らせていただきます。
http://eimeiblog.blogspot.jp/2012/05/blog-post.html
これをみるとやはりテクスチャなのかな・・・
t-potさんのサイトも拝見させていただきました。
資料が多くてまだ全部見れておりませんが、
一通り見て参考になる部分を探してみます。
ありがとうございました。
>>535
>>536
ありがとうございます。
なるほど、いろいろやり方があるのですね。
というか光芒といってもいろいろあるからそのイメージが伝えきれてなかった
かもしれないのでその点申し訳なかったです。
今さらですが一応イメージに近い動画があったので貼らせていただきます。
http://eimeiblog.blogspot.jp/2012/05/blog-post.html
これをみるとやはりテクスチャなのかな・・・
t-potさんのサイトも拝見させていただきました。
資料が多くてまだ全部見れておりませんが、
一通り見て参考になる部分を探してみます。
ありがとうございました。
538名前は開発中のものです。
2012/11/23(金) 05:18:14.28ID:AovfMVV6■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 日本と中国を結ぶ12航空路線で全便欠航 中国人に最も人気の海外旅行先は日本から韓国に [ぐれ★]
- 【速報】トランプ大統領、中国の習近平国家主席を「国賓」として招待することに ★2 [ニョキニョキ★]
- 米中電話会談、トランプ氏は「米国側は中国にとっての台湾問題の重要性を理解する」 [1ゲットロボ★]
- 【国際】トランプ氏、来年4月に中国を訪問する招待を受け入れる 習氏も国賓で訪米へ 電話会談 [ぐれ★]
- 【音楽】「なんでこんなバカが国のトップなの?」 若者に人気のバンド「GEZAN」のマヒトゥ・ザ・ピーポーが高市総理に苦言 [シャチ★]
- 【東京・足立の車暴走】赤信号無視か 危険運転致死傷疑いも視野に捜査 逮捕された職業不詳の男性(37)は精神疾患で通院歴も ★3 [ぐれ★]
