レス数が1スレッドの最大レス数(1000件)を超えています。残念ながら投稿することができません。
【MME】MikuMikuEffectを語るスレ
-
テンプレおねがいします。
-
分かりました!
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面白いですね。
-
おお、8191に設定したらウチも表示されるようになった
ログも無表示だったからグラボが古いせいだと思ってた
感謝の拍手
-
>>237
WinXP Home SP3 AMD 780G(RadeonHD 3200)
RadeonHD 6670 VRAM 1GB 表示出来た
-
>>237
TEX_WIDTH 8000書き換えで、
WinXP Home SP3 AMD 780G(RadeonHD 3200)で動作確認しました
おまけ Win7 Pro SP1 RadeonHD 6670 でも問題なく動作
書きかけで送信しちゃった
-
つまりオンボだと10000は無理ってことだな
-
質問者は、最初に動作させているPC環境を書くべき
それがヒントになる場合が多い
-
>>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
-
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に関しては「動いてしまった」が正しい認識ってことか
-
>>244
なるほどなー!(知らなかった)
正方形テクスチャなら使えたりするのかな…
近いうちにやってみるです
-
さらに万全を期するなら、古い環境にあわせて、
テクスチャサイズは縦横ともに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 )
|
|
掲示板管理者へ連絡
無料レンタル掲示板