X



シェーダープログラマが集うスレ
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。
垢版 |
01/11/08 11:06ID:???

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


バーテックスシェーダーとかピクセルシェーダーとかを語りまくるスレ。
0522510
垢版 |
2012/01/28(土) 21:50:29.35ID:RxUZAweR
>>512
520の内容を試してみたのですが521の予想通り真っ黒でした・・・。

もう一度FxComposerとDirectXの仕様等々を調べてみます。
3日間にわたって質問に答えて頂いてありがとうございました。
0523511
垢版 |
2012/01/29(日) 00:21:59.53ID:fwAvUd6T
>>522
FxComposer2.5インストールして試してみた。
たしかに頂点カラー、読み込めないね。
マテリアルカラーは、FxComposerに放り込んだ時点で反映されて表示されるものの、
それをHLSLで使うことはできないみたい。
しかも、複数マテリアルだと、表示はするものの、編集は一つしかできないw
頂点カラーについては読み込もうとすらしていないような気がするw
こういう使い方は想定されていないんじゃないかと思う。

そこで、FxComposerを使わない代替案を考えたほうがイイと思うんだが、
>>510がHLSLの勉強をするにあたって、目標としていることは何だろうか?
どうしてもFxComposerを使わなければならない理由はある?
DirectXプログラムでグラフィック表現したいとかだったら、
簡単なDirectXプログラムを組んで、その上でシェーダ開発したほうがより実践的で良いこともある。
(FxComposerの魅力的な機能も捨て難いけどね)
0524名前は開発中のものです。
垢版 |
2012/01/29(日) 08:28:33.79ID:WliZ25k9
>>523
なるほど。。。
わざわざありがとうございます!

HLSLを勉強する目的はゲームエフェクトを作成したいと考えているのです
もっと突っ込むと少しパラメータをいじると炎の大きさや色を変えてエフェクトファイルを出力する、と言った
知識なしである程度のエフェクトを作成することのできるツール(?)を作りたいな〜と。
なのでFxComposerを使わなければならない理由はありません。

>>DirectXを組む
昔挑戦して挫折したんですよね…
この機会にリベンジしてみます!
0525511
垢版 |
2012/01/29(日) 10:15:08.05ID:fwAvUd6T
>>524
おお、パーティクルエディタか!
おもしろそうだね!
パーティクルの挙動とかをゲーム実行時に動的に制御したりとか幅を広げることを考えると、
DirectXをベースにした開発基盤を構築したほうがベターではあるね。

DirectXプログラム、しんどいとは思うけど、よい志があるんだからがんばってほしいな。
フリーで高性能なゲームエンジンが台頭している中、熱いよ君。
また壁に当たったら、このスレやDirectXスレで聞いてみてくれ。
応援してるぞ。
0526510
垢版 |
2012/01/29(日) 12:55:50.63ID:WliZ25k9
>>525
Mayaとか3DSmax使えば簡単にできる事をわざわざやろうとしている変人ですw
が、そう言えってもらえるとモチベーション上がります!

DirectXから勉強初めて行きたいと思います
ありがとうございました!
0527名前は開発中のものです。
垢版 |
2012/04/01(日) 04:41:47.17ID:Q9dYuBbF
一つのシェーダ「A」を作って、そのシェーダからテクスチャや各種強度の数値などのパラメータ部分だけを変更したマテリアルを使う場合
シェーダが一つでもそれを使うマテリアルの種類が多ければ多いほど処理が重くなるのかな?
0528名前は開発中のものです。
垢版 |
2012/04/01(日) 10:22:14.70ID:6VgRhCgv
マテリアル切り替えのコストはけっこう大きいと聞いたことがある。
だいぶ前の話なので、最近は気にならないレベルに改善されてるかもね。
0529名前は開発中のものです。
垢版 |
2012/04/20(金) 20:07:54.18ID:cSwGsiDe
DirectX9でHLSL使っていろいろ実験してるけど
シェーダ面白いね
0532名前は開発中のものです。
垢版 |
2012/06/25(月) 01:16:20.19ID:pz+hnE9H
初心者です、質問させてください。
tex2DってLOD計算を内部でやってると思うのですが
tex2Dlod使って同じ結果を導く方法が分かりません

