tengo saber que descargar como opengl graphics

saber - opengl intel



¿Qué es una textura dependiente de lectura? (3)

La respuesta aceptada (y la que está debajo de ella) restringe incorrectamente las lecturas de textura dependientes al uso de la salida de otra lectura de textura. Eso es incorrecto.

Una lectura de textura dependiente es cualquier lectura de textura con coordenadas que no son las coordenadas exactas pasadas al fragmento sombreado de un programa . Incluso un swizzle causará una lectura de textura dependiente.

Esto se toma directamente de la guía de programación de OpenGL ES de Apple .

He estado leyendo artículos sobre gráficos de computadora, y de vez en cuando me encuentro con el término "lectura de textura dependiente" o "búsqueda de textura dependiente" que se usa en el contexto de las texturas de consulta en el código del sombreado. ¿Qué es una lectura de textura dependiente y cuál es la diferencia entre esta y una lectura de textura "normal"?


Una "lectura de textura dependiente" es cuando los valores de retorno de una búsqueda de textura (u otros cálculos en sombreado) se utilizan para determinar DÓNDE para buscar desde una segunda textura. Una implicación importante es que las coordenadas de la textura (desde donde se mira) no se determinan hasta la mitad de la ejecución del sombreador ... no hay ningún tipo de análisis estático que puedas hacer en el sombreador (incluso al conocer los valores de todos los parámetros) Eso te dirá cuáles serán las coordenadas antes de tiempo. También ordena estrictamente las dos lecturas de textura y limita cuánto se podría cambiar el orden de ejecución mediante optimizaciones en el controlador, etc.

En tarjetas gráficas antiguas, solía haber bastantes limitaciones en este tipo de cosas. Por ejemplo, en un punto (IIRC) puede buscar desde múltiples texturas pero solo con un pequeño número de coordenadas de textura distintas. El hardware se implementó de manera tal que ciertos tipos de lecturas de textura dependientes eran imposibles o muy ineficientes.

En la última generación o dos de tarjetas, no debería preocuparse por esto. Pero es posible que esté leyendo libros o artículos de hace un par de años cuando realmente tuvo que prestar mucha atención a esas cosas.


Una lectura de textura normal solo usa las coordenadas de textura pasadas al sombreador. Una lectura de textura dependiente es con coordenadas de textura que se calcularon en parte usando valores obtenidos de otra textura a la que anteriormente se accedió en el sombreado. Por lo tanto, el acceso a la segunda textura es "dependiente" del valor obtenido de la primera.