2

OpenGL ES についてはまだよくわかりません。私は三角形の描画などについてしか学んでいません。私はまだテクスチャについて学んでいません。

一部のデバイスでは、2、4、8、16、32 など、幅または高さが 2 のべき乗である画像が必要であると聞きました。それはなぜです?サイズが 53 x 76 であるというイメージがある場合はどうすればよいですか?

これがキャンバスから OpenGL ES への切り替えを妨げている理由なので、これを知る必要があります。ありがとうございました :)

4

2 に答える 2

3

2 のべき乗を持つテクスチャは、テクスチャリング ハードウェアを大幅に簡素化し、より高速にするために多くの最適化の余地を残します。2 の累乗でないテクスチャがある場合は、次の 2 つのオプションがあります。

1)「余分な」スペースに必要なものを入力します(明るい緑のような色を選択して、画面にその色が表示された場合、texcoordsに何か問題があることがわかります)、あなたの例では64x128 になり、テクスチャ座標を調整して補正します。つまり、texcoords は (0, 0) から (53.0/64.0, 76.0/128.0) になります。

2) テクスチャを最も近い 2 のべき乗、例では 64x128 に引き延ばし、既存の texcoords をそのまま使用します。

于 2011-04-23T18:04:27.100 に答える
1

一般に、幅と高さが 2 の累乗である画像をグラフィック チップで処理する方が簡単で、必要なロジック/チップの領域が少なくて済みます。ミップマップを使い始めると、これはさらに重要になります。

一部の OpenGL|ES グラフィック チップは 2 のべき乗でないテクスチャをサポートしていますが、これにはコストがかかります。ミップマップはサポートされておらず、画像の回転を開始するとパフォーマンスが大幅に低下する可能性があります。

于 2011-04-23T18:06:38.717 に答える