Recientemente agregué un empaquetador de texturas a mi proyecto que empaquetará una cierta cantidad de texturas en una sola, como esta:
Entonces, por ejemplo, este tiene un tamaño de 582x1023 píxeles. El objetivo de agregar estas texturas empaquetadas obviamente era mejorar el rendimiento, por lo que quería buscar el tamaño de textura óptimo para las texturas OpenGL (usando LWJGL). Lo que encontré fue que un tamaño de textura máximo ampliamente admitido parece ser 1024x1024, de acuerdo con esto, por ejemplo. Esto me parece extraño porque obviamente muchas texturas por sí solas serían más grandes que eso, entonces, ¿qué pasa con esas? Estoy bastante seguro de que la mayoría de las tarjetas gráficas admiten texturas más grandes que eso. ¿Puedo esperar razonablemente que la mayoría de las tarjetas gráficas manejen, por ejemplo, texturas 4096x4096 (o tal vez incluso más grandes que eso)?
Para llegar a mi segundo punto (espero que esto cuente como una pregunta, pero esencialmente se reduce al mismo problema): ¿Deberían las texturas dimensionarse a una potencia de 2 (256x256, 512x512, 1024x1024, 2048x2048, ..) y deberían ¿Rellené texturas más pequeñas que esa a la siguiente potencia de 2? De acuerdo con esta pregunta de 2011, no es un requisito, pero puede mejorar el rendimiento y evitar errores menores, y este de 2012 dice que definitivamente debe rellenar las texturas. Así que me doy cuenta de que estas preguntas se han hecho antes, pero están razonablemente fechadas para que las respuestas hayan cambiado y, además, cada una de ellas solo responde parcialmente a mi pregunta. ¿Cómo otros proyectos / manejan esto?
TL; DR: ¿Qué tamaños de texturas puedo esperar que manejen la mayoría de las tarjetas gráficas? ¿Cuáles son los tamaños óptimos de textura (o hay)? ¿Debo rellenar el ancho de las texturas a la siguiente potencia de 2?