したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | |
レス数が1スレッドの最大レス数(1000件)を超えています。残念ながら投稿することができません。

【MME】MikuMikuEffectを語るスレ

1名無しさん@お腹いっぱい。:2011/02/02(水) 19:45:33 ID:ul8C.kTo0
テンプレおねがいします。

237233:2011/10/02(日) 08:13:51 ID:mS.fnV/A0
分かりました!
LineV4はxファイルとの連動のため、Particleサイズを10000に固定してます。
それがテクスチャの最大長(TEX_WIDTH)に設定されるので、オーバーフローすると
ライン長をそれ以下(100とか)にしても表示されないみたいです。
単にGPUドライバーの変数スケールが足りないような気がします。

とりあえずfxを以下のように修正したところ無事表示されました。
「直しちゃだめ」とあるところを修正するので自己責任でお願いします。

LSv4_100simple.fxの70行目:
#define TEX_WIDTH PARTICLE_COUNT

#define TEX_WIDTH 8000

自分のWarningが8192だったのでざっくりそれ以下にしてみました。
それを超える長さ(10000など)はダメですが、100、1000は全部OKでした。
>>227さんだったら2000以下にすればいけそうな気がします。

皆さんヒントありがとうございました。HLSL面白いですね。

238名無しさん@お腹いっぱい。:2011/10/02(日) 08:53:43 ID:gBaoHZ8s0
おお、8191に設定したらウチも表示されるようになった
ログも無表示だったからグラボが古いせいだと思ってた
感謝の拍手

239156:2011/10/02(日) 09:48:10 ID:GgmX2aao0
>>237
WinXP Home SP3 AMD 780G(RadeonHD 3200)


RadeonHD 6670 VRAM 1GB 表示出来た

240名無しさん@お腹いっぱい。:2011/10/02(日) 09:51:45 ID:GgmX2aao0
>>237
TEX_WIDTH 8000書き換えで、
WinXP Home SP3 AMD 780G(RadeonHD 3200)で動作確認しました
おまけ Win7 Pro SP1 RadeonHD 6670 でも問題なく動作

書きかけで送信しちゃった

241名無しさん@お腹いっぱい。:2011/10/02(日) 11:13:37 ID:WWXDFaDU0
つまりオンボだと10000は無理ってことだな

242名無しさん@お腹いっぱい。:2011/10/02(日) 13:01:26 ID:SRh1MLL20
質問者は、最初に動作させているPC環境を書くべき
それがヒントになる場合が多い

243名無しさん@お腹いっぱい。:2011/10/02(日) 13:24:54 ID:GgmX2aao0
>>242
今回のは動作環境書いてくれてるんだけど、最大テクスチャサイズなんて3Dゲームやる人でないとしらないと思うw

原因らしきもの調べてきた
RadeonHD2000、GeForce 6/7より古いと 最大テクスチャサイズ 4096×4096
RadeonHD2000、GeForce 6/7以降だと 最大テクスチャサイズ 8192×8192
Radeon HD 58x0、GeForce GTX 4x0以降だと 最大テクスチャサイズ 16384×16384

※16384×16384はDirectX 11の要求する仕様の1つ

参考した記事
http://www.4gamer.net/specials/3de/radeon_hd_2000/radeon_hd_2000_03.shtml
http://journal.mycom.co.jp/special/2010/gpu/008.html

244名無しさん@お腹いっぱい。:2011/10/02(日) 14:49:45 ID:kST0zfl.0
SM3.0(DX9.0c) 4096まで
SM4.0(DX10) 8192まで
SM5.0(DX11) 16384まで

ってことか


LineV4はSM3.0だけど
LSv4_10000simple.fxは最大テクスチャサイズのみ
SM5.0相当の能力をGPUに求めていると

LSv4_10000simple.fxに関しては「動いてしまった」が正しい認識ってことか

245ビームの人:2011/10/02(日) 20:33:29 ID:ecGzQz9g0
>>244
なるほどなー!(知らなかった)
正方形テクスチャなら使えたりするのかな…

近いうちにやってみるです

246舞力介入P:2011/10/02(日) 22:22:27 ID:keJ9Hvp20
さらに万全を期するなら、古い環境にあわせて、
テクスチャサイズは縦横ともに2の累乗でなければならないようですね。
http://www.netsphere.jp/dxinfo/
("TextureCaps"ページの"POW2"が"Yes"だと、テクスチャサイズは2の累乗でなければならない)


こんな感じで

//x以上の最小の2^n
#define UPPER_POW2(x) ((int)exp2(ceil(log2(max(1,(x))))))

#define COUNT xxxx
#define TEX_WIDTH 256
#define TEX_HEIGHT UPPER_POW2( (float)COUNT/TEX_WIDTH )




掲示板管理者へ連絡 無料レンタル掲示板