x = ddx(UV*texWidth);
y = ddy(UV*texHeight);
d = log2(max(dot(x,x),dot(y,y)));
tex2Dlod(tex,float4(UV,0,d));

こんな感じかと思ってFXComposerで比較してみたけど若干見え方違って疑問
ddxとかddy辺りも理解が曖昧ですが分かりやすい解説などあれば教えて欲しいです。
0533532
垢版 |
2012/06/27(水) 00:51:33.17ID:ZfBRZ2Wn
>>532のコード、2の対数の前にsqrt忘れてました。
LOD計算を初めシェーダに関してわからない事も多いので
他の勉強もしながら考えてみようと思います。
0534名前は開発中のものです。
垢版 |
2012/09/26(水) 23:17:33.59ID:ibhDcE1q
レンズフレア(ゴーストじゃなくて光芒?の方です)を実装したいのですが、
実装レベルで解説されているサイトが見つけられなくて困っています。
そもそもあったとしても理解できるかわからないのですが、いいサイトまたは
検索キーワードがあったら教えてください。

光芒 グレア フレア レンズフレア シェーダ GLSL マルチパス
ゲームエフェクト フーリエ変換 FFT

それっぽいキーワード(やその組み合わせ)で検索しているのですが
ミドルウェアのその宣伝やプロモーション、完成したCGなどしか
引っかかってきません。
0536名前は開発中のものです。
垢版 |
2012/09/29(土) 13:50:47.33ID:3t35+0xV
元の画面を描画
輝度の高いところを抽出
座標をずらしつつ何度も重ね合わせて光芒を作成
元の画面に重ね合わせる

って手順だったはず
t-potさんのサイトに解説されてないかな?
なかったらごめん

あと検索ワードは俺も分からぬ
0537名前は開発中のものです。
垢版 |
2012/09/29(土) 17:26:32.68ID:kNOGECAw
545です

>>535
>>536
ありがとうございます。
なるほど、いろいろやり方があるのですね。
というか光芒といってもいろいろあるからそのイメージが伝えきれてなかった
かもしれないのでその点申し訳なかったです。

今さらですが一応イメージに近い動画があったので貼らせていただきます。
http://eimeiblog.blogspot.jp/2012/05/blog-post.html

これをみるとやはりテクスチャなのかな・・・

t-potさんのサイトも拝見させていただきました。
資料が多くてまだ全部見れておりませんが、
一通り見て参考になる部分を探してみます。

ありがとうございました。
0539名前は開発中のものです。
垢版 |
2012/11/30(金) 01:09:49.71ID:00w5sS93
シャドウマッピングについて学びたいんですが、おすすめの書籍やサイトなどありますでしょうか?
「リアルタイムシャドウ」http://www.amazon.co.jp/dp/4862461670/
これを買ってみたんですが、ちょっと自分には難し過ぎた・・・。
デプスマップベースのシャドウの基本から説明されてる資料などあれば教えていただけるとありがたいです。
0540名前は開発中のものです。
垢版 |
2013/02/03(日) 15:20:42.83ID:zdopk8OM
DirectX9シェーダでパーティクル(ポイントスプライト)やってるんだけど
2種類のパーティクルを同じD3DXEFFECTインスタンス経由(当然*.fxファイルも同じ)で描画しようとしている。
このとき、IDE(VisualStudio)からF5実行するときは正常に表示されるんだけど、
exe(Debug/Release)の直叩きで実行すると、2者のテクスチャが入れ替わったり、そもそも描画されなくなる現象に遭遇している。

