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

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

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

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


バーテックスシェーダーとかピクセルシェーダーとかを語りまくるスレ。
0353名前は開発中のものです。2008/05/19(月) 08:52:50ID:rtffb3r0
HLSLの仕様ならDirectXのリファレンスを読めばわかる
サンプルも豊富だから大まかな流れややり方もわかる

DirectXのサンプル以上のレベルのことをやろうと思うと
論文を読むしかないのかな…場合によっては英語の
0354名前は開発中のものです。2008/05/19(月) 20:52:57ID:Jd0iVTiK
>>352
N2Factoryの"DirectX シェーダプログラミング"はどうだろう?
Amazonでの評価も悪くないし、本屋で見てなんとなく分かり易そうだったので買ってみた。
只、自分はプログラミングそのものもこれからスタートなので良し悪しはよく分からない。
0355名前は開発中のものです。2008/05/21(水) 19:22:55ID:2ux/DlIA
>>354
良い本だよ。
ただ、サンプルコードが古いSDKを利用したものなので、その辺りは注意が必要。
CD付属のSDKを使えば大丈夫

なんだが…すでに最新のSDK入れてる身としては面倒だ…。
0356名前は開発中のものです。2008/05/22(木) 08:34:34ID:CXb/PGW8
nVidiaやATIの出してる分厚い高い本がお勧め
でもその前に>>354みたいなのを読むべき

どのみち一冊じゃ足りないと思うなぁ
0357名前は開発中のものです。2008/05/22(木) 22:39:59ID:S6DTcD13
なんかシェーダって、アニメーションと各種シェーディング、影、ぼかし、HDR、歪みぐらいが
いまのところやれる範囲で、意外とやることが少ないような気がするんだけど。
0358名前は開発中のものです。2008/05/22(木) 22:52:17ID:4dhxMEZK
gpgpu.orgにあやまれ
0359名前は開発中のものです。2008/05/22(木) 23:54:44ID:f5THZ75h
「シェーダ」でシェーディング以上のことが出来る時点で
0360名前は開発中のものです。2008/05/23(金) 08:28:01ID:YEhP3e8g
>>357
普通にやる分にはそうかもしれないけど
固定概念に縛られずに自由な発想でいろいろやってみることは大事
0361名前は開発中のものです。2008/05/23(金) 13:07:12ID:+ZyqBEBE
観念してね
0362名前は開発中のものです。2008/05/23(金) 20:19:33ID:3+PkBwn6
そもそもシェーダで出す絵がない
0363名前は開発中のものです。2008/05/23(金) 20:25:11ID:NU3slO1i
俺の手持ちはスフィア、キューブ、トーラス、シリンダー、ティーポットだ
良かったらおすそわけするぞ
0364名前は開発中のものです。2008/05/25(日) 07:38:43ID:cLwQ0WpO
メガデモ上等!!
0365名前は開発中のものです。2008/05/26(月) 11:36:13ID:MNd9aACa
行列パレット全然たりねぇ。
0366名前は開発中のものです。2008/05/27(火) 09:47:03ID:vfsR7pPs
確かにまともなシェーダ開発が必要なレベルのデータ作りの方が厄介だよな
インスタンシング情報とかタンジェントスペースとかエクスポート時に埋め込める手軽なツールがあまりない
俺は今のところBlenderでプロパティやらスクリプトやら使って頑張ってる
0367名前は開発中のものです。2008/05/28(水) 01:30:20ID:qn0mrqmX
シェーダプログラマでがんばろうと思うのでうが、身に付けた力は今後、他に何の役に立ちそうでしょうか?
GPGPUが広まったら職にあぶれることはなさそうでしょうか?
0368名前は開発中のものです。2008/05/28(水) 09:01:56ID:r7bLGqgf
この先CUDAとかできればそれなりに需要あるんじゃね?
職にあぶれることはあるだろうけど
0369名前は開発中のものです。2008/05/30(金) 13:36:42ID:XHwJMW8w
良スレsage
03703672008/05/30(金) 22:49:07ID:W1d73k9s
>>368
ありがとうございました。
0371名前は開発中のものです。2008/05/31(土) 06:29:24ID:iov5Zo54
シェーダに着ていく服がない
0372名前は開発中のものです。2008/06/01(日) 08:40:57ID:odS/oJGJ
しまむらで1000円で買った服をマネキンに着せて
3Dスキャナで取り込んだボリュームデータを
ポイントスプライトでパーピクセルライティングするのが
今後のトレンド
0373名前は開発中のものです。2008/06/09(月) 11:53:47ID:7fcEsoAV
現役のビデオボードでも StaticFlowContorlDepth って0のが結構おおいじゃない?

