Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
daliran

Informazioni Sul Rendering

Recommended Posts

Ciao, ho iniziato da poco a usare blender (2.5 alpha 2) per fare qualche esperimento di modellazione 3d ma mi sono accorto che tutti i render che effettuo (animazioni e non) sono sempre molto lenti.

Premetto che i modelli che voglio realizzare sono veramente semplici, anche solo cubi che traslano.

Tutti gli effetti come Anti-Aliasing , RayTracing (Adirittura ho provato a disattivare le luci) , etc sono stati disabilitati e la risoluzione settata bassa (800x600).

Il mio è un portatile con intel dual core 2.6 , 4 gb di ram dd3 e una nvidia 9600m gt su windows 7 x64.

Non ho problemi a far correre nessuno dei giochi più recenti (ovviamente non a piena potenza).

La mia domanda è : il rendering è un processo differente in un software di modellazione rispetto a quello che avviene in tempo reale in un videogioco ?

Magari nella modellazione viene utilizzata solo la cpu e non la scheda video, oppure il un videogioco tutto è precalcolato per ottimizzare i tempi ?

Ho esperienze di programmazione opengl e non riesco a spiegarmi come possa esserci una così netta differenza anche a livelli bassi di dettaglio,potrei capire nel realizzare modelli molto complessi o con numerosi effetti grafici...

Qualcuno mi potrebbe aiutare a fare luce sull'argomento ?

Grazie.

Share this post


Link to post
Share on other sites

Renderizzare cubi che traslano senza AA e raytracing, a 800x600 dovrebbe metterci pochi secondi al frame...che intendi per lenti?

Comunque sì, il rendering è svolto dalla cpu, mentre nei videogame la maggior parte del lavoro è affidato alla scheda video e alla gpu. Ultimamente stanno sviluppando motori di rendering che sfruttino la potenza elaborativa della gpu; se cerchi nel forum ci sono discussioni aperte al riguardo ;)

ciauz,

Never :hello:


Edited by nevermind1711

Share this post


Link to post
Share on other sites

Premesso che non ne so granchè di grafica in realtime...sono due mondi (quasi) totalmente diversi, con finalità e metodi diversi...se vuoi tempi veloci, ma è comunque improprio parlare di velocità, devi puntare sui prodotti dedicati, generalmente di vocazione videogame, anche Blender ha il suo game engine che infatti è distinto dal renderer vero e proprio. insomma..scegli che strada vuoi prendere ;)

Share this post


Link to post
Share on other sites

Si , come tempi lunghi intendevo appunto pochi secondi per ogni frame, invece per cose un po' più avanzate non vale nemmeno la pena cimentarsi !

Quindi gli sviluppatori che utilizzano questi programmi per realizzare modelli 3d hanno computer con cpu molto potenti (multicore / multicpu) ?

Altrimenti chi deve testare il proprio lavoro deve attendere ogni volta gli interminabili tempi di render ?

Non riuscivo proprio a capire come un motore grafico "da videogioco" riuscisse a riprodurre le stesse cose in tempi decisamente più bassi.

Ma se le potenzialità delle gpu sono sempre state maggiori perchè non hanno realizzato dei motori di render basati esclusivamente su esse ?

Mi sembra di aver letto che comunque un contributo nei calcoli lo danno lo stesso.

Del resto non capisco il senso, si modello lento e riproduce veloce ??

In ogni caso esistono quindi motori di render dedicati per i videogiochi e motori general purpose ?

Grazie per le delucidazioni !

Share this post


Link to post
Share on other sites

..

Altrimenti chi deve testare il proprio lavoro deve attendere ogni volta gli interminabili tempi di render ?

Non riuscivo proprio a capire come un motore grafico "da videogioco" riuscisse a riprodurre le stesse cose in tempi decisamente più bassi.

..

1 In particolare coi motori di tipo unbiased aspetti... Ore... Decine di ore!

2 Non riproduci le stesse cose, te l'assicuro! (sarebbe come dire che chi fa animazione e impiega giorni per renderizzare pochi secondi di filmato è un incompetente...) i motori realtime hanno dei limiti, anche se col progredire delle schede grafiche questi limiti si spostano sempre più in alto e le differenze si fanno più sottili ad un occhio inesperto.

Share this post


Link to post
Share on other sites

Si , come tempi lunghi intendevo appunto pochi secondi per ogni frame, invece per cose un po' più avanzate non vale nemmeno la pena cimentarsi !

Quindi gli sviluppatori che utilizzano questi programmi per realizzare modelli 3d hanno computer con cpu molto potenti (multicore / multicpu) ?

Altrimenti chi deve testare il proprio lavoro deve attendere ogni volta gli interminabili tempi di render ?

tu ti perdi un passaggio: come ti hanno detto ,sono 2 mondi differenti per tipologia e target. Chi fa il 3d per i videogame lavora lowpoly, cioè 5000poly per un modello ad esmepio. Una mesh da 5000 poly è ottima per un videogame frenetico che non cerca il realismo nelle forme, ecc.. ma non va assolutamente bene per una animazione o corto in CG dove non può essere squadrato, ad esempio, un personaggio. Di solito un buon animatore non è detto che sia un buon modelaltore lowpoly. SOno techiche differneti e bisogna avere un pò di esperienza per capire "dove" mettere i poly utili per rendere al meglio il modello.

Nei videogame spesso si usa il baking delle texture per simulare la GI, cioè si precalcola le ombre sulle singole texture e il motore di render applica le texture già con le ombre.

