OpenGL でテクスチャをロードすると、GL_ALPHA
ピクセルごとに 1 つ ( ) または 3 つのコンポーネント ( GL_RGB
) があり、テクスチャが傾いて表示されます。何がこれを実現させるのですか?
追加の詳細として、幅/高さの関係が影響しているようです。たとえば、1366x768(683/384) の画像は傾いて表示されますが、1920x1080(16/9) の画像は正しくマッピングされます。
これはおそらくパディング/アラインメントの問題です。
デフォルトでは、GL はピクセルの行が 4 バイトの倍数になるようにパディングされることを想定しています。1 バイトまたは 3 バイト幅のピクセルを持つ 1366 幅のテクスチャは、自然に 4 バイトに揃えられません。
これに対する可能な修正は次のとおりです。
glPixelStorei(GL_UNPACK_ALIGNMENT, 1);