DirectX10 じゃ FragmentLinker が無くなるらしいんだけど、
DirectX9 では FragmentLinker を使え、
DirectX10 では StaticFlowControl を使え、
ってことなのか?

めんどくせぇ。
0374名前は開発中のものです。2008/06/28(土) 01:14:19ID:v4SLsTB5
FragmentLinkerは残念ながら使い物にならないよ。ゴミだなこんなの。
DX9世代は、エフェクトファイルへ条件ごとにテクニックを置きまくるしかない。
0375名前は開発中のものです。2008/06/28(土) 02:05:55ID:fY/TNmFQ
シェーダープログラマを目指しているんですが、ゲーム以外で使う仕事ってあるんでしょうか??
0376名前は開発中のものです。2008/06/28(土) 11:15:16ID:tosfZjpq
3Dソフトの制作なら、GLSL方面で需要があると思う。
03773732008/06/28(土) 15:32:53ID:Etm+Tm68
>>374
結局、FragmentLinker は無視した。
要求するハードのレベルが上がるが、Static Flow で十分な速度が出るね。
03783752008/06/28(土) 16:02:21ID:fY/TNmFQ
>>376
なるほど。
ありがとうございました!
0379名前は開発中のものです。2008/09/05(金) 11:10:20ID:opuLC8Al
0380名前は開発中のものです。2008/10/07(火) 10:01:09ID:bg3HdY5i
今更だがDirect3D10対応のFXComposer2.5出たんだな
しかしVistaはクラシック表示にしないと画面ががくがく言うんだが・・・
0381名前は開発中のものです。2008/10/07(火) 16:07:47ID:FXHkjiHp
>>380
スピーカー付きのモニタ?
0382名前は開発中のものです。2008/10/07(火) 16:16:19ID:bg3HdY5i
え?
0383名前は開発中のものです。2008/11/05(水) 12:06:16ID:xt6arfcs
ワロタ
0384名前は開発中のものです。2008/11/15(土) 23:31:52ID:ap9OL1do
RendermonkeyでテクスチャをTexturesaverで保存しようとすると
「this extension is not supported」って出て保存できないんですけど
これはまだ対応してないってことですか?
0385名前は開発中のものです。2008/12/07(日) 17:25:48ID:S/cnf1Kb
過疎るな
>>375
うちは、画像処理にDirectX+シェーダを利用している。
0386名前は開発中のものです。2008/12/21(日) 03:20:10ID:um8Jl1Wm
このスレできたの7年前かすげえな
0387名前は開発中のものです。2009/01/26(月) 06:50:15ID:T85wc80R
ちょっと素人の素朴な疑問なんだけど、
PS3とXBOX360のシェーダって、360の方が優れてる気がするけど、
DirectXが優れてるからって事?
0388名前は開発中のものです。2009/01/26(月) 08:08:15ID:qaaV08Zq
それ質問じゃないよ。

