Pregunta

¿Debo estar siempre utilizando este método cuando se representa? Qué mucho más lento en las tarjetas gráficas malas?

Si el resultado final no tendrá muchas caras vaciados, debería ser incluso utilizando este método entonces?

¿Fue útil?

Solución

Si todos sus modelos están correctamente definidos (convexa, con vértice constante de bobinado), el sacrificio será el rendimiento no le hace mal, y casi siempre hay ayuda rendimiento.

Imagine que se renderiza un cubo, con el sacrificio de personas con discapacidad. Las caras en la parte posterior (en el extremo lateral) del cubo consiguen prestados de espaldas a usted, y cualquiera que sea la cara posterior material de atributos que ha elegido obtener aplicado. Entonces las caras en la parte delantera del cubo consiguen prestados:. Desde las caras posteriores que se acaban de que se prestan, el interior del cubo, que son 100% ocluida por las caras frontales

Si el cubo se orientó de manera diferente, las caras frontales se podría rasterizar primero, pero todavía será procesada las caras posteriores y luego los fragmentos rechazada por la memoria intermedia z.

El resultado neto: que rasterizar 2x tantos fragmentos como sea necesario. Esto llega a ser un gran problema con un gran número de polígonos o pixel shaders complejos. sacrificio cara le permite evitar completamente rasterizar caras que sabe que no se mostrará.

Si usted tiene un modelo de personaje con ~ 100.000 polígonos, cara mitades de descarte la cantidad de trabajo que el hardware de píxel tiene que ver cada cuadro. Este es un gran ahorro si tiene grandes shaders de superficie.

Si está trabajando con pequeños modelos y no hay shaders, el sacrificio realmente no importa en estos días. Pero es una buena práctica para que de todos modos.

Otros consejos

Activación de la cara Culling (por lo general de back-cara) tiene un impacto significativo en el rendimiento de la representación.

Ahora, la pregunta que debe responderse es entonces "¿por qué no sacrificarlas es activado por defecto o por qué no se utiliza siempre?" hay varios factores que determinan si permitiendo sacrificio es factible o no. Una de ellas es el modelo que se queden y cómo se ve.

Para cada polígono en el modelo, si sólo una cara, ya sea parte delantera o trasera es visible (cuando el modelo se ve desde todos los ángulos posibles) entonces podemos sacrificar la otra cara.

Por Ej.: "Cubo", no importa si usted está buscando desde dentro o fuera de la misma, cuando se gira, se puede ver sólo un lado de cada 6 polígonos que conforman el cubo

Otro ejemplo: "velas de un barco modelo" como en mi Sea-Wars (3d) juego, las velas de un modelo de barco es una superficie construida con varios polígonos planos. Cuando un barco se mueve alrededor en el agua, se pueden ver los dos lados de la vela. En este caso el sacrificio de una de las caras no es deseable.

Por lo tanto sacrificio se pueden habilitar para todos los modelos de la escena que siguen cubos semántica e incapacitantes para los demás modelos.

P.S. Cara El sacrificio debe utilizarse siempre que sea posible.

Depende de las cosas que se renderiza. En el sacrificio en general es deseable. La única razón por la que se puede imaginar no usarlo es hacer que los modelos que tienen caras posteriores visibles. Otro escenario en el que el sacrificio no podrían ser querido podría modelos en los que los vértices se definen en el orden equivocado mal modelado.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top