View Full Version : ma i motori 3d ????
Premetto di non sapere un'emerita mazza sulla modellazione 3d.. ma mi sono sempre chiesto una cosa.... ma perchè per realizzare un rendering relativamente complesso uno, anche con un pc cazzuto, deve aspettare anche ore? Pendiamo per esempio i videogames anche dell'ultima generazione tipo doom3 etc.. con scene molto complesse da renderizzare.. perchè un buon pc spara 30-40fps con filtri attivati, luci, ombre, riflessi etc etc ??? mahhh...
Originariamente inviato da TheZeb
Premetto di non sapere un'emerita mazza sulla modellazione 3d.. ma mi sono sempre chiesto una cosa.... ma perchè per realizzare un rendering relativamente complesso uno, anche con un pc cazzuto, deve aspettare anche ore? Pendiamo per esempio i videogames anche dell'ultima generazione tipo doom3 etc.. con scene molto complesse da renderizzare.. perchè un buon pc spara 30-40fps con filtri attivati, luci, ombre, riflessi etc etc ??? mahhh...
dipende (credo) dal numero di poligoni, dalle texture, e dal numero di luci.
mentre un rendering complesso è composto da tantissimi poligoni, in un gioco ce ne sono molti di meno, inoltre molti "dettagli" che vedi in un gioco, sono texture "spalmate" su un piano, le luci sono precalcolate,e il motore grafico è studiato "ad hoc", non per niente per fare un buon gioco spesso la programmazione del motore grafico porta via anche un anno o più.
prendi per esempio la modellazione di automobili.
mentre un rendering con buon dettaglio arriva anche a 400-500.000 poligoni, quando "esporti" il modello per usarlo con need4speed underground (certamente non l'ultimo gioco uscito) non puoi usarne più di 10.000
a tutto questo aggiungi il fatto che un motore3d per i giochi è fatto per ottenere non il maggiore realismo, ma la maggiore fluidità, mentre invece il motore 3d di un software di modellazione punta alla seconda ;)
almeno, questo è quello che suppongo dal basso delle mie conoscenze :D
si però... se vengono sparati fuori solo 10 mila poigoni a frame.. 40x10.000 =400.000 poligoni o no ??? perchè non utilizzare in 3ds il motore 3d di quake 3 ??
Originariamente inviato da TheZeb
si però... se vengono sparati fuori solo 10 mila poigoni a frame.. 40x10.000 =400.000 poligoni o no ??? perchè non utilizzare in 3ds il motore 3d di quake 3 ??
perchè la complessità di renderizzare 10 volte 40.000 poligoni è diversa dalla complessità di generare una volta 400.000 poligoni.
inoltre, tu li stai calcolando per ogni secondo.
se un'auto è fatta da 400-500.000 poligoni, ogni secondo sarebbero 500.000x40=20.000.000 di poligoni.
e il motore di quake3 ci crepa sotto a una cifra del genere....
il motore grafico di un gioco, è fatto per rappresentare tot poligoni, con luci prefissate, se ne usi di più per quella determinata scena, il motore crasha.
quello di 3dstudio, in linea teorica, gestisce anche, boh, 10-20 milioni di poligoni, e non crasha.
sono due cose completamente diverse, per il modo in cui lavorano.
è un po come prendere una ferrari, dici, "cazzo, fai i 300 all'ora", ma la macchina pesa 1000 chili.......
e la raffronti a un camion, che pesa 40 tonnellate, e fa i 100 orari.
dici, perchè non usare il motore della ferrari nel caimon? perchè un motore del genere, se gli schiaffi sopra 40 tonnellate quando è fatto per portarne una, crepa.
spero di non aver sparato una marea di stronzate :D
I poligoni contano, quello si, ma la maggior parte del calcolo è data dalla illuminazione. Quest'ultima nel nei programmi di computer grafica è alquanto complessa, tanto per farti un'esempio, quella di Doom3, considerata come la miglior gestione delle ombre fin'ora realizzata in un videogame, è invece la più mediocre nel mondo della cg, tanto è vero che non la usa nessuno ormai.
secondo me nn e' tanto una questione di poligoni, dove sicuramente il motore di un gioco e' piu' veloce rispetto a 3ds... pero' c'e' da considerare che il motore di un gioco e' un cosa completamente diversa, primo perche' sfrutta sia la cpu sia l'hardware della scheda video, e poi perche' renderizza solo poligoni e texture, piu' un numero fisso di luci hardware nei giochi di ultima generazione. al contrario il motore di rendering di 3ds e' sviluppato sulla qualita' dell'immagine, per prima cosa la gestione delle luci e' completamente diversa ed anche l'antialiasing e' imparagonabile rispetto a quello dei giochi (che poi e tutto a carico della scheda video), poi ci sono da considerare i materiali decisamente piu' complessi che appesantiscono notevolmente i rendering...
Per questo genere d'impieghi, il motore 3d di un gioco come quake andrebbe bene per visionare l'ambientazione modellata, ma esistono sempre problemi di conversione, ad esempio esportare le texture mappate correttamente, e non ultimo un'ottimizzazione poligonale delle mesh.
Per chi fosse comunque interessato a tali impieghi esistono realta' piu' concrete, tipo EON Raptor, plug-in integrata in 3dstudio max, che sfrutta le open-gl, oppure Quest3D, che al contrario usa le Direct x, e qui
http://www.quest3d.com/index.php?id=15
http://www.vstep.nl/s_demos.htm
:eek: :eek: :eek:
scaricatevi le demo eseguibili in autoplay che sono a mio parere qualche cosa di veramente bello.
Salut
la_piaga
23-03-2004, 17:01
Ci sono diversi fattori che intervengono a differenziare i tempi di rendering, ma fondamentalmente la questione riguarda il fatto che gli engine in real time (come quelli utilizzati dai video games) utilizzano funzioni standard per il rendering eseguite in hardware dalle GPU.
Non devi considerare tanto il numero di triangoli o di luci che in lina di massima hanno (in questi engines) una incidenza lineare sul tempo di calcolo, bensi' il fatto che i rendering piu' realistici effettuati con pacchetti di modellazione o plug-ins dedicati utilizzano algoritmi custom per il calcolo della luce (tipo radiosity) di una complessita' cosi' elevata da non avere proprio nulla in comune con quelli utilizzati per il real time.
Alberello69
10-12-2004, 11:51
ok, il discorso che avete fatto quadra, ma possibile che questa differenza è cosi' esagerata anche quando faccio il render di un cubo senza texture e con una sola luce?:confused:
la_piaga
10-12-2004, 13:09
Originariamente inviato da Alberello69
ok, il discorso che avete fatto quadra, ma possibile che questa differenza è cosi' esagerata anche quando faccio il render di un cubo senza texture e con una sola luce?:confused:
Stai mettendo a confronfonto due algoritmi sensibilmente differenti, eseguiti da hardware differenti, ma sopratutto in ambienti totalmente differenti: scusa se suona generico e banale ma è così: non si può paragonare una gpu massicciamente parallela con la geometria da rendere in cache che ti sbatte sul frame buffer 8 o 16 pixel in botta a ciclo di clock, venedo pilotata da vertex/pixel shaders elementari con un processore in ambiente max. Processore che deve prima effettuare tutte le chissà quanto cervellotiche procedure di setup per il rendering che gli impone max, poi passare pixel per pixel a considerare i contributi di luce che per quanto elementari (nel caso da te citato) siano saranno inseriti assieme agli altri elementi dei quali tener conto in una infrastruttura ultra intricata che certo sarà necessaria per questioni di modularità e possibilità di gestire strutture complesse ma che di certo non aiutano le preformances.
E' un po' come mettere in piedi una tipografia per un volantino, pure bianco e nero!
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.