2012-07-27 18 views
6

Ho fatto alcuni grafici 3D in Blender negli ultimi anni e ho anche provato a realizzare giochi 3D (in Unity 3D). Gioco anche a computer molto e sono sorpreso da una cosa:Perché i riproduttori di giochi sono così veloci rispetto ai renderer delle applicazioni 3d?

Perché i renderer delle applicazioni 3D sono così "lenti" rispetto ai riproduttori di giochi?

Non è una domanda offensiva. Sono solo curioso. Per esempio, posso giocare a Crysis o NFS: The Run senza problemi, ma se avessi creato una scena simile in Blender, credo che il rendering di un fotogramma avrebbe richiesto per sempre.

Ho trovato alcune informazioni su Internet (come "perché i riproduttori di giochi usano molti falsi e hack"), ma io non sono un programmatore grafico e apprezzerei davvero la risposta di un esperto.

+1

Se hai un renderer abilitato OpenCL o CUDA, rimarrai sorpreso dalla velocità con cui esegui il rendering di una scena. Non abbastanza in tempo reale come i giochi, ma quasi lì. – Hassan

risposta

8

I sistemi come Blender, Maya e 3D Studio Max generalmente eseguono il raytracing di rimbalzo multi per i rendering di frame. I loro motori ti permettono di fare cose come il vetro realistico e gli effetti fumo e l'illuminazione ambientale. I motori di gioco hanno versioni di queste cose piacevoli ma meno fotorealistiche.

Inoltre, il commento di Hassan è corretto: Blender non usa la scheda grafica per il rendering, è tutta basata sulla CPU (di default). Le GPU sono molto più adatte al tipo di elaborazione parallela comune nel rendering delle scene, ei produttori di schede grafiche hanno investito molto denaro per sviluppare la tecnologia per eseguire rapidamente i giochi. Anche in questo caso, alcuni algoritmi per effetti fotorealistici di altissima qualità sono difficili da implementare in modo efficiente per la GPU. Le persone hanno parlato di raytracing in tempo reale per 10 anni, e ci sono alcuni candidati (Nvidia's OptiX, Intel MIC architecture)

+0

Non avevo idea che il software di rendering non usasse la GPU per impostazione predefinita. Fatto interessante. –

+1

@Dan: non tutti i software di rendering, solo Blender. Sarei sorpreso se ci fosse un programma di modellazione commerciale che non ha utilizzato la scheda grafica. –