Pregunta

necesito para lograr lo siguiente:

dos quads 2D aparecen como si están apilados uno encima del otro (como dos mitades de la misma textura) pero en realidad son separados en el eje z por n coordenadas. Así que si un objeto 3D pasa entre ellos la mitad aparece delante del objeto y el otro detrás.

Podría lograr esto mediante la aplicación de proyección ortogonal a los dos quads y perspectiva de lo normal para el resto de los datos 3D? ¿Esto perder datos de profundidad?

Espero que mi ejemplo no es muy engañoso!

¿Fue útil?

Solución

La respuesta simple es sí, si usted tiene z escritura encendido mientras renderizar quads. Sus datos de z no se descarta a menos que hacerlo de forma explícita.

El conseguir profundidades ortogonales para jugar muy bien con profundidades de proyección puede ser complicado, sin embargo. (Nunca he probado, pero me imagino que no va a alinear muy bien.) En ese caso, lo mejor sería hacer una de las siguientes:

  • Render toda la geometría en una vista en perspectiva
  • Render toda la geometría en una vista othogonal
  • Render geometría ortogonal en capas ordenadas no-Z-probado (atrás hacia delante), se renderizado geometría perspectiva en el medio.

Estoy asumiendo que ya sabrán los inconvenientes de los dos primeros métodos, por lo que toca a usted si eso es aceptable. Creo que el tercer método es el más tradicional.

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