ttp://it.nikkei.co.jp/digital/news/index.aspx?n=MMITew000002052007
博識そうな人にコレと似たような事を言って貰いたいんでしょ?
0389名前は開発中のものです。2009/02/14(土) 23:02:57ID:Q2OHIbwY
これからプログラマブルシェーダ覚えようと思うのですが,
おぼえるシェーダ言語は意識して選んだ方が良いでしょうか?
言語間で違いが大きくあるか知りたいです

あと,他に覚えるにあたってお勧めの方法などあれば教えてください
0390名前は開発中のものです。2009/02/14(土) 23:39:29ID:hPf9zE7f
選ぶもなにもHLSL以外の選択肢は、ほぼ無いと思うが。
OpenGLで使いたいとかなら話は別だが。
0391名前は開発中のものです。2009/03/17(火) 19:07:24ID:/uOxlyYd
RenderMonkeyを使っていると、ひとつのモデルをマテリアルごとに分割して扱うことができないのですが、仕様でしょうか?

例えば3つのマテリアルになっているモデルがあるとします。
これら、それぞれのマテリアルにそれぞれのシェーダを書きたいのですが、どうしても分解して扱う方法が見当たらないのです
0392名前は開発中のものです。2009/03/18(水) 01:17:08ID:ORRRTbtu
>>390
別にCgとかでもよくね?
そこでなんか足りないと思ったらHLSLでもいいわけだし。
0393名前は開発中のものです。2009/03/27(金) 02:22:52ID:2N4K/AeA
>>389
WindowsならHLSL。
MacやLinuxならしらん。

覚えるには実際に自分で書いてみるのが一番だよ。
教材には今ぎれさんの本をお薦めする。
03943752009/04/10(金) 01:02:32ID:6sqPilb8
>>385
ありがとうございました!
0395名前は開発中のものです。2009/04/26(日) 20:30:38ID:VIWAMU8v
NVIDIA以外のHLSLコンパイラってあります?
NVIDIAのはエラーで起動できない
0396名前は開発中のものです。2009/04/26(日) 21:17:23ID:nXh94hPn
今ぎれさんの本って何?
0397名前は開発中のものです。2009/04/26(日) 21:36:35ID:zA4RMNdD
http://www.amazon.co.jp/dp/4839912475
0398名前は開発中のものです。2009/04/26(日) 22:17:35ID:uLkWrvqM
>>395
DirectX SDKに付属してます
0399名前は開発中のものです。2009/06/03(水) 15:48:48ID:2zPe6Zzl
>>395
FX composer2.5はDX10用
2.0でも使ってみれ
0400名前は開発中のものです。2009/06/03(水) 18:42:40ID:q4f+EAIt
>>399
10じゃなくても2.5使えるだろ。

XPでつかえてるし。
0401名前は開発中のものです。2009/06/07(日) 15:37:19ID: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 );//変数に行列をセットする
0402名前は開発中のものです。2009/06/07(日) 15:39:12ID:tyrikY/5
上の続き

//fxファイルA
shared float4x4 matWVP;

//fxファイルB
shared float4x4 matWVP;
0403名前は開発中のものです。2009/06/11(木) 23:25:47ID:fivqDc+3
その方法で間違ってないと思う。
駄目な理由は、別な面を探した方がいい。
0404名前は開発中のものです。2009/07/24(金) 11:46:07ID:Crb0CIfT
いくら何でもこのスレ過疎りすぎじゃね?
日本にシェーダープログラマーはいないのか
0405名前は開発中のものです。2009/07/24(金) 17:01:14ID:MpGTDJVk
あえて語るようなネタなんてあるか?
基礎的な事はShaderXとGPU gemsみりゃいいだけだろう。
0406名前は開発中のものです。2009/07/29(水) 21:21:58ID:3ki9XIb0
当方デザイナです。
今、プログラマブルシェダーを勉強中です。

RENDER MONKEYで編集したFXファイルを
MAYAに読み込ませようとしているのですが

RENDER MONKEYで吐き出したFXファイルが
うまく表示できません。

