テクスチャにも一定のフォーマット制限がありますか?OpenGLテクスチャ形式の制限
私はTGAファイルをロードすると、次のフラグメントシェーダでそれらを描いています:
varying vec2 v_texCoord;
uniform sampler2D s_texture;
uniform vec4 vColor4;
void main()
{
vec4 tmpColor = texture2D(s_texture, v_texCoord);
tmpColor.r = vColor4.r;
tmpColor.g = vColor4.g;
tmpColor.b = vColor4.b;
gl_FragColor = tmpColor;
}
私は16×16の画像がOKに表示することを見つけます。 64x16の表示はOKです。 72x16,80x16、および96x16は機能しません。
必要に応じて、TGAファイルなどの詳細情報を提供します。
OpenGLまたはOpenGL ESを使用していますか?以前はテクスチャには両方の次元で2の累乗になる必要があるという制約がありました。しかし、この制限は、バージョン2.0の後にOpenGLから削除されました。 OpenGL ESとWebGLでは、その制限が存在する可能性があります(実装が制限を削除する拡張機能をサポートしていない場合)。 – radical7
@ radical7私はOpenGL ES2.0を使用しています。それはあなたが言っていることを意味するだろう。 64x16の後は128x16と256x16などでなければならないでしょうか? – SparkyNZ
2 4 8 16 32 64 128 256 512 1024のように2^nにするだけです。それは明らかです。 – Sung