2016-09-28 9 views
0

シェイダーを使用して位置の値を事前計算するためにテクスチャを使用していますが、テクスチャが2の累乗でないというエラーが発生しています。実際には、それらを正方形にするためにそれらを拡張することを確かめましたが(2654の正方形である7,043,716テクセル)、テクスチャは2の特定の威力でなければならないと思われ始めています。例えば8x8,16x16,32x32,64x64の順に表示されます。これはそうですか、もしそうなら、上限がありますか?テクスチャは2の特定の累乗ですか?

+1

「2つの力」が何を意味するのか誤解しているようです。 – WestLangley

+0

@WestLangley - Oh - Indeed。私はちょうどそれを見て、私は2の勢力と正方形を混同していたことに気づいた。ありがとう! – gromiczek

答えて

0

私はあなたが2の特定のパワーである必要はないと思うけどgl.getParameter(gl.MAX_TEXTURE_SIZE)は、あなたがにしているブラウザやハードウェア上で利用可能である上限を教えてください、と少なくとも 64(なければなりません注意:ドキュメントごとに単なる「おおよその見積もり」ですが、アップロードしようとせずに得られるものと同じくらいうまくいくと思います。

私は通常iOSの人ですから、私の頭の上にiPhone 4が2048でトップに上がっていますが、4秒以上で少なくとも4096をサポートできるようになりました。あなたのコードが2654よりも下限に対処できない。

+0

私は実験的にテクスチャを8x8,16x16,32x32 ...と並んで動かすようにしましたが、これは4096x4096になり、エラーはなくなりました。 NVIDIA GT970に乗っています。これは、大きなストロークでバッファーを取っているようです。エラーはThree.jsに固有のものだと私は思う。助けてくれてありがとう! – gromiczek

関連する問題