マニアルには
ViewProjection を WorldViewProjection に変更して使うと
あるのですが、
これはどういうことなのでしょうか?
0407名前は開発中のものです。2009/07/30(木) 02:09:07ID:ADyNrhfb
RENDER MONKEYは使ったことないけど、吐き出されたFXファイルにViewProjectionってのが多分どこかにあるから、それをWorldViewProjectionに書き換えればいいってことだと思うよ
0408名前は開発中のものです。2010/02/22(月) 18:00:24ID:z44rOPDc
>>88
すみません、具体的に教えてください。
シェーダークラスはメッシュデータを受け取ってレンダリングするということですか?
0409名前は開発中のものです。2010/02/23(火) 11:48:11ID:ZkwIDJ3W
8年越しのレスキタ━━━━━━(゚∀゚)━━━━━━!!!!
0410名前は開発中のものです。2010/02/23(火) 12:05:30ID:JdqULkeY
>>88はご存命だろうか
0411名前は開発中のものです。2010/04/16(金) 19:26:08ID:g8v0JgCY
シェーダプログラマのみんな!
もっと元気出していこうぜ!
0412名前は開発中のものです。2010/04/23(金) 11:42:48ID:qjgTE3r5
WiiウェアでBIT.TRIPってゲームがあるんだけど、
リアルタイムでアンビエントオクルージョンをやっているように見えるんだよ。
ttp://bittripgame.com/
でもWiiの性能でそんなことできるんだろうか。
本当にアンビエントオクルージョンか自分にはちょっと判断できないので誰か確かめてください。
0413名前は開発中のものです。2010/04/23(金) 15:55:28ID:C2z/wQ0V
そう思う部分の動画でも貼ってくれないと
「そんなもん知るか」
としか答えようがない。
0414名前は開発中のものです。2010/04/23(金) 16:07:48ID:uxgMIkX/
BIT.TRIP RUNNER(未発売)
ttp://bittripgame.com/bittrip-runner.html
うねうね動いてる灰色のデカイ敵

BIT.TRIP CORE
ttp://bittripgame.com/bittrip-core.html
背景オブジェクト
0415名前は開発中のものです。2010/04/23(金) 17:02:02ID:C2z/wQ0V
正直、その動画を見ても、リアルタイムで処理してそうなとこは
どこのことなのか分からない。

COREの方は背景で動いている部分がほとんどないし、RUNNERの方は
穴から出てくるイモムシみたいなやつのことだと思うが、陰影が変化してる
ようには見えない。
0416名前は開発中のものです。2010/04/23(金) 17:13:11ID:uxgMIkX/
形状の谷間(キューブとキューブの繋ぎ目)にぼやっと陰影がかかっているよね?
そのことを言っているんだけど。
繋ぎ目だけじゃなくて、灰色の芋虫がはい出てきた穴の縁部分も、芋虫のポリゴンの影響を受けて
うっすら陰影のグラデがかかっている。
0417名前は開発中のものです。2010/04/23(金) 18:52:41ID:lUZXjqCs
そんぐらいIntel Pentiumプロセッサ上での
ソフトウェアレンダリングでもできる。
0418名前は開発中のものです。2010/04/23(金) 19:03:08ID:uxgMIkX/
具体的にどういうアルゴリズムで?
0419名前は開発中のものです。2010/04/23(金) 19:07:19ID:lUZXjqCs
1. いろいろキャッシュしまくる。
2. マルチテクスチャ。
>繋ぎ目だけじゃなくて、灰色の芋虫がはい出てきた穴の縁部分も、芋虫のポリゴンの影響を受けて
よくある影描画アルゴリズムだろう。
0420名前は開発中のものです。2010/04/23(金) 19:19:13ID:uxgMIkX/
キャッシュって例えば何を? そのキャッシュを何に利用するの?
あなたが言っている影描画アルゴリズムというのはシャドウマッピングのこと?
でもあれは光源と反対方向にオブジェクトのシルエットがくっきり映るものであって、
私が言っていることとは毛色が違う。
0421名前は開発中のものです。2010/04/23(金) 19:56:00ID:4PZyJpGQ
こういう返事がくると黙りこむあたり、何もわかってないんだろ
何でも「よくある」と書きたくてしかたない
0422名前は開発中のものです。2010/04/23(金) 20:25:08ID:C2z/wQ0V
>>416
キューブの陰影は、最初から頂点カラーがそういう色になっているだけじゃないの?
穴の縁の部分は動画ではよく分からんが。

