トップページgamedev
509コメント160KB

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

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。01/11/08 11:06ID:???

       ∧ ∧      / ̄ ̄ ̄ ̄ ̄ ̄ ̄
       (,,・∀・)    <  ゲームにもシェーダーの時代到来でち♪
       @_)      \_______


バーテックスシェーダーとかピクセルシェーダーとかを語りまくるスレ。
0110名前は開発中のものです。02/05/18 16:05ID:???
>>108
NVasmってDX専用だったんだ?
ふーん、つーかDirectXに乗り換えた方が良くない?
はっきり言ってそんなバラバラ仕様のGLなんて
よく使う気になれるよね。
0111名前は開発中のものです。02/05/18 19:22ID:???
>>109
最終的に文字列で駆動しなければならないこと自体が嫌なんだよ。
DX8みたいに中間バイナリフォーマットがあればまだ良かったのだが。
0112名前は開発中のものです。02/05/19 00:17ID:???
メモ帳をそのままぶち込めるのは楽ではあるけどね。
0113名前は開発中のものです。02/05/19 00:24ID:???
>>111
テキストとバイナリでどういう違いがあるのか判らん
内容そのものを動的に生成するわけでもなし・・・
0114名前は開発中のものです。02/05/19 00:34ID:???
テキスト覗かれるのがイヤなのでは?
暗号化すれば済む話ですが。
011510602/05/19 00:40ID:???
>>109
>>108は俺じゃないです。ちなみに>>111も違います。
できないと判れば勿論何らかの形から内部でアスキー形式にせざるを得ない訳ですが…。
出来ないことが確認できればそれはそれでOKです。
どうもでした。(ペコリ
011611102/05/19 00:53ID:???
頂点プログラムをロードする最低レベルの関数glLoadProgramNVの内部に
パーサが実装されているのって気持ち悪くないですか?
011710602/05/19 01:06ID:???
>>116
描画直前のデータを持っておきたいという気持ちは結構自然なことだと思いますけど、
(俺も出来ればそうしたい)まぁOpenGLのディスプレーリストみたいなもんだと思えば
個人的には納得できなくもないです。

リリース用のプログラムに永続化された描画用データを希望してしまうのはある種の
プログラマの職業病かもしれないな…。
0118名前は開発中のものです。02/05/19 01:18ID:???
一言いわせてもらえば、
ソ ー ス が あ る の に 何 い っ て ん ね ん カ ス ど も
0119名前は開発中のものです。02/05/19 01:52ID:???
何のソース?
0120名前は開発中のものです。02/05/19 03:08ID:???
OpenGL2.0もそんな感じだったりして。
0121名前は開発中のものです。02/05/19 04:07ID:???
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);
0122名前は開発中のものです。02/05/24 02:36ID:tlRT6Yhk
保守あげ、ついでに質問。

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系は使わないんですけど、判らないと気分が悪いので。
0123名前は開発中のものです。02/05/24 07:04ID:???
(´-`).。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.
012412202/05/24 09:59ID:???
>>123
ありがとうございます&注意が足りませんでした、ごめんなさい。
0125名無しさん@お腹いっぱい。02/06/02 21:03ID:zfVZ9TZE
DX9シェーダーがまともに動くNotePCありますか?
0126名前は開発中のものです。02/06/02 21:10ID:???
>>125
デスクトップ用でもまだ完全対応していないのに・・・。
Geforce4GOとかMobileRadeonなら少しはいけるんじゃないの?
0127名前は開発中のものです。02/06/02 21:32ID:???
まともってのは、まともな速度って事?
0128名前は開発中のものです。02/06/02 23:11ID:h9WgTC2s
今現在ノートにのってるビデオチップでシェーダに対応してるのって無いよね
ほしいなー
0129名無しさん@お腹いっぱい。02/06/03 00:22ID:qW0.fcc.
>127
VS2.0のflow controlを試したいんだけど、、
0130名前は開発中のものです。02/06/03 03:17ID:???
VSならソフトウェアでもまともな速度で動くと思うが。
Radeon8500の30分の1の速度がまともかどうかは意見が分かれるかもしれないけど。
少なくともDX9βテスターの9割以上はソフトウェアで試してると思う。
0131名前は開発中のものです。02/06/03 09:51ID:Q0hI7iUA
DX9βのSDKってもうでてるのん?
0132名前は開発中のものです。02/06/13 23:41ID:LnCmV/3o
NVIDIA Cg ToolKit アゲ
http://developer.nvidia.com/view.asp?IO=cg_toolkit
0133名前は開発中のものです。02/06/14 09:28ID:jIcRVJt.
ねえpdfからテキスト抽出って出来ないの?
わからない単語翻訳通したいんだよね。
013413302/06/14 09:30ID:jIcRVJt.
標準で出来るのね・・。知らんかたよ。
0135名前は開発中のものです。02/06/17 07:20ID:stxZqyeA
レジスタコンビナの各レジスタの入力値って[-1,1]とか書いてありますが、
これって実際のテクスチャ値とどう関連してるのですか?
[-128, 127]にそのまま相当?
0136名前は開発中のものです。02/06/17 23:09ID:???
結局、国内では「レジスタコンビナ」という呼び方が
デファクトスタンダードになるのか・・・(鬱

まぁ、どうでもいいけどな
0137名前は開発中のものです。02/06/17 23:12ID:???
?
コンバイナってこと?
0138名前は開発中のものです。02/06/17 23:46ID:???
まぁ、普通は「コンバイナ」と呼ぶということで。

[例]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
0139名前は開発中のものです。02/06/18 00:43ID:???
register combiner使ってる奴、国内に一人もいないのでどうでもいい。
0140名前は開発中のものです。02/06/19 13:44ID:???
1人いたけどね。
0141名前は開発中のものです。02/07/02 08:50ID:???
ファーシェーディングってみなさんどうやっています?

毛のテクスチャを張ったポリゴンを常に視線方向を向くように頂点位置を補正、
もしくはスプライトとして転送すれば良いかなと思ったけどどうかな?
0142名前は開発中のものです。02/07/02 11:43ID:???
   ∧ ∧  
   ミ,,・Д・彡 フサフサage!
 〜ミ___ 彡
0143名前は開発中のものです。02/07/02 13:25ID:???
なんでシェーダスレに書くのか分からん。3D技術スレのネタだろうに。
つーかサンプルがある筈だが。サンプルも読む気ないならやめなさい。
0144名前は開発中のものです。02/07/02 19:20ID:???
>>141
kanoたんサンプルの見るべし。ただしRADEONでないと動かない罠。
0145名前は開発中のものです。02/07/02 20:59ID:???
簡単に言うと半透明の十二単だよな。
0146名前は開発中のものです。02/07/02 21:14ID:???
>>145は今うまいこと言ったと思ってるな。
0147名無しさん@お腹いっぱい。02/07/27 08:39ID:CmS1NJvU
nVidia cg
ATI RenderMonky
MS HLSL(HighLevel Seading Langage)
0148名前は開発中のものです。02/07/27 12:34ID:???
OpenGL 2.0 Shading Language
0149名前は開発中のものです。02/07/31 10:44ID:ifCAFhq6
あのさ、だれがCg+VS.NETでうまくコンパイルできてる人いる?
どーしても
std::_Xlen
std::_Xran
(こいつらが、Vc7/crt/src/string.cpp にいるのはわかったけど・・・)
が無いっていわれるし、でっちあげてもうまく動かないし?
015014902/08/05 20:17ID:4yEcJedo
STLとどうやら、相性がわるいらしい。
STLportにかえてみてもだめだった。
0151名無しさん@お腹いっぱい。02/08/07 22:37ID:USYFolTg
ピクセルシェーダーで、画像処理のサンプルというのは
どこかにありますかー?
0152名前は開発中のものです。02/08/12 04:48ID:SHVLA4gT
ガイシュツな気もするけどなー。ここ
http://www5.tok2.com/home/IF/edge/index.html
0153名無しさん@お腹いっぱい。02/08/12 21:10ID:???
>152 Thanks,
[SharderX] Vertex and Pixel Shader Tips and Tricks
の本を買ってみたけど肝心な画像処理サンプルが抜けて
たりする。

015402/08/19 20:12ID:mF4sVHfd
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プロファイル値がおかしい。
メソッドを操作する度にコロコロ変わる。リークしてる?
皆さんはこんなことない?
0155名前は開発中のものです。02/08/20 02:18ID:???
cg最初のバージョンは敬遠してます
0156名前は開発中のものです。02/08/20 10:30ID:zLfiLQLE
RenderMonkeyアゲ
http://www.ati.com/developer/sdk/radeonSDK/html/Tools/RenderMonkey.html
0157名前は開発中のものです。02/08/27 16:10ID:LTw0Z8e+
ちみたちもっと技術的な話をしろや。
保守アゲするぞ。
ちなみにnVidiaのBumpHorizonのサンプル
あのソース、レンダーステートの設定が一箇所抜けてて
あれじゃまともに表示されん。ふざけんなボケ、俺の二日間を返せ。
0158名前は開発中のものです。02/08/27 16:17ID:LTw0Z8e+
ちなみに>>154の不具合は
float4 vPos;
vPos.x = vPos.x * (1.0f / vPos.w);
と書くことで回避できた。
新しいコンパイラでは直ってるかな?

>>155
現状の出来では、それも仕方ないかも。
PSでペアとかしてくんないしね、ほんと使っててイライラするよ。
インラインアセンブラみたいなのついてて、気に入らないところは
部分的に修正出来るようにしてくれればいいのにね。
まあこんなことで悩むのも今だけだろうけど。
0159名前は開発中のものです。02/08/27 19:11ID:???
終わったスレはあげられてもな。
0160名無しさん@お腹いっぱい。02/08/31 00:26ID:3E83J4pN
Shader を終わっているって言っているのか?
0161名前は開発中のものです。02/08/31 07:25ID:???
エロゲには必要ないんでしょ
0162名前は開発中のものです。02/08/31 23:08ID:???
DirectX9まだ?
0163名前は開発中のものです。02/09/03 09:29ID:4c1SKthC
シェーダーって言っても映画で使われてるようなのできるわけじゃないよね
0164名前は開発中のものです。02/09/04 02:15ID:I4i7Lcwo
んなことねーぞ。
無理なものは無理だろーが、数年のタイムラグというものまである。
http://www.atmarkit.co.jp/fjava/column/andoh/andoh12.html
0165名前は開発中のものです。02/11/01 08:50ID:???
漏れら極楽人道のageブラザーズ!
良スレっぽいものは強制的にageてやるからな!
 ̄ ̄∨ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  ∧_∧   ∧_∧    age
 (・∀・∩)(∩・∀・)    age
 (つ  丿 (   ⊂) age
  ( ヽノ   ヽ/  )   age
  し(_)   (_)J

0166名前は開発中のものです。02/11/01 13:23ID:???
          終  了  し  ま  す  た 。
         n                          n
       ミゝヽ                        / ヾ彡
        ゝ ノ                        ヽ ヾ
        / /∧_∧                ∧_∧| ヽ
        |  <( ´∀`)               (´∀` )> |
        ヽ ゝ ヽ⌒ヽ              /⌒丶 ゞ /
        ヽ        ヽ   n___  _n    /       /
          | 完  /ヽ ⌒二ソ__彡ミ__ゝ二⌒  /ヽ終了|
      / ̄\_|    |  ̄ ̄          ̄ ̄   |    |_/ ̄ヽ
      \ ヽ       ヽ                 /      ノ  /
       \⌒ゝ~\  \               / /~ ヾ⌒ /
        ヽ (    \  \           /  /    ) /
         ∪    \  \       /  /      ∪
                \  \ │ /  /
 ̄ ̄                / ̄\  / ̄ ̄ ̄ ̄ ̄ ̄ ̄
                  ─( ゚ ∀ ゚ )<  おしまい!
                    \_/   \_______
                  / │ \
0167山崎渉03/01/13 13:20ID:G8kY8r9W
(^^)
0168名前は開発中のものです。03/05/12 23:50ID:XewRwL3b
0169名前は開発中のものです。03/05/13 01:23ID:H4JTHQ9J
                     ┌────┐
     ┌──────┐    ┌┤┌───┘
     └──┐┌─┬┤    │││
           ││  ││    ││└──┐
           ││  │└──┘│┌──┘
           ││  │┌──┐││
           ││  ││    ││└────┐
   ┌───┤├┐││    │├────┬┘
   │┌──┤├┴┼┘    ││┌──┐└┐
   ││    └┤  └┐    └┤│    └┐└┐
   ││      │┌┐└┐    ││      └┐│
   │└──┐││└┐└┐  ││        ││
   │┌──┘││  └┐└┐││        ││
   ││      ││    └┐└┤│        ││
   │└───┴┴┐    └┐││      ┌┘│
   └────┬┬┘      └┤│    ┌┘┌┘
             └┘          │└──┘┌┘
                     └────┘
0170名前は開発中のものです。03/11/15 15:18ID:96u+Jean
良スレ発見!
終わらせるものかage!
0171名前は開発中のものです。03/11/15 16:32ID:/6BtnWJh
では、スレ再開を記念して。

  ∧⊂ヽ   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  (゚Д゚)ノ <  シェーダ
  | ⊃|   \__________
  |  |
  ⊂ノ〜
  ∪
017217003/11/15 16:33ID:96u+Jean
いきなりクレクレで申し訳ないのですが
シェーダ内で法線マップ正しく頂点の法線に足しこむ方法を教えてくれませんか

それっぽく見えるようになっているのですが、法線マップと頂点の法線の向きを合わせる方法がわからなくて(馬鹿

ttp://tool-ya.ddo.jp/2ch/trash-box/file/20031114222119295.zip

猿ファイル二つとテクスチャが入ってます

hlslnormal.rfx
HLSL記述
1パス
ランバート拡散とフォンシェーディングっぽいもの

normal.rfx
訳有ってアセンブリっぽい方の記述
1パス
ランバート拡散と無意味にメタリック

おながいします
017317003/11/16 01:42ID:nJSV8LX3
メタリックの式が間違ってた。
それとテクスチャ。

ダサ
0174名前は開発中のものです。 03/12/31 00:59ID:CdQZClcC
今日から本格的にシェーダプログラミング始めますんでヨロシコ。
盛り上がっていきまっしょい
017517404/01/12 13:42ID:3YDimLOw
シェーダーの本買ってきた。
なかなか良さげだ。
みなさーん一緒に勉強しましょ!
017617404/01/12 13:44ID:3YDimLOw
http://www.amazon.co.jp/exec/obidos/ASIN/4839912475/
この本だよ!
0177名前は開発中のものです。04/09/15 20:17:04ID:cBeS+wob
古スレ記念
0178名前は開発中のものです。04/10/15 17:43:14ID:oJGIOljH
シェーダーもいいかげん死語だな。
0179名前は開発中のものです。04/10/15 17:46:33ID:HRqsoEyw
>>176
でも著者がこんな顔だぞ
http://cedec.cesa.or.jp/session/img/picR29a.gif
0180名前は開発中のものです。04/11/29 14:14:57ID:pE9yVHbx
>>179
DirectXプログラマの集いに参加すると笑えるぞ
同じような顔が15人は並ぶからな
自慢じゃないが俺は最後まで名前と顔が一致しなかった
俺は言いたかった

「すいません御兄弟ですか?」
0181名前は開発中のものです。05/01/24 22:06:52ID:UwOkG7MT
>>179
ものすごくがっかりした
謝罪しる
0182名前は開発中のものです。05/02/05 02:59:37ID:RZ3SQ427
おい
海外のシェーダのデモとかサンプルとか知ってたら教えてクレヨンしんちゃん
0183名前は開発中のものです。05/02/05 03:26:09ID:gr0Nvap8
まずnVidiaとATIに行け。
0184名前は開発中のものです。05/02/10 03:35:07ID:wKmgglD9
>>170
ちょい遅レスだが。
法線の方の向きを合わせるのはあきらめてシェーダに定数として渡すライトベクトル
の方にワールド行列の逆行列を掛けたら?
0185名前は開発中のものです。05/02/11 16:43:34ID:m9rzUo45
ま、これからの時代はGLSLなわけだが。
0186名前は開発中のものです。05/02/14 18:18:12ID:d5mg4du1
Kanoさんって今なにしてるの?
0187名前は開発中のものです。05/02/14 20:50:14ID:/lDxfr2H
本田大地くんに堕落させられました
0188名前は開発中のものです。05/03/09 00:31:04ID:rI+qk0tK
しぇー
0189名前は開発中のものです。05/03/09 02:16:21ID:O5DaMxRo
>>179
顔で選ぶな馬鹿。シネ。
0190名前は開発中のものです。05/03/09 07:14:13ID:hF5pOQy8
つーかフラグメントシェーダって悪くなくね?
使ってるやついる?
0191名前は開発中のものです。05/03/20 15:20:25ID:96IBy+Px
>>190
0192名前は開発中のものです。2005/03/25(金) 06:04:51ID:bByj27WB
シェーダプログラマーって、人数が少ないのか?
0193名前は開発中のものです。2005/03/26(土) 01:33:02ID:xO2D6fuL
CgやHLSLならバカでも出来る。
参考書やサンプルも山ほどあるしな。
0194名前は開発中のものです。2005/03/26(土) 18:54:03ID:67788xOD
プログラマブルシェーダとしては、Cg, HLSL, GLSLなんかがよく知られてるが、
現状のコンシューマ機だと、独自仕様なものになるんかな?

PS3, 次期XBoxとかだと、GLSLとかHLSLを採用してきそうだが。
0195名前は開発中のものです。2005/03/26(土) 20:23:04ID:CRdNdg33
むずいよー、通常のモデル(三角四角ポリ情報のみ)の「稜線」を、特にハイライトして描画
…ってシェーダだけで出来ます?出来るって言われて試行錯誤中ですが…あいつも素人だしなぁ。

>>194
GLSLじゃ無いみたいですねぇ
ttp://pc.watch.impress.co.jp/docs/2004/0729/kaigai104.htm
0196名前は開発中のものです。2005/03/26(土) 21:53:52ID:NgsnLxI3
>>195
メッシュから稜線を判断して強調だとシェーダだけじゃ無理。
0197名前は開発中のものです。2005/03/26(土) 22:37:50ID:CRdNdg33
>>196
ですよねー!あー解放解放、ビール買ってこよ。
ありがとうございました。
0198名前は開発中のものです。2005/03/28(月) 11:48:14ID:5uWKuuRq
>>195
LINE LOOPみたいなプリミティブで線書くのがいいとおもうけど
無理やりシェーダでやるなら面法線をフラグメント単位で書き出して
フルスクリーンのポストエフェクトで隣り合う法線情報同士が違ったら
ハイライト描画とか?

でも法線も用意しちゃダメならこれもダメか。
0199名前は開発中のものです。2005/04/03(日) 23:15:59ID:HEeIG50B
shあげ
0200名前は開発中のものです。2005/04/03(日) 23:43:24ID:x8Goihlm
誰かIBL実装できますか
0201名前は開発中のものです。2005/04/03(日) 23:55:12ID:7LNlxkqa
RenderMonkeyのサンプルに疑似IBLがあったような
0202名前は開発中のものです。2005/04/21(木) 15:55:03ID:tXFpvFT5
あまり集ってないな
0203名前は開発中のものです。2005/05/02(月) 16:51:04ID:voxaYVPT
集う暇がないのか?
0204名前は開発中のものです。2005/05/02(月) 19:56:42ID:fHtVOYpM
MacOSX10.4でGLSLが使えそうで使えないから
0205名前は開発中のものです。2005/05/04(水) 23:14:49ID:HtUXHLwC
ゲーム製作者のヒエラルキー

ゲームデザイン>>>>>
グラフィック=サウンド
>>>>>(クリエイターとITドカタの壁)>>>>>プログラム

この板でプログラムとかいってるやつは恥ずかしい
しかも企画厨という言葉まで作って現実逃避
企画ゲームデザインが一番偉くて
グラフィックサウンドも重要 クリエイティブな仕事だから
結局プログラムは言われたものを作るだけのITドカタ
認識しようね
プログラムの勉強をしても無駄
0206名前は開発中のものです。2005/05/04(水) 23:30:21ID:GfYBl8/B
おっしゃるとおりです
0207名前は開発中のものです。2005/05/06(金) 12:26:06ID:ViG7yoBc
企画がだめだと全部だめ
0208名前は開発中のものです。2005/05/07(土) 01:24:16ID:VpZIDoPM
なんか流行の格好良いシェーダ無い?
0209名前は開発中のものです。2005/05/11(水) 16:20:08ID:ayxz5d8v
>>208
シェーダアセンブラ
■ このスレッドは過去ログ倉庫に格納されています