ちなみに実行ステップ順は
pFX->Begin(0, 0);
pFX->BeginPass(0);
パーティクルA描画(頂点バッファ書き換えしてDrawPrimitive)
パーティクルB描画(頂点バッファ書き換えしてDrawPrimitive)
pFX->EndPass();
pFX->End();

またリソース作成は、
テクスチャ → D3DPOOL_MANAGED / D3DUSAGE_WRITEONLY
頂点バッファ(位置D3DXVECTOR3 + サイズFLOAT) → D3DPOOL_MANAGED / D3DUSAGE_WRITEONLY
テクスチャは、パーティクルAとBでそれぞれ別々に作成して確保している。
頂点バッファも、パーティクルAとBでそれぞれ別々に作成して確保している。

ちなみにパーティクルAかBのどちらかの頂点バッファ作成をD3DPOOL_DEFAULT/D3DUSAGE_DYNAMIC + D3DUSAGE_WRITEONLYにすると正常に描画される。
両方D3DPOOL_DEFAULTの方にすると正常に描画されなくなる。
原因を教えたってくれませんかエロイングマスター
0542名前は開発中のものです。
垢版 |
2013/02/04(月) 00:38:23.68ID:0LtSSVEY
>>541
>ちなみにパーティクルAかBのどちらかの頂点バッファ作成をD3DPOOL_DEFAULT/D3DUSAGE_DYNAMIC + D3DUSAGE_WRITEONLYにすると正常に描画される。
0543名前は開発中のものです。
垢版 |
2013/02/04(月) 15:47:46.83ID:UH4q0YWP
こういうエラーはメモリ関係のエラーだろうから、頂点バッファが小さいとかそんなんじゃないかな。
0546名前は開発中のものです。
垢版 |
2013/05/25(土) 18:51:03.57ID:5dZRrkox
シェーダモデル4のHLSLエフェクトのデバッグをしたいんだけど、FX ComposerがうちのPCで起動しない
(スプラッシュウィンドウ表示中に「エラーが発生しました」的な簡素なダイアログが出て落ちる)

他に、エフェクトの動作確認ができるソフトを知っていたら、誰か教えてくれないだろうか
VisualStudio2012の非Express版にはデバッグ機能があるらしいけど、さすがにちょっと躊躇する値段なので…
0550名前は開発中のものです。
垢版 |
2013/09/03(火) 09:23:37.63ID:HkT760oG
hlslやglslで簡単なコードは書けるのですが
少し難解な計算式などが出てくると途端にわからなくなってしまいます
そこで3dcg数学が学べる書籍などがあればご教授ください
よろしくお願いします
0551名前は開発中のものです。
垢版 |
2013/09/14(土) 10:26:40.09ID:rfeQOBXR
個人的には
「ゲームプログラミングのための3Dグラフィックス数学」
はなかなか良かったように思う。
0553名前は開発中のものです。
垢版 |
2014/07/31(木) 08:22:59.86ID:7ITzcH4o
★2ch勢いランキングサイトリスト★

◎ +ニュース
・ 2NN
・ 2chTimes
◎ +ニュース新着
・ 2NN新着
・ Headline BBY
◎ +ニュース他
・ Desktop2ch
・ 記者別一覧
◎ 全板
・ 全板縦断勢いランキング
・ スレッドランキング総合ランキング
◎ 実況込み
・ 2勢
・ READ2CH
・ i-ikioi

※ 要サイト名検索
0554名前は開発中のものです。
垢版 |
2015/01/07(水) 18:48:15.94ID:16mG7aLq
トゥーンシェーディングで光源を1つだけに限定にしたら、
当然と言うか、裏側は真っ暗になってしまった。

2つ以上に対応すればいいんだろうけど、単に光源の内積の総和を取って
0〜1にクランプするべきか、重みあり平均を取るか。
光源の数だけトゥーンシェーディング用のテクスチャを持たせて重ねる手もある。