まず、基本的なこととして、動かない物体の影やら陰影なんてものは
リアルタイムで計算する必要がない。
どんなにリアルな陰影がついていようと、事前計算できるもの。

同様に、インタラクティブ性がなくて決まった動きしかしない物体も
リアルタイムで計算する必要がない。
アニメーションに頂点カラーやテクスチャの変化も含まれるだけ。
0423名前は開発中のものです。2010/04/23(金) 21:01:00ID:uxgMIkX/
遮蔽度の高そうな頂点の頂点カラーを暗くしたのをデータとして保持しているだけってこと?
0424名前は開発中のものです。2010/04/23(金) 21:03:13ID:uxgMIkX/
×遮蔽度
◯閉塞度
0425名前は開発中のものです。2010/04/23(金) 23:15:03ID:Vv9wpow9
PSSMの本家サイトのサンプルコードのモデルの頂点にはアンビエントオクルージョン項が含まれてて、
簡単なライティングでちゃんとAO感が出てたよ。
0426名前は開発中のものです。2010/04/23(金) 23:56:09ID:ZXmesx5K
最近の子はリッチな環境で難しく考えることに慣れすぎてる感はある。
少ないリソースの中で如何によく見せるかって技術はおっさんの方が長けてるよな。
0427名前は開発中のものです。2010/04/24(土) 00:39:59ID:d/r4hXs0
あるあるw
0428名前は開発中のものです。2010/04/24(土) 15:13:06ID:Xmby99Pm
そしたら,あんたらは”最近の子”にそのうち超えられちゃうねww
0429名前は開発中のものです。2010/04/24(土) 21:26:05ID:F4QObDhr
そりゃそうだろ。
そういう業界だし。
0430名前は開発中のものです。2010/04/24(土) 21:28:29ID:hqMcDvhk
せっかく過疎って静かだったのに
0431名前は開発中のものです。2010/04/25(日) 14:05:07ID:9JIqTsJC
最近NWは触ってないから出来るかはうろ覚えだけど、
負の色の(黒い色)のポイントライトを遮蔽する部分に置けば似たことできるんじゃないかね
0432名前は開発中のものです。2010/04/25(日) 20:14:02ID:XR0+MMHI
低解像度のZテクスチャを作って、上下左右のピクセルのほうが手前だったら1加算とかで
それっぽくならんかなあ。
0433名前は開発中のものです。2010/04/26(月) 04:31:41ID:ogOB0A3l
>>432
そういうアイデアの延長線がSSAOだな
0434名前は開発中のものです。2010/04/26(月) 09:15:05ID:OdPbzt9V
まあWiiじゃそんな芸当はできないんだけどな
0435名前は開発中のものです。2010/04/26(月) 10:08:06ID:VZ4/K9Ds
前から思ってるけどAOは一次レイが当たった地点から
180度の超広角度のカメラで半球レンダリングすれば遮蔽率がハードウェアで求まるよな。
全ピクセル一度に並列に計算すればあっという間だろう。
このアイディアを好きに使っていい。
0436名前は開発中のものです。2010/04/26(月) 10:15:14ID:m73wbbUc
それただのSSAOだから
0437名前は開発中のものです。2010/04/26(月) 11:33:10ID:CA7fzfSf
>>433
というか、WiiでSSAOっぽいことをするとして>>432の方法で近似できんかな、と。
ピクセルの比較ができりゃいいんだからPS2でも実装できるか。
まあ、荒すぎて実用に耐えない気もするが。
0438名前は開発中のものです。2010/04/26(月) 13:42:31ID:YZYpPhAg
Light propagation volumesを実装したいと思ってるんだが
理論を詳しく説明できる日本人はいないものか・・・
原文を読んでも俺の英語力では理解できないぜ

