2012年3月ゲ製作技術151: シェーダープログラマが集うスレ (526) TOP カテ一覧 スレ一覧 2ch元 削除依頼
【遂に】3D版MUGENつくろうぜ part-001【始動!】 (114)
C言語×ダンジョン×学園なゲームを創りたいスレ (678)
ゴスロリのゲームつくろうよ (215)
NScripter Ver.18.00 (588)
推薦図書/必読書のためのスレッド in ゲ製作技術5 (625)
企画屋が勉強するスレ (914)

シェーダープログラマが集うスレ


1 :01/11/08

       ∧ ∧      / ̄ ̄ ̄ ̄ ̄ ̄ ̄
       (,,・∀・)    <  ゲームにもシェーダーの時代到来でち♪
       @_)      \_______
バーテックスシェーダーとかピクセルシェーダーとかを語りまくるスレ。

2 :01/11/08
リンクとかはこの過去ログにあるよ。
切れてるのも多いかも。
DirectX&OpenGL【シェーダ】プログラミング
http://piza.2ch.net/tech/kako/993/993758383.html

3 :01/11/08
チュートリアルはIF氏のHPが詳しいよ。
ttp://www5.tok2.com/home/IF/

4 :01/11/08
MSKKのコラム新作。
頂点単位のスペキュラ ライティング
http://www.microsoft.com/japan/developer/directx/japan/dx8/SpecularLight.asp

5 :01/11/08
ラデオン8500買ったがハングしまくる。
鬱だ。

6 :01/11/08
シェーダーは今から覚えなくても
DX9以上になって条件分差とかが実装してから
取り組んだ方が良さそう。
コロコロ仕様変わってるし。

7 :01/11/08
X-BOXのシェーダーは今後数年は変わらない。
X-BOXと同じシェーダーをサポートする安いgeforce3 ti 200は買い。
radeon8500の方がgeforce3より機能は上だけど
今のところビデオカードとして評判最悪なので待った方がいい。
http://pc.2ch.net/test/read.cgi/jisaku/1004787773/l50

8 :01/11/09
OpenGL使ってる向きにはEXT_vertex_shaderがおいしそうに見えるんでない?
http://www.ati.com/na/pages/resource_centre/dev_rel/sdk/RadeonSDK/Html/Samples/OpenGL/SimpleVertexShader.html
こっちの方で統一してくれないかな?>NVIDIA
#OpenGLでの統一されたシェーダープログラムはOpenGL2.0までおあずけか…

9 :01/11/09
>>8
完全に同じものはNVIDIAのGF3ではハード的にサポートできない。
NV_vertex_program環境で、EXT_vertex_shader風に書きたいならば
自分でEXT_vertex_program風のライブラリを書くしかない。

10 :01/11/09
自分でEXT_vertex_program風のライブラリを書くしかない。

自分でEXT_vertex_shader風のライブラリを書くしかない。

11 :01/11/09
>>9
やっぱりEXT_とはいっても事実上ATI_vertex_shaderなのね…。
ピクセルシェーダはともかく、頂点シェーダーくらいなんとかならんのかな〜?
ちなみにGF3とRADEON8500の間でサポートできない頂点シェーダの
命令ってなんです?DirectXでも互換性ないのかな?

12 :01/11/09
DirectXの頂点シェーダーは互換性ありますよ。
CPUのエミュもあるし。
DirectXの頂点シェーダーは楽です。

13 :01/11/09
>>12
DirectXが互換性あるなら、OpenGLもドライバレベルでなんとか
ならんかなぁ…、といってみるテスト。いやそんな重要なことじゃないけどさ。
http://www.3dlabs.com/opengl/ogl2.pdf
が現実になる日を待ちつつ、NV_vertex_programを使いましょう>OpenGLの人
>CPUのエミュもあるし。
Radeonは知らないけど、NVIDIAのデトネタならOpenGLもソフトエミュしてくれる
よね?
>DirectXの頂点シェーダーは楽です。
NV_vertex_programならDirectXと大して変わらないし、EXT_vertex_shaderなら
さらに楽ゲな気がする。ちょっとしたシェーダーの違いなら頂点シェーダーを
定義している部分で分岐
if(ほにゃらら)
{
glShaderOpNEXT( ... );
}
できそうだし。(RADEONもってないから試してないけど)
#実際にバリバリ使ってくと種類増えるでしょ?>シェーダー
スレ汚しゴメソ。

14 :01/11/09
デトネタはNvidiaのビデオボードの人しか入れられないし・・・・
DirectXではNvlinkをうまく使えば種類は減らせるよ。
面倒だけどね。

15 :01/11/09
>>13
DirectXのvertex shaderの互換性はATIが妥協しての互換性だと思う。

16 :01/11/10
ピクセルシェーダーも1.1までならgeforce3とradeon8500で互換性ありかも。

17 :01/11/10
radeon8500いいかも。
安定性が問題だけど。

18 :01/11/11
ps.1.4
texcrd r0.rgb,t0
texld r1,t1
mov_d4 r1,r1
add r0.rgb, r0, r1
phase
texld r0,r0
add r0,r0,v1
MFCPixelShaderにコピペ

19 :01/11/11
意外とphase関連の制限に引っかかるかも

20 :01/11/21
あげ〜ん

21 :01/11/22
シェーダーも内包した新しいXFileの仕様作ってくんないかなー>MS
プログラマが趣味でやる分には今でも十分遊べるけど、ちょっとでも
実用的にゲームでも作ろうとするとソフトからの吐き出しとかでえらい
苦労するのよね。
 どーもMSは古いXFile互換にこだわるけど、そろそろ下位互換に
こだわらなくてもいいのにね。

22 :01/12/06
シェーダー内包したモデルフォーマットって
いいかもね。最近はMayaとかMaxとかXSIで
シェーダー組めるらしいから是非!
OpenGL2.0も含めた汎用フォーマット希望!

23 :01/12/06
てか、XMLの時代にXファイルは時代遅れ。

