Ho un albero BSP caricato in memoria. Per prima cosa scopro in quale foglia sono. Successivamente, decodifico il PVS. Quindi, percorro ciascuna regione in quel PVS e vedo se si trova nel mio trambusto.Sto rendendo gli alberi BSP in modo errato?
Mi è stato detto che questo è il modo scorretto di renderizzare e che dovrei effettivamente fare un back to front rendering attraversando l'albero BSP. Come esattamente faccio questo? Ho visto un certo numero di metodi diversi per farlo, ecco perché lo chiedo.
Ad esempio, il rendering di Quake 3 BSP dice: Attraversare il BSP per determinare in quale posizione è posizionata la telecamera. Recupera e decomprime il PVS per questa foglia, itera su PVS e segna le foglie nel BSP. Attraversare il BSP vicino al lontano Se un nodo non è marcato, saltarlo. Testare la casella di delimitazione del nodo contro Camera Frustrum. Aggiungi la foglia corrente all'elenco delle interpretazioni
È ancora questo il modo standard in cui è fatto oggi o almeno per i giochi più semplici.
oggi è il rendering preferito da fronte a retro; back to front era necessario solo per l'algoritmo del pittore (vale a dire prima che i buffer z compressi ad alta larghezza di banda li rendessero preferibili). front-to-back consente i primi z-reject (tutto ciò che è dietro ciò che è stato disegnato verrà rifiutato, nell'hardware moderno, prima che molto lavoro oltre a determinare e controllare il suo valore z sia fatto). Commenterò di nuovo quando avrò un po 'di più. –