Gibt es bestimmte Formateinschränkungen, die Texturen ebenfalls einhalten müssen?OpenGL-Texturen Formateinschränkungen
Ich lade TGA-Dateien und sie mit den folgenden Fragment-Shader Zeichnung:
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;
}
Ich finde, dass 16x16 Bilder OK angezeigt werden soll. 64x16 Anzeige OK. 72x16, 80x16 und 96x16 funktioniert nicht.
Ich werde bei Bedarf weitere Informationen einschließlich der TGA-Dateien bereitstellen.
Verwenden Sie OpenGL oder OpenGL ES? Früher gab es Beschränkungen für Texturen, die in beiden Dimensionen eine Zweierpotenz sein mussten. Diese Einschränkung wurde jedoch nach Version 2.0 aus OpenGL entfernt. Mit OpenGL ES und WebGL ist diese Einschränkung möglicherweise noch vorhanden (es sei denn, Ihre Implementierung unterstützt eine Erweiterung, die die Einschränkung entfernt). – radical7
@ radical7 Ich benutze OpenGL ES2.0. Das würde Sinn machen, was du sagst. Also nach 64x16 müsste es 128x16 und 256x16 usw. sein? – SparkyNZ
gehen Sie einfach mit 2^n wie 2 4 8 16 32 64 128 256 512 1024 .. Es ist offensichtlich. – Sung