06/09/14 01:01:57 6DT2LI3i
ジオメトリシェーダを使えば、辺の選出は超楽勝。
そこから一工夫かませば、任意の辺に、任意の太さのエッジを
描画するのも楽勝。
難点は Direct3D10 が必須なので、実行できる環境が
まだ殆ど存在しない事ぐらい。
284:名前は開発中のものです。
06/09/14 01:29:36 rk8avzgT
>>283
本当に楽勝か?ジオメトリシェーダは万能じゃないよ?
描画する全てのポリゴンの辺に対して処理するなら楽勝だが
最終的に輪郭として残る辺と、他の面と接合してる辺と区別できる?
>>281 の考えてる程度の輪郭線なら圧倒的にポスト処理で済ますのが楽勝。
285:名前は開発中のものです。
06/09/14 09:26:01 Lw1qO8lj
モデルの輪郭線だけなら、Zバッファへの書き込みをオフにしたあと
2ドット以上の幅でワイヤーフレームで描画してから、
Zバッファ書き込みオンでフィルしたモデルを描画するのが一番綺麗。
286:名前は開発中のものです。
06/09/14 15:12:54 6DT2LI3i
>>284
輪郭になる辺の選出は、CEDECのワークショップで
シャドーボリューム生成の一部として、プログラム
してきた。楽勝だった。
輪郭が選出できれば、そこからカメラと直交方向に
ポリゴンを生成するのも簡単。
輪郭として生成したポリゴンが、他のポリゴンにめり込む
場合は、やっかいかも。
287:名前は開発中のものです。
06/09/14 15:52:04 9eIOr1K4
よくわからんが>>284は勝ち組とか負け組とか言うのがすきそう
288:名前は開発中のものです。
06/09/14 16:19:57 KRrVRFkb
>>286
ジオメトリシェーダで生成する(追加する)頂点データは、
完全に同じパスの同じバッチに統合されるの?
そのデータを保存しておいて、後のパスで使ったりはできないのかな…
DX10のシェーダモデルはよくわからん('A`)
289:名前は開発中のものです。
06/09/14 16:30:15 6DT2LI3i
>>288
ジオメトリシェーダの出力は、ストリームアウトという機能で、
頂点バッファに出力できる。
後のパスは、そのバッファから入力する事が出来るので、
何パスあってもジオメトリシェーダでの計算は、一回だけですむ。
同じように頂点シェーダでのボーン変形も、一回計算すれば
後のパスで変形後の頂点位置を使い回せる。
俺もDX10を完全に理解している訳じゃないので、間違っていたらスマソ
290:名前は開発中のものです。
06/09/14 19:05:01 BBGVXdh2
PS3にDX10なんてねーよ
291:284
06/09/14 22:53:54 rk8avzgT
>>286
どういう方法か想像もつかないが、輪郭となる辺を抽出できるんだ?!
ジオメトリシェーダも思ってたよりは使いどころがあるのかな・・
もっとちゃんと勉強すべきでした、反省。そしてサンクス。
それにしても、ジオメトリシェーダを使うのは大げさ・・ゴニョゴニョ(´Д`)
292:名前は開発中のものです。
06/09/14 23:17:25 KRrVRFkb
>>289
なるほどトンクス。
色々使い道はありそうだけど、やっぱりパフォーマンスが気になるところ…
293:名前は開発中のものです。
06/09/22 17:39:54 VlZR1rqJ
∧⊂ヽ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
(゚Д゚)ノ < シェーダ
| ⊃| \__________
| |
⊂ノ~
∪
294:名前は開発中のものです。
06/09/30 01:58:02 ZLzDkOO3
URLリンク(disappo.exblog.jp)
カップヌードルのCMとかサルゲッチュのアニメとか見てもなぜかいまいちピンとこなかったんだけど
このどうしようもなく情報不足な一枚絵だけでなんかくるものがあった
耽美なお人形にいろんなとこから光があたってるのとかはもう俺的にはどうでもいい
繰り返すようですがリアルタイムできれいな輪郭を引いてるプログラムあったらみせてください><
295:名前は開発中のものです。
06/09/30 10:17:55 iZ9w03oq
>>294
輪郭線くらい自分で研究すればいいじゃん。気に入るまでさ。
296:名前は開発中のものです。
06/09/30 12:35:48 ZLzDkOO3
>>295
土曜の朝から心温まるご指導ありがとうございます
297:名前は開発中のものです。
07/04/07 22:35:21 bVP9rovU
ageてみるテスト
298:名前は開発中のものです。
07/04/07 23:01:13 ztofI6OU
テストならメールアドレス欄age_testにしろよ。
一時間だけ上がってその後元に戻るから。
299:名前は開発中のものです。
07/04/08 10:27:36 E+1ZvEnd
>>298
あ、そんな機能追加されてたんだ。
テスト(現在8位)
300:299
07/04/08 21:26:36 E+1ZvEnd
騙されたor2
301:名前は開発中のものです。
07/04/09 22:24:47 oeoqT4en
>>300
(´・ω・) カワイソス
302:名前は開発中のものです。
07/04/09 22:33:19 TJO4g1v+
age_testでググったら2件しか出なかった
303:298
07/04/09 22:40:12 f64SKPBz
まぁ過疎スレに人が来たということで、めでたしめでたし。
304:名前は開発中のものです。
07/05/13 10:27:19 Hm8/MhQn
全然、集ってないage!
FX Composer 2.0は、いつ出るんでしょ?
「soon !」と書いてあったから待ってんだが、いつまで待たせんだよ!
305:名前は開発中のものです。
07/05/13 11:19:44 gTwYDbH3
え?まだ出てなかったの?
306:名前は開発中のものです。
07/06/13 11:27:13 5jZiy7kZ
地方で簡単に見れなくて、通販も高いので簡単に買う決断が
できないので、教えて欲しいのですが、
game programing gems 4 の perspective shadow mapはつかえますか?
(t-potさんと、Monshoさんのは、もう拝見しました。)
307:名前は開発中のものです。
07/06/13 17:03:25 AT1Kw1rb
一月ぶりのレスかよ
308:名前は開発中のものです。
07/06/14 09:00:18 GWt4ejIi
ま、シェーダープログラムなんて、基本部分を書くときぐらいだから、
年中かくわけじゃあるわけじゃないし、もともと書く人少ないし。
309:名前は開発中のものです。
07/06/17 00:56:10 xbRNXYes
FX Composer 2.0出たけど無反応か
310:名前は開発中のものです。
07/06/17 01:24:38 j23NrcPG
まだbeta3じゃん
311:名前は開発中のものです。
07/06/17 03:47:26 o+cdUe76
(・∀・)お!
よぉーやく、出たのなw
PS3開発者には配ってたとかなんとか聞いたが。
OpenGLとCOLLADAなんぞは、どんなもんかいな。
312:名前は開発中のものです。
07/07/21 08:08:35 w+3hBJDq
いつの間にか、beta3 -> beta4 -> RC1 になってるお、お(^ω^)
313:名前は開発中のものです。
07/07/21 20:56:43 fzzWgKmI
FX Composerのスプラッシュウィンドウがきもい
314:名前は開発中のものです。
07/07/25 00:10:05 Ypv06g2g
俺のほうがキモかった
315:名前は開発中のものです。
07/07/25 00:35:30 vizyoj2P
つ抗うつ剤
316:名前は開発中のものです。
07/07/25 06:48:20 Ypv06g2g
やさしさに泣いた
317:名前は開発中のものです。
07/07/31 00:05:14 rY+a1vN3
SDKサンプルの球に、法線テクスチャを貼って、
法線マップしようと思うんだけど、テクスチャから生成した法線を球面上の法線にするには
どうしたらいいかね?
318:名前は開発中のものです。
07/08/09 08:59:21 q7kNSRKV
FXComposer2ってD3D10対応じゃないの?(´・ω・`)
319:名前は開発中のものです。
07/10/23 21:27:35 M8zREL6m
過疎っているなかで質問なのですが
当方Cgでシェーダーを組んでいるのですが、まだ手をつけたばかりで
初歩的なことを伺いたくてきました。
TEXCOORDについてですが
テクスチャ座標を指す、というのはわかったのですが
テクスチャ0や2などの番号がついたときにどこを指すのかわからなくて
float4 uv0 : TEXCOORD0;
float4 uv1 : TEXCOORD1;
float4 uv2 : TEXCOORD2
uniform sampler3D data // 3D volume
uniform sampler2D back_buffer, // backface
uniform sampler1D TransferFunction, // transferfunc
この場合uv0~uv2はどのsamplerを参照するのでしょうか?
Cgチュートリアルを見ていて、明示的にどれとどれが対応するのか、などが描いていなくて…
よろしくお願いします。
320:名前は開発中のものです。
07/10/24 01:04:54 wJrjijzO
すいません、過疎っているため他で伺います
321:名前は開発中のものです。
07/10/24 01:41:19 Gsn7pIHb
おれがいるよ。最後のシェーダー触ったの2年前だけど。
322:名前は開発中のものです。
07/10/24 01:59:17 WswMTNPn
つかシェーダースレって他に何処がある?
GPGPUはマ板にあるけど,シェーダースレがない
323:名前は開発中のものです。
07/10/24 03:07:15 Tfdn4jZS
頂点シェーダなら頂点フォーマットで指定しておいた値
ピクセルシェーダなら頂点シェーダからピクセル単位に線形補間されて送られてきた値
324:名前は開発中のものです。
07/10/24 07:03:38 CsY7HLq3
多分samplerの宣言された順に0,1,2...に対応するはず
325:名前は開発中のものです。
07/10/24 12:53:05 2bt2m9ek
>>323
Cgランタイムで設定した頂点・色・テクスチャ座標が
vertexシェーダーでのPOSITION COLOR TEXCOORD0で
そこからout としてfragmentに出力させたものが
fragmentシェーダーで受け取られるPOSITIONやCOLORやTEXCOORDということですか?
ということは
vertexで設定しだいでfragmentのTEXCOORD0~7番が決まる、ということでしょうか
すみません…今自分の中で混乱していて。
vertexシェーダで
float4 uv0 : TEXCOORD0;
float4 uv1 : TEXCOORD1;
float4 uv2 : TEXCOORD2
とした場合、この0~2は何を参照することになるのでしょうか?
0番は自動で送ったテクスチャの座標になりそうだというのはわかるのですが
1~2と複数宣言した場合、1個しかテクスチャを送らなかったら、これは空になるのでは…
326:名前は開発中のものです。
07/10/24 17:11:12 vK1yu3S0
1つの頂点にテクスチャ座標を複数持たせることができるということを
理解していないのかな?
327:名前は開発中のものです。
07/10/24 21:43:46 gGU0q7Ph
>>326
それは初耳です。。。解説お願いできますか
自分の中でvertex→fragmentの関係をまったく無視していたことがわかりました。
わかっていたつもりになって飛ばしていたところが、モロに穴になったみたいです。。。
ほんと、、、自分がアホで泣けてきます
328:名前は開発中のものです。
07/10/25 08:49:10 GfIX63nE
HDRの技術解説書っぽいのがあった
URLリンク(www.cg.tuwien.ac.at)
オーストラリアの学校みたい
329:名前は開発中のものです。
07/10/29 08:10:54 wHBZb3qZ
そんな身勝手な期待に沿う義理はない
330:名前は開発中のものです。
07/11/08 20:55:02 M+rKJt3g
高レベルシェーダ言語と関数型言語って相性がいい気がしてきた
Haskellやschemeで書けるシェーダ言語の研究とかそういう情報ってありますか?
331:名前は開発中のものです。
07/11/08 21:40:23 njONNtiu
>330
シェーダでschemeを書こうとしている人
スレリンク(tech板:760番)
332:名前は開発中のものです。
07/11/08 21:45:41 njONNtiu
SchemeじゃなくてLispか。しかも逆だな。どっちでもいいや。
333:名前は開発中のものです。
07/11/30 16:54:56 EfpkHClg
シェーダーをごりごり追加してたら
白沼に
Assertion failure! (h:\gfx_sdk_dgt_sdk\~\cbaseprogram.cpp 637): uRangeMin < m_uInsts && uRangeMax <= m_uInsts
ってワーニングが出ていました。
ぐぐっても全然情報が無いのです。
何のレンジオーバーですか?
334:名前は開発中のものです。
07/12/01 19:13:09 rMlM05GQ
知るか。まともに聞く気もなさそうだし。
335:名前は開発中のものです。
07/12/02 02:17:27 XogxBgyj
>>334
何だお前
336:名前は開発中のものです。
07/12/02 14:12:18 c1M83v2U
お前は俺だろ?
337:名前は開発中のものです。
08/03/18 15:17:45 h/08ARO0
保守
338:名前は開発中のものです。
08/03/18 15:24:37 +i6TATTQ
339:名前は開発中のものです。
08/03/28 13:37:26 9PqoEnjO
相変わらず過疎ってんな
アマは本格的にシェーダーさらわないから
俺を含めて…
340:名前は開発中のものです。
08/03/28 14:21:09 B4er0xyx
シェーダーよりCUDAが気になる今日この頃
341:名前は開発中のものです。
08/03/28 15:30:41 9PqoEnjO
過疎ってても見てる人はいるんだなw
CUDAで物理エンジン作りたい今日この頃
342:名前は開発中のものです。
08/03/31 22:42:49 XfFuEVKr
Render Monkey 1.71
MSXMLがアンインストールできないぞ!
343:名前は開発中のものです。
08/04/15 15:51:50 AcI8dJ+S
age
344:名前は開発中のものです。
08/05/13 08:25:08 GDnbSYjD
age
345:名前は開発中のものです。
08/05/13 08:31:52 syW+4XPd
やっぱり左手座標系ですか?
左手用に作られた行列を右手に変換するのって簡単にできないかねぇ?
346:名前は開発中のものです。
08/05/13 23:13:41 AoqbRvaT
3軸のひとつを符号反転するだけだろytr
つか何でこのスレでその質問?みたいな
347:名前は開発中のものです。
08/05/13 23:35:47 syW+4XPd
>>346
いや、頂点シェーダにセットする行列の変換でちょっと悩んでてさ。
反転するとして、どの軸?とかね。4行目、4列目はどうなるの?とかさ。
348:名前は開発中のものです。
08/05/13 23:41:04 AoqbRvaT
4x4行列の中身が回転情報と並進情報のセットなら
4行目4列目は常に1じゃないか?
349:名前は開発中のものです。
08/05/13 23:44:29 AoqbRvaT
>反転するとして、どの軸?
例えばオブジェクトのローカル座標系で
Z軸を垂直上方向と定義していて
Y軸を視線(前)方向と定義してるなら
X軸反転するんでね
350:名前は開発中のものです。
08/05/14 00:31:10 E7m5Jp94
いや、それが、射影だったりして回転移動のみじゃないんだよね。
ドイツの論文を読む機会があったんだけど、
そいつは、Z方向に -1 倍のスケーリング行列をかけて、
左手座標を右手座標に直してた。
そんなんでいいの?って感じでさ。
本当に、>>346 の通りなのかもしれない。
物理科っぽいベクトル解析はやったんだけど、イマイチ使えなくて、
工科っぽいベクトル解析をやり直そうかなぁと思ってる。
351:名前は開発中のものです。
08/05/15 09:21:49 QBOmJR0V
別に問題ないと思うが
352:名前は開発中のものです。
08/05/18 01:02:07 jxwMR2wV
今年はじめからシェーダー書き出したのだが、ほんと資料ないね。
どうやって勉強しよう。なんとなくnVidiaのsampleデータ見てやってるけど。
353:名前は開発中のものです。
08/05/19 08:52:50 rtffb3r0
HLSLの仕様ならDirectXのリファレンスを読めばわかる
サンプルも豊富だから大まかな流れややり方もわかる
DirectXのサンプル以上のレベルのことをやろうと思うと
論文を読むしかないのかな…場合によっては英語の
354:名前は開発中のものです。
08/05/19 20:52:57 Jd0iVTiK
>>352
N2Factoryの"DirectX シェーダプログラミング"はどうだろう?
Amazonでの評価も悪くないし、本屋で見てなんとなく分かり易そうだったので買ってみた。
只、自分はプログラミングそのものもこれからスタートなので良し悪しはよく分からない。
355:名前は開発中のものです。
08/05/21 19:22:55 2ux/DlIA
>>354
良い本だよ。
ただ、サンプルコードが古いSDKを利用したものなので、その辺りは注意が必要。
CD付属のSDKを使えば大丈夫
なんだが…すでに最新のSDK入れてる身としては面倒だ…。
356:名前は開発中のものです。
08/05/22 08:34:34 CXb/PGW8
nVidiaやATIの出してる分厚い高い本がお勧め
でもその前に>>354みたいなのを読むべき
どのみち一冊じゃ足りないと思うなぁ
357:名前は開発中のものです。
08/05/22 22:39:59 S6DTcD13
なんかシェーダって、アニメーションと各種シェーディング、影、ぼかし、HDR、歪みぐらいが
いまのところやれる範囲で、意外とやることが少ないような気がするんだけど。
358:名前は開発中のものです。
08/05/22 22:52:17 4dhxMEZK
gpgpu.orgにあやまれ
359:名前は開発中のものです。
08/05/22 23:54:44 f5THZ75h
「シェーダ」でシェーディング以上のことが出来る時点で
360:名前は開発中のものです。
08/05/23 08:28:01 YEhP3e8g
>>357
普通にやる分にはそうかもしれないけど
固定概念に縛られずに自由な発想でいろいろやってみることは大事
361:名前は開発中のものです。
08/05/23 13:07:12 +ZyqBEBE
観念してね
362:名前は開発中のものです。
08/05/23 20:19:33 3+PkBwn6
そもそもシェーダで出す絵がない
363:名前は開発中のものです。
08/05/23 20:25:11 NU3slO1i
俺の手持ちはスフィア、キューブ、トーラス、シリンダー、ティーポットだ
良かったらおすそわけするぞ
364:名前は開発中のものです。
08/05/25 07:38:43 cLwQ0WpO
メガデモ上等!!
365:名前は開発中のものです。
08/05/26 11:36:13 MNd9aACa
行列パレット全然たりねぇ。
366:名前は開発中のものです。
08/05/27 09:47:03 vfsR7pPs
確かにまともなシェーダ開発が必要なレベルのデータ作りの方が厄介だよな
インスタンシング情報とかタンジェントスペースとかエクスポート時に埋め込める手軽なツールがあまりない
俺は今のところBlenderでプロパティやらスクリプトやら使って頑張ってる
367:名前は開発中のものです。
08/05/28 01:30:20 qn0mrqmX
シェーダプログラマでがんばろうと思うのでうが、身に付けた力は今後、他に何の役に立ちそうでしょうか?
GPGPUが広まったら職にあぶれることはなさそうでしょうか?
368:名前は開発中のものです。
08/05/28 09:01:56 r7bLGqgf
この先CUDAとかできればそれなりに需要あるんじゃね?
職にあぶれることはあるだろうけど
369:名前は開発中のものです。
08/05/30 13:36:42 XHwJMW8w
良スレsage
370:367
08/05/30 22:49:07 W1d73k9s
>>368
ありがとうございました。
371:名前は開発中のものです。
08/05/31 06:29:24 iov5Zo54
シェーダに着ていく服がない
372:名前は開発中のものです。
08/06/01 08:40:57 odS/oJGJ
しまむらで1000円で買った服をマネキンに着せて
3Dスキャナで取り込んだボリュームデータを
ポイントスプライトでパーピクセルライティングするのが
今後のトレンド
373:名前は開発中のものです。
08/06/09 11:53:47 7fcEsoAV
現役のビデオボードでも StaticFlowContorlDepth って0のが結構おおいじゃない?
DirectX10 じゃ FragmentLinker が無くなるらしいんだけど、
DirectX9 では FragmentLinker を使え、
DirectX10 では StaticFlowControl を使え、
ってことなのか?
めんどくせぇ。
374:名前は開発中のものです。
08/06/28 01:14:19 v4SLsTB5
FragmentLinkerは残念ながら使い物にならないよ。ゴミだなこんなの。
DX9世代は、エフェクトファイルへ条件ごとにテクニックを置きまくるしかない。
375:名前は開発中のものです。
08/06/28 02:05:55 fY/TNmFQ
シェーダープログラマを目指しているんですが、ゲーム以外で使う仕事ってあるんでしょうか??
376:名前は開発中のものです。
08/06/28 11:15:16 tosfZjpq
3Dソフトの制作なら、GLSL方面で需要があると思う。
377:373
08/06/28 15:32:53 Etm+Tm68
>>374
結局、FragmentLinker は無視した。
要求するハードのレベルが上がるが、Static Flow で十分な速度が出るね。
378:375
08/06/28 16:02:21 fY/TNmFQ
>>376
なるほど。
ありがとうございました!
379:名前は開発中のものです。
08/09/05 11:10:20 opuLC8Al
ほ
380:名前は開発中のものです。
08/10/07 10:01:09 bg3HdY5i
今更だがDirect3D10対応のFXComposer2.5出たんだな
しかしVistaはクラシック表示にしないと画面ががくがく言うんだが・・・
381:名前は開発中のものです。
08/10/07 16:07:47 FXHkjiHp
>>380
スピーカー付きのモニタ?
382:名前は開発中のものです。
08/10/07 16:16:19 bg3HdY5i
え?
383:名前は開発中のものです。
08/11/05 12:06:16 xt6arfcs
ワロタ
384:名前は開発中のものです。
08/11/15 23:31:52 ap9OL1do
RendermonkeyでテクスチャをTexturesaverで保存しようとすると
「this extension is not supported」って出て保存できないんですけど
これはまだ対応してないってことですか?
385:名前は開発中のものです。
08/12/07 17:25:48 S/cnf1Kb
過疎るな
>>375
うちは、画像処理にDirectX+シェーダを利用している。
386:名前は開発中のものです。
08/12/21 03:20:10 um8Jl1Wm
このスレできたの7年前かすげえな
387:名前は開発中のものです。
09/01/26 06:50:15 T85wc80R
ちょっと素人の素朴な疑問なんだけど、
PS3とXBOX360のシェーダって、360の方が優れてる気がするけど、
DirectXが優れてるからって事?
388:名前は開発中のものです。
09/01/26 08:08:15 qaaV08Zq
それ質問じゃないよ。
URLリンク(it.nikkei.co.jp)
博識そうな人にコレと似たような事を言って貰いたいんでしょ?
389:名前は開発中のものです。
09/02/14 23:02:57 Q2OHIbwY
これからプログラマブルシェーダ覚えようと思うのですが,
おぼえるシェーダ言語は意識して選んだ方が良いでしょうか?
言語間で違いが大きくあるか知りたいです
あと,他に覚えるにあたってお勧めの方法などあれば教えてください
390:名前は開発中のものです。
09/02/14 23:39:29 hPf9zE7f
選ぶもなにもHLSL以外の選択肢は、ほぼ無いと思うが。
OpenGLで使いたいとかなら話は別だが。
391:名前は開発中のものです。
09/03/17 19:07:24 /uOxlyYd
RenderMonkeyを使っていると、ひとつのモデルをマテリアルごとに分割して扱うことができないのですが、仕様でしょうか?
例えば3つのマテリアルになっているモデルがあるとします。
これら、それぞれのマテリアルにそれぞれのシェーダを書きたいのですが、どうしても分解して扱う方法が見当たらないのです
392:名前は開発中のものです。
09/03/18 01:17:08 ORRRTbtu
>>390
別にCgとかでもよくね?
そこでなんか足りないと思ったらHLSLでもいいわけだし。
393:名前は開発中のものです。
09/03/27 02:22:52 2N4K/AeA
>>389
WindowsならHLSL。
MacやLinuxならしらん。
覚えるには実際に自分で書いてみるのが一番だよ。
教材には今ぎれさんの本をお薦めする。
394:375
09/04/10 01:02:32 6sqPilb8
>>385
ありがとうございました!
395:名前は開発中のものです。
09/04/26 20:30:38 VIWAMU8v
NVIDIA以外のHLSLコンパイラってあります?
NVIDIAのはエラーで起動できない
396:名前は開発中のものです。
09/04/26 21:17:23 nXh94hPn
今ぎれさんの本って何?
397:名前は開発中のものです。
09/04/26 21:36:35 zA4RMNdD
URLリンク(www.amazon.co.jp)
398:名前は開発中のものです。
09/04/26 22:17:35 uLkWrvqM
>>395
DirectX SDKに付属してます
399:名前は開発中のものです。
09/06/03 15:48:48 2zPe6Zzl
>>395
FX composer2.5はDX10用
2.0でも使ってみれ
400:名前は開発中のものです。
09/06/03 18:42:40 q4f+EAIt
>>399
10じゃなくても2.5使えるだろ。
XPでつかえてるし。
401:名前は開発中のものです。
09/06/07 15:37:19 tyrikY/5
2つのfxファイルで同じ目的で使用している変数があるのですが、
こういう場合は、D3DXCreateEffectPoolというインターフェースを使うと
変数を共有できるようになるみたいなので、試してみたのですがうまくいきません。
(片方のシェーダでしか変数が適用されていない状態です)
どこがまずいのか指摘していただけると助かります。
//ヘッダーファイル側
LPD3DXEFFECTPOOL pPool;//D3DXCreateEffectPoolというインターフェース
//ソースコード(初期化)
D3DXCreateEffectPool(&pPool);//D3DXCreateEffectPoolというインターフェース
D3DXCreateEffectFromFile( pDevice
,"effectA.fx" //エフェクトファイルA
,NULL, NULL, 0
,pPool //パラメーターのプール
,pEffectA //エフェクトA
,NULL)))
D3DXCreateEffectFromFile( pDevice
,"effectB.fx" //エフェクトファイルB
,NULL, NULL, 0
,pPool //パラメーターのプール
,pEffectB //エフェクトB
,NULL)))
Handle_matWVP = pEffectA->GetParameterByName(NULL,"matWVP");//名前からハンドルを取得する
//ソースコード(描画)
pEffect->SetMatrix(Handle_matWVP,&matWVP );//変数に行列をセットする
402:名前は開発中のものです。
09/06/07 15:39:12 tyrikY/5
上の続き
//fxファイルA
shared float4x4 matWVP;
//fxファイルB
shared float4x4 matWVP;
403:名前は開発中のものです。
09/06/11 23:25:47 fivqDc+3
その方法で間違ってないと思う。
駄目な理由は、別な面を探した方がいい。
404:名前は開発中のものです。
09/07/24 11:46:07 Crb0CIfT
いくら何でもこのスレ過疎りすぎじゃね?
日本にシェーダープログラマーはいないのか
405:名前は開発中のものです。
09/07/24 17:01:14 MpGTDJVk
あえて語るようなネタなんてあるか?
基礎的な事はShaderXとGPU gemsみりゃいいだけだろう。
406:名前は開発中のものです。
09/07/29 21:21:58 3ki9XIb0
当方デザイナです。
今、プログラマブルシェダーを勉強中です。
RENDER MONKEYで編集したFXファイルを
MAYAに読み込ませようとしているのですが
RENDER MONKEYで吐き出したFXファイルが
うまく表示できません。
マニアルには
ViewProjection を WorldViewProjection に変更して使うと
あるのですが、
これはどういうことなのでしょうか?
407:名前は開発中のものです。
09/07/30 02:09:07 ADyNrhfb
RENDER MONKEYは使ったことないけど、吐き出されたFXファイルにViewProjectionってのが多分どこかにあるから、それをWorldViewProjectionに書き換えればいいってことだと思うよ
408:名前は開発中のものです。
10/02/22 18:00:24 z44rOPDc
>>88
すみません、具体的に教えてください。
シェーダークラスはメッシュデータを受け取ってレンダリングするということですか?
409:名前は開発中のものです。
10/02/23 11:48:11 ZkwIDJ3W
8年越しのレスキタ━━━(゚∀゚)━━━!!!!
410:名前は開発中のものです。
10/02/23 12:05:30 JdqULkeY
>>88はご存命だろうか
411:名前は開発中のものです。
10/04/16 19:26:08 g8v0JgCY
シェーダプログラマのみんな!
もっと元気出していこうぜ!
412:名前は開発中のものです。
10/04/23 11:42:48 qjgTE3r5
WiiウェアでBIT.TRIPってゲームがあるんだけど、
リアルタイムでアンビエントオクルージョンをやっているように見えるんだよ。
URLリンク(bittripgame.com)
でもWiiの性能でそんなことできるんだろうか。
本当にアンビエントオクルージョンか自分にはちょっと判断できないので誰か確かめてください。
413:名前は開発中のものです。
10/04/23 15:55:28 C2z/wQ0V
そう思う部分の動画でも貼ってくれないと
「そんなもん知るか」
としか答えようがない。
414:名前は開発中のものです。
10/04/23 16:07:48 uxgMIkX/
BIT.TRIP RUNNER(未発売)
URLリンク(bittripgame.com)
うねうね動いてる灰色のデカイ敵
BIT.TRIP CORE
URLリンク(bittripgame.com)
背景オブジェクト
415:名前は開発中のものです。
10/04/23 17:02:02 C2z/wQ0V
正直、その動画を見ても、リアルタイムで処理してそうなとこは
どこのことなのか分からない。
COREの方は背景で動いている部分がほとんどないし、RUNNERの方は
穴から出てくるイモムシみたいなやつのことだと思うが、陰影が変化してる
ようには見えない。
416:名前は開発中のものです。
10/04/23 17:13:11 uxgMIkX/
形状の谷間(キューブとキューブの繋ぎ目)にぼやっと陰影がかかっているよね?
そのことを言っているんだけど。
繋ぎ目だけじゃなくて、灰色の芋虫がはい出てきた穴の縁部分も、芋虫のポリゴンの影響を受けて
うっすら陰影のグラデがかかっている。
417:名前は開発中のものです。
10/04/23 18:52:41 lUZXjqCs
そんぐらいIntel Pentiumプロセッサ上での
ソフトウェアレンダリングでもできる。
418:名前は開発中のものです。
10/04/23 19:03:08 uxgMIkX/
具体的にどういうアルゴリズムで?
419:名前は開発中のものです。
10/04/23 19:07:19 lUZXjqCs
1. いろいろキャッシュしまくる。
2. マルチテクスチャ。
>繋ぎ目だけじゃなくて、灰色の芋虫がはい出てきた穴の縁部分も、芋虫のポリゴンの影響を受けて
よくある影描画アルゴリズムだろう。
420:名前は開発中のものです。
10/04/23 19:19:13 uxgMIkX/
キャッシュって例えば何を? そのキャッシュを何に利用するの?
あなたが言っている影描画アルゴリズムというのはシャドウマッピングのこと?
でもあれは光源と反対方向にオブジェクトのシルエットがくっきり映るものであって、
私が言っていることとは毛色が違う。
421:名前は開発中のものです。
10/04/23 19:56:00 4PZyJpGQ
こういう返事がくると黙りこむあたり、何もわかってないんだろ
何でも「よくある」と書きたくてしかたない
422:名前は開発中のものです。
10/04/23 20:25:08 C2z/wQ0V
>>416
キューブの陰影は、最初から頂点カラーがそういう色になっているだけじゃないの?
穴の縁の部分は動画ではよく分からんが。
まず、基本的なこととして、動かない物体の影やら陰影なんてものは
リアルタイムで計算する必要がない。
どんなにリアルな陰影がついていようと、事前計算できるもの。
同様に、インタラクティブ性がなくて決まった動きしかしない物体も
リアルタイムで計算する必要がない。
アニメーションに頂点カラーやテクスチャの変化も含まれるだけ。
423:名前は開発中のものです。
10/04/23 21:01:00 uxgMIkX/
遮蔽度の高そうな頂点の頂点カラーを暗くしたのをデータとして保持しているだけってこと?
424:名前は開発中のものです。
10/04/23 21:03:13 uxgMIkX/
×遮蔽度
◯閉塞度
425:名前は開発中のものです。
10/04/23 23:15:03 Vv9wpow9
PSSMの本家サイトのサンプルコードのモデルの頂点にはアンビエントオクルージョン項が含まれてて、
簡単なライティングでちゃんとAO感が出てたよ。
426:名前は開発中のものです。
10/04/23 23:56:09 ZXmesx5K
最近の子はリッチな環境で難しく考えることに慣れすぎてる感はある。
少ないリソースの中で如何によく見せるかって技術はおっさんの方が長けてるよな。
427:名前は開発中のものです。
10/04/24 00:39:59 d/r4hXs0
あるあるw
428:名前は開発中のものです。
10/04/24 15:13:06 Xmby99Pm
そしたら,あんたらは”最近の子”にそのうち超えられちゃうねww
429:名前は開発中のものです。
10/04/24 21:26:05 F4QObDhr
そりゃそうだろ。
そういう業界だし。
430:名前は開発中のものです。
10/04/24 21:28:29 hqMcDvhk
せっかく過疎って静かだったのに
431:名前は開発中のものです。
10/04/25 14:05:07 9JIqTsJC
最近NWは触ってないから出来るかはうろ覚えだけど、
負の色の(黒い色)のポイントライトを遮蔽する部分に置けば似たことできるんじゃないかね
432:名前は開発中のものです。
10/04/25 20:14:02 XR0+MMHI
低解像度のZテクスチャを作って、上下左右のピクセルのほうが手前だったら1加算とかで
それっぽくならんかなあ。
433:名前は開発中のものです。
10/04/26 04:31:41 ogOB0A3l
>>432
そういうアイデアの延長線がSSAOだな
434:名前は開発中のものです。
10/04/26 09:15:05 OdPbzt9V
まあWiiじゃそんな芸当はできないんだけどな
435:名前は開発中のものです。
10/04/26 10:08:06 VZ4/K9Ds
前から思ってるけどAOは一次レイが当たった地点から
180度の超広角度のカメラで半球レンダリングすれば遮蔽率がハードウェアで求まるよな。
全ピクセル一度に並列に計算すればあっという間だろう。
このアイディアを好きに使っていい。
436:名前は開発中のものです。
10/04/26 10:15:14 m73wbbUc
それただのSSAOだから
437:名前は開発中のものです。
10/04/26 11:33:10 CA7fzfSf
>>433
というか、WiiでSSAOっぽいことをするとして>>432の方法で近似できんかな、と。
ピクセルの比較ができりゃいいんだからPS2でも実装できるか。
まあ、荒すぎて実用に耐えない気もするが。
438:名前は開発中のものです。
10/04/26 13:42:31 YZYpPhAg
Light propagation volumesを実装したいと思ってるんだが
理論を詳しく説明できる日本人はいないものか・・・
原文を読んでも俺の英語力では理解できないぜ
RSMからの光源を3Dテクスチャにポイントレンダリングして
SHに変換して伝搬させるとかそんな感じだろうか?
日本にはシェーダーの最先端をゆくスレッドって無いのか
439:名前は開発中のものです。
10/04/26 18:44:51 q9PPgRR+
難しいことしてるんだね・・・
日曜プログラマには遠い世界だ・・・
最先端を行くシェーダプログラマさん、応援してます!
440:名前は開発中のものです。
10/04/26 23:50:14 OdPbzt9V
>>438
そんな感じ。
RSMからVirtual Point Lightsの基準になる点を選ぶ。
あとは、法線方向に半球に広がるSH係数を3Dテクスチャに書き込む。
それを6方向(±XYZ)に広げていくだけ。
使うときは3Dテクスチャをサンプリングするだけだから負荷も低い。
6方向だけだとイビツな形に広がっちゃうけど、LPVをカスケードすると緩和できる。
そのままだとオブジェクトを突き抜けて光が広がっちゃうんで、遮蔽するようなSH係数を書き込んでおいたり
SH Gradientを使って緩和したりするんだけど、そこまでやらんでもそれなりには綺麗になるよ。
大げさに書いてあるけど、実装自体はそんなに難しくないんでやってみる価値はあるかと。
441:名前は開発中のものです。
10/04/27 23:13:00 dIei8hJx
固定機能って英語でなんて言うの?
442:名前は開発中のものです。
10/04/27 23:14:37 or6B45UJ
Fixedなんちゃら?
443:名前は開発中のものです。
10/04/27 23:40:11 6UsTVwUx
Fixed Fuction Shader
Fixed Pipeline
444:名前は開発中のものです。
10/04/28 00:13:07 o4K4QM/E
そのままなんだ,どもども
445:名前は開発中のものです。
10/04/30 10:03:28 JBQK921o
シェーダプログラムをVCみたくプロジェクト管理できるようになるのはいつごろになるんでしょうか
446:名前は開発中のものです。
10/04/30 14:51:15 PJyGEE1y
w
447:名前は開発中のものです。
10/04/30 23:11:36 Ll80FyeF
RenderMonkeyで十分だけど
最新のはもっと使いやすいのかな
448:名前は開発中のものです。
10/04/30 23:54:38 NulfKJ1a
FxComposerは機能が多すぎて好きになれないなぁ
RenderMonkeyがシェーダモデル4.0に対応してくれれば最高なんだけど…
449:名前は開発中のものです。
10/05/01 00:13:59 Tc5IDNAz
シェーダーコードを記述していていつも思うんだが、
OpenGLでもDirect3Dでも、setShader("shader-code-filename", ...若干のパラメータ);
ですぐ適用されるような関数ってどこかにないものだろうか。
450:名前は開発中のものです。
10/05/02 12:47:48 qwH1pwxC
単なるテクスチャとディフュースマップって別ものですか?
451:名前は開発中のものです。
10/05/02 14:10:24 4jveGEXL
テクスチャの使い方の1つがディフューズマップだろ
452:名前は開発中のものです。
10/05/02 15:36:55 qwH1pwxC
えっと..そうですね
453:名前は開発中のものです。
10/05/06 07:36:08 zkphwCfb
>>435
その方法は焼付けでしかまだ使われてないな
重い方のSSAOですらそれを簡略化したやつに留まってる
454:名前は開発中のものです。
10/05/06 08:18:32 VYQ7ECsG
>>453
今のGPUはカメラが1つなのが問題だと思う。
640x480個ぐらいの視点を一度にレンダリングできれば、
プリミティブは1回だけレンダリングパイプラインに送ればいい。
現状AOが一番視覚的な効果が大きいので
GPUメーカーはここを何とかすべきだと思うのでござる
455:名前は開発中のものです。
10/05/06 08:38:50 a6N34ubG
つまりレイトレに移行しろってことね
456:名前は開発中のものです。
10/05/06 10:40:00 OlmSacGP
それで「リアルタイム」レンダリング出来るなら別にいいけどな・・・。
リアルタイムじゃなくていいなら現行のGPUとDirectX11で出来るわ。
457:名前は開発中のものです。
10/05/07 00:25:22 xoQQFLxq
ComputeShaderで標準化されたおかげで
GPU Kd-Treeが結構現実的な選択肢になってきたしなぁ。
ゲームでも影と反射計算だけレイトレで、ってのはそんなに遠くない未来にできそう。
458:名前は開発中のものです。
10/05/07 01:52:19 o17sITaf
ハイブリッドレンダリング・・・か・・・
459:名前は開発中のものです。
10/05/07 16:16:33 z6L6ZJ31
まあ現行の技術もインチキ満載だし
460:名前は開発中のものです。
10/05/07 20:35:02 o17sITaf
インチキで飯食ってる人は廃業かねぇ・・・
461:名前は開発中のものです。
10/05/07 23:28:45 mLAx+DEY
携帯機が絶好調のご時勢にシェーダーバリバリ使ったグラフィックスな方が時代の流れには逆らってるだろ。
どうせ現実や写真には勝てないんだからただリアルになりゃいってもんじゃない。
パラメーターもアホほど増えるしコストもアホほど増えてるし。
462:名前は開発中のものです。
10/05/07 23:57:22 o17sITaf
なんか、そんな感じになってきたねぇ・・・
これからのリアルタイム3Dグラフィックスはどうなっていくやら・・・
463:名前は開発中のものです。
10/05/08 01:04:02 +hCQKb13
そもそもゲームが飽きられてるという根本的な問題
464:名前は開発中のものです。
10/05/08 03:21:58 /t+6ZQ8p
iPhoneでもGLSLは使えるんじゃないのけ?
465:名前は開発中のものです。
10/05/08 03:34:47 XtadjUgU
今はDirectXのパイプラインがどんどん増えて複雑化する一方だが、
いずれリセットされてソフトウェアレンダ時代に回帰(=GPGPU)するだろうと予想してるゲーム開発者もいるみたいね。
NVのFermiやIntelのLarrabeeは明確にそれを指向しているし。
でも、マイクロポリゴンもボクセルもリアルタイムレイトレも思いの外遠いなあ・・・。
遠いといえばユーザーインターフェースもだな。
2010年ともなれば、脳神経に無線介入して視覚や聴覚等の身体感覚をダイレクトに乗っ取って情報を流し込んだり
脳波で全ての操作が可能になってキーボードやマウスが不要になったり、
もう少しそれを進めて脳とコンピューターを(プロトコルを介して)接続して思考を拡張したり出来る様になると思っていたのに、
メガネかけて立体視が最先端、70、80年代と本質的には変わりなしとは幻滅もいいとこだよ。
百歩譲っても、空中に結像する立体ディスプレイ位は絶対にあると思ってた。
466:名前は開発中のものです。
10/05/08 04:18:00 d4R1Ls+Z
胸が熱くなるねぇ・・・
でも、ソフトウェアレンダリングは一部の優秀な人間しか構築できないだろうから、
今のDirectXみたいな広がりは見られなくなるだろうね・・・
467:名前は開発中のものです。
10/05/08 10:32:37 fA2uIeet
ソフトウェアレンダラーの時代になったときに
いったいどれだけの人間が残れるんだろうな・・・
468:名前は開発中のものです。
10/05/08 11:10:49 +hCQKb13
おまいら今からpbrt読んどけってこった
469:名前は開発中のものです。
10/05/08 12:34:25 ulmgTB5n
>>465
nia
URLリンク(akiba-pc.watch.impress.co.jp)
網膜ディスプレイ
URLリンク(www.itmedia.co.jp)
URLリンク(www.itmedia.co.jp)
眼鏡の要らない3次元映像技術の研究開発
URLリンク(www.itmedia.co.jp)
URLリンク(japan.internet.com)
求めているものと違うのは重々承知だがw
niaはネタの域。網膜ディスプレイは今750万円だっけな。ゆくゆくは3D化も視野に入れているそうだ。
ゲームの3D映像化は、たぶんハードの方でやるだろうから、我々のやる事は変わらなそうだね。
この辺は楽ですなぁ。
470:名前は開発中のものです。
10/05/09 08:14:30 zbXbbgYt
>>440
レスthx
大分理解が進んだ気がするけど、実装方法がいまいちわからず
いくつか質問させてください
>RSMからVirtual Point Lightsの基準になる点を選ぶ。
fluxマップの各テクセル全てが二次光源になるということ?
>あとは、法線方向に半球に広がるSH係数を3Dテクスチャに書き込む。
このSH係数はどうやって求めるんだろう?任意の位置のfluxマップの近傍からどうにかするんだろうか?謎
あと3DテクスチャへのレンダリングってたしかDX10以降じゃないとできないよね?
>それを6方向(±XYZ)に広げていくだけ。
これもCPU側で全グリッドをぶんまわして処理するんかな?
>カスケード
>遮蔽するようなSH係数を書き込む
>SH Gradient
この辺に至ってはさっぱりイメージもつかない・・・
概要はなんとなくわかったけど実装となると・・・・
サンプル(擬似コード)を書いてくれると非常にありがたいのだけども
471:名前は開発中のものです。
10/05/09 14:07:31 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 の疑似コードはあった希ガス。
472:名前は開発中のものです。
10/05/09 14:24:45 NFK2xJXR
日本語でおk
473:名前は開発中のものです。
10/05/09 23:55:29 JidFUs/v
パーティクル系の話題は無いですか?
474:名前は開発中のものです。
10/05/10 00:34:35 4ZkZHoJB
ビルボード沢山並べとけ
475:名前は開発中のものです。
10/05/10 07:43:59 +q2/1pH3
>>471
うおおありがとう!あなたが神か
がんばってみる
476:名前は開発中のものです。
10/05/10 08:01:40 qqyWyual
誰か>>470-471を俺にも分かるように解説してくれ
477:名前は開発中のものです。
10/05/10 08:03:25 CI0J4Kj0
すごいレベルの人がいるな・・・
478:名前は開発中のものです。
10/05/10 08:54:39 HF9uRFsA
最先端のシェーダは複雑すぎて理解できなくなってきてるしなあ
479:名前は開発中のものです。
10/05/10 22:39:39 9s3hDp0g
勉強せよせよせよせよ(残響音含む)
480:名前は開発中のものです。
10/05/10 23:22:50 4ZkZHoJB
まぁ色々な意味で難しいよな。
最新技術がバリバリだからって職があるわけじゃねえし。
ゲームを作るための能力とは別のものだからな・・・。
ある程度地位が上がってくるとその辺勉強する時間がなくなる。
481:名前は開発中のものです。
10/05/10 23:37:04 AGC8PD06
ぴくさーにてんしょくするといいとおもうよ
482:名前は開発中のものです。
10/05/11 00:24:13 EoqmnJKU
偉くなったらディレクターだのマネージャーだのと
当たり前のように考えてる日本企業は遅れてるよなあ。
海の向こうみたいに、シニアエンジニアでいいじゃん。
管理職なんてやりたくないよ。。。
483:名前は開発中のものです。
10/05/11 01:17:03 cOMIVk0P
シニアエンジニアつってもじゃぁ国立大出身の20~30代とか相手にして
いつまでも技術的に優位に立てるかって話になるとまぁ無理だろ。
給料も若造なんかより断然いいんだから技術が同程度じゃ首切り候補にしかならんし。
経験を生かすって言う意味なら管理職は悪くないと思うけどね。
管理専任ってわけじゃなくコーディングもする現場で陣頭指揮執る感じでなら。
484:名前は開発中のものです。
10/06/12 11:29:56 7TAHLBTP
最近シェーダを覚え始めたのですが,
シェーダファイルというのは,
ポリゴン1枚ごとに用意するようなものなのでしょうか?
全体で1ファイルくらいのイメージだったので...
485:名前は開発中のものです。
10/06/13 00:09:35 ik5QPNjq
好きにすればいい。
そんなものは人それぞれだ。
486:名前は開発中のものです。
10/06/23 15:47:34 h7bLJtbu
さて、シェーダが枯れてきた今日この頃、シェーダに挑戦したおれが
通りますよ
487:名前は開発中のものです。
10/06/23 22:05:27 QTyERG+B
シェーダ時代もそろそろ終焉か・・・
10年は流行ったな。