Estoy creando un reproductor de video OpenGL usando Ffmpeg y todos mis videos no tienen una potencia de 2 (ya que son resoluciones de video normales). Funciona a muy buen fps con mi tarjeta nvidia, pero he descubierto que no se ejecutará en tarjetas ATI antiguas porque no admiten texturas que no sean de potencia de dos.¿Cuán más eficaces son las texturas de potencia de dos?
Solo lo usaré en una tarjeta Nvidia, así que realmente no me importa demasiado el problema de ATI, pero me preguntaba cuánto aumentaría el rendimiento si los cargadores de texto fueran power-of-2 ? ¿Vale la pena rellenarlos?
Además, si vale la pena, ¿cómo hago para rellenarlos con la mayor potencia de dos más cercana?
Bien, ya estoy usando glTexSubImage2D() como dices, pero cuando inicie la textura con glTexImage2D() debería crearlo como una potencia de dos y luego ordenar las llamadas glTexCoord2f() para mostrar solo el video "parte "de la textura para la máxima eficiencia? –
Depende en gran medida de su implementación OpenGL (leer GPU). Todas las GPU recientes tienen un rendimiento de rendimiento muy pequeño para NPO2 – datenwolf