Recentemente, adicionei um empacotador de textura ao meu projeto que compacta uma certa quantidade de texturas em uma única, como esta:
Assim, por exemplo, este tem 582x1023 pixels de tamanho. O objetivo de adicionar essas texturas compactadas era obviamente melhorar o desempenho, então eu queria procurar o tamanho ideal de textura para texturas OpenGL (usando LWJGL). O que descobri foi que um tamanho máximo de textura com suporte amplo parece ser 1024x1024, de acordo com isso, por exemplo. Isso me parece estranho, porque obviamente muitas texturas soariam maiores que isso, então o que acontece com elas? Tenho certeza de que a maioria das placas gráficas suporta texturas maiores que isso. Posso razoavelmente esperar que a maioria das placas gráficas manipule, por exemplo, texturas de 4096 x 4096 (ou talvez até maiores que isso)?
Para chegar ao meu segundo ponto (espero que isso ainda conte como uma pergunta, mas se resume basicamente ao mesmo problema): as texturas devem ser dimensionadas com uma potência de 2 (256x256, 512x512, 1024x1024, 2048x2048, ..) e devem Almofada texturas compactadas menores que isso para o próximo poder de 2? De acordo com essa pergunta de 2011, não é um requisito, mas pode melhorar o desempenho e evitar pequenos erros, e este de 2012 diz que você definitivamente deve preencher as texturas. Portanto, percebo que essas perguntas já foram feitas antes, mas são razoavelmente datadas para que as respostas mudem e, além disso, cada uma delas responde parcialmente à minha pergunta. Como outros projetos / lidam com isso?
TL; DR: Quais tamanhos de texturas posso esperar para a maioria das placas gráficas? Quais são os tamanhos ideais de textura (ou existem)? Devo preencher a largura das texturas até a próxima potência de 2?