24 :01/12/06
>>22
>最近はMayaとかMaxとかXSIでシェーダー組めるらしいから
Mayaはシェーダーというよりは、描画部分をそっくり取替えできちゃうみたいね。
http://www.aliaswavefront.com/en/Tmpl/Maya/html/index.jhtml?page=/en/Community/Games/index_m.html&style=normal
サンプルはNV20系依存なプログラムだけど、これならFireGL8800とかの独自機能
でも勝手に組み込めちゃえそう。もっともRADEON系でMayaがうまく動くかどうか
わかんないけど。
>OpenGL2.0も含めた汎用フォーマット希望!
じゃ、いっそribファイル形式で(w

25 :01/12/07
VertexShaderで、スプライト表示してるけど、あまりパフォーマンス良くない。
表示サイズ変えると、CPU負荷が激増するんだけど、(XPで調査)GPUで描画してるんじゃないのかな?
誰か、やってる人いたら、教えて下さい。
自分は、XP,GF3、P31Gで、32*32SPRTが1F600前後です。
シェーダーでは、取り敢えず、
V0にロードされた頂点座標に、Trans値を足して、0-1間にCLAMPしてるだけです。
(後、TextureUV設定)

26 :01/12/07
>>25
「自分は」のところが何言ってるのか意味不明なんだけど。
あと、CPU負荷はどうやって計測したの?
CPU負荷が増えるんじゃなくて、たんに関数がブロックしてるだけだと思うけど。

27 :01/12/08
なかなか集わないね。

28 :01/12/08
>>26
>「自分は」のところが何言ってるのか意味不明なんだけど。
すんません。(大体)1Fで表示出来るスプライト数が600個。て事です。
(プレステ以下、、)
上司に聞いたら、10万以上出る筈。と。
>あと、CPU負荷はどうやって計測したの?
XPの、Ctrl+Alt+Deleteで出る、タスクマネージャーで確認してます。
(プログラム実行した状態で)
>CPU負荷が増えるんじゃなくて、たんに関数がブロックしてるだけだと思うけど。
すんません。その通りです。w
DrawPrimをSprite数分、Callしてました。
まだ、DX弄って、1週間ぐらいで、全然理解出来てないみたいです。
取り敢えず、PointSprite(Particle)のデモが、パフォーマンス高そうなので、
調べてみます。
どうやら、頂点バッファを数回に分けて、Lock>DrawPrimしてるみたいです。
そうすると、CPU,GPU待ちが起き難くなるみたい。

29 :01/12/08
vertexbuffer関係、修正したら、1Fに12000ぐらいは出るようになった。
目標50000。寝よ、、。

30 :01/12/08
2chだとこの程度か・・・

31 :01/12/08
                ,,.r'' ゛~~` ''ッ,,  おめーら、毛シェーダで俺様でも            )   )
              、 ゛  ,,,,,,,,,,,,,,,,,,,,, ヾ.   表現できっか?あん?     ,.、   / /
               ミ   ミ゛,へ.__, ,_ノヽ i.                .| |l   l ,´
             ミ    ミ, ( ・) {・フ 〉 ミ.          _-、i::| |ニニii '
         、,,,,ツi:     ミ,`~´ ヽ~〈  .ミ        /,‐ヽヽ`、||
       、シ``   i:      ,ゞ  'n.inヽ. .ミ          ( .〉〉/
      シ  //      ミ`    l.l ヽ"、         /  ノ
     ミ/ シ           彡 ,=こ二=.{ ミ,,      ,r'´ ,,、'゛
     ミi. /  /       ' ! w、`~^' vwv '、   ミ      〃 .ミ

32 :01/12/08
ハナ毛 程度なら表現できますです。はい。
#きゃー引っこ抜かないで〜!

33 :01/12/08
ちなみに、リアルタイム系のシェーダーの場合どういう風に絵描きさんはオーサリング
してるんですか?
1・プログラマが決め撃ちのシェーダーをマテリアルとしてアサインする。
2・ShadeTreeみたいに視覚化されたシェーダー言語、もしくはもとからオーサリング
ツールにあるシェーディング構造をコンバートするインハウスツールを制作している。
3・その他
リアルタイムで実行されるシェーダーなので、制約が色々と厳しいんでしょうけど、
少なくとも2のような形でないと、絵描きさんがシェーダーのメリットを享受できない
気がするのです。なんかこのスレ見てるとまだ
(リアルタイムシェーダー=プログラマさんのオモチャ)って気が…。

34 :01/12/08
>>33
1で十分な気がしますが?
リアルタイムシェーダーなんていくらインターフェイスをビジュアル化してもデザイナーが扱いきれるものではないし。
プログラマがシェーディングモデルを組んで、
デザイナーはパラメータやテクスチャを調整するので十分なのではないかと。

35 :01/12/08
>>34
う〜ん、デザイナーが扱えないと断言するのはどうかと。
実際オフラインのレンダリングでは多くの絵描きさんがもっと複雑な
シェーディング言語を扱ってるわけですし。
たとえば、MayaのHyperShadeみたいなGUIでシェーディングモデルを
組み立てて、それをそのままターゲットのシェーディング言語に出力
出来るのであれば、そちらのほうが表現の自由度が高まるわけで。
(たとえば、眼球に独自のシェーダーを割り当てたいなーという時に
いちいちプログラマさんにシェーダー書いてもらうのと、自分だけで
表現を完結させられるのでは生産性が全然違うし。)
もっともオンラインでは命令数の制限やその対処法(計算の結果を
テクスチャに収めておくことで複雑な計算を単純化するとか)で独自
のノウハウが必要になりそうですが。

36 :01/12/08
>>35
だから、現状のシェーダーは
法線ベクトルと視線ベクトルの内積を取って正規化し、
光線ベクトルに内積を描けたものに頂点カラーをうんぬん…
みたいなものなのよ。
そんなものいくらGUIかぶせたところで、
デザイナーが一朝一夕で使えるわけないでしょ。
MayaのHyperShadeみたいなのは
シェーディングモデルを組み立てているのではなく、
「組み合わせて」いるだけなのよ。

37 :01/12/09
>>36
>法線ベクトルと視線ベクトルの内積を取って正規化し、
>光線ベクトルに内積を描けたものに頂点カラーをうんぬん…
>みたいなものなのよ。
たぶんこの部分は頂点シェーダーを指していると思うのですが、
大体の場合、頂点シェーダ自体はシェーダそのものというよりは
ピクセルシェーダの前段階のセットアップ処理という理解を私はしています。
たとえば、Environmentマップなどは頂点シェーダの担当になると
思うのですが、これ自体は前出のHyperShadeでいうなら、
「Environment ほにゃらら」みたいな形で一つのノードに閉じ込め
られてますよね?この部分に関しては基本的に組み合わせの中
からひとつを選択する、という考えでいいと思います。(そういう意味
ではその部分から一から作っているプログラマさんには「組み合わせ」
に思えるのかも)
つまりノードの中にEnvironmentがあれば、自動的に頂点シェーダー
側でTexGen処理を行えばよいし、バンプのノードをつけるなら
接線空間の解決を行うコードを生成すればいい。(複数のシェーディング
メソッドがあるのであれば、それを選択できるようにすればよい)
ただ、それを組み合わせる(それぞれのプリミティブなシェーディング
メソッドから得られる結果をクリエーターの任意で合成する)のは
コンテンツ作成者の自由というのはオフラインCG的には決して珍しい
アプローチではないと思うし、オンラインでも現在ならある程度やって
出来ない事ではないと思うのですけれど。
// いや、今の所オンラインCGやってないのでどうでもいい話ですけどね。失礼。

38 :01/12/09
http://www5.nkansai.ne.jp/users/mitani-sys/

39 :01/12/09
'''''''゙゙´      ゙゙゙゙'''''-::,,_
         ,-''゙                ''!;
       .r'゙                   i゙''
       l         __           i
       l     :,,r''' ̄ ゙゙゙゙゙̄''''''''''''-,,_    i
       i   ;ri!゙            ゙lll;;,  i
        '|  ;lll|l ,,,,:;iiii;,,,,   ,,,;;lllii;_  'll|l  |
        .'l, レll'l '''  ,,,,, ̄    ,,,,,___   l|ト,r
        '|;i|'ト  :r:'llll''     ゙゙'ill⌒  l ゙.r'''
        .l ゙ト               i .|
         'l .|  :r'゙ /'    ! \   l |      ________
         .ll,,) '|!,,,  .(i;;;;;iiilllii;il)l;':: ,r''| li,,,l     /
           |l;,'l||ll!|lll'llllllllllllllllll,'! ||l| ll |!゙    < ここは一つ、ワシの長いヒゲをシェーダーで実際に
           | i‐:リlト:,::;;;;;;;;;;;;;;,,,:l lil ´l!|.;|l゙     \ 表現してみないかね?影武者募集中。
            '!:ト)' 'li, iiiiiiiiiiiii'.、l.`ll,,|:(` |         ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
            l|!`r,.('ト.r i l゙ i  |. )゙l! |
            i'!.'il、.'l; .| i'l l. ; l,i,'!!'l;゙;; '|゙
            ゙ 'l;;;l'llll :ili;|.フ/; ,`ト.゙;l!.
             ;l i;''ll!|_ |_ li,, !,,l'!.lレi!ト
             ト .l|l、.lli;l!i'''!,、 r l!(./
             ゙' '!゙゙ llレ|l,.;i,i;| ;ー.゙
                 ゙liト !:!
                  '.゙'`

40 :01/12/09
毛にうるさいファーシェーダーヲタ増殖中。

41 :01/12/09
実際のとこ、毛をやろうとすると、オーサリングツールなどの
整備から始めなければならないし、時間コストが高すぎかも。
顔がドアップになるようなゲームなら、屈託なくスケジュールに
組み込めるんだどさぁ。

42 :01/12/10
http://www5.nkansai.ne.jp/users/mitani-sys/
↑何、罠ってんの?

43 :01/12/22
定期age。
>>37のいっている事は
http://www.softimage.com/Products/Xsi/v2/features.htm#rts
のような事を指しているのかな?XファイルもdotXSIをベースに作り直して
みては?>MS
あとCG板に、良スレが
http://pc.2ch.net/test/read.cgi/cg/980410607/
シェーダー好きなら見て損はないかも?

44 :01/12/22
sageになってたので。

45 :01/12/23
質問です。シェ−ダーで、
既にレンダリングされた画像を湾曲させたりって出来ますか?
やっぱ、テクスチャーにレンダ−したり、バックバッファ等から
テクスチャー化とか、複数回レンダ−しないと無理ですかね?

46 :01/12/23
クソスレあげるなよ。面白そうだったのは、タイトルだけだったよ。

47 :01/12/25
>既にレンダリングされた画像を湾曲させたりって出来ますか?
そもそも、「既にレンダリングされた」と言ってる時点で
複数回レンダは避けられないと思うが?

48 :01/12/25
>>45
DirectXとかOpenGLのシェーダでと言う意味ならそういう仕組みは
ないんじゃない?
レンダーマンシェーダならimager shaderというずばりのものがあるけど

49 :01/12/26
バックバッファをテクスチャにコピーして
ポリゴンに張って曲げるのが簡単でいいんじゃない?
ポリゴンのUV値を求めるのをシェーダー化すれば
速度的にも実用レベルだと思うけど。

50 :01/12/26
あ、既にレンダリングした画像はあるって前提
なんだね。それなら球などのポリゴンの頂点を
スクリーン座標系に変換してから0〜1の間で正規化
してそれをテクスチャのUV値にするって感じかな。
法線で少しづらすと湾曲してみえると思うよ。
実際にはもう少し細工をするけど。

51 :01/12/26
みなさん。情報ありがとうございます。
CubeMapあたりのサンプルを見ればいいんですかね。(シェ−ダー関係なさそう)
ただ、NVIDIAのEffectBrowserのサンプルで、
ティーポットがノイズ掛かったようにブレル奴があるんです。(PixcelShaderDemo)
で、ワイヤー表示してみたら、ワイヤー自体がブレテル。
どうやってるんですかね?
ソースコードがないので、挫折してます。

52 :01/12/26
ソースコードはありますよ。

53 :01/12/26
申し訳無いのですが、教えてもらえないでしょうか?
(何処か解凍するんですかね?)

54 :01/12/26
インストールしれ。
http://developer.nvidia.com/view.asp?IO=SDKInstaller

55 :02/04/14
ageます

56 :02/04/14
覚えること多すぎ。

57 :02/04/14
んなこたーない

58 :02/04/18
OpenGLで使いたいのですが、初心者はどこから手をつけたらよいのでしょうか?

59 :02/04/21
>>58
とりあえず、extensionの使い方について調べましょう。
nvidiaやatiのサイトを回ってみましょう。

60 :02/05/01
OpenGLのエクステンションは理解しました。
実際、OpenGLのHello Worldはどれになるでしょう?
分りやすいチュートリアルサイト等はありますか?
nVidiaで考えてます。

61 :02/05/01
このスレ廃れすぎ。

62 :02/05/01
>>60
NVIDIA extensionの初歩であればNVSDKの中のサンプル
OpenGL/src/demos/vtxprog_*, OpenGL/labs/vertexlab_* を見るのはいかがでしょう?
ドキュメントもNVSDKの中に豊富に揃っています。
# OpenGLそのものの初歩なら赤本をどうぞ。

63 :02/05/01
あとはここ
http://www.nutty.org/opengl.html
のここ
http://www.nutty.org/OpenGL/Nvidia/index.html
なんて、比較的短くてソースを追いやすい(glhとか使ってないので)
のではないかなぁと思います。

64 :02/05/02
サンクスです。
ところでnVidaのOpenGLのシェーダサンプルはnvparseが
使われていますが、nvparseのリファレンスもしくはチュートリアル
ってありませんか? これが読めないとシェーダプログラミングは
さっぱりでして…。

65 :02/05/02
シェーダーを気楽に管理&利用出切る機構がホスィ。

66 :02/05/02
geforce4mxに換えたんでSDKのサンプルが楽しめると思いきや、
mxじゃピクセルシェーダが使えない罠。

67 :02/05/02
>>64
nvparseのソースを追うのが一番いいとおもいますけど、リファレンスらしきもの。
http://developer.nvidia.com/view.asp?IO=nvparse_for_textureshaders
あとはエフェクトブラウザのソレ系のOpenGLサンプルでも見れば大体判るんで
はないでしょうか?
>>66
OpenGLでレジスタコンビナ弄って我慢しよう。

68 :02/05/02
nVidiaのサンプルをみて、.vpファイルは頂点シェーダ、.tsはテクスチャシェーダ。
これらはDirectXのヴァーテクスシェーダ、ピクセルシェーダの解説と照らし合わせればおよその見当はつきますが、.rcpは何なんでしょう?
参考ソースを眺めるとこれがレジスタコンビナってやつだと思いますが、これはどう理解すればよいのでしょうか?具体的な役割とは何なんでしょうか?

69 :02/05/02
>>68
DirectXでいうピクセルシェーダはNVIDIA OpenGL拡張ではテクスチャシェーダと
レジスタコンビナに分けられます。テクスチャのフェッチなんかの命令(DirectXで
いう所のテクスチャアドレッシング命令)がテクスチャシェーダ、色やα値などの
ブレンディング命令がレジスタコンビナにあたります。

70 :02/05/02
>>67
>>68
>>69
スマン。非常にくだらない質問になるんだが宜しく頼む。
Register Combinerを「レジスタコンビナ」と読むのは
やはりこの板で流行っている洒落みたいなものだろうか。
当方この板の事情に疎いので、マジレスカコワルということで
あったら先に謝っておきます。

71 :02/05/02
石油コンビナートを襲うタッコング

72 :02/05/02
NV_GL拡張にはあって、Direct3Dには無いという
レジスタコンバイナってどういうものなの?
概念的なもんでいいから教えてくれると嬉しいナ。

73 :02/05/02
スマソ>>69に書いてあったね。
でもPSにも色およびアルファ ブレンディング命令は
あるみたいだけど・・。

74 :02/05/02
元々レジスタコンバイナってのは中間結果を保持するレジスタを
複数しかも自在に組み合わせて使えるよってな意味なので、
ピクセルシェーダのカラーブレンド部分と思ってほぼ問題ない。
ただピクセルシェーダとの大きな違いは、
倍ぐらい演算が強力ってことかな。

75 :02/05/02
>>70
くだらん質問で盛り下げるなよ。

76 :02/05/02
>>74
ありがとうございます。
よくわかりました。

77 :02/05/05
nvparseでパースするレジストコンビナ(.rcp)のリファレンスってありますか?

78 :02/05/05
>>77
このあたりは見ました?
http://developer.nvidia.com/view.asp?IO=gdc2001_programmable_texture

79 :02/05/05
今からしてきます

80 :02/05/05
  gy

81 :02/05/05
 

82 :02/05/06
ファーシェーディングのやり方1つ解った。
でも、シェーダー使わなくても出来そう。
しかも、重そう。

83 :02/05/06
ゲームプログラムを作ってると
シェーダーとか見かけ華やかな部分より
ゲームの基本ルーチンを作る方が
遥かに難しく、重要だとわかってきた。
ここでシェーダーシェーダー言ってる人は
そういった基本部分をクリアした上級者か
D3Dかじった初心者かに分かれるだろう。

84 :02/05/06
>83
激しく同意。
描画周りはよく語られるが基本ルーチンを語られることは少ない。
皆さんどうやって学んでいったのでしょうか?私はいつももう少し
きれいにかけないかと悩んでいます。いろんなジャンルのゲームを
たくさん作るしかないのかな?
spinのインタビューでもあったがたくさんのシェーダーの「管理」を
どうするか語りませんか?

85 :02/05/06
>>83
商売でないなら同意。
ゲームとしては基本ルーチンの方が全然重要なんだよね。
しかし商売となると見かけの華やかな部分こそ最重要項目なんだよ。
見た目が良くないと売れないんだよ。
なのでシェーダーを研究しないと飯食えないんだーよ!!
悲しいにょ・・・

86 :02/05/06
この本買った人いる?
http://www.gamedev.net/columns/books/featuredbook.asp?productid=180
Covers a wide range of rendering techniques, focusing on shaders.
だそうですよ。
洋書一番安く買うのってどうするの?Amazon.comで買うのがいいのか?

87 :02/05/06
>>84
実際に自前で組んではいないけど、前使ってたエンジンでは、
シェーダーマネージャークラスにシェーダー追加していって、
各々のメッシュクラスにバインドさせるってやり方してた。
ここら辺って、何でもそう変わらないと思うけどね。
実際、今CUBEで組んでるエンジンでは殆どそうしてる。

88 :02/05/06
>>84
質問なんだけど、このあたりの実装って個別に論じるほど特殊なものなのかな?
メッシュの表面のシェーディングに関するシェーダーであれば>>87のようにシェーダー
クラスをシェーダーファクトリークラスからポコポコ作ってメッシュデータクラスにくっつ
けるだけで、これ自体の考え方は固定ファンクションしかない場合でもレンダリング
ステータス/マテリアルクラス(みたいなメッシュのデータに挟み込んでいくものの管理)
が似たような形になるはず。

89 :02/05/06
つーかシェーダに汎用性なんか必要なの?
ステージ1のメインキャラ用シェーダ、
ステージ2のメインキャラ用シェーダ、
ステージ3のメインキャラ用シェーダ、
こうやって個別に作って、ステージの切り替わりと共に
シェーダも切り替えた方が良くない?

90 :02/05/07
>>86
amazon.co.jpでもその本は売っている。
「発送可能時期:通常4〜14日以内に発送します。」だってさ。
6,932円也

91 :02/05/07
>78
ありがとう!見逃してました。

92 :02/05/07
ゲイム屋さんでなくてもDirectXやOpenGLは活用する。
自分はグラフィック屋さんなのでシェーダ・シェーダ言ってみる。
でも、ゲイム屋さんが一番技術的に進んでいる。

93 :02/05/08
rtrtrtrttrrtrtrtfgfgfgffgffgdddddgdfssfgsdfg

94 :02/05/09
NvidiaでOpenGL用プログラマブルシェーダを書く場合、
プログラマがユニークなコードを書くのはレジスタコンビナかヴァーテクスシェーダであってテクスチャシャーダはあまり関与する余地が無いって認識あってますか?

95 :02/05/09
>>94
そのバーテックスシェーダーも
少ない引数とステップ数の為に
行う処理を選別するだけって感じだね。
頂点ブレンディングにコンストレジスタをさいて
ライトの数を減らすとか
その逆にするとか。
ユニークと呼べるほど・・。

96 :02/05/11
OpenGL、nVidiaのレジスタコンビナ・nvparseの構文に出てくる「.」(ドット演算?)は何を指すのでしょうか?
内積ですか?でも、レジスタコンビナのレジスタはスカラではなくてベクタですよね。
あと、レジスタコンビナで各RBGチャンネルを入れ替えたり、別のチャンネルにコピーしたりってできますか?

97 :02/05/11
ドットは内積。
色の入れ替えや複製はかなり制約がある。
詳細についてはレジスタコンバイナの仕様書を嫁。
nvparseは単純にその仕様をラップしているだけだ。

98 :02/05/14
>97
サンクスです。謎はとめました。
も一つ初歩的な疑問なんですが、OpenGLのレジスタコンビナを有効化すれば、マルチテクスチャのパスは排他的になると考えてよいのでしょうか?

99 :02/05/14
http://oss.sgi.com/projects/ogl-sample/registry/NV/register_combiners.txt

100 :02/05/14
 

101 :02/05/16
Matrox の Parhelia もOpenGLから細かくコントロール可能ですか?

102 :02/05/16
>101
だとしてもまたメーカ依存…やだなぁ。

103 :02/05/17
OpenGL2まちましょ。それでもだめってことがありそうな予感。

104 :02/05/17
そもそもシェーダー自体が良くわからん

105 :02/05/18
良くわからんというほど難しい物でもないよ。
座標変換等を自分で書けるだけ。
ベクトル演算を知ってれば誰でも書けるよ。
問題はシェーダー使ってまで実装したいネタがあるかどうか。

106 :02/05/18
GL_NV_vertex_programで実行形式の中(実行形式中に含まれるデータも含む)にシェーダ
のプログラムをASCII文字列で持ちたくないと思い、DirectXでいう所のD3DXAssembleShader
みたいな命令を探したのですが見つかりませんでした。もしかすると、GL_NV_vertex_program
では文字列以外の形でシェーダのソースを持つことは出来ませんか?

107 :02/05/18
シェーダに手を付ける前にやること残ってるんじゃないかと。

108 :02/05/18
>>106
NV_vertex_programの最大の欠点です。はっきり言って使う気が失せます。
潔く、ATIが提唱するGL_EXT_vertex_shaderに乗り換えましょう。
Matroxも賛同しているのでParheria-512でも使えるようになるはずです。

109 :02/05/18
>>106=>>108
・・・・。
メモリ上でASCII文字列に変換すればいいだけの話かと思われ。

110 :02/05/18
>>108
NVasmってDX専用だったんだ?
ふーん、つーかDirectXに乗り換えた方が良くない?
はっきり言ってそんなバラバラ仕様のGLなんて
よく使う気になれるよね。

111 :02/05/18
>>109
最終的に文字列で駆動しなければならないこと自体が嫌なんだよ。
DX8みたいに中間バイナリフォーマットがあればまだ良かったのだが。

112 :02/05/19
メモ帳をそのままぶち込めるのは楽ではあるけどね。

113 :02/05/19
>>111
テキストとバイナリでどういう違いがあるのか判らん
内容そのものを動的に生成するわけでもなし・・・

114 :02/05/19
テキスト覗かれるのがイヤなのでは?
暗号化すれば済む話ですが。

115 :02/05/19
>>109
>>108は俺じゃないです。ちなみに>>111も違います。
できないと判れば勿論何らかの形から内部でアスキー形式にせざるを得ない訳ですが…。
出来ないことが確認できればそれはそれでOKです。
どうもでした。(ペコリ

116 :02/05/19
頂点プログラムをロードする最低レベルの関数glLoadProgramNVの内部に
パーサが実装されているのって気持ち悪くないですか?

117 :02/05/19
>>116
描画直前のデータを持っておきたいという気持ちは結構自然なことだと思いますけど、
(俺も出来ればそうしたい)まぁOpenGLのディスプレーリストみたいなもんだと思えば
個人的には納得できなくもないです。
リリース用のプログラムに永続化された描画用データを希望してしまうのはある種の
プログラマの職業病かもしれないな…。

118 :02/05/19
一言いわせてもらえば、
ソ ー ス が あ る の に 何 い っ て ん ね ん カ ス ど も

119 :02/05/19
何のソース?

120 :02/05/19
OpenGL2.0もそんな感じだったりして。

121 :02/05/19
3DLabsによる提案ではこんな感じになるみたい。
やっぱり文字列ドリブンですな。
GLhandle programID = glCreateProgramObject();
GLhandle shaderID = glCreateShaderObject(GL_VERTEX_SHADER);
const GLubyte *sources[] = { "ソースコード1", "ソースコード2" };
glLoadShader(shaderID, 2, sources);
glCompileShader(shaderID);
glAttachShaderObject(programID, shaderID);
glLinkProgram(programID);
glUseProgramObject(programID);

122 :02/05/24
保守あげ、ついでに質問。
GL_NV_vertex_program 拡張で使える関数
glVertexAttribs[1-4][dfs]vNV 関数の使い方を教えてください。
glVertexAttrib[1-4][dfs]vNV関数はサンプルでも使われているので
使い方は判るんだけれども、前者のほうは使い方がよくわからんのです。
適当な例ではないんだけど、
> float vertices[] = { x0, y0, z0, x1, ... xN-1, yN-1, zN-1 };
となっているとき、glVertexAttrib3fvNVなら
> glBegin( prim );
> for( int i=0; i<N; i++ ) glVertexAttrib3fvNV( 0, &vertices[ i * 3 ] );
> glEnd();
でうまくいったので、glVertexAttribs3fvNVで
> glBegin( prim );
> glVertexAttribs3fvNV( 0, N, vertices );
> glEnd();
とやってみてもうまくいきませんでした。
# 実際にはglVertexAttribs系は使わないんですけど、判らないと気分が悪いので。

123 :02/05/24
(´-`).。oO(何で仕様書を読まないんだろう・・・)
The commands
 void VertexAttribs{1234}{sfd}vNV(uint index, sizei n, T coords[]);
 void VertexAttribs4ubvNV(uint index, sizei n, GLubyte coords[]);
specify a contiguous set of n vertex attributes. The effect of
 VertexAttribs{1234}{sfd}vNV(index, n, coords)
is the same as the command sequence
 #define NUM k /* where k is 1, 2, 3, or 4 components */
 int i;
 for (i=n-1; i>=0; i--) {
  VertexAttrib{NUM}{sfd}vNV(i+index, &coords[i*NUM]);
 }
VertexAttribs4ubvNV behaves similarly.
The VertexAttribNV calls equivalent to VertexAttribsNV are issued in
reverse order so that vertex program execution is provoked when index
is zero only after all the other vertex attributes have first been
specified.

124 :02/05/24
>>123
ありがとうございます&注意が足りませんでした、ごめんなさい。

125 :02/06/02
DX9シェーダーがまともに動くNotePCありますか?

126 :02/06/02
>>125
デスクトップ用でもまだ完全対応していないのに・・・。
Geforce4GOとかMobileRadeonなら少しはいけるんじゃないの?

127 :02/06/02
まともってのは、まともな速度って事?

128 :02/06/02
今現在ノートにのってるビデオチップでシェーダに対応してるのって無いよね
ほしいなー

129 :02/06/03
>127
VS2.0のflow controlを試したいんだけど、、

130 :02/06/03
VSならソフトウェアでもまともな速度で動くと思うが。
Radeon8500の30分の1の速度がまともかどうかは意見が分かれるかもしれないけど。
少なくともDX9βテスターの9割以上はソフトウェアで試してると思う。

131 :02/06/03
DX9βのSDKってもうでてるのん?

132 :02/06/13
NVIDIA Cg ToolKit アゲ
http://developer.nvidia.com/view.asp?IO=cg_toolkit

133 :02/06/14
ねえpdfからテキスト抽出って出来ないの?
わからない単語翻訳通したいんだよね。

134 :02/06/14
標準で出来るのね・・。知らんかたよ。

135 :02/06/17
レジスタコンビナの各レジスタの入力値って[-1,1]とか書いてありますが、
これって実際のテクスチャ値とどう関連してるのですか?
[-128, 127]にそのまま相当?

136 :02/06/17
結局、国内では「レジスタコンビナ」という呼び方が
デファクトスタンダードになるのか・・・(鬱
まぁ、どうでもいいけどな

137 :02/06/17
?
コンバイナってこと?

138 :02/06/17
まぁ、普通は「コンバイナ」と呼ぶということで。
[例]combine
http://dictionary.goo.ne.jp/cgi-bin/dict_search.cgi?MT=combine&sw=0
http://dictionary2.goo.ne.jp/ej/voice/C/00020347.wav

139 :02/06/18
register combiner使ってる奴、国内に一人もいないのでどうでもいい。

140 :02/06/19
1人いたけどね。

141 :02/07/02
ファーシェーディングってみなさんどうやっています?
毛のテクスチャを張ったポリゴンを常に視線方向を向くように頂点位置を補正、
もしくはスプライトとして転送すれば良いかなと思ったけどどうかな?

142 :02/07/02
   ∧ ∧  
   ミ,,・Д・彡 フサフサage!
 〜ミ___ 彡

143 :02/07/02
なんでシェーダスレに書くのか分からん。3D技術スレのネタだろうに。
つーかサンプルがある筈だが。サンプルも読む気ないならやめなさい。

144 :02/07/02
>>141
kanoたんサンプルの見るべし。ただしRADEONでないと動かない罠。

145 :02/07/02
簡単に言うと半透明の十二単だよな。

146 :02/07/02
>>145は今うまいこと言ったと思ってるな。

147 :02/07/27
nVidia cg
ATI RenderMonky
MS HLSL(HighLevel Seading Langage)

148 :02/07/27
OpenGL 2.0 Shading Language

149 :02/07/31
あのさ、だれがCg+VS.NETでうまくコンパイルできてる人いる?
どーしても
std::_Xlen
std::_Xran
(こいつらが、Vc7/crt/src/string.cpp にいるのはわかったけど・・・)
が無いっていわれるし、でっちあげてもうまく動かないし?

150 :02/08/05
STLとどうやら、相性がわるいらしい。
STLportにかえてみてもだめだった。

151 :02/08/07
ピクセルシェーダーで、画像処理のサンプルというのは
どこかにありますかー?

152 :02/08/12
ガイシュツな気もするけどなー。ここ
http://www5.tok2.com/home/IF/edge/index.html

153 :02/08/12
>152 Thanks,
[SharderX] Vertex and Pixel Shader Tips and Tricks
の本を買ってみたけど肝心な画像処理サンプルが抜けて
たりする。

154 :02/08/19
nVidiaのcg使ってるんだけど、なんだかこれ予想以上に不具合が多いような気がする。
まず、コンパイラがかなりアホなような。
float4 vPos;
vPos.x = vPos.x / vPos.w;

float4 vPos;
vPos.x = vPos.x * 1.0f / vPos.w;
では生成されるシェーダーコードがかなり違い、
片方では、分母がw要素なのに生成されたコードではなぜか
xの逆数を求めていて、双方で結果表示される画像が違っている始末。
自分の3DエンジンはD3DFixedベースからcgベースに書き換えているので
これはどうにもできなくてかなり痛い。マジ泣きそう。
あと、cgプログラムコンテナのメンバのcgプロファイル値がおかしい。
メソッドを操作する度にコロコロ変わる。リークしてる?
皆さんはこんなことない?

155 :02/08/20
cg最初のバージョンは敬遠してます

156 :02/08/20
RenderMonkeyアゲ
http://www.ati.com/developer/sdk/radeonSDK/html/Tools/RenderMonkey.html

157 :02/08/27
ちみたちもっと技術的な話をしろや。
保守アゲするぞ。
ちなみにnVidiaのBumpHorizonのサンプル
あのソース、レンダーステートの設定が一箇所抜けてて
あれじゃまともに表示されん。ふざけんなボケ、俺の二日間を返せ。

158 :02/08/27
ちなみに>>154の不具合は
float4 vPos;
vPos.x = vPos.x * (1.0f / vPos.w);
と書くことで回避できた。
新しいコンパイラでは直ってるかな?
>>155
現状の出来では、それも仕方ないかも。
PSでペアとかしてくんないしね、ほんと使っててイライラするよ。
インラインアセンブラみたいなのついてて、気に入らないところは
部分的に修正出来るようにしてくれればいいのにね。
まあこんなことで悩むのも今だけだろうけど。

159 :02/08/27
終わったスレはあげられてもな。

160 :02/08/31
Shader を終わっているって言っているのか?

161 :02/08/31
エロゲには必要ないんでしょ

162 :02/08/31
DirectX9まだ?

163 :02/09/03
シェーダーって言っても映画で使われてるようなのできるわけじゃないよね

164 :02/09/04
んなことねーぞ。
無理なものは無理だろーが、数年のタイムラグというものまである。
http://www.atmarkit.co.jp/fjava/column/andoh/andoh12.html

165 :02/11/01
漏れら極楽人道のageブラザーズ!
良スレっぽいものは強制的にageてやるからな!
 ̄ ̄∨ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  ∧_∧   ∧_∧    age
 (・∀・∩)(∩・∀・)    age
 (つ  丿 (   ⊂) age
  ( ヽノ   ヽ/  )   age
  し(_)   (_)J

166 :02/11/01
          終  了  し  ま  す  た 。
         n                          n
       ミゝヽ                        / ヾ彡
        ゝ ノ                        ヽ ヾ
        / /∧_∧                ∧_∧| ヽ
        |  <( ´∀`)               (´∀` )> |
        ヽ ゝ ヽ⌒ヽ              /⌒丶 ゞ /
        ヽ        ヽ   n___  _n    /       /
          | 完  /ヽ ⌒二ソ__彡ミ__ゝ二⌒  /ヽ終了|
      / ̄\_|    |  ̄ ̄          ̄ ̄   |    |_/ ̄ヽ
      \ ヽ       ヽ                 /      ノ  /
       \⌒ゝ~\  \               / /~ ヾ⌒ /
        ヽ (    \  \           /  /    ) /
         ∪    \  \       /  /      ∪
                \  \ │ /  /
 ̄ ̄                / ̄\  / ̄ ̄ ̄ ̄ ̄ ̄ ̄
                  ─( ゚ ∀ ゚ )<  おしまい!
                    \_/   \_______
                  / │ \

167 :03/01/13
(^^)

168 :03/05/12


169 :03/05/13
                     ┌────┐
     ┌──────┐    ┌┤┌───┘
     └──┐┌─┬┤    │││
           ││  ││    ││└──┐
           ││  │└──┘│┌──┘
           ││  │┌──┐││
           ││  ││    ││└────┐
   ┌───┤├┐││    │├────┬┘
   │┌──┤├┴┼┘    ││┌──┐└┐
   ││    └┤  └┐    └┤│    └┐└┐
   ││      │┌┐└┐    ││      └┐│
   │└──┐││└┐└┐  ││        ││
   │┌──┘││  └┐└┐││        ││
   ││      ││    └┐└┤│        ││
   │└───┴┴┐    └┐││      ┌┘│
   └────┬┬┘      └┤│    ┌┘┌┘
             └┘          │└──┘┌┘
                     └────┘

170 :03/11/15
良スレ発見!
終わらせるものかage!

171 :03/11/15
では、スレ再開を記念して。
  ∧⊂ヽ   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  (゚Д゚)ノ <  シェーダ
  | ⊃|   \__________
  |  |
  ⊂ノ〜
  ∪

172 :03/11/15
いきなりクレクレで申し訳ないのですが
シェーダ内で法線マップ正しく頂点の法線に足しこむ方法を教えてくれませんか
それっぽく見えるようになっているのですが、法線マップと頂点の法線の向きを合わせる方法がわからなくて(馬鹿
ttp://tool-ya.ddo.jp/2ch/trash-box/file/20031114222119295.zip
猿ファイル二つとテクスチャが入ってます
hlslnormal.rfx
HLSL記述
1パス
ランバート拡散とフォンシェーディングっぽいもの
normal.rfx
訳有ってアセンブリっぽい方の記述
1パス
ランバート拡散と無意味にメタリック
おながいします

173 :03/11/16
メタリックの式が間違ってた。
それとテクスチャ。
ダサ

174 :03/12/31
今日から本格的にシェーダプログラミング始めますんでヨロシコ。
盛り上がっていきまっしょい

175 :04/01/12
シェーダーの本買ってきた。
なかなか良さげだ。
みなさーん一緒に勉強しましょ!

176 :04/01/12
http://www.amazon.co.jp/exec/obidos/ASIN/4839912475/
この本だよ!

177 :04/09/15
古スレ記念

178 :04/10/15
シェーダーもいいかげん死語だな。

179 :04/10/15
>>176
でも著者がこんな顔だぞ
http://cedec.cesa.or.jp/session/img/picR29a.gif

180 :04/11/29
>>179
DirectXプログラマの集いに参加すると笑えるぞ
同じような顔が15人は並ぶからな
自慢じゃないが俺は最後まで名前と顔が一致しなかった
俺は言いたかった
「すいません御兄弟ですか?」

181 :05/01/24
>>179
ものすごくがっかりした
謝罪しる

182 :05/02/05
おい
海外のシェーダのデモとかサンプルとか知ってたら教えてクレヨンしんちゃん

183 :05/02/05
まずnVidiaとATIに行け。

184 :05/02/10
>>170
ちょい遅レスだが。
法線の方の向きを合わせるのはあきらめてシェーダに定数として渡すライトベクトル
の方にワールド行列の逆行列を掛けたら?

185 :05/02/11
ま、これからの時代はGLSLなわけだが。

186 :05/02/14
Kanoさんって今なにしてるの?

187 :05/02/14
本田大地くんに堕落させられました

188 :05/03/09
しぇー

189 :05/03/09
>>179
顔で選ぶな馬鹿。シネ。

190 :05/03/09
つーかフラグメントシェーダって悪くなくね?
使ってるやついる?

191 :05/03/20
>>190


192 :05/03/25
シェーダプログラマーって、人数が少ないのか?

193 :05/03/26
CgやHLSLならバカでも出来る。
参考書やサンプルも山ほどあるしな。

194 :05/03/26
プログラマブルシェーダとしては、Cg, HLSL, GLSLなんかがよく知られてるが、
現状のコンシューマ機だと、独自仕様なものになるんかな?
PS3, 次期XBoxとかだと、GLSLとかHLSLを採用してきそうだが。

195 :05/03/26
むずいよー、通常のモデル(三角四角ポリ情報のみ)の「稜線」を、特にハイライトして描画
…ってシェーダだけで出来ます?出来るって言われて試行錯誤中ですが…あいつも素人だしなぁ。
>>194
GLSLじゃ無いみたいですねぇ
ttp://pc.watch.impress.co.jp/docs/2004/0729/kaigai104.htm

196 :05/03/26
>>195
メッシュから稜線を判断して強調だとシェーダだけじゃ無理。

197 :05/03/26
>>196
ですよねー!あー解放解放、ビール買ってこよ。
ありがとうございました。

198 :05/03/28
>>195
LINE LOOPみたいなプリミティブで線書くのがいいとおもうけど
無理やりシェーダでやるなら面法線をフラグメント単位で書き出して
フルスクリーンのポストエフェクトで隣り合う法線情報同士が違ったら
ハイライト描画とか?
でも法線も用意しちゃダメならこれもダメか。

199 :05/04/03
shあげ

200 :05/04/03
誰かIBL実装できますか

201 :05/04/03
RenderMonkeyのサンプルに疑似IBLがあったような

202 :05/04/21
あまり集ってないな

203 :05/05/02
集う暇がないのか?

204 :05/05/02
MacOSX10.4でGLSLが使えそうで使えないから

205 :05/05/04
ゲーム製作者のヒエラルキー
ゲームデザイン>>>>>
グラフィック=サウンド
>>>>>(クリエイターとITドカタの壁)>>>>>プログラム
この板でプログラムとかいってるやつは恥ずかしい
しかも企画厨という言葉まで作って現実逃避
企画ゲームデザインが一番偉くて
グラフィックサウンドも重要 クリエイティブな仕事だから
結局プログラムは言われたものを作るだけのITドカタ
認識しようね
プログラムの勉強をしても無駄

206 :05/05/04
おっしゃるとおりです

207 :05/05/06
企画がだめだと全部だめ

208 :05/05/07
なんか流行の格好良いシェーダ無い?

209 :05/05/11
>>208
シェーダアセンブラ

210 :05/05/13
>>208
板垣シェーダ

211 :05/05/13
だれかGPUでπ計算してみてよ。
やろうと思ったけど公式が複雑だ。

212 :05/05/13
      ∩
  ( ゚∀゚)彡 おっπ!おっπ!
  (  ⊂彡
   |   | 
   し ⌒J

213 :05/06/01
                 /"~~~""''ー- 、
            _,,.. -‐''"~ ̄ ̄~"''‐- ..,,_i
           /              \
          / (●)   ヽγ⌒ヽ       ヽ
        (⌒ヽ、       |ー= )       ',
      <´・\ ⌒ヽ   ノー= )       i
 >>999   l  3 ハ ノ⌒ヽ.,  ~"''''"       |
    ∫  ,<、・_(  /       、          |
   旦 (⌒ ̄  ̄ ̄ ̄ ̄ ̄ ̄⌒)、.,_        |
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|\       /
                        |~~~~~~~~~~~~~~~~~~~~

214 :05/06/02
シェーダのアーキテクチャがだいぶ変わるようだが…

215 :05/06/02
じゃあまた人のソースかき集めて本出してがっぽり儲けられるな

216 :05/06/03
儲かるのか?

217 :05/06/03
>>195
テクスチャーを使えばできるんじゃない。
例えばtexcoord(0, 0), (1, 1), (0, 1)で成る三角形の辺を特定の値で描いておけばいい。
もちろん頂点のUVはtexcoordと同一の座標をセットしておく。
後は、ピクセルシェーダーでテクセルをフェッチして、テクセルが特定の値であれば強調。
1bitモノクロで十分。

218 :05/06/03
ごめん、「稜線」だよな。だめだこれじゃ。
アタマワリー。

219 :05/06/03
ポリゴンで書いた後に
ワイヤーフレームで上書きじゃ駄目なの?

220 :05/06/03
>>219
それだと、こっち向いてる四角形を斜めに横切る様に三角形分割の痕が見えるだろ?

221 :05/06/05
==、,-、  、ヽ、 \>   ,,  '''\ _
メ゙ヽ、\ ̄""" ̄--‐   、 \  /ゝ、\
=─‐\\‐  /─'''''ニ二\''' |レレゝゝ、\
 ̄く<<く >, ゙、/<三三二\ ̄\ゝゝゝゝゝゞ''ヽ、       / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
<<<<〈__入 ゙、く彡三三三二ヽくゝ\メメメゝ、_ゝ、\     | >>195、それは叶わぬ願いだ
くく<<<<<< ゙、 ゙、ミ三三二ニ─ゝゝゝゝゝ,,,,,,,、 '( ゙''ヽ、ヽ、   <
くくくくくく彡‐ヽ ゙、ミ三三二ニ'''くくゝゝ_ゝゝ、\\_,>」ノ,    | 神の力を超えておる
く く く く く 彡゙、゙、三三二ニ‐くゝ、/ ,,,,,,,,メメゝヽ''''"ゝゞ丶、  \__________
二─二二彡彡、゙、三三二==くメゝ/   ゙'ヽ、メゝゝゝゝゝゝゞ''ヽ-、,,,,,,_
‐'''" ̄ \彡彡ミ、゙、三二=''"く<メ/::      \''-、メメゝゝゝ_ゝ 、 ,,、ヽヽ
、  ,,,,- ゙彡//ヾ、三二= くゝ/:::....      \>∠レ-,-‐ニ二メヽ''ヽ ノ
 ゙ヽ、,,,-‐//_///,,、゙、三二=  ゙、 ""'''      ヽ>//レレヽ,,___  /
-,,,,,,-‐'''"""/////,,ヽ ゙、三二─ ゙ヽ.         //-ヘヘ,、 レレレレノ
''"      ,l|"////ノ,、\彡'''''‐-ニ,、 ::::::::::,,,,,,,,//    ゙ヽフ/|/| レ'
      /ゝ、/ヽ|ヽレ,,゙ヽ、゙''ヽ、,,,,,,_ヽ''ニ='',,-'"、─-,,,,,_   ̄"'ノ
     /メ / レ/,''"へへべ''─---- ̄-メヽ"ゝゞゝヽ、  >---''"
    /ヘヘ、|//ヘヘヘヘヘヘヘヘ,,-イ ̄ | ̄"'''-ニニニ二-''"
   /ヘヘ∧/./フヘヘヘヘヘヘヘ,/イ  /  /   /    ゙ノ\、\
   /ゝゝ| / /メヘヘヘヘヘヘ/'" |  /  /  /    /  \\
  /ゝ /|‐/ /フヘへヘヘヘ/∧  /-'"-'''"__,,-''"    /     /、\
 //|_| /./へへへヘヘ、// |/      \_,,,,-‐'"    /  ゙、.゙、
'"/ヽ"/'"へへヘヘヘヘ//  ノ          \    ,,,,-‐'"    ゙、゙、
.ノ //へへヘヘヘヘ//ヽ ./            ゙、''""      ,,/、゙、

222 :05/06/06
>>195
トゥーンシェードの縁取り線とは何が違うの?
それでよければ、
・ステンシルバッファを使う
・視線との傾きをテクスチャアドレスに使う
・頂点シェーダで法線方向に押し出したモデルを描画する
とかあるけど

223 :05/06/06
>>220
じゃあそれ用に新たにワイヤーフレーム用の
インデックスバッファ起こす。

224 :05/06/29
  ヘゝ__\_Y \\,.-、         ______
  彡\、/ニ二ニゝレヘ\__        |
  巛巛ヽ彡三三く\メXy,=ミ:、   < それは無理
  巛巛ヾヽミ三三ゝゝゝ ゞ-'゙ヽ   |
  ニ‐ニ彡ヾ三三く>/⌒ヾミゝゝゝ`ー--、 ̄ ̄ ̄ ̄ ̄
   -_,.彡ヘヘ三=ヾf;:,,   \ ,-=〒'__ヾ}
  _ -'´~77∧ゝミ-_ゝ ...._〃'^^<klXN
     /Xレ公ゞー三=三彡ヘー--、_ソ
    /ヘ//へへヘヘィ'了`7ー-<
   /ヘ//ヘヘヘ/'"レ_ノ_ノ  ノ ゙ヾ:、
   /ソ//ヘヘヘ//レ´  ̄`ー、-''´ _,.ノヾ':,
   //ヘヘヘ/|/      ヾ''´ __,,.ノヘ
  ヘヘヘヘヘ/Y        `}´   ||

225 :05/07/05
集まってないwwwwwwwww

226 :05/07/07
しぇん論(←何故か変換できない)ワロスw

227 :05/08/08
あげ
盛り上がってよ

228 :05/09/18
他社のトレイラー見て失望した。
もうシェーダ世代を乗り越えられそうにない。
この前、ようやく
http://tool-ya.ddo.jp/2ch/trash-box/file/20050918145709066.jpg
こうなる理由が分かったばかりなのに。

229 :05/09/18
そういえば、WGFからはジオメトリシェーダという概念が入るようだ。
いろいろなところがプログラマブルになるのは、
表現の幅が広がるという意味では歓迎すべきことだが、
また他との差が出るとおもうともう嫌だ。

230 :05/09/21
皆さん仕事ありますか?
SCEIが募集してますよ。

231 :05/10/12
c0.wwww

232 :05/10/15
DirectX9cのHLSLで、vertex shader。
tex2Dにてテクスチャの色を取得し、その値を成分毎に利用したいのですが、
何故か返値を参照した瞬間失敗しちゃうのよね。tex2Dlodだと上手く行くのだけど。
tex2Dの返値ってfloat4だよねぇ。理由ご存じの方教えて頂けませんか。
って、ここ見てるひと少なそうだけど。
もしかしてpixel shaderの返値にしか使えないのかね。

233 :05/10/15
すんません、最後の行、t-potさんのサンプルだと普通に使えてるし
ってことは他が駄目なのか・・・

234 :05/10/15
頂点テクスチャフェッチ?
t-potでやってたっけ?

235 :05/10/15
ttp://falcomchargame.hp.infoseek.co.jp/

236 :05/10/16
>>234
すんません、勘違い
なるほどVS側でテクスチャ情報取ることを、特に頂点テクスチャフェッチと呼ぶのですか
つまりtex2DはPS側でしか使えないって解釈でいいのかなぁ
この仕様はどこに書いてあるんでしょ
tex2Dlodだけ通るのも分からない・・・
ttp://www.shader.jp/xoops/html/masafumi/directx9/d3d90c/d3d90c001.htm
こちらの方も同じところで悩んでいるようですが、このサンプルも別にLOD関係ないよねぇ

237 :05/10/16
tex2Dやtex2Dlodはtexldlを使ったコードにコンパイルされるようだ。
texldlはソースとして、テクスチャ座標の入った4Dベクトルを必要として
かつそのw座標にはLOD値を入れる必要があるらしい。
100%想像だけど
tex2Dlodで成功してtex2Dで失敗するのは、この部分が正しく初期化されないからじゃない?
逆アセンブルやデバッカで確認してみ?

238 :05/10/16
SM3.0の環境なんだよねぇ?

239 :05/10/16
SM3.0は3.0でもRADEONの偽3.0(=3.0-)だったりして

240 :05/10/16
なにこの過疎鰤は。はぁ困った困った。シェーダはどうやって開発しよ・・・。

241 :05/10/16
>>240
これでもここ数日人が集まってきた方

242 :05/10/17
>>239
1.3-1.4もRADEONの罠だったような気がする。

243 :05/10/17
すんません、確かにRADEONなんですが、環境というよりコンパイルエラーでして
>>237
ヒント助かりました。どうやら分かったので一応まとめ
・前提として、VS側でテクスチャルックアップが可能なのは3.0(以降)のみ
・tex2Dはtexにマップされる、texはps1.0のみなので、もちろんVS側では使えない
・tex2Dlodは、237氏の言うとおりtexldlにマップされる(だけとは限らないが)
 texldlはps3.0であると同時に、vs3.0でもある。だからVS側で使える
結論だけ見ると当たり前だけど、いやHLSLだけだと分からないもんすね
皆さんお付き合いサンクス

244 :05/10/17
ぐぁ失礼、>>243名前欄は、237ではなく232っす

245 :05/10/17
>>243
つうかDXのヘルプみると
全てのtexXXX命令が
VertexShaderバージョンでn/aってしてるな。
こりゃ正しい答えを得たいなら、nVidiaCgから持ってきた方が
よさそうだ。

246 :05/10/17
RADEONじゃ、頂点テクスチャ使えないってば
コンパイルできたとしても

247 :05/10/17
要は頂点フェッチの場合、LODの算出ができないから
LODを明示的に指定する必要があるわけね。

248 :05/10/18
Cもできない超初心者のワタクシがシェーダープログラマンになったら偉いですか?

249 :05/10/18
おじさんVB、C#とかなら、ちょっとだけできるんだけどな
難しい数学なんかもわからないし
なによりゲームを作る元気が沸かない
多分おじさんがゲームを作らない理由は
やる気が無いからだと考えている

250 :05/10/18
>>248
そんなことしてどーすんの?

251 :05/10/18
>>250
シェーダー作りたいからそのためにプログラムを勉強しようと思っているんです。
無謀ですかね・・・?

252 :05/10/19
>>251
ただシェーダー作りたいからと言ってFX Composerのようなソフトだけで
一人前になれる訳じゃないよ。
あくまで、シェーダー以外のプログラムと組み合わせて初めて効果がある。
それに、中途半端に覚えたって結局はどこにでもあるようなサンプル程度で
オリジナリティのある物は出来ない。
要するに基礎から始めろってことだ。
全くの未経験なら、コンソールからでも始めればいい。
欲張って辺にシェーダとか扱うより基礎から順を追って習得していった方が
最終的に難なく理解できるはず。

253 :05/10/19
>>252
ですよね・・・。周りにシェーダ書ける人が誰もいないから自分が・・・って思っても無謀ですよね。

254 :05/10/19
>>253
2002年あたりに気づくべきだったな。

255 :05/10/19
>>248
偉いとか名誉のためにやるんじゃなく、本当にやりたくて自分が満足できると思える事ならとにかくやってみれ!誰も止めやしねぇ!
つまらない奴の言う事は聞かなくてよし!そういう奴こそ高が知れてる

256 :05/10/19
ふむ・・・。はじめてのCって本を買ってくるか・・・。シェーダプログラマンは今後のゲー業界には需要あるんじゃないかと思って。

257 :05/10/19
シェーダのコーディングってグラフィックプログラマの仕事なんじゃないの?

258 :05/10/19
せめてデザイナーの人なら、使えると武器になりそうだけど

259 :05/10/19
需要というか必須になりました

260 :05/10/19
知ってたら偉いとか凄いとかじゃないよな。
i++と++iの違いを知ってるかと同程度の価値しかない

261 :05/10/19
普通の知能なら一日分の昼間のお勉強だけで覚えられるだろ、こんなの。

262 :05/10/19
覚えるのが難しいんじゃなくて、それを活用するための技術を
習得したり自分で編み出すのが難しいのだと思うが。

263 :05/10/19
自然現象をモデル化した論文があっても英文で読めない
 ↓
やっと翻訳できた!
 ↓
数式の意味が理解できない
 ↓
やっと式を理解してコーディングできた!
 ↓
メチャメチャ重いですよ使えませんといわれる
 ↓
固定機能バンザイ

264 :05/10/20
本当にご苦労さまです。

265 :06/02/22


266 :06/05/05
RenderMonkey と FX Composerについていろいろ調べているのですがまだよく理解できないのでたすけて頂きたいです。
それぞれよく使ってる人ならこっちはこうだけどこっちはこういう部分が使いやすいよーとか
グラボがこれならこっちのほうがいいよーとかありましたらアドバイスよろしくお願いいたします。

267 :06/05/05
俺みたいな馬鹿にはFX Composerのほうがいい。
詳しくは昔のshader.jpで

268 :06/05/06
このスレの過疎っぷりが日本でシェーダープログラマーの需要が
いかに少ないかの証明になっているな

269 :06/05/06
シェーダーって処理が重いイメージがあるんだけど…
メーカー製のゲームのためにPCを買い換える事はあっても、
アマチュアのゲームのためにPCを買い換える奴はいない。
…って事じゃないか?

270 :06/05/07
windows2000で開発してんだが、directxsdkが今もうあれなので
シェーダーのデバッグできる環境が手に入らないっぽいんだが
どうしたもんだろう

271 :06/05/07
素直にOSをXPにする。
Windows2000に対応しているSDKでも、シェーダーデバッガは
XPでないと動かないよん。

272 :06/05/07
一方ではリアル厨房から
(親から買ってもらったFM-Vとかvaioじゃ)動かねぇ
等心の温まる応援のメッセージを頂きつつ
一方で自分が開発する環境の方は無情にもサポート打ち切られ
現実は厳しいな。

273 :06/05/16
RenderMonkey のデータってフリーなら使用可?

274 :06/07/15
FX Composerわかりづれーage
なんだマテリアルって
RenderMonkeyでアニメーション付メッシュ扱えればなぁ…

275 :06/07/15
OK僕が悪かったです。意外に便利なFX Composer
誰かXファイルのAnimationSetから、ボーン姿勢情報を取ってくる方法、
ご存じでしたら教えて頂けないっすかねぇ…
worldviewprojectionみたいに、該当Semanticsを指定しておけば、
自動で値を渡してくれるのかなと思っているのですが、どうもそれらしいのが無くて

276 :06/07/16
FX Composerてこれいったいなにするどうぐなのかえ?

277 :06/07/16
RenderMonkeyと同じで、エフェクト開発ツールじゃないっすかね
VC6とか、Windows2000だと、HLSLのデバッグも出来ないから重宝ですわ
RenderMonkeyより、FX〜の方がデザイナー向けという煽りみたいっすけど、
なんかコードでプロパティを追加することが多いので、FX〜の方がプログラマ向けな気がするっすね
FX〜はでも、REFで使えないのが辛いなぁ。どっちもSWVPは無理だし…

278 :06/07/16
うほ、名前欄残ってたわ
結局アニメーション持ってくる方法わからねっすわ…自分でプラグイン書けとか、そういう話なんかなぁ…

279 :06/07/16
書いたエフェクトの調子みる奴なんだねやっぱり
それでスキンメッシュのためのvertex shaderをそれ上でつくりたいというわけですか

280 :06/07/16
そうなんす、そうなんす。まぁでも未だにさっぱり分からないので、
スキニング部分だけ後から加えれば良いかなって気になってきました。お騒がせしました。
UserGuideにそれっぽいこと書いてあるんすけどねぇ…。

281 :06/09/13
3Dモデルの輪郭線をリアルタイムに描くデモで、裏向き面をちょっと膨らませて描く方式でなくて
ポストエフェクトか、辺を直接ピックアップする方式できれいにできてるやつがどこかに落ちてないかなー
NPR方面の自己主張の強い使い方じゃなくて真面目にアニメ風にさりげない輪郭線を描いて動かしたら
どうなるのかってちょっと見てみたいんだよね

282 :06/09/14
隣り合うピクセルの色の差を出せば(強調すれば)簡単にできない?

283 :06/09/14
ジオメトリシェーダを使えば、辺の選出は超楽勝。
そこから一工夫かませば、任意の辺に、任意の太さのエッジを
描画するのも楽勝。
難点は Direct3D10 が必須なので、実行できる環境が
まだ殆ど存在しない事ぐらい。

284 :06/09/14
>>283
本当に楽勝か?ジオメトリシェーダは万能じゃないよ?
描画する全てのポリゴンの辺に対して処理するなら楽勝だが
最終的に輪郭として残る辺と、他の面と接合してる辺と区別できる?
>>281 の考えてる程度の輪郭線なら圧倒的にポスト処理で済ますのが楽勝。

285 :06/09/14
モデルの輪郭線だけなら、Zバッファへの書き込みをオフにしたあと
2ドット以上の幅でワイヤーフレームで描画してから、
Zバッファ書き込みオンでフィルしたモデルを描画するのが一番綺麗。

286 :06/09/14
>>284
輪郭になる辺の選出は、CEDECのワークショップで
シャドーボリューム生成の一部として、プログラム
してきた。楽勝だった。
輪郭が選出できれば、そこからカメラと直交方向に
ポリゴンを生成するのも簡単。
輪郭として生成したポリゴンが、他のポリゴンにめり込む
場合は、やっかいかも。

287 :06/09/14
よくわからんが>>284は勝ち組とか負け組とか言うのがすきそう

288 :06/09/14
>>286
ジオメトリシェーダで生成する(追加する)頂点データは、
完全に同じパスの同じバッチに統合されるの?
そのデータを保存しておいて、後のパスで使ったりはできないのかな…
DX10のシェーダモデルはよくわからん('A`)

289 :06/09/14
>>288
ジオメトリシェーダの出力は、ストリームアウトという機能で、
頂点バッファに出力できる。
後のパスは、そのバッファから入力する事が出来るので、
何パスあってもジオメトリシェーダでの計算は、一回だけですむ。
同じように頂点シェーダでのボーン変形も、一回計算すれば
後のパスで変形後の頂点位置を使い回せる。
俺もDX10を完全に理解している訳じゃないので、間違っていたらスマソ

290 :06/09/14
PS3にDX10なんてねーよ

291 :06/09/14
>>286
どういう方法か想像もつかないが、輪郭となる辺を抽出できるんだ?!
ジオメトリシェーダも思ってたよりは使いどころがあるのかな・・
もっとちゃんと勉強すべきでした、反省。そしてサンクス。
それにしても、ジオメトリシェーダを使うのは大げさ・・ゴニョゴニョ(´Д`)

292 :06/09/14
>>289
なるほどトンクス。
色々使い道はありそうだけど、やっぱりパフォーマンスが気になるところ…

293 :06/09/22
  ∧⊂ヽ   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  (゚Д゚)ノ <  シェーダ
  | ⊃|   \__________
  |  |
  ⊂ノ〜
  ∪

294 :06/09/30
http://disappo.exblog.jp/191041/
カップヌードルのCMとかサルゲッチュのアニメとか見てもなぜかいまいちピンとこなかったんだけど
このどうしようもなく情報不足な一枚絵だけでなんかくるものがあった
耽美なお人形にいろんなとこから光があたってるのとかはもう俺的にはどうでもいい
繰り返すようですがリアルタイムできれいな輪郭を引いてるプログラムあったらみせてください><

295 :06/09/30
>>294
輪郭線くらい自分で研究すればいいじゃん。気に入るまでさ。

296 :06/09/30
>>295
土曜の朝から心温まるご指導ありがとうございます

297 :07/04/07
ageてみるテスト

298 :07/04/07
テストならメールアドレス欄age_testにしろよ。
一時間だけ上がってその後元に戻るから。

299 :07/04/08
>>298
あ、そんな機能追加されてたんだ。
テスト(現在8位)

300 :07/04/08
騙されたor2

301 :07/04/09
>>300
(´・ω・) カワイソス

302 :07/04/09
age_testでググったら2件しか出なかった

303 :07/04/09
まぁ過疎スレに人が来たということで、めでたしめでたし。

304 :07/05/13
全然、集ってないage!
FX Composer 2.0は、いつ出るんでしょ?
「soon !」と書いてあったから待ってんだが、いつまで待たせんだよ!

305 :07/05/13
え?まだ出てなかったの?

306 :07/06/13
地方で簡単に見れなくて、通販も高いので簡単に買う決断が
できないので、教えて欲しいのですが、
game programing gems 4 の perspective shadow mapはつかえますか?
(t-potさんと、Monshoさんのは、もう拝見しました。)

307 :07/06/13
一月ぶりのレスかよ

308 :07/06/14
ま、シェーダープログラムなんて、基本部分を書くときぐらいだから、
年中かくわけじゃあるわけじゃないし、もともと書く人少ないし。

309 :07/06/17
FX Composer 2.0出たけど無反応か

310 :07/06/17
まだbeta3じゃん

311 :07/06/17
(・∀・)お!
よぉーやく、出たのなw
PS3開発者には配ってたとかなんとか聞いたが。
OpenGLとCOLLADAなんぞは、どんなもんかいな。

312 :07/07/21
いつの間にか、beta3 -> beta4 -> RC1 になってるお、お(^ω^)

313 :07/07/21
FX Composerのスプラッシュウィンドウがきもい

314 :07/07/25
俺のほうがキモかった

315 :07/07/25
つ抗うつ剤

316 :07/07/25
やさしさに泣いた

317 :07/07/31
SDKサンプルの球に、法線テクスチャを貼って、
法線マップしようと思うんだけど、テクスチャから生成した法線を球面上の法線にするには
どうしたらいいかね?

318 :07/08/09
FXComposer2ってD3D10対応じゃないの?(´・ω・`)

319 :07/10/23
過疎っているなかで質問なのですが
当方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
すいません、過疎っているため他で伺います

321 :07/10/24
おれがいるよ。最後のシェーダー触ったの2年前だけど。

322 :07/10/24
つかシェーダースレって他に何処がある?
GPGPUはマ板にあるけど,シェーダースレがない

323 :07/10/24
頂点シェーダなら頂点フォーマットで指定しておいた値
ピクセルシェーダなら頂点シェーダからピクセル単位に線形補間されて送られてきた値

324 :07/10/24
多分samplerの宣言された順に0,1,2...に対応するはず

325 :07/10/24
>>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
1つの頂点にテクスチャ座標を複数持たせることができるということを
理解していないのかな?

327 :07/10/24
>>326
それは初耳です。。。解説お願いできますか
自分の中でvertex→fragmentの関係をまったく無視していたことがわかりました。
わかっていたつもりになって飛ばしていたところが、モロに穴になったみたいです。。。
ほんと、、、自分がアホで泣けてきます

328 :07/10/25
HDRの技術解説書っぽいのがあった
ttp://www.cg.tuwien.ac.at/research/publications/2007/Luksch_2007_RHR/
オーストラリアの学校みたい

329 :07/10/29
そんな身勝手な期待に沿う義理はない

330 :07/11/08
高レベルシェーダ言語と関数型言語って相性がいい気がしてきた
Haskellやschemeで書けるシェーダ言語の研究とかそういう情報ってありますか?

331 :07/11/08
>330
シェーダでschemeを書こうとしている人
http://pc11.2ch.net/test/read.cgi/tech/1177065699/760

332 :07/11/08
SchemeじゃなくてLispか。しかも逆だな。どっちでもいいや。

333 :07/11/30
シェーダーをごりごり追加してたら
白沼に
Assertion failure! (h:\gfx_sdk_dgt_sdk\〜\cbaseprogram.cpp 637): uRangeMin < m_uInsts && uRangeMax <= m_uInsts
ってワーニングが出ていました。
ぐぐっても全然情報が無いのです。
何のレンジオーバーですか?

334 :07/12/01
知るか。まともに聞く気もなさそうだし。

335 :07/12/02
>>334
何だお前

336 :07/12/02
お前は俺だろ?

337 :08/03/18
保守

338 :08/03/18


339 :08/03/28
相変わらず過疎ってんな
アマは本格的にシェーダーさらわないから
俺を含めて…

340 :08/03/28
シェーダーよりCUDAが気になる今日この頃

341 :08/03/28
過疎ってても見てる人はいるんだなw
CUDAで物理エンジン作りたい今日この頃

342 :08/03/31
Render Monkey 1.71
MSXMLがアンインストールできないぞ!

343 :08/04/15
age

344 :08/05/13
age

345 :08/05/13
やっぱり左手座標系ですか?
左手用に作られた行列を右手に変換するのって簡単にできないかねぇ?

346 :08/05/13
3軸のひとつを符号反転するだけだろytr
つか何でこのスレでその質問?みたいな

347 :08/05/13
>>346
いや、頂点シェーダにセットする行列の変換でちょっと悩んでてさ。
反転するとして、どの軸?とかね。4行目、4列目はどうなるの?とかさ。

348 :08/05/13
4x4行列の中身が回転情報と並進情報のセットなら
4行目4列目は常に1じゃないか?

349 :08/05/13
>反転するとして、どの軸?
例えばオブジェクトのローカル座標系で
Z軸を垂直上方向と定義していて
Y軸を視線(前)方向と定義してるなら
X軸反転するんでね

350 :08/05/14
いや、それが、射影だったりして回転移動のみじゃないんだよね。
ドイツの論文を読む機会があったんだけど、
そいつは、Z方向に -1 倍のスケーリング行列をかけて、
左手座標を右手座標に直してた。
そんなんでいいの?って感じでさ。
本当に、>>346 の通りなのかもしれない。
物理科っぽいベクトル解析はやったんだけど、イマイチ使えなくて、
工科っぽいベクトル解析をやり直そうかなぁと思ってる。

351 :08/05/15
別に問題ないと思うが

352 :08/05/18
今年はじめからシェーダー書き出したのだが、ほんと資料ないね。
どうやって勉強しよう。なんとなくnVidiaのsampleデータ見てやってるけど。

353 :08/05/19
HLSLの仕様ならDirectXのリファレンスを読めばわかる
サンプルも豊富だから大まかな流れややり方もわかる
DirectXのサンプル以上のレベルのことをやろうと思うと
論文を読むしかないのかな…場合によっては英語の

354 :08/05/19
>>352
N2Factoryの"DirectX シェーダプログラミング"はどうだろう?
Amazonでの評価も悪くないし、本屋で見てなんとなく分かり易そうだったので買ってみた。
只、自分はプログラミングそのものもこれからスタートなので良し悪しはよく分からない。

355 :08/05/21
>>354
良い本だよ。
ただ、サンプルコードが古いSDKを利用したものなので、その辺りは注意が必要。
CD付属のSDKを使えば大丈夫
なんだが…すでに最新のSDK入れてる身としては面倒だ…。

356 :08/05/22
nVidiaやATIの出してる分厚い高い本がお勧め
でもその前に>>354みたいなのを読むべき
どのみち一冊じゃ足りないと思うなぁ

357 :08/05/22
なんかシェーダって、アニメーションと各種シェーディング、影、ぼかし、HDR、歪みぐらいが
いまのところやれる範囲で、意外とやることが少ないような気がするんだけど。

358 :08/05/22
gpgpu.orgにあやまれ

359 :08/05/22
「シェーダ」でシェーディング以上のことが出来る時点で

360 :08/05/23
>>357
普通にやる分にはそうかもしれないけど
固定概念に縛られずに自由な発想でいろいろやってみることは大事

361 :08/05/23
観念してね

362 :08/05/23
そもそもシェーダで出す絵がない

363 :08/05/23
俺の手持ちはスフィア、キューブ、トーラス、シリンダー、ティーポットだ
良かったらおすそわけするぞ

364 :08/05/25
メガデモ上等!!

365 :08/05/26
行列パレット全然たりねぇ。

366 :08/05/27
確かにまともなシェーダ開発が必要なレベルのデータ作りの方が厄介だよな
インスタンシング情報とかタンジェントスペースとかエクスポート時に埋め込める手軽なツールがあまりない
俺は今のところBlenderでプロパティやらスクリプトやら使って頑張ってる

367 :08/05/28
シェーダプログラマでがんばろうと思うのでうが、身に付けた力は今後、他に何の役に立ちそうでしょうか?
GPGPUが広まったら職にあぶれることはなさそうでしょうか?

368 :08/05/28
この先CUDAとかできればそれなりに需要あるんじゃね?
職にあぶれることはあるだろうけど

369 :08/05/30
良スレsage

370 :08/05/30
>>368
ありがとうございました。

371 :08/05/31
シェーダに着ていく服がない

372 :08/06/01
しまむらで1000円で買った服をマネキンに着せて
3Dスキャナで取り込んだボリュームデータを
ポイントスプライトでパーピクセルライティングするのが
今後のトレンド

373 :08/06/09
現役のビデオボードでも StaticFlowContorlDepth って0のが結構おおいじゃない?
DirectX10 じゃ FragmentLinker が無くなるらしいんだけど、
DirectX9 では FragmentLinker を使え、
DirectX10 では StaticFlowControl を使え、
ってことなのか?
めんどくせぇ。

374 :08/06/28
FragmentLinkerは残念ながら使い物にならないよ。ゴミだなこんなの。
DX9世代は、エフェクトファイルへ条件ごとにテクニックを置きまくるしかない。

375 :08/06/28
シェーダープログラマを目指しているんですが、ゲーム以外で使う仕事ってあるんでしょうか??

376 :08/06/28
3Dソフトの制作なら、GLSL方面で需要があると思う。

377 :08/06/28
>>374
結局、FragmentLinker は無視した。
要求するハードのレベルが上がるが、Static Flow で十分な速度が出るね。

378 :08/06/28
>>376
なるほど。
ありがとうございました!

379 :08/09/05


380 :08/10/07
今更だがDirect3D10対応のFXComposer2.5出たんだな
しかしVistaはクラシック表示にしないと画面ががくがく言うんだが・・・

381 :08/10/07
>>380
スピーカー付きのモニタ?

382 :08/10/07
え?

383 :08/11/05
ワロタ

384 :08/11/15
RendermonkeyでテクスチャをTexturesaverで保存しようとすると
「this extension is not supported」って出て保存できないんですけど
これはまだ対応してないってことですか?

385 :08/12/07
過疎るな
>>375
うちは、画像処理にDirectX+シェーダを利用している。

386 :08/12/21
このスレできたの7年前かすげえな

387 :09/01/26
ちょっと素人の素朴な疑問なんだけど、
PS3とXBOX360のシェーダって、360の方が優れてる気がするけど、
DirectXが優れてるからって事?

388 :09/01/26
それ質問じゃないよ。
ttp://it.nikkei.co.jp/digital/news/index.aspx?n=MMITew000002052007
博識そうな人にコレと似たような事を言って貰いたいんでしょ?

389 :09/02/14
これからプログラマブルシェーダ覚えようと思うのですが,
おぼえるシェーダ言語は意識して選んだ方が良いでしょうか?
言語間で違いが大きくあるか知りたいです
あと,他に覚えるにあたってお勧めの方法などあれば教えてください

390 :09/02/14
選ぶもなにもHLSL以外の選択肢は、ほぼ無いと思うが。
OpenGLで使いたいとかなら話は別だが。

391 :09/03/17
RenderMonkeyを使っていると、ひとつのモデルをマテリアルごとに分割して扱うことができないのですが、仕様でしょうか?
例えば3つのマテリアルになっているモデルがあるとします。
これら、それぞれのマテリアルにそれぞれのシェーダを書きたいのですが、どうしても分解して扱う方法が見当たらないのです

392 :09/03/18
>>390
別にCgとかでもよくね?
そこでなんか足りないと思ったらHLSLでもいいわけだし。

393 :09/03/27
>>389
WindowsならHLSL。
MacやLinuxならしらん。
覚えるには実際に自分で書いてみるのが一番だよ。
教材には今ぎれさんの本をお薦めする。

394 :09/04/10
>>385
ありがとうございました!

395 :09/04/26
NVIDIA以外のHLSLコンパイラってあります?
NVIDIAのはエラーで起動できない

396 :09/04/26
今ぎれさんの本って何?

397 :09/04/26
http://www.amazon.co.jp/dp/4839912475

398 :09/04/26
>>395
DirectX SDKに付属してます

399 :09/06/03
>>395
FX composer2.5はDX10用
2.0でも使ってみれ

400 :09/06/03
>>399
10じゃなくても2.5使えるだろ。
XPでつかえてるし。

401 :09/06/07
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
上の続き
//fxファイルA
shared float4x4 matWVP;
//fxファイルB
shared float4x4 matWVP;

403 :09/06/11
その方法で間違ってないと思う。
駄目な理由は、別な面を探した方がいい。

404 :09/07/24
いくら何でもこのスレ過疎りすぎじゃね?
日本にシェーダープログラマーはいないのか

405 :09/07/24
あえて語るようなネタなんてあるか?
基礎的な事はShaderXとGPU gemsみりゃいいだけだろう。

406 :09/07/29
当方デザイナです。
今、プログラマブルシェダーを勉強中です。
RENDER MONKEYで編集したFXファイルを
MAYAに読み込ませようとしているのですが
RENDER MONKEYで吐き出したFXファイルが
うまく表示できません。
マニアルには
ViewProjection を WorldViewProjection に変更して使うと
あるのですが、
これはどういうことなのでしょうか?

407 :09/07/30
RENDER MONKEYは使ったことないけど、吐き出されたFXファイルにViewProjectionってのが多分どこかにあるから、それをWorldViewProjectionに書き換えればいいってことだと思うよ

408 :10/02/22
>>88
すみません、具体的に教えてください。
シェーダークラスはメッシュデータを受け取ってレンダリングするということですか?

409 :10/02/23
8年越しのレスキタ━━━━━━(゚∀゚)━━━━━━!!!!

410 :10/02/23
>>88はご存命だろうか

411 :10/04/16
シェーダプログラマのみんな!
もっと元気出していこうぜ!

412 :10/04/23
WiiウェアでBIT.TRIPってゲームがあるんだけど、
リアルタイムでアンビエントオクルージョンをやっているように見えるんだよ。
ttp://bittripgame.com/
でもWiiの性能でそんなことできるんだろうか。
本当にアンビエントオクルージョンか自分にはちょっと判断できないので誰か確かめてください。

413 :10/04/23
そう思う部分の動画でも貼ってくれないと
「そんなもん知るか」
としか答えようがない。

414 :10/04/23
BIT.TRIP RUNNER(未発売)
ttp://bittripgame.com/bittrip-runner.html
うねうね動いてる灰色のデカイ敵
BIT.TRIP CORE
ttp://bittripgame.com/bittrip-core.html
背景オブジェクト

415 :10/04/23
正直、その動画を見ても、リアルタイムで処理してそうなとこは
どこのことなのか分からない。
COREの方は背景で動いている部分がほとんどないし、RUNNERの方は
穴から出てくるイモムシみたいなやつのことだと思うが、陰影が変化してる
ようには見えない。

416 :10/04/23
形状の谷間(キューブとキューブの繋ぎ目)にぼやっと陰影がかかっているよね?
そのことを言っているんだけど。
繋ぎ目だけじゃなくて、灰色の芋虫がはい出てきた穴の縁部分も、芋虫のポリゴンの影響を受けて
うっすら陰影のグラデがかかっている。

417 :10/04/23
そんぐらいIntel Pentiumプロセッサ上での
ソフトウェアレンダリングでもできる。

418 :10/04/23
具体的にどういうアルゴリズムで?

419 :10/04/23
1. いろいろキャッシュしまくる。
2. マルチテクスチャ。
>繋ぎ目だけじゃなくて、灰色の芋虫がはい出てきた穴の縁部分も、芋虫のポリゴンの影響を受けて
よくある影描画アルゴリズムだろう。

420 :10/04/23
キャッシュって例えば何を? そのキャッシュを何に利用するの?
あなたが言っている影描画アルゴリズムというのはシャドウマッピングのこと?
でもあれは光源と反対方向にオブジェクトのシルエットがくっきり映るものであって、
私が言っていることとは毛色が違う。

421 :10/04/23
こういう返事がくると黙りこむあたり、何もわかってないんだろ
何でも「よくある」と書きたくてしかたない

422 :10/04/23
>>416
キューブの陰影は、最初から頂点カラーがそういう色になっているだけじゃないの?
穴の縁の部分は動画ではよく分からんが。
まず、基本的なこととして、動かない物体の影やら陰影なんてものは
リアルタイムで計算する必要がない。
どんなにリアルな陰影がついていようと、事前計算できるもの。
同様に、インタラクティブ性がなくて決まった動きしかしない物体も
リアルタイムで計算する必要がない。
アニメーションに頂点カラーやテクスチャの変化も含まれるだけ。

423 :10/04/23
遮蔽度の高そうな頂点の頂点カラーを暗くしたのをデータとして保持しているだけってこと?

424 :10/04/23
×遮蔽度
◯閉塞度

425 :10/04/23
PSSMの本家サイトのサンプルコードのモデルの頂点にはアンビエントオクルージョン項が含まれてて、
簡単なライティングでちゃんとAO感が出てたよ。

426 :10/04/23
最近の子はリッチな環境で難しく考えることに慣れすぎてる感はある。
少ないリソースの中で如何によく見せるかって技術はおっさんの方が長けてるよな。

427 :10/04/24
あるあるw

428 :10/04/24
そしたら,あんたらは”最近の子”にそのうち超えられちゃうねww

429 :10/04/24
そりゃそうだろ。
そういう業界だし。

430 :10/04/24
せっかく過疎って静かだったのに

431 :10/04/25
最近NWは触ってないから出来るかはうろ覚えだけど、
負の色の(黒い色)のポイントライトを遮蔽する部分に置けば似たことできるんじゃないかね

432 :10/04/25
低解像度のZテクスチャを作って、上下左右のピクセルのほうが手前だったら1加算とかで
それっぽくならんかなあ。

433 :10/04/26
>>432
そういうアイデアの延長線がSSAOだな

434 :10/04/26
まあWiiじゃそんな芸当はできないんだけどな

435 :10/04/26
前から思ってるけどAOは一次レイが当たった地点から
180度の超広角度のカメラで半球レンダリングすれば遮蔽率がハードウェアで求まるよな。
全ピクセル一度に並列に計算すればあっという間だろう。
このアイディアを好きに使っていい。

436 :10/04/26
それただのSSAOだから

437 :10/04/26
>>433
というか、WiiでSSAOっぽいことをするとして>>432の方法で近似できんかな、と。
ピクセルの比較ができりゃいいんだからPS2でも実装できるか。
まあ、荒すぎて実用に耐えない気もするが。

438 :10/04/26
Light propagation volumesを実装したいと思ってるんだが
理論を詳しく説明できる日本人はいないものか・・・
原文を読んでも俺の英語力では理解できないぜ
RSMからの光源を3Dテクスチャにポイントレンダリングして
SHに変換して伝搬させるとかそんな感じだろうか?
日本にはシェーダーの最先端をゆくスレッドって無いのか

439 :10/04/26
難しいことしてるんだね・・・
日曜プログラマには遠い世界だ・・・
最先端を行くシェーダプログラマさん、応援してます!

440 :10/04/26
>>438
そんな感じ。
RSMからVirtual Point Lightsの基準になる点を選ぶ。
あとは、法線方向に半球に広がるSH係数を3Dテクスチャに書き込む。
それを6方向(±XYZ)に広げていくだけ。
使うときは3Dテクスチャをサンプリングするだけだから負荷も低い。
6方向だけだとイビツな形に広がっちゃうけど、LPVをカスケードすると緩和できる。
そのままだとオブジェクトを突き抜けて光が広がっちゃうんで、遮蔽するようなSH係数を書き込んでおいたり
SH Gradientを使って緩和したりするんだけど、そこまでやらんでもそれなりには綺麗になるよ。
大げさに書いてあるけど、実装自体はそんなに難しくないんでやってみる価値はあるかと。

441 :10/04/27
固定機能って英語でなんて言うの?

442 :10/04/27
Fixedなんちゃら?

443 :10/04/27
Fixed Fuction Shader
Fixed Pipeline

444 :10/04/28
そのままなんだ,どもども

445 :10/04/30
シェーダプログラムをVCみたくプロジェクト管理できるようになるのはいつごろになるんでしょうか

446 :10/04/30
w

447 :10/04/30
RenderMonkeyで十分だけど
最新のはもっと使いやすいのかな

448 :10/04/30
FxComposerは機能が多すぎて好きになれないなぁ
RenderMonkeyがシェーダモデル4.0に対応してくれれば最高なんだけど…

449 :10/05/01
シェーダーコードを記述していていつも思うんだが、
OpenGLでもDirect3Dでも、setShader("shader-code-filename", ...若干のパラメータ);
ですぐ適用されるような関数ってどこかにないものだろうか。

450 :10/05/02
単なるテクスチャとディフュースマップって別ものですか?

451 :10/05/02
テクスチャの使い方の1つがディフューズマップだろ

452 :10/05/02
えっと..そうですね

453 :10/05/06
>>435
その方法は焼付けでしかまだ使われてないな
重い方のSSAOですらそれを簡略化したやつに留まってる

454 :10/05/06
>>453
今のGPUはカメラが1つなのが問題だと思う。
640x480個ぐらいの視点を一度にレンダリングできれば、
プリミティブは1回だけレンダリングパイプラインに送ればいい。
現状AOが一番視覚的な効果が大きいので
GPUメーカーはここを何とかすべきだと思うのでござる

455 :10/05/06
つまりレイトレに移行しろってことね

456 :10/05/06
それで「リアルタイム」レンダリング出来るなら別にいいけどな・・・。
リアルタイムじゃなくていいなら現行のGPUとDirectX11で出来るわ。

457 :10/05/07
ComputeShaderで標準化されたおかげで
GPU Kd-Treeが結構現実的な選択肢になってきたしなぁ。
ゲームでも影と反射計算だけレイトレで、ってのはそんなに遠くない未来にできそう。

458 :10/05/07
ハイブリッドレンダリング・・・か・・・

459 :10/05/07
まあ現行の技術もインチキ満載だし

460 :10/05/07
インチキで飯食ってる人は廃業かねぇ・・・

461 :10/05/07
携帯機が絶好調のご時勢にシェーダーバリバリ使ったグラフィックスな方が時代の流れには逆らってるだろ。
どうせ現実や写真には勝てないんだからただリアルになりゃいってもんじゃない。
パラメーターもアホほど増えるしコストもアホほど増えてるし。

462 :10/05/07
なんか、そんな感じになってきたねぇ・・・
これからのリアルタイム3Dグラフィックスはどうなっていくやら・・・

463 :10/05/08
そもそもゲームが飽きられてるという根本的な問題

464 :10/05/08
iPhoneでもGLSLは使えるんじゃないのけ?

465 :10/05/08
今はDirectXのパイプラインがどんどん増えて複雑化する一方だが、
いずれリセットされてソフトウェアレンダ時代に回帰(=GPGPU)するだろうと予想してるゲーム開発者もいるみたいね。
NVのFermiやIntelのLarrabeeは明確にそれを指向しているし。
でも、マイクロポリゴンもボクセルもリアルタイムレイトレも思いの外遠いなあ・・・。
遠いといえばユーザーインターフェースもだな。
2010年ともなれば、脳神経に無線介入して視覚や聴覚等の身体感覚をダイレクトに乗っ取って情報を流し込んだり
脳波で全ての操作が可能になってキーボードやマウスが不要になったり、
もう少しそれを進めて脳とコンピューターを(プロトコルを介して)接続して思考を拡張したり出来る様になると思っていたのに、
メガネかけて立体視が最先端、70、80年代と本質的には変わりなしとは幻滅もいいとこだよ。
百歩譲っても、空中に結像する立体ディスプレイ位は絶対にあると思ってた。

466 :10/05/08
胸が熱くなるねぇ・・・
でも、ソフトウェアレンダリングは一部の優秀な人間しか構築できないだろうから、
今のDirectXみたいな広がりは見られなくなるだろうね・・・

467 :10/05/08
ソフトウェアレンダラーの時代になったときに
いったいどれだけの人間が残れるんだろうな・・・

468 :10/05/08
おまいら今からpbrt読んどけってこった

469 :10/05/08
>>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映像化は、たぶんハードの方でやるだろうから、我々のやる事は変わらなそうだね。
この辺は楽ですなぁ。

470 :10/05/09
>>440
レスthx
大分理解が進んだ気がするけど、実装方法がいまいちわからず
いくつか質問させてください
>RSMからVirtual Point Lightsの基準になる点を選ぶ。
fluxマップの各テクセル全てが二次光源になるということ?
>あとは、法線方向に半球に広がるSH係数を3Dテクスチャに書き込む。
このSH係数はどうやって求めるんだろう?任意の位置のfluxマップの近傍からどうにかするんだろうか?謎
あと3DテクスチャへのレンダリングってたしかDX10以降じゃないとできないよね?
>それを6方向(±XYZ)に広げていくだけ。
これもCPU側で全グリッドをぶんまわして処理するんかな?
>カスケード
>遮蔽するようなSH係数を書き込む
>SH Gradient
この辺に至ってはさっぱりイメージもつかない・・・
概要はなんとなくわかったけど実装となると・・・・
サンプル(擬似コード)を書いてくれると非常にありがたいのだけども

471 :10/05/09
>>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
日本語でおk

473 :10/05/09
パーティクル系の話題は無いですか?

474 :10/05/10
ビルボード沢山並べとけ

475 :10/05/10
>>471
うおおありがとう!あなたが神か
がんばってみる

476 :10/05/10
誰か>>470-471を俺にも分かるように解説してくれ

477 :10/05/10
すごいレベルの人がいるな・・・

478 :10/05/10
最先端のシェーダは複雑すぎて理解できなくなってきてるしなあ

479 :10/05/10
勉強せよせよせよせよ(残響音含む)

480 :10/05/10
まぁ色々な意味で難しいよな。
最新技術がバリバリだからって職があるわけじゃねえし。
ゲームを作るための能力とは別のものだからな・・・。
ある程度地位が上がってくるとその辺勉強する時間がなくなる。

481 :10/05/10
ぴくさーにてんしょくするといいとおもうよ

482 :10/05/11
偉くなったらディレクターだのマネージャーだのと
当たり前のように考えてる日本企業は遅れてるよなあ。
海の向こうみたいに、シニアエンジニアでいいじゃん。
管理職なんてやりたくないよ。。。

483 :10/05/11
シニアエンジニアつってもじゃぁ国立大出身の20〜30代とか相手にして
いつまでも技術的に優位に立てるかって話になるとまぁ無理だろ。
給料も若造なんかより断然いいんだから技術が同程度じゃ首切り候補にしかならんし。
経験を生かすって言う意味なら管理職は悪くないと思うけどね。
管理専任ってわけじゃなくコーディングもする現場で陣頭指揮執る感じでなら。

484 :10/06/12
最近シェーダを覚え始めたのですが,
シェーダファイルというのは,
ポリゴン1枚ごとに用意するようなものなのでしょうか?
全体で1ファイルくらいのイメージだったので...

485 :10/06/13
好きにすればいい。
そんなものは人それぞれだ。

486 :10/06/23
さて、シェーダが枯れてきた今日この頃、シェーダに挑戦したおれが
通りますよ

487 :10/06/23
シェーダ時代もそろそろ終焉か・・・
10年は流行ったな。

488 :10/07/03
モバイルや組み込み用途でまだまだ通用するんじゃないか

489 :10/07/18
ComputeShaderもシェーダって言っていいじゃない!

490 :10/07/30
終わったとかじゃなく
標準装備じゃないの?

491 :10/07/30
そうだよな、じゃなきゃ
C++時代も終焉
Windows時代も終焉
PC時代も終焉
デジタル機器時代も終焉
になっちまう。

492 :10/07/30
ネタにマジレスかk

493 :10/12/29
sh−だ

494 :10/12/30
シェーダで色々試してるけど、デバッグが大変。

495 :11/03/06
まだ生きてたか

496 :11/03/06
シェーダおもしろい。
すごい絵を生み出すプログラム言語。
たまらない。

497 :11/08/24
2001年からあるのかよこのスレ

498 :11/08/24
まだまだシェーダの時代は続くよ

499 :11/08/31
最近はシェーダのアルゴリズムをノードで作る機能がちらほらあるな
実際HLSL知らない素人がすごいシェーダを作ってる

500 :11/08/31
有名なゲームエンジンに搭載されているのをよくみかけるね。

501 :11/09/04
autodeskのサブスク入ってるとmental millが使えるらしいけど、
他にないのかな。汎用エディタ

502 :11/09/17
unityやmayaでシェーダ書きたいんですけどオススメの勉強方を教えてください。

503 :11/09/17
>>502
Born Digitalのシェーダの本読みながら自分でテストするのが一番速いよ。

504 :11/09/17
やっぱボーンデジタルだよね。

505 :11/09/17
>>503
やっぱそうですかね。
>>504
そのレスのおかげで騙されているのがわかった・・

506 :11/10/16
シェーダに挑戦したいんですが、分かりやすい入門サイト教えて下さい!

507 :11/10/17
>>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
有名なプログラマさんの本。
今や東大の博士号持ち。
工学的素養があると読み易いだろうけど、そうじゃなくても気合があれば大丈夫。
がんばれ!

508 :11/10/17
ttp://www.t-pot.com/program/index.html
ttp://digitalerr0r.wordpress.com/tutorials/

509 :11/10/18
おお、こんなにたくさん…ありがとうございます!

510 :12/01/25
質問です
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 :12/01/25
>>510
VS_OUTPUT構造体の宣言見せて。

512 :12/01/26
データには含まれてるのは確実だが取得できないってな風な言い方だがちゃんと確認してるんだろうな
メタセコ自体は頂点カラーないが、ちゃんとマテリアルから頂点カラーに変換してるんだろうな
色の違う2つ以上の隣接する面の境目の頂点はちゃんと面の数分の頂点にわけてるんだろうな
データに頂点カラーありません、もしくは全部白でしたって落ちなら、ちょっと確認すればわかるはず
それくらいのことにも頭の回らないやつはシェーダとかプログラムとか向いてないからやめちまえ

513 :12/01/26
>>511
struct VS_OUTPUT{
float4 Pos : POSITION;
float4 Col : COLOR;
};
構造体はこんな感じです
>>512
頂点色がxファイルに含まれてる事は確認しています
それ以下のことは数日前にシェーダ始めたばかりなので知りませんでした
調べてみます

514 :12/01/26
>>513
う〜ん、問題無さそうだなぁ。
「頂点色が取得できない」とあるけど、
色が付かないだけ(黒で描画される?)で、
頂点通りの形状は描かれている感じ?
fx composerは知らないから何とも言えないけど、
シェーダに与えるデータストリームがどういう区切り
(1頂点につき座標、色なのでfloat8個分)なのかが、
シェーダ側が分かっていないのかも?
「1頂点が座標と色で成り立ってますよ」っていう情報は
どうやって教えてる?

515 :12/01/26
>色が付かないだけ(黒で描画される?)で、
>頂点通りの形状は描かれている感じ?
まさにその通りです
モデルに.fxを適応させると全部が黒く塗りつぶされてしまいます
適応させないと元のモデルまま表示されるのですが・・・

516 :12/01/26
>>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ともに意図した通りの表示になるなら頂点シェーダからピクセルシェーダへの
データ渡しがうまくいっていない可能性がある。

517 :12/01/28
>>516
試してみました
テスト1:変わらず黒く塗りつぶされたままでした
テスト2:指定した色で塗りつぶされました
また、関係ないかもしれませんが頂点シェーダで
Out.Col = float4(1,1,0,1);
としたら黄色で塗りつぶされたモデルが表示されました。
一応確認の為xファイルをテキストエディタで開いて確認した所、ちゃんと頂点色はありました
(MeshVertexColors{〜〜} の所でいいですよね?)

518 :12/01/28
>>517
その結果だと、頂点シェーダの時点で色を渡せてないね。
FxComposerがxファイルを読み込むときに問題があるのかも。
今回問題のxファイルはモデラで作ったの?
どっかから拾ってきたやつ?
できればアップローダにアップしてほしい。

519 :12/01/28
>>518
モデルはメタセコイアで自作しました。
作成したxファイルを下にアップロードしました。
特にパスワードなどは指定していませんのでそのままダウンロード出来るかと思います。
ttp://www.rupan.net/uploader/download/1327749433.x

520 :12/01/28
>>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のほうを使ってくれるのかな?

521 :12/01/28
ごめん、Diffuse色は一番上のRGBAだね。
んで、そこいじったとしても、>>510のコードでは色が付かない可能性が高い。
DirectXプログラムでは、マテリアルの色を使う場合、ホスト側からGPUのグローバル変数として色を指定するし。
頂点色を使う場合はFVFを使ってできるんだけど。
FxComposerがどういう仕組みでデータを流してるのか分からないと対策立てにくいなぁ。

522 :12/01/28
>>512
520の内容を試してみたのですが521の予想通り真っ黒でした・・・。
もう一度FxComposerとDirectXの仕様等々を調べてみます。
3日間にわたって質問に答えて頂いてありがとうございました。

523 :12/01/29
>>522
FxComposer2.5インストールして試してみた。
たしかに頂点カラー、読み込めないね。
マテリアルカラーは、FxComposerに放り込んだ時点で反映されて表示されるものの、
それをHLSLで使うことはできないみたい。
しかも、複数マテリアルだと、表示はするものの、編集は一つしかできないw
頂点カラーについては読み込もうとすらしていないような気がするw
こういう使い方は想定されていないんじゃないかと思う。
そこで、FxComposerを使わない代替案を考えたほうがイイと思うんだが、
>>510がHLSLの勉強をするにあたって、目標としていることは何だろうか?
どうしてもFxComposerを使わなければならない理由はある?
DirectXプログラムでグラフィック表現したいとかだったら、
簡単なDirectXプログラムを組んで、その上でシェーダ開発したほうがより実践的で良いこともある。
(FxComposerの魅力的な機能も捨て難いけどね)

524 :12/01/29
>>523
なるほど。。。
わざわざありがとうございます!
HLSLを勉強する目的はゲームエフェクトを作成したいと考えているのです
もっと突っ込むと少しパラメータをいじると炎の大きさや色を変えてエフェクトファイルを出力する、と言った
知識なしである程度のエフェクトを作成することのできるツール(?)を作りたいな〜と。
なのでFxComposerを使わなければならない理由はありません。
>>DirectXを組む
昔挑戦して挫折したんですよね…
この機会にリベンジしてみます!

525 :12/01/29
>>524
おお、パーティクルエディタか!
おもしろそうだね!
パーティクルの挙動とかをゲーム実行時に動的に制御したりとか幅を広げることを考えると、
DirectXをベースにした開発基盤を構築したほうがベターではあるね。
DirectXプログラム、しんどいとは思うけど、よい志があるんだからがんばってほしいな。
フリーで高性能なゲームエンジンが台頭している中、熱いよ君。
また壁に当たったら、このスレやDirectXスレで聞いてみてくれ。
応援してるぞ。

526 :12/01/29
>>525
Mayaとか3DSmax使えば簡単にできる事をわざわざやろうとしている変人ですw
が、そう言えってもらえるとモチベーション上がります!
DirectXから勉強初めて行きたいと思います
ありがとうございました!
TOP カテ一覧 スレ一覧 2ch元 削除依頼
【囲碁?】囲連星のAIを作ってみよう【連珠?】 (728)
四次元ゲーム作らないか?? (663)
ロックマンワールド5をFC風にリメイク Part1 (187)
ゲームにおけるデータ構造・クラス設計・パターン2 (600)
ゲームプランナー (705)
【同人】作ったゲームを金にする その3 (702)
--log9.info------------------
●   糞ソフト決定戦スレ      ■ (501)
学生でなくてもアカデミーパックが買える店 (485)
ZoneAlarmの使い方 (232)
GIMP for Win32 ってどうよ? (320)
1万円前後以内で便利なペイントツール (184)
.pdf>>>>.ppt (100)
自治スレ@ビジネスソフト板 (105)
Microsoft OGA が本格始動 part2 (102)
地図ソフト(その7) (970)
★★★ 弥生人事給与 ★★★ (432)
Office2007\(^o^)/オワタ (162)
【質問不可】Excel総合相談所スレの雑談・議論スレ2 (881)
在庫・出荷管理について語りませんか? (120)
【ソース】StarSuite7【サン】 (266)
【金】超漢字原稿プロセッサ【SPD2004受賞】 (179)
$ 勤務先がPCソフトの不正コピー $ (105)
--log55.com------------------
【乃木坂46】久保史緒里応援スレ☆36【くぼちゃん】
【乃木坂46】北野日奈子応援スレ☆51【きいちゃん】
【霊長類】さいとうあすかさんかあいい【最カワ】14(ひとよん)でさいこうのびしょうじょ、のぎざかをひっぱるつよい14(いし)
【乃木坂46】松村沙友理応援スレ☆240【さゆりんご】
【乃木坂46】高山一実応援スレ★65【かずみん】
【乃木坂46】早川聖来応援スレ☆3【せーちゃん】
【乃木坂46】佐藤楓応援スレ☆13【でんちゃん】
体調不良で全ツ全休の大園桃子さん、車の免許を取りに行ってる模様