¿Las texturas de búsqueda todavía se usan para algo?

14

Sé hace poco (¿5-10 años?) Que era popular / eficiente hornear datos en texturas y luego leer los datos de las texturas, a menudo utilizando la interpolación de textura incorporada para obtener la interpolación lineal de los horneados. fuera de datos.

Ahora que el tiempo de computación es más barato en comparación con el tiempo de búsqueda de texturas, esta práctica definitivamente ha disminuido si no todos desaparecieron.

Mi pregunta es, ¿todavía se usan texturas horneadas para algo? ¿Alguien tiene algún caso de uso para ellos en la arquitectura moderna? ¿Parece probable que alguna vez vuelvan? (por ejemplo, si cambia la tecnología de memoria o la arquitectura básica de la GPU)

Alan Wolfe
fuente
Eso depende completamente del caso de uso. Imagina que tus cálculos tardan una hora en ejecutarse. ¿No sería bueno pregenerar una textura de búsqueda con los resultados y usarla en su GPU en tiempo de ejecución? Hoy en día, algunas cosas más simples pueden ser más rápidas de hacer con instrucciones ALU (por ejemplo, ciertas transformaciones de color), pero cualquier cosa que requiera un cálculo pesado siempre será más rápido usando texturas de búsqueda.
Tara

Respuestas:

17

Sí, las texturas de búsqueda todavía se usan. Por ejemplo, BRDF preintegrados (para iluminación ambiental, por ejemplo), o curvas complicadas arbitrariamente horneadas hasta una textura 1D, o una textura de búsqueda 3D para la gradación de color, o una textura de ruido en lugar de un PRNG en el sombreador.

ALU es generalmente más barato que una muestra de textura, es cierto, pero aún tiene una cantidad limitada de ALU por cuadro. Las GPU son buenas para ocultar la latencia y es probable que las pequeñas texturas de búsqueda estén en el caché. Si su función es lo suficientemente complicada, puede valer la pena usar una textura de búsqueda.

John Calsbeek
fuente