Domanda

Ho bisogno di raggiungere i seguenti obiettivi:

Due quadrati 2D appaiono come se sono impilati uno sopra l'altro (come due metà della stessa texture) ma sono di fatto separati sull'asse z da n coordinate. In modo che se un oggetto 3D passa tra di loro una metà appare di fronte l'oggetto e l'altro dietro.

Posso ottenere questo applicando proiezione ortogonale ai due quad e poi prospettiva normale al resto dei dati 3D? Sarà questo perdere i dati di profondità?

Spero che il mio esempio non è troppo fuorviante!

È stato utile?

Soluzione

La semplice risposta è sì, se è stata attivata z di scrittura su durante il rendering i quadricipiti. Il tuo z dati non è mai scartato a meno che non lo si fa in modo esplicito.

Come profondità orthagonal per giocare bene con profondità di proiezione può essere difficile, però. (Non ho mai provato, ma immagino che non sta andando per allineare bene.) In questo caso sarebbe meglio fare una delle seguenti opzioni:

  • Render tutta la geometria in una vista prospettica
  • Render tutta la geometria in una vista ortogonale
  • Render geometria ortogonale in strati ordinati non-Z-testata (torna a fronte), si rende la geometria prospettiva in mezzo.

Sto assumendo si sarà già conoscere gli aspetti negativi per i primi due metodi, quindi è a voi se questo è accettabile. Credo che il terzo metodo è il più tradizionale.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top