あと、野外で強い日光が差しているだけの場合、補助の光源をどう設定するか、
色々考えることが多いね。技術的なことだけ分かればいいわけではないみたい。
0556名前は開発中のものです。
垢版 |
2015/01/09(金) 03:56:06.81ID:CYz7b3aB
ああ、“真っ暗”という書き方は分かりにくかった、申し訳ない。

トゥーンシェーディングなので、環境光とか設定しなくとも
用意したグラデーションテクスチャの一番暗い色になるんよ。

逆光になる側だと、顔全体がその一番暗い色になるというわけ。
0557名前は開発中のものです。
垢版 |
2015/03/22(日) 01:33:58.39ID:ftwqoLO3
どうせ人も少ないし質問していい?

VS側で出力するようになっているもの(TEXCOORDとかNORMALとか)を
PS側で利用しない場合、自動的にその計算は飛ばすように
ランタイムが最適化している、とかいうことはあり得る?

要はシャドウ用の深度のPSと、画像バッファ出力用のPSを、
同一のVSと組み合わせてしまってよいのかということ。

コンパイル時は結構、無意味な計算をカットしてたりするけど、
さすがにそこまでは賢くないかな。
0559名前は開発中のものです。
垢版 |
2015/09/25(金) 18:35:54.41ID:zUEIvDAS
気さくで頼もしい紳士の方々にお伺いしたいのですが(笑)

HLSL3.0のグローバル変数と引数変数の仕様について説明している文書って、
ネット上に転がってないですか?
転がっていたら、URLを教えて下さい。

以下について知りたいです。
・一つのグローバル変数の配列の最大サイズ(4000バイト程度?)
・引数変数の種類毎の正規化内容(「TEXCOORDなら、-1から1の間に丸めてしまう」とか)
0561名前は開発中のものです。
垢版 |
2015/09/25(金) 20:54:56.56ID:0qM2ZSRU
HLSLとかGLSLってデバッグするの大変なんだけどエミュでいいからトレースとかブレークポイント使えるツールってないかな?
0564名前は開発中のものです。
垢版 |
2016/01/10(日) 13:47:57.69ID:TlZdVlTs
あの・・・質問なんですけど
いま自作ゲームでテッセレータを使おうとしててうまくいってないんだが
ディスプレイデバイスが停止しましたって出るときって
よくある原因ってなんかあります?
0565564
垢版 |
2016/01/11(月) 10:01:42.07ID:V6F2ozqk
使い終わったシェーダーの無効化処理をしてない為でした
スレ汚しスマソ
0566名前は開発中のものです。
垢版 |
2016/03/10(木) 15:35:13.14ID:6HAl/JgH
質問失礼します。
Unityのピクセルシェーダーを覚えたいんですけど、まず何からやれば良いのでしょうか?
右も左も分からないので、道しるべを置いていただければ、ありがたいです。。。
0569名前は開発中のものです。
垢版 |
2016/03/23(水) 21:31:43.99ID:Ti6+V5d4
フレームワークで簡単に3Dゲームを、というのは幻想
「博士論文をW*kiped*aのコピペで書こう」みたいなもの

てかシェーダってフレームワークに依存するか?
これだからフレステは
0570566
垢版 |
2016/03/31(木) 10:22:17.06ID:GQlnZ4Ki
>>567
買ってみます!
ありがとうございます。
0571名前は開発中のものです。
垢版 |
2016/06/08(水) 17:00:00.44ID:2vU/dbJk
DirectX9のHLSLだと、ビットシフトが出来ないんだな
論理積なんかは、テクスチャ産婦ら使って、事前に論理演算した結果を参照する方法があるみたいだが
0572名前は開発中のものです。
垢版 |
2017/12/31(日) 22:01:13.94ID:/rN76OKL
簡単にお金が稼げる方法興味ある人だけ見てください。

グーグル検索⇒『来島のモノノリウエ』

N31KGHFK8W
■ このスレッドは過去ログ倉庫に格納されています