RSMからの光源を3Dテクスチャにポイントレンダリングして
SHに変換して伝搬させるとかそんな感じだろうか?

日本にはシェーダーの最先端をゆくスレッドって無いのか
0439名前は開発中のものです。2010/04/26(月) 18:44:51ID:q9PPgRR+
難しいことしてるんだね・・・
日曜プログラマには遠い世界だ・・・
最先端を行くシェーダプログラマさん、応援してます!
0440名前は開発中のものです。2010/04/26(月) 23:50:14ID:OdPbzt9V
>>438
そんな感じ。
RSMからVirtual Point Lightsの基準になる点を選ぶ。
あとは、法線方向に半球に広がるSH係数を3Dテクスチャに書き込む。
それを6方向(±XYZ)に広げていくだけ。
使うときは3Dテクスチャをサンプリングするだけだから負荷も低い。

6方向だけだとイビツな形に広がっちゃうけど、LPVをカスケードすると緩和できる。
そのままだとオブジェクトを突き抜けて光が広がっちゃうんで、遮蔽するようなSH係数を書き込んでおいたり
SH Gradientを使って緩和したりするんだけど、そこまでやらんでもそれなりには綺麗になるよ。

大げさに書いてあるけど、実装自体はそんなに難しくないんでやってみる価値はあるかと。
0441名前は開発中のものです。2010/04/27(火) 23:13:00ID:dIei8hJx
固定機能って英語でなんて言うの?
0442名前は開発中のものです。2010/04/27(火) 23:14:37ID:or6B45UJ
Fixedなんちゃら?
0443名前は開発中のものです。2010/04/27(火) 23:40:11ID:6UsTVwUx
Fixed Fuction Shader
Fixed Pipeline
0444名前は開発中のものです。2010/04/28(水) 00:13:07ID:o4K4QM/E
そのままなんだ,どもども
0445名前は開発中のものです。2010/04/30(金) 10:03:28ID:JBQK921o
シェーダプログラムをVCみたくプロジェクト管理できるようになるのはいつごろになるんでしょうか
0446名前は開発中のものです。2010/04/30(金) 14:51:15ID:PJyGEE1y
w
0447名前は開発中のものです。2010/04/30(金) 23:11:36ID:Ll80FyeF
RenderMonkeyで十分だけど
最新のはもっと使いやすいのかな
0448名前は開発中のものです。2010/04/30(金) 23:54:38ID:NulfKJ1a
FxComposerは機能が多すぎて好きになれないなぁ
RenderMonkeyがシェーダモデル4.0に対応してくれれば最高なんだけど…
0449名前は開発中のものです。2010/05/01(土) 00:13:59ID:Tc5IDNAz
シェーダーコードを記述していていつも思うんだが、
OpenGLでもDirect3Dでも、setShader("shader-code-filename", ...若干のパラメータ);
ですぐ適用されるような関数ってどこかにないものだろうか。
0450名前は開発中のものです。2010/05/02(日) 12:47:48ID:qwH1pwxC
単なるテクスチャとディフュースマップって別ものですか?
0451名前は開発中のものです。2010/05/02(日) 14:10:24ID:4jveGEXL
テクスチャの使い方の1つがディフューズマップだろ
0452名前は開発中のものです。2010/05/02(日) 15:36:55ID:qwH1pwxC
えっと..そうですね
■ このスレッドは過去ログ倉庫に格納されています