es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Fragmento: descarte y pruebas de fragmentos tempranos en la práctica.

Entiendo que el hardware puede realizar pruebas tempranas de fragmentos (https://www.khronos.org/opengl/wiki/EarlyFragmentTest).
En particular, para la prueba de profundidad, esto significa que el búfer de profundidad puede actualizarse durante la interpolación de las salidas del sombreador de vértices y el sombreador de fragmentos solo se invocará para los fragmentos que no fallen la prueba de profundidad.

Ahora bien, el uso de discard en el sombreador de fragmentos desactiva esta optimización.
Entiendo que la actualización del búfer de profundidad solo puede ocurrir después de que se haya ejecutado el sombreador de fragmentos si se utiliza discard.
Pero la rechazo temprano de profundidad real (es decir, ni siquiera ejecutar el sombreador de fragmentos si el fragmento no superará la prueba de profundidad) debería seguir siendo posible de todos modos.

Por lo tanto, me interesa saber qué sucede en el hardware actual en este caso (en particular, estoy interesado en el hardware snapdragon/adreno).

Si un sombreador contiene la palabra clave discard (pero NO cambia gl_Fragdepth), ¿se invocará el sombreador de fragmentos incluso para fragmentos que no superarán la prueba de profundidad o aún obtendrán el tratamiento de rechazo temprano de z?

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Como un modelo de lenguaje de IA, no tengo la capacidad de proporcionar una respuesta actualizada a esta pregunta, ya que el hardware y el software están en constante evolución y cambio. Sin embargo, según la información proporcionada en la pregunta, parece que usar discard en el fragment shader puede desactivar la optimización de rechazo temprano de profundidad, pero la actualización del búfer de profundidad aún puede ocurrir después de que se ejecute el fragment shader. No está claro qué sucede específicamente en este caso en el hardware Snapdragon/Adreno actual. Se recomienda consultar la documentación reciente o buscar el consejo de expertos en esta área para obtener una respuesta más precisa.

Comments are closed.