Esempio pratico: sono stato lo scorso mese a un workshop di Quironi (supervisore tecnico di Toy Story 3) e tra le tantisisme cose che ci ha detto, ha parlato dei tempi render x frame: alla fine, ogni frame 1920px deve al massimo impiegare 4 ore di render, se le supera si deve modificare per restare a questa cifra altrimenti non ci stanno.. e loro usano una renderfarm da 5000pro. Morale: se vuoi fare animazione in CG devi mettere in conto minuti, ore di calcolo. Se vuoi fare cose in realtime, devi ottimizzare al massimo modellaizone e shading, e avere un buon motore (che esistono) per farli girare.

Se lo fai per lavoro e cerchi un motore per velocizzare il tuo compiti... ti consiglio di cambiare strada, IMHO. Dovresti cambiare tutta la tua pipeline di lavoro, modo di lavorare e di presentare il lavoro. Ha più problematiche che benifici (ed è uno dei motivi per cui nessuno o quasi usa motori realtime nel campo della cg, attualmente)


"La potenza è nulla senza controllo" del mouse.

Share this post


Link to post
Share on other sites

Ringrazio tutti per le interessantissime informazioni.

Mi scuso per la mia incompetenza ma ho avuto esperienze solo di realtime e non mi sono mai accorto che il modo di gestire l'animazione 3d e i videogiochi fosse così profondamente diversa.

Pensavo variasse solo il numero di poligoni e qualche effetto luminoso, quindi richiedesse solo computer un po' più pontenti, mantenendo però lo stesso motore.

Ok, sapendo che necessitano ore e ore come è possibile testare i propri lavori in questo modo ?

Anche un singolo errore richiederebbe altrettante ore di rendering !

Chi realizza modelli per videogiochi usa programmi differenti o semplicemente riproduce gli ultimi sul proprio motore grafico per testarli ?

Nei nei motori per videogiochi quindi si punta a limitare al minimo i tempi di calcolo usando opportuni trucchi ?

Questi trucchi servono per simulare quello che fa un realmente motore di rendering ?

Sarò inesperto giustamente, non avevo notatato la profonda differenza !

Share this post


Link to post
Share on other sites

nei videogame non esiste una fase di vero e proprio render come la intendiamo "noi grafici".

I modelli che loro usano andrebbero veloci anche su un core2 (almeno, la maggiorparte).

Per testarli non devono fare render col bottone del 3dsmax per capirci.

Detto in parole povere, esportano il modello e lo buttano nel motore realtime che hanno sviluppato e controllano lì se è corretto, ecc.. il render è e deve essere immediato.

Il calcolo è per l'appunto in realtime, alcuni motori hanno luci dinamiche, altri no. Questo perchè i programmatori devono ottimizzare il codice per rendere il più veloce possibile il calcolo realtime.

Insomma, nei videogame il 60% del lavoro nella visualizzazione è dei programmatori nella ottimizzazione nelle linee di codice del motore... i grafici poi si basano sulle specifiche che questi gli danno per creare i modelli


"La potenza è nulla senza controllo" del mouse.

Share this post


Link to post
Share on other sites

Ok ora ho le idee molto più chiare, grazie !

Per quanto riguarda invece computer graphics ?

Si cerca di fare meno errori possibili e si aspetta ogni volta il tempo di render ?

Share this post


Link to post
Share on other sites

tu ti perdi un passaggio: come ti hanno detto ,sono 2 mondi differenti per tipologia e target. Chi fa il 3d per i videogame lavora lowpoly, cioè 5000poly per un modello ad esemepio.

a dire la verità il limite dei poligoni si sta sempre più abbassando vedi ad esempio crysis o Gta4, certo non arriverà mai (non è detto) alla densità poligonale anche solo del primo toy story però vi voglio ricorade che anche "solo" l'unreal engine 3 supporta un numero elevetissimo di poligoni.

chissà se tra qualche decina danni dei rendering engine come mentalray forse potrebbero diventare motori di gioco?

Share this post


Link to post
Share on other sites

a dire la verità il limite dei poligoni si sta sempre più abbassando vedi ad esempio crysis o Gta4, certo non arriverà mai (non è detto) alla densità poligonale anche solo del primo toy story però vi voglio ricorade che anche "solo" l'unreal engine 3 supporta un numero elevetissimo di poligoni.

chissà se tra qualche decina danni dei rendering engine come mentalray forse potrebbero diventare motori di gioco?

ovviamente il numero sta sempre più aumentando. Parlando del caso da tu citato, UE3 supporta 1/20 di quelli di un corto in Cg (devo ritrovare la news che riportava questo confornto in cui c'erano cifre di paragone).

"Elevatissimo" è sempre relativo a cosa ci si riferisce. A quello che si faceva 5 anni prima, si. A quello che si fa in un campo differente (vedi animazione) è tutt'altra cosa.

Questo processo porterà un giorno ad avere realtime modelli HIGH ovviamente (anche se ho dei dubbi sulla utilità pratica)... cmq un giorno, magari tra 10 anni. Non nel breve/medio termine però :)


Edited by icer

"La potenza è nulla senza controllo" del mouse.

Share this post


Link to post
Share on other sites

Ok ora ho le idee molto più chiare, grazie !

Per quanto riguarda invece computer graphics ?

Si cerca di fare meno errori possibili e si aspetta ogni volta il tempo di render ?

Quoto nevermind.

Cmq su un pc di ultima generazione (tipo l'i7 920) il test veloce su modelli high si fanno in 30/40sec se riesci a ottimizzare i parametri di render, shading e lighting (tipo i sample dei materiali e delle luci che fanno perdere molto tempo).

I miei test, ad esempio, sono sempre sotto i 30sec in fase di wip. Poi il render finale oscilla tra i 10 e 40minuti, a seconda di cosa tratto.


"La potenza è nulla senza controllo" del mouse.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...
Aspetta! x