Devo davvero scrivere il mio formato di modello ottimizzato?


8

Quindi sono un nuovo arrivato nel mondo degli sviluppatori di giochi e sto iniziando provando a scrivere il mio gioco usando C ++ e openGL. Sto entrando nel caricamento di modelli ecc. E mentre cerco "il miglior formato" sto scoprendo che la maggior parte dei formati comuni sono destinati al porting tra le applicazioni di modellazione e non necessariamente alla rappresentazione finale dei dati durante il caricamento in un ambiente di gioco. Mi è stato detto attraverso varie fonti che alla fine vuoi usare formati come Collada ecc. E convertirli in un formato binario personalizzato ottimizzato per il tuo gioco. È assolutamente necessario? Capisco l'idea che l'analisi di un XML di grandi dimensioni o di un altro formato ASCII sarà più lenta della lettura di un tipo di file binario, ma sarà davvero UN grande successo in termini di prestazioni se non lo faccio? Non riesco a vederlo

opengl  c++  models 

2
Cosa c'è che non va nei formati esistenti? Fanno perfettamente bene per il 99,9% delle persone.
Il comunista Duck il

Risposte:


5

Quello che credo che queste persone stiano dicendo è che vuoi caricare il tuo file COLLADA nella tua struttura di gioco. È quindi possibile salvare il contenuto di questa struttura in un file binario pronto per il caricamento in fase di esecuzione.

Questo può avere vantaggi come quelli che hai detto, ma presenta anche degli svantaggi, in genere durante la fase di sviluppo.

Se il guadagno in termini di tempo di caricamento ottenuto è necessario per il tuo gioco, devi decidere tu. Se hai alcuni modelli non complessi, la differenza è probabilmente trascurabile e spetta a te decidere con cosa andare.

Se per scopi di sviluppo preferisci usare COLLADA e analizzare l'XML al momento del caricamento, seguilo! Ti consiglio di assicurarti che il tuo codice di caricamento sia abbastanza astratto in modo da poterlo facilmente sostituire con file binari se il caricamento diventa troppo lungo.


1
Quindi in pratica faccio solo quello che stavo facendo e se lo trovo necessario posso usare gli SDK per questi formati per convertirli in un formato finale per il mio gioco. Grazie per il chiarimento, a volte è difficile separare l'opinione. Ho letto molte critiche sull'uso di questi formati (specialmente ascii), fondamentalmente sbattendoli come qualcosa che non sarebbe mai stato usato nei giochi "professionali", ma per ultimo ho verificato che il software ID ha usato modelli di testo in chiaro negli ultimi 10-15 anni .

Che ne dite di decidere su un layout di vertice e quindi archiviare queste informazioni in un file? Una volta che hai risolto questo problema, puoi capire quali altre somiglianze hanno le tue maglie. Il problema che penso che dovrai affrontare all'inizio è il numero schiacciante di lievi differenze che ognuna delle tue maglie ha nei suoi requisiti nel mondo di gioco. Tuttavia, alcune di queste informazioni possono essere generate al caricamento del modello e potrebbe non valere la pena memorizzarle nel file "dati" della mesh.
Jay,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.