2012-07-10 20 views
5

es el orden de dibujo de triángulos en el API 3D garantizados a ser el mismo que el orden en tampón índice?Triángulo orden de dibujo en DirectX/OpenGL

Por ejemplo si tengo dos triángulos superpuestos en una sola llamada de drenaje, y las pruebas de profundidad está desactivada, será visible en el extremo de la primera o segunda triángulo?

O necesito para emitir sorteo llamadas separadas para asegurarse de que el segundo triángulo aparece en la parte superior de la primera?

Respuesta

6

En OpenGL la orden es de hecho preserveed, por lo que los pintores algoritmo se puede utilizar, por ejemplo cuando la prestación geometría semitransparente.

Direct3D no sé a ciencia cierta, pero yo diría que lo mismo se aplica allí.

+0

Gracias! ¿Tiene un enlace a algún documento oficial que dice que se guardará la orden? ¿La arquitectura de mosaico (como Adreno o Xbox GPU) donde el dibujo se hace por separado en múltiples mosaicos no afecta? – kaalus

+1

@kaalus: puedo responder por el pedido, aunque no puedo encontrar una referencia en DX. GL tiene al menos una referencia al aprobar p115 de 4.2 Perfil central. el mosaico no lo afectará. – Bahbar

+1

@Bahbar De hecho, solo se menciona de pasada. Aquí está el texto real: "El orden relativo de las invocaciones del mismo tipo de sombreado son inde fi nida Una tienda emitido por un sombreado cuando se trabaja en primitiva B podría completar antes de una tienda para primitiva A, incluso si una primitiva es especi fi cado antes de la primitiva B. Esto se aplica incluso a los sombreadores de fragmentos, mientras que los resultados del shader de fragmentos se escriben en el framebuffer en orden primitivo, los almacenes ejecutados por invocaciones de shader de fragmentos no lo son ". – kaalus