-
Unlimited Detail Real-Time RenderingScritto daNon Autenticatoil 2012-04-24 00:24:11.0 alle 2012-04-24 00:24:11.0
-
Re: Unlimited Detail Real-Time RenderingScritto daaltgutente che non utieneil 2012-04-24 00:48:22.0 alle 2012-04-24 00:48:22.0Trollate totali: 11540Gia`, non e` chiaro.

Pero` e interessante. Anche a me piacerebbe abbandonare i poligoni.
Sono scomodi e in fondo fanno apparire tutti i giochi un po' banali.
"nubi di atomi"... umm...-
Re: Unlimited Detail Real-Time RenderingScritto daNon Autenticatoil 2012-04-24 00:56:36.0 alle 2012-04-24 00:56:36.0> Gia`, non e` chiaro.

>
> Pero` e interessante. Anche a me piacerebbe abbandonare i poligoni.
> Sono scomodi e in fondo fanno apparire tutti i giochi un po' banali.
>
> "nubi di atomi"... umm...
I poligoni potrebbero fungere da scheletri per tecniche più raffinate. Però proprio non ho capito che tecnica è, anche perché la mia comprensione dell'inglese parlato è scarsuccia.
Ma soprattutto a me non è chiaro come faccia la tecnica che usano a ottenere simili risultati *in tempo reale*. Ad esempio hai visto la roccia? Hanno importato una roccia vera e sembra quasi reale.-
Re: Unlimited Detail Real-Time RenderingScritto daaltgutente che non utieneil 2012-04-24 01:26:14.0 alle 2012-04-24 01:26:14.0Trollate totali: 11540> > Gia`, non e` chiaro.

> >
> > Pero` e interessante. Anche a me piacerebbe abbandonare i poligoni.
> > Sono scomodi e in fondo fanno apparire tutti i giochi un po' banali.
> >
> > "nubi di atomi"... umm...
>
> I poligoni potrebbero fungere da scheletri per tecniche più raffinate.
Quello lo fanno già, limitatamente è possibile decorarli.
Bump mapping, per esempio.
> Però proprio non ho capito che tecnica è, anche perché la mia comprensione dell'inglese parlato è scarsuccia.
Non spiega nulla di dettagliato, parla genericamente di atomi e del loro stato dei lavori.
> Ma soprattutto a me non è chiaro come faccia la tecnica che usano a ottenere simili risultati *in tempo reale*. Ad esempio hai visto la roccia? Hanno importato una roccia vera e sembra quasi reale.
Dovrebbe essere una rappresentazione in qualche modo volumetrica, per come la descrivono. Qualcosa di imparentato coi voxels. Ma veramente non saprei dire di più.-
Re: Unlimited Detail Real-Time RenderingScritto daNon Autenticatoil 2012-04-24 15:51:41.0 alle 2012-04-24 15:51:41.0Scritto da: altg
> > > Gia`, non e` chiaro.
> > >
> > > Pero` e interessante. Anche a me piacerebbe abbandonare i poligoni.
> > > Sono scomodi e in fondo fanno apparire tutti i giochi un po' banali.
> > >
> > > "nubi di atomi"... umm...
> >
> > I poligoni potrebbero fungere da scheletri per tecniche più raffinate.
>
> Quello lo fanno già, limitatamente è possibile decorarli.
> Bump mapping, per esempio.
>
> > Però proprio non ho capito che tecnica è, anche perché la mia comprensione dell'inglese parlato è scarsuccia.
>
> Non spiega nulla di dettagliato, parla genericamente di atomi e del loro stato dei lavori.
>
> > Ma soprattutto a me non è chiaro come faccia la tecnica che usano a ottenere simili risultati *in tempo reale*. Ad esempio hai visto la roccia? Hanno importato una roccia vera e sembra quasi reale.
>
> Dovrebbe essere una rappresentazione in qualche modo volumetrica, per come la descrivono. Qualcosa di imparentato coi voxels. Ma veramente non saprei dire di più.
Capisco che non divulghino la tecnica, ma mi scoccia vedere qualcosa di interessante e non capirne il principio.
Comunque ho guardato quel video di Noctis: non farne un'altra versione, nel suo genere è la perfezione e un remake non sarebbe mai la stessa cosa. Al massimo potrai fare un videogioco diverso.-
Re: Unlimited Detail Real-Time RenderingScritto daaltgutente che non utieneil 2012-04-24 18:21:18.0 alle 2012-04-24 18:21:18.0Trollate totali: 11540> > Dovrebbe essere una rappresentazione in qualche modo volumetrica, per come la descrivono. Qualcosa di imparentato coi voxels. Ma veramente non saprei dire di più.
>
> Capisco che non divulghino la tecnica, ma mi scoccia vedere qualcosa di interessante e non capirne il principio.
Allora... dopo che il seme ha fatto nascere un cespuglio che e` diventato una foresta di ipotesi, FORSE si puo` tirare a indovinare e interpretare quel che si vede e si sente nel video cosi`: si approssimano la texture ed il volume occupato da un oggetto tramite un insieme di "atomi", come li chiamano loro, che potrebbero essere singoli punti colorati identificati da una tripletta di coordinate e da un colore.
A come l'oggetto si delinei o si "acchiappi" acquisendolo dal mondo reale non ci ho pensato, ma dato per scontato che si sia in possesso dei dati di questo insieme di punti, si implementa un algoritmo che indicizzi i punti dividendoli in insiemi sempre piu` piccoli dell'insieme originario, sviluppando l'indice di una specie di motore di ricerca.
La cosa migliore che mi sia venuta in mente sarebbe procedere dividendo il volume originario in sfere semi-sovrapposte, diciamo le circosfere che circondano dei cubetti. Ad esempio a un primo stadio di indicizzazione si creano che so... otto grossi cubi dividendo il volume a meta` lungo ciascun asse. Si considerano poi parte di uno di questi sottoinsiemi tutti i punti che risiedono nella circosfera attorno al corrispondente cubo: nelle intersezioni fra le sfere, i punti vengono duplicati, espandendo un po' i dati ma favorendo la gestione in fase di rendering (per motivi che menziono tra poco).
Fatto il primo stadio, se ne fanno altri simili, dividendo ricorsivamente ogni cubo dello stadio precedente in otto cubi piu` piccoli, e rifacendo il raggruppamento. Arrivati a una risoluzione prefissata (che so, poche dozzine di punti per volume), ci si ferma, avendo creato una specie di indice di ricerca a livelli multipli. Questo viene fatto una volta per tutte, prima del rendering.
Per il rendering poi si potrebbe adottare il ray tracing: si costruiscono raggi che vengono proiettati sulla scena a partire da ogni pixel, la scena essendo composta da oggetti indicizzati (le circosfere piu` grandi). Il fatto e` che controllare se il raggio interseca una sfera puo` essere fatto velocemente, e il primo stadio dell'indice e` composto dalle (poche) circosfere di oggetti interi.
Quando il raggio ne interseca una, si accede allo stadio successivo dell'indice di quell'oggetto e si vede quali delle otto sfere "figlie" interseca, e si analizzano le loro figlie, e cosi` via fino all'ultimo stadio che contiene una serie di "atomi", le sferette che approssimano il volume tra i punti dell'insieme originario, nella quale si verifica se il raggio interseca un atomo e quale. Una volta capito quale, si attribuisce al pixel il colore dell'atomo colpito, eventualmente solo in parte (variando l'opacita`) a seconda di quanto lontano passi dal centro esatto dell'atomo, ed eventualmente trasformato da ombreggiature e trasparenze: per determinare l'ombreggiatura, non avendo una normale a una superficie, immagino che o la si debba costruire prima con una grossolana rappresentazione poligonale dell'oggetto, o fare in un altro modo tipo sfumare le ombre proiettate da altri atomi che vengono cercati tra le sorgenti di luce e l'atomo da visualizzare.
Um.. un bel casino, no?
Per una scena statica, pero`, potrebbe funzionare abbastanza "comodamente". Animare richiederebbe, immagino, trasformare le coordinate delle sfere a un certo livello dell'indice (per animare un dettaglio grande o piccolo a seconda del livello).
> Comunque ho guardato quel video di Noctis: non farne un'altra versione, nel suo genere è la perfezione e un remake non sarebbe mai la stessa cosa. Al massimo potrai fare un videogioco diverso.
E` quel che ho in mente da tempo, infatti. Non un Noctis V, ma un generico "Keyway" dove organizzare una realta` virtuale che includa vari ruoli, dall'esploratore galattico "stile Noctis" a cose piu` divertenti "stile Second Life", e in aggiunta, qualunque altra cosa mi venga in mente di rivisitare o creare ex-novo.-
Re: Unlimited Detail Real-Time RenderingScritto da: altg
> > > Dovrebbe essere una rappresentazione in qualche modo volumetrica, per come la descrivono. Qualcosa di imparentato coi voxels. Ma veramente non saprei dire di più.
> >
> > Capisco che non divulghino la tecnica, ma mi scoccia vedere qualcosa di interessante e non capirne il principio.
>
> Allora... dopo che il seme ha fatto nascere un cespuglio che e` diventato una foresta di ipotesi, FORSE si puo` tirare a indovinare e interpretare quel che si vede e si sente nel video cosi`: si approssimano la texture ed il volume occupato da un oggetto tramite un insieme di "atomi", come li chiamano loro, che potrebbero essere singoli punti colorati identificati da una tripletta di coordinate e da un colore.
Ci ho pensato anche io. Probabilmente con un algoritmo in grado di "raggrupparli" in uno solo quando sono troppo "lontani" dall'osservatore per essere distinguibili. Tipo un frattale, che puoi zommarlo all'infinito, ma che in realtà quando viene renderizzato non vengono renderizzati tutti i suoi infiniti livelli di dettaglio, solo quelli rilevanti.
> E` quel che ho in mente da tempo, infatti. Non un Noctis V, ma un generico "Keyway" dove organizzare una realta` virtuale che includa vari ruoli, dall'esploratore galattico "stile Noctis" a cose piu` divertenti "stile Second Life", e in aggiunta, qualunque altra cosa mi venga in mente di rivisitare o creare ex-novo.
Ho letto da qualche parte che statisticamente sono in grado di creare innovazione solo persone nei loro primi 30 anni di vita. Oltre i 30 anni è difficile (statisticamente parlando) che tu possa cambiare qualcosa o fare qualcosa di rilevante.
Mi spiace.
-
Re: Unlimited Detail Real-Time RenderingScritto daaltgutente che non utieneil 2012-04-24 18:47:14.0 alle 2012-04-24 18:47:14.0Trollate totali: 11540> Ci ho pensato anche io. Probabilmente con un algoritmo in grado di "raggrupparli" in uno solo quando sono troppo "lontani" dall'osservatore per essere distinguibili. Tipo un frattale, che puoi zommarlo all'infinito, ma che in realtà quando viene renderizzato non vengono renderizzati tutti i suoi infiniti livelli di dettaglio, solo quelli rilevanti.
Be', questo in gran parte sarebbe gia` insito nel procedere con una strategia di ray-tracing: hai un numero fisso di pixels da processare. Inoltre, su un processore multi-core, thread associati a un core e a un'area dello schermo, che pescano da un pool di memoria comune contenente la scena, possono parallelizzare il procedimento con naturalezza. Per ridurre il carico di lavoro poi ci sarebbero un bel po' di ottimizzazioni possibili nelle fasi di ricerca.
> > E` quel che ho in mente da tempo, infatti. Non un Noctis V, ma un generico "Keyway" dove organizzare una realta` virtuale che includa vari ruoli, dall'esploratore galattico "stile Noctis" a cose piu` divertenti "stile Second Life", e in aggiunta, qualunque altra cosa mi venga in mente di rivisitare o creare ex-novo.
>
> Ho letto da qualche parte che statisticamente sono in grado di creare innovazione solo persone nei loro primi 30 anni di vita. Oltre i 30 anni è difficile (statisticamente parlando) che tu possa cambiare qualcosa o fare qualcosa di rilevante.
>
> Mi spiace.
Forse invece il mio problema verte anche sul fatto che non ho mai smesso d'immaginare alternative. Non ho mai scelto la strada maestra e non sono mai stato in grado di percorrerla quanto bastava per ottenere punti saldi nel mio futuro. Non per incapacita` manifesta, ma perche` non volevo intrappolarmi in un solo futuro. Non ho mai fissato la mia realta` con una misurazione. Se avessi scritto Noctis V a suo tempo, tendo a pensare che probabilmente sarebbe piu` difficile, oggi, immaginare di fare altro.
Pero` mi sono anche rotto di oscillare.
Devo solo arrivare al punto in cui mi saro` rotto abbastanza.-
Re: Unlimited Detail Real-Time RenderingScritto da: altg
> Be', questo in gran parte sarebbe gia` insito nel procedere con una strategia di ray-tracing: hai un numero fisso di pixels da processare. Inoltre, su un processore multi-core, thread associati a un core e a un'area dello schermo, che pescano da un pool di memoria comune contenente la scena, possono parallelizzare il procedimento con naturalezza. Per ridurre il carico di lavoro poi ci sarebbero un bel po' di ottimizzazioni possibili nelle fasi di ricerca.
Perché invece non cambiare genere del tutto e usare le CUDA invece della CPU? Dovrebbe essere come avere centinaia di semplici processori indipendenti fra loro a disposizione usando la GPU della scheda video.
http://www.nvidia.com/object/cuda_home_new.html
Immagina cosa potresti fare... immagina avere sotto le dita non 2 core, non 4... ma 400.
> Forse invece il mio problema verte anche sul fatto che non ho mai smesso d'immaginare alternative. Non ho mai scelto la strada maestra e non sono mai stato in grado di percorrerla quanto bastava per ottenere punti saldi nel mio futuro. Non per incapacita` manifesta, ma perche` non volevo intrappolarmi in un solo futuro. Non ho mai fissato la mia realta` con una misurazione. Se avessi scritto Noctis V a suo tempo, tendo a pensare che probabilmente sarebbe piu` difficile, oggi, immaginare di fare altro.
>
> Pero` mi sono anche rotto di oscillare.
> Devo solo arrivare al punto in cui mi saro` rotto abbastanza.
Potresti farlo con gli pterodattili questa volta...-
Re: Unlimited Detail Real-Time RenderingScritto da: Daisuke Niwa
> Scritto da: altg
> > Be', questo in gran parte sarebbe gia` insito nel procedere con una strategia di ray-tracing: hai un numero fisso di pixels da processare. Inoltre, su un processore multi-core, thread associati a un core e a un'area dello schermo, che pescano da un pool di memoria comune contenente la scena, possono parallelizzare il procedimento con naturalezza. Per ridurre il carico di lavoro poi ci sarebbero un bel po' di ottimizzazioni possibili nelle fasi di ricerca.
>
> Perché invece non cambiare genere del tutto e usare le CUDA invece della CPU? Dovrebbe essere come avere centinaia di semplici processori indipendenti fra loro a disposizione usando la GPU della scheda video.
> http://www.nvidia.com/object/cuda_home_new.html
> Immagina cosa potresti fare... immagina avere sotto le dita non 2 core, non 4... ma 400.
>
> > Forse invece il mio problema verte anche sul fatto che non ho mai smesso d'immaginare alternative. Non ho mai scelto la strada maestra e non sono mai stato in grado di percorrerla quanto bastava per ottenere punti saldi nel mio futuro. Non per incapacita` manifesta, ma perche` non volevo intrappolarmi in un solo futuro. Non ho mai fissato la mia realta` con una misurazione. Se avessi scritto Noctis V a suo tempo, tendo a pensare che probabilmente sarebbe piu` difficile, oggi, immaginare di fare altro.
> >
> > Pero` mi sono anche rotto di oscillare.
> > Devo solo arrivare al punto in cui mi saro` rotto abbastanza.
>
> Potresti farlo con gli pterodattili questa volta...
Tieni, guarda cosa ti regalo!
http://developer.download.nvidia.com/compute/DevZo...
A pagina 13 incomincia un confronto fra CPU e GPU e loro struttura interna.
Oramai le CPU sono sorpassate per questo genere di cose. Non perderci tempo.
-
Re: Unlimited Detail Real-Time RenderingScritto daaltgutente che non utieneil 2012-04-24 19:10:09.0 alle 2012-04-24 19:10:09.0Trollate totali: 11540> Perché invece non cambiare genere del tutto e usare le CUDA invece della CPU? Dovrebbe essere come avere centinaia di semplici processori indipendenti fra loro a disposizione usando la GPU della scheda video.
> http://www.nvidia.com/object/cuda_home_new.html
> Immagina cosa potresti fare... immagina avere sotto le dita non 2 core, non 4... ma 400.
Perche` non mi piace questo futuro:
Future computing architectures will be hybrid systems with parallel-core GPUs working in tandem with multi-core CPUs.
che magari loro immaginano per mantenere vivo il concetto di GPU separato dalla CPU, e quindi avere un prodotto da vendere indipendente dal mercato delle CPU.
Per come lo vedo io, e` un futuro piu` complesso del necessario, e quindi "debole" rispetto all'ipotesi di avere un'unica, necessaria unita` di elaborazione CENTRALE: se puo` farlo la CPU, perche` la funzionalita` dev'essere opzionalmente duplicata dalla GPU? A quel punto meglio puntare a CPU con una fraccata di cores e finiamola li`.
E` per questo che non m'e` mai piaciuta l'accelerazione grafica. La vedo temporalmente instabile, secondo me e` rischioso appoggiarcisi perche` un giorno sparira`, e con l'arrivo di CPU a molti core e di tecniche inaspettate, quel giorno lo vedo anche avvicinarsi al galoppo. Magari mi sbaglio, ma preferisco sbagliarmi e ottenere comunque qualcosa dalla CPU che fare l'ipotesi inversa, investire tutto sulla presenza di una GPU col suo specifico modo di funzionare, per poi vedermela un giorno sparire da sotto i piedi.-
Re: Unlimited Detail Real-Time RenderingScritto da: altg
> > Perché invece non cambiare genere del tutto e usare le CUDA invece della CPU? Dovrebbe essere come avere centinaia di semplici processori indipendenti fra loro a disposizione usando la GPU della scheda video.
> > http://www.nvidia.com/object/cuda_home_new.html
> > Immagina cosa potresti fare... immagina avere sotto le dita non 2 core, non 4... ma 400.
>
> Perche` non mi piace questo futuro:
>
> Future computing architectures will be hybrid systems with parallel-core GPUs working in tandem with multi-core CPUs.
>
> che magari loro immaginano per mantenere vivo il concetto di GPU separato dalla CPU, e quindi avere un prodotto da vendere indipendente dal mercato delle CPU.
>
> Per come lo vedo io, e` un futuro piu` complesso del necessario, e quindi "debole" rispetto all'ipotesi di avere un'unica, necessaria unita` di elaborazione CENTRALE: se puo` farlo la CPU, perche` la funzionalita` dev'essere opzionalmente duplicata dalla GPU? A quel punto meglio puntare a CPU con una fraccata di cores e finiamola li`.
>
> E` per questo che non m'e` mai piaciuta l'accelerazione grafica. La vedo temporalmente instabile, secondo me e` rischioso appoggiarcisi perche` un giorno sparira`, e con l'arrivo di CPU a molti core e di tecniche inaspettate, quel giorno lo vedo anche avvicinarsi al galoppo. Magari mi sbaglio, ma preferisco sbagliarmi e ottenere comunque qualcosa dalla CPU che fare l'ipotesi inversa, investire tutto sulla presenza di una GPU col suo specifico modo di funzionare, per poi vedermela un giorno sparire da sotto i piedi.
Ora stanno uscendo processori che contengono al loro interno una GPU. Il concetto di GPU credo sia lì per restare, al massimo si sposterà fisicamente dentro la CPU, ma credo che quello che puoi imparare con CUDA e affini sarà ancora lì fra 20 anni.-
Re: Unlimited Detail Real-Time RenderingScritto daaltgutente che non utieneil 2012-04-24 19:25:02.0 alle 2012-04-24 19:25:02.0Trollate totali: 11540> Ora stanno uscendo processori che contengono al loro interno una GPU. Il concetto di GPU credo sia lì per restare, al massimo si sposterà fisicamente dentro la CPU, ma credo che quello che puoi imparare con CUDA e affini sarà ancora lì fra 20 anni.
Da quando e` sparito l'Amiga, il ricordo di quel dramma mi spinge a giocare il meno possibile con le probabilita`. So che per essere un computer ci dovra` essere una CPU. Ma la GPU non e` necessaria, quindi non mi ci appoggio.-
Re: Unlimited Detail Real-Time RenderingScritto daNon Autenticatoil 2012-04-24 21:41:46.0 alle 2012-04-24 21:41:46.0> > Ora stanno uscendo processori che contengono al loro interno una GPU. Il concetto di GPU credo sia lì per restare, al massimo si sposterà fisicamente dentro la CPU, ma credo che quello che puoi imparare con CUDA e affini sarà ancora lì fra 20 anni.
>
> Da quando e` sparito l'Amiga, il ricordo di quel dramma mi spinge a giocare il meno possibile con le probabilita`. So che per essere un computer ci dovra` essere una CPU. Ma la GPU non e` necessaria, quindi non mi ci appoggio.
Se la GPU starà dentro la CPU ci penserà questa a gestirla, il programmatore dovrà solo pensare a programmare la CPU.-
Re: Unlimited Detail Real-Time RenderingScritto daaltgutente che non utieneil 2012-04-24 22:17:04.0 alle 2012-04-24 22:17:04.0Trollate totali: 11540> > > Ora stanno uscendo processori che contengono al loro interno una GPU. Il concetto di GPU credo sia lì per restare, al massimo si sposterà fisicamente dentro la CPU, ma credo che quello che puoi imparare con CUDA e affini sarà ancora lì fra 20 anni.
> >
> > Da quando e` sparito l'Amiga, il ricordo di quel dramma mi spinge a giocare il meno possibile con le probabilita`. So che per essere un computer ci dovra` essere una CPU. Ma la GPU non e` necessaria, quindi non mi ci appoggio.
>
> Se la GPU starà dentro la CPU ci penserà questa a gestirla, il programmatore dovrà solo pensare a programmare la CPU.
Per la FPU non e` successo cosi`. E` fisicamente integrata, ma i suoi opcodes e i suoi operandi sono indipendenti da quelli della CPU, e le due componenti vanno programmate individualmente. Pero` era una situazione radicalmente diversa: la CPU per convenzione operava su numeri interi, la FPU per definizione su quelli a virgola mobile. La GPU si avvicina a un core programmabile equivalente a quelli della CPU, sicche` man mano che si avvicina, non ha piu` senso metterla dentro lo stesso chip e farla lavorare separatamente: a quel punto dovrebbe essere piu` logico eliminare la GPU del tutto, aumentando i core della CPU.
Second me.-
Re: Unlimited Detail Real-Time RenderingScritto daNon Autenticatoil 2012-04-24 23:06:11.0 alle 2012-04-24 23:06:11.0> > > > Ora stanno uscendo processori che contengono al loro interno una GPU. Il concetto di GPU credo sia lì per restare, al massimo si sposterà fisicamente dentro la CPU, ma credo che quello che puoi imparare con CUDA e affini sarà ancora lì fra 20 anni.
> > >
> > > Da quando e` sparito l'Amiga, il ricordo di quel dramma mi spinge a giocare il meno possibile con le probabilita`. So che per essere un computer ci dovra` essere una CPU. Ma la GPU non e` necessaria, quindi non mi ci appoggio.
> >
> > Se la GPU starà dentro la CPU ci penserà questa a gestirla, il programmatore dovrà solo pensare a programmare la CPU.
>
> Per la FPU non e` successo cosi`. E` fisicamente integrata, ma i suoi opcodes e i suoi operandi sono indipendenti da quelli della CPU, e le due componenti vanno programmate individualmente. Pero` era una situazione radicalmente diversa: la CPU per convenzione operava su numeri interi, la FPU per definizione su quelli a virgola mobile. La GPU si avvicina a un core programmabile equivalente a quelli della CPU, sicche` man mano che si avvicina, non ha piu` senso metterla dentro lo stesso chip e farla lavorare separatamente: a quel punto dovrebbe essere piu` logico eliminare la GPU del tutto, aumentando i core della CPU.
>
> Second me.
Boh. Nella mia somma ignoranza di tutto ciò che è informatico oltre i primi anni 80, direi che la GPU è un circuito dedicato per svolgere determinate operazioni grafiche lato hardware, un circuito specializzato. Se la infilano dentro la CPU e, come dici, deve essere programmata a parte, allora Intel e Intel compatibili forniranno istruzioni specifiche per la sua programmazione. Il codice che le contiene userà la GPU, quello che non le contiene non la userà - a meno che i progettisti del processore non facciano in modo che certe operazioni siano automaticamente e silenziosamente dirottate verso la GPU, quando possibile, per velocizzare il programma, anche in assenza di una chiamata specifica.
-
Re: Unlimited Detail Real-Time RenderingScritto daavvelentaniCubicolarioil 2012-04-24 23:10:59.0 alle 2012-04-24 23:10:59.0Trollate totali: 18184Scritto da: altg
> > > > Ora stanno uscendo processori che contengono al loro interno una GPU. Il concetto di GPU credo sia lì per restare, al massimo si sposterà fisicamente dentro la CPU, ma credo che quello che puoi imparare con CUDA e affini sarà ancora lì fra 20 anni.
> > >
> > > Da quando e` sparito l'Amiga, il ricordo di quel dramma mi spinge a giocare il meno possibile con le probabilita`. So che per essere un computer ci dovra` essere una CPU. Ma la GPU non e` necessaria, quindi non mi ci appoggio.
> >
> > Se la GPU starà dentro la CPU ci penserà questa a gestirla, il programmatore dovrà solo pensare a programmare la CPU.
>
> Per la FPU non e` successo cosi`. E` fisicamente integrata, ma i suoi opcodes e i suoi operandi sono indipendenti da quelli della CPU, e le due componenti vanno programmate individualmente. Pero` era una situazione radicalmente diversa: la CPU per convenzione operava su numeri interi, la FPU per definizione su quelli a virgola mobile.
La GPU e` la stessa cosa, moltiplica matrici con vettori.I think happiness is love
- Vladimir Putin-
Re: Unlimited Detail Real-Time RenderingScritto daNon Autenticatoil 2012-04-25 00:15:29.0 alle 2012-04-25 00:15:29.0> > > > > Ora stanno uscendo processori che contengono al loro interno una GPU. Il concetto di GPU credo sia lì per restare, al massimo si sposterà fisicamente dentro la CPU, ma credo che quello che puoi imparare con CUDA e affini sarà ancora lì fra 20 anni.
> > > >
> > > > Da quando e` sparito l'Amiga, il ricordo di quel dramma mi spinge a giocare il meno possibile con le probabilita`. So che per essere un computer ci dovra` essere una CPU. Ma la GPU non e` necessaria, quindi non mi ci appoggio.
> > >
> > > Se la GPU starà dentro la CPU ci penserà questa a gestirla, il programmatore dovrà solo pensare a programmare la CPU.
> >
> > Per la FPU non e` successo cosi`. E` fisicamente integrata, ma i suoi opcodes e i suoi operandi sono indipendenti da quelli della CPU, e le due componenti vanno programmate individualmente. Pero` era una situazione radicalmente diversa: la CPU per convenzione operava su numeri interi, la FPU per definizione su quelli a virgola mobile.
>
> La GPU e` la stessa cosa, moltiplica matrici con vettori.
Ne avessi avuta una all'esame di algebra lineare.
-
Re: Unlimited Detail Real-Time RenderingScritto daaltgutente che non utieneil 2012-04-25 00:30:54.0 alle 2012-04-25 00:30:54.0Trollate totali: 11540> > > > > Ora stanno uscendo processori che contengono al loro interno una GPU. Il concetto di GPU credo sia lì per restare, al massimo si sposterà fisicamente dentro la CPU, ma credo che quello che puoi imparare con CUDA e affini sarà ancora lì fra 20 anni.
> > > >
> > > > Da quando e` sparito l'Amiga, il ricordo di quel dramma mi spinge a giocare il meno possibile con le probabilita`. So che per essere un computer ci dovra` essere una CPU. Ma la GPU non e` necessaria, quindi non mi ci appoggio.
> > >
> > > Se la GPU starà dentro la CPU ci penserà questa a gestirla, il programmatore dovrà solo pensare a programmare la CPU.
> >
> > Per la FPU non e` successo cosi`. E` fisicamente integrata, ma i suoi opcodes e i suoi operandi sono indipendenti da quelli della CPU, e le due componenti vanno programmate individualmente. Pero` era una situazione radicalmente diversa: la CPU per convenzione operava su numeri interi, la FPU per definizione su quelli a virgola mobile.
>
> La GPU e` la stessa cosa, moltiplica matrici con vettori.
Cioe` e` specializzata per quello?
Oh be', allora avrebbe un senso averla come optional della CPU.-
Re: Unlimited Detail Real-Time RenderingScritto da: altg
> > > > > > Ora stanno uscendo processori che contengono al loro interno una GPU. Il concetto di GPU credo sia lì per restare, al massimo si sposterà fisicamente dentro la CPU, ma credo che quello che puoi imparare con CUDA e affini sarà ancora lì fra 20 anni.
> > > > >
> > > > > Da quando e` sparito l'Amiga, il ricordo di quel dramma mi spinge a giocare il meno possibile con le probabilita`. So che per essere un computer ci dovra` essere una CPU. Ma la GPU non e` necessaria, quindi non mi ci appoggio.
> > > >
> > > > Se la GPU starà dentro la CPU ci penserà questa a gestirla, il programmatore dovrà solo pensare a programmare la CPU.
> > >
> > > Per la FPU non e` successo cosi`. E` fisicamente integrata, ma i suoi opcodes e i suoi operandi sono indipendenti da quelli della CPU, e le due componenti vanno programmate individualmente. Pero` era una situazione radicalmente diversa: la CPU per convenzione operava su numeri interi, la FPU per definizione su quelli a virgola mobile.
> >
> > La GPU e` la stessa cosa, moltiplica matrici con vettori.
>
> Cioe` e` specializzata per quello?
> Oh be', allora avrebbe un senso averla come optional della CPU.
Da quanto ho capito io si, anche se anziché solo moltiplicazioni (come gli opcode SIMD dei pentium) riesce ad eseguire un intero piccolo programma che lavora sulle matrici.
Puoi eseguire contemporaneamente centinaia di "thread" dove per "thread" si intende una sequenza di operazioni su una singola cella di un vettore/matrice/volume.
Questi dati prima di poter essere elaborati vanno spostati sulla memoria della scheda video cui poi il processore grafico ha accesso con un bus probabilmente più grande di quello che ha la CPU con la RAM regolare.-
Re: Unlimited Detail Real-Time RenderingScritto daaltgutente che non utieneil 2012-04-25 01:00:53.0 alle 2012-04-25 01:00:53.0Trollate totali: 11540> > > > > > > Ora stanno uscendo processori che contengono al loro interno una GPU. Il concetto di GPU credo sia lì per restare, al massimo si sposterà fisicamente dentro la CPU, ma credo che quello che puoi imparare con CUDA e affini sarà ancora lì fra 20 anni.
> > > > > >
> > > > > > Da quando e` sparito l'Amiga, il ricordo di quel dramma mi spinge a giocare il meno possibile con le probabilita`. So che per essere un computer ci dovra` essere una CPU. Ma la GPU non e` necessaria, quindi non mi ci appoggio.
> > > > >
> > > > > Se la GPU starà dentro la CPU ci penserà questa a gestirla, il programmatore dovrà solo pensare a programmare la CPU.
> > > >
> > > > Per la FPU non e` successo cosi`. E` fisicamente integrata, ma i suoi opcodes e i suoi operandi sono indipendenti da quelli della CPU, e le due componenti vanno programmate individualmente. Pero` era una situazione radicalmente diversa: la CPU per convenzione operava su numeri interi, la FPU per definizione su quelli a virgola mobile.
> > >
> > > La GPU e` la stessa cosa, moltiplica matrici con vettori.
> >
> > Cioe` e` specializzata per quello?
> > Oh be', allora avrebbe un senso averla come optional della CPU.
>
> Da quanto ho capito io si, anche se anziché solo moltiplicazioni (come gli opcode SIMD dei pentium) riesce ad eseguire un intero piccolo programma che lavora sulle matrici.
> Puoi eseguire contemporaneamente centinaia di "thread" dove per "thread" si intende una sequenza di operazioni su una singola cella di un vettore/matrice/volume.
Quindi immagino che a livello grafico vengano usate principalmente per realizzare dei filtri come aloni, ombreggiature e altri effetti speciali? O potrebbe accelerare anche l'intersezione di primitive CSG in un ray-tracer?
Comunque sia, saro` testardo, ma non mi attrae. La percepisco come vernice troppo fresca, e inoltre penso di poterne fare tranquillamente a meno: il risultato sara` meno rifinito, magari, ma non dipendera` da queste sinergie.-
Re: Unlimited Detail Real-Time RenderingScritto da: altg
> > > > > > > > Ora stanno uscendo processori che contengono al loro interno una GPU. Il concetto di GPU credo sia lì per restare, al massimo si sposterà fisicamente dentro la CPU, ma credo che quello che puoi imparare con CUDA e affini sarà ancora lì fra 20 anni.
> > > > > > >
> > > > > > > Da quando e` sparito l'Amiga, il ricordo di quel dramma mi spinge a giocare il meno possibile con le probabilita`. So che per essere un computer ci dovra` essere una CPU. Ma la GPU non e` necessaria, quindi non mi ci appoggio.
> > > > > >
> > > > > > Se la GPU starà dentro la CPU ci penserà questa a gestirla, il programmatore dovrà solo pensare a programmare la CPU.
> > > > >
> > > > > Per la FPU non e` successo cosi`. E` fisicamente integrata, ma i suoi opcodes e i suoi operandi sono indipendenti da quelli della CPU, e le due componenti vanno programmate individualmente. Pero` era una situazione radicalmente diversa: la CPU per convenzione operava su numeri interi, la FPU per definizione su quelli a virgola mobile.
> > > >
> > > > La GPU e` la stessa cosa, moltiplica matrici con vettori.
> > >
> > > Cioe` e` specializzata per quello?
> > > Oh be', allora avrebbe un senso averla come optional della CPU.
> >
> > Da quanto ho capito io si, anche se anziché solo moltiplicazioni (come gli opcode SIMD dei pentium) riesce ad eseguire un intero piccolo programma che lavora sulle matrici.
> > Puoi eseguire contemporaneamente centinaia di "thread" dove per "thread" si intende una sequenza di operazioni su una singola cella di un vettore/matrice/volume.
>
> Quindi immagino che a livello grafico vengano usate principalmente per realizzare dei filtri come aloni, ombreggiature e altri effetti speciali? O potrebbe accelerare anche l'intersezione di primitive CSG in un ray-tracer?
>
> Comunque sia, saro` testardo, ma non mi attrae. La percepisco come vernice troppo fresca, e inoltre penso di poterne fare tranquillamente a meno: il risultato sara` meno rifinito, magari, ma non dipendera` da queste sinergie.
No le librerie CUDA (della NVIDIA, hanno un altro nome su ATI mi pare) non credo siano usate per la grafica 3D (per cui ci sono le openGL), credo invece sia un modo per usare la scheda video in modo produttivo anche per applicazioni che normalmente non la usano.
In altre parole le CUDA ti mettono a disposizione primitive della GPU che possono essere utili per altre attività. Poi volendo ci sono questehttp://it.wikipedia.org/wiki/OpenCL
che sono invece più generali e non dipendono da una particolare architettura.
-
Re: Unlimited Detail Real-Time RenderingScritto daaltgutente che non utieneil 2012-04-25 01:32:00.0 alle 2012-04-25 01:32:00.0Trollate totali: 11540> > > > > > > > > Ora stanno uscendo processori che contengono al loro interno una GPU. Il concetto di GPU credo sia lì per restare, al massimo si sposterà fisicamente dentro la CPU, ma credo che quello che puoi imparare con CUDA e affini sarà ancora lì fra 20 anni.
> > > > > > > >
> > > > > > > > Da quando e` sparito l'Amiga, il ricordo di quel dramma mi spinge a giocare il meno possibile con le probabilita`. So che per essere un computer ci dovra` essere una CPU. Ma la GPU non e` necessaria, quindi non mi ci appoggio.
> > > > > > >
> > > > > > > Se la GPU starà dentro la CPU ci penserà questa a gestirla, il programmatore dovrà solo pensare a programmare la CPU.
> > > > > >
> > > > > > Per la FPU non e` successo cosi`. E` fisicamente integrata, ma i suoi opcodes e i suoi operandi sono indipendenti da quelli della CPU, e le due componenti vanno programmate individualmente. Pero` era una situazione radicalmente diversa: la CPU per convenzione operava su numeri interi, la FPU per definizione su quelli a virgola mobile.
> > > > >
> > > > > La GPU e` la stessa cosa, moltiplica matrici con vettori.
> > > >
> > > > Cioe` e` specializzata per quello?
> > > > Oh be', allora avrebbe un senso averla come optional della CPU.
> > >
> > > Da quanto ho capito io si, anche se anziché solo moltiplicazioni (come gli opcode SIMD dei pentium) riesce ad eseguire un intero piccolo programma che lavora sulle matrici.
> > > Puoi eseguire contemporaneamente centinaia di "thread" dove per "thread" si intende una sequenza di operazioni su una singola cella di un vettore/matrice/volume.
> >
> > Quindi immagino che a livello grafico vengano usate principalmente per realizzare dei filtri come aloni, ombreggiature e altri effetti speciali? O potrebbe accelerare anche l'intersezione di primitive CSG in un ray-tracer?
> >
> > Comunque sia, saro` testardo, ma non mi attrae. La percepisco come vernice troppo fresca, e inoltre penso di poterne fare tranquillamente a meno: il risultato sara` meno rifinito, magari, ma non dipendera` da queste sinergie.
>
> No le librerie CUDA (della NVIDIA, hanno un altro nome su ATI mi pare) non credo siano usate per la grafica 3D (per cui ci sono le openGL), credo invece sia un modo per usare la scheda video in modo produttivo anche per applicazioni che normalmente non la usano.
>
> In altre parole le CUDA ti mettono a disposizione primitive della GPU che possono essere utili per altre attività. Poi volendo ci sono questehttp://it.wikipedia.org/wiki/OpenCL
che sono invece più generali e non dipendono da una particolare architettura.http://it.wikipedia.org/wiki/GPGPU
dice che sono convenienti in ambiti comunque ristretti: "Altre categorie di applicazioni sono invece caratterizzate dalla necessità di un'elevata logica di controllo del processo di calcolo e tale funzione è svolta egregiamente dalle tradizionali CPU ma in maniera altamente inefficiente dalle architetture delle GPU".
A me suona come niente ray-tracing a un pixel per thread. Non le conosco e magari mi sbaglio, pero` c'e` anche il mio problema di base con le accelerazioni grafiche, di cui abbiamo anche qui una diapositiva:
-
-
Re: Unlimited Detail Real-Time RenderingScritto daNon Autenticatoil 2012-04-25 12:43:08.0 alle 2012-04-25 12:43:08.0> > > > > > > > Ora stanno uscendo processori che contengono al loro interno una GPU. Il concetto di GPU credo sia lì per restare, al massimo si sposterà fisicamente dentro la CPU, ma credo che quello che puoi imparare con CUDA e affini sarà ancora lì fra 20 anni.
> > > > > > >
> > > > > > > Da quando e` sparito l'Amiga, il ricordo di quel dramma mi spinge a giocare il meno possibile con le probabilita`. So che per essere un computer ci dovra` essere una CPU. Ma la GPU non e` necessaria, quindi non mi ci appoggio.
> > > > > >
> > > > > > Se la GPU starà dentro la CPU ci penserà questa a gestirla, il programmatore dovrà solo pensare a programmare la CPU.
> > > > >
> > > > > Per la FPU non e` successo cosi`. E` fisicamente integrata, ma i suoi opcodes e i suoi operandi sono indipendenti da quelli della CPU, e le due componenti vanno programmate individualmente. Pero` era una situazione radicalmente diversa: la CPU per convenzione operava su numeri interi, la FPU per definizione su quelli a virgola mobile.
> > > >
> > > > La GPU e` la stessa cosa, moltiplica matrici con vettori.
> > >
> > > Cioe` e` specializzata per quello?
> > > Oh be', allora avrebbe un senso averla come optional della CPU.
> >
> > Da quanto ho capito io si, anche se anziché solo moltiplicazioni (come gli opcode SIMD dei pentium) riesce ad eseguire un intero piccolo programma che lavora sulle matrici.
> > Puoi eseguire contemporaneamente centinaia di "thread" dove per "thread" si intende una sequenza di operazioni su una singola cella di un vettore/matrice/volume.
>
> Quindi immagino che a livello grafico vengano usate principalmente per realizzare dei filtri come aloni, ombreggiature e altri effetti speciali? O potrebbe accelerare anche l'intersezione di primitive CSG in un ray-tracer?
>
> Comunque sia, saro` testardo, ma non mi attrae. La percepisco come vernice troppo fresca, e inoltre penso di poterne fare tranquillamente a meno: il risultato sara` meno rifinito, magari, ma non dipendera` da queste sinergie.
Stavo pensando... la meccanica delle matrici.
La meccanica quantistica si può esprimere con il formalismo dell'equazione di Schrödinger oppure con il formalismo matriciale, ad esso equivalente. Probabilmente ogni equazione differenziale si può trasformare in un problema matriciale, quindi la GPU si potrebbe usare per risolvere equazioni differenziali.
Tieni presente che una tecnica di rendering che ho in mente, di cui avevo parlato tempo fa, consisterebbe nel risolvere una megaequazione differenziale: e allora...-
Re: Unlimited Detail Real-Time RenderingScritto daaltgutente che non utieneil 2012-04-25 13:21:36.0 alle 2012-04-25 13:21:36.0Trollate totali: 11540> > > Da quanto ho capito io si, anche se anziché solo moltiplicazioni (come gli opcode SIMD dei pentium) riesce ad eseguire un intero piccolo programma che lavora sulle matrici.
> > > Puoi eseguire contemporaneamente centinaia di "thread" dove per "thread" si intende una sequenza di operazioni su una singola cella di un vettore/matrice/volume.
> >
> > Quindi immagino che a livello grafico vengano usate principalmente per realizzare dei filtri come aloni, ombreggiature e altri effetti speciali? O potrebbe accelerare anche l'intersezione di primitive CSG in un ray-tracer?
> >
> > Comunque sia, saro` testardo, ma non mi attrae. La percepisco come vernice troppo fresca, e inoltre penso di poterne fare tranquillamente a meno: il risultato sara` meno rifinito, magari, ma non dipendera` da queste sinergie.
>
> Stavo pensando... la meccanica delle matrici.
>
> La meccanica quantistica si può esprimere con il formalismo dell'equazione di Schrödinger oppure con il formalismo matriciale, ad esso equivalente. Probabilmente ogni equazione differenziale si può trasformare in un problema matriciale, quindi la GPU si potrebbe usare per risolvere equazioni differenziali.
Magari si`, ma li` sono io che non ci capisco un cubo.
> Tieni presente che una tecnica di rendering che ho in mente, di cui avevo parlato tempo fa, consisterebbe nel risolvere una megaequazione differenziale: e allora...
Ricordavo che me ne avevi parlato.
Ma mon ci sono fisici che siano anche bravi programmatori?
-
Re: Unlimited Detail Real-Time RenderingScritto daNon Autenticatoil 2012-04-25 18:59:50.0 alle 2012-04-25 18:59:50.0> > > > Da quanto ho capito io si, anche se anziché solo moltiplicazioni (come gli opcode SIMD dei pentium) riesce ad eseguire un intero piccolo programma che lavora sulle matrici.
> > > > Puoi eseguire contemporaneamente centinaia di "thread" dove per "thread" si intende una sequenza di operazioni su una singola cella di un vettore/matrice/volume.
> > >
> > > Quindi immagino che a livello grafico vengano usate principalmente per realizzare dei filtri come aloni, ombreggiature e altri effetti speciali? O potrebbe accelerare anche l'intersezione di primitive CSG in un ray-tracer?
> > >
> > > Comunque sia, saro` testardo, ma non mi attrae. La percepisco come vernice troppo fresca, e inoltre penso di poterne fare tranquillamente a meno: il risultato sara` meno rifinito, magari, ma non dipendera` da queste sinergie.
> >
> > Stavo pensando... la meccanica delle matrici.
> >
> > La meccanica quantistica si può esprimere con il formalismo dell'equazione di Schrödinger oppure con il formalismo matriciale, ad esso equivalente. Probabilmente ogni equazione differenziale si può trasformare in un problema matriciale, quindi la GPU si potrebbe usare per risolvere equazioni differenziali.
>
> Magari si`, ma li` sono io che non ci capisco un cubo.
>
> > Tieni presente che una tecnica di rendering che ho in mente, di cui avevo parlato tempo fa, consisterebbe nel risolvere una megaequazione differenziale: e allora...
>
> Ricordavo che me ne avevi parlato.
> Ma mon ci sono fisici che siano anche bravi programmatori?
Boh?
Devi sapere che quando frequentavo il centro di calcolo era in un sotterraneo. Si scriveva il programma in Fortran su schede perforate con apposite macchine da scrivere (un errore e buttavi via l'intera scheda), si inseriva la pila di schede in un lettore grosso come un armadio e l'output usciva su un rullo di carta da una stampante a margherita grande come un frigorifero.
Non c'era molto spazio per lanciarsi in complesse simulazioni dell'universo.
Quando ho dato l'esame di laurea credo di essere stato l'unico con formule nere su fondo bianco. Le presentazioni degli altri erano colorate e piene di grafici tridimensionali fatti al computer, oggi si fa tutto al computer ma io sono rimasto al gesso su lavagna, quindi può darsi che qualche fisico capace a programmare oggi ci sia.
Comunque si tratta di questo: in base a un corso che avevo seguito nell'85, di cui ho perduto gli appunti prestandoli a una ragazza, l'equazione dell'iconale permette di calcolare un campo le cui linee di flusso sono i raggi luminosi. (o almeno così ricordo). La materia è rappresentata nell'equazione da un indice di rifrazione complesso funzione del punto. Risolvendo l'equazione con le opportune condizioni al contorno dovrebbe venirne fuori un rendering della scena in ottica geometrica.
Sono sempre stato curioso di vedere fino a che punto tale rappresentazione è fedele e fotorealistica - dato un indice di rifrazione sufficientemente dettagliato - e in grado di rappresentare i vari fenomeni ottici di riflessione, rifrazione, assorbimento, ma mi manca la capacità di programmarlo in un tempo inferiore alla durata di una vita umana.
Bisognerebbe ristudiarsi il formalismo.
Ricavare l'equazione differenziale, o meglio una classe di equazioni differenziali che differiscono per la forma dell'indice di rifrazione.
Studiare eventuali metodi matematici per semplificare l'equazione.
Studiare dei metodi numerici ottimizzati a risolvere quell'equazione lì (a occhio direi che tutto può essere ricondotto a matrici). A questo punto occorre intendersene di metodi numerici perché magari il tempo macchina per risolvere, invece che quell'equazione, un'equazione di altro tipo ad essa equivalente è minore.
Implementare in un programma il metodo numerico.
Se tutto funziona in modo sbalorditivo si vende il procedimento a Nvidia in modo che fabbrichi un circuito che fa tutto lato hardware.
-
Re: Unlimited Detail Real-Time RenderingScritto daaltgutente che non utieneil 2012-04-25 19:33:42.0 alle 2012-04-25 19:33:42.0Trollate totali: 11540> Quando ho dato l'esame di laurea credo di essere stato l'unico con formule nere su fondo bianco. Le presentazioni degli altri erano colorate e piene di grafici tridimensionali fatti al computer, oggi si fa tutto al computer ma io sono rimasto al gesso su lavagna, quindi può darsi che qualche fisico capace a programmare oggi ci sia.
Ah gia`, c'era un tipo su anynowhere che mi scrisse un MP per dirmi che stava usando Linoleum (versione 1) per delle simulazioni di fisica nucleare che nel dettaglio non ricordo. La cosa sbalorditiva e` che a quanto mi disse, lo faceva per lavoro, mica per hobby. Mi sembra fosse colui che si fa chiamare Explorer, non so se frequenti ancora.
> Comunque si tratta di questo: in base a un corso che avevo seguito nell'85, di cui ho perduto gli appunti prestandoli a una ragazza, l'equazione dell'iconale permette di calcolare un campo le cui linee di flusso sono i raggi luminosi. (o almeno così ricordo). La materia è rappresentata nell'equazione da un indice di rifrazione complesso funzione del punto. Risolvendo l'equazione con le opportune condizioni al contorno dovrebbe venirne fuori un rendering della scena in ottica geometrica.
> Sono sempre stato curioso di vedere fino a che punto tale rappresentazione è fedele e fotorealistica - dato un indice di rifrazione sufficientemente dettagliato - e in grado di rappresentare i vari fenomeni ottici di riflessione, rifrazione, assorbimento, ma mi manca la capacità di programmarlo in un tempo inferiore alla durata di una vita umana.
>
> Bisognerebbe ristudiarsi il formalismo.
> Ricavare l'equazione differenziale, o meglio una classe di equazioni differenziali che differiscono per la forma dell'indice di rifrazione.
> Studiare eventuali metodi matematici per semplificare l'equazione.
> Studiare dei metodi numerici ottimizzati a risolvere quell'equazione lì (a occhio direi che tutto può essere ricondotto a matrici). A questo punto occorre intendersene di metodi numerici perché magari il tempo macchina per risolvere, invece che quell'equazione, un'equazione di altro tipo ad essa equivalente è minore.
> Implementare in un programma il metodo numerico.
>
> Se tutto funziona in modo sbalorditivo si vende il procedimento a Nvidia in modo che fabbrichi un circuito che fa tutto lato hardware.
Si` mi ricordo esattamente che me ne avevi parlato in questi termini. Non avevo e non ho la piu` pallida idea di come valutarlo.-
Re: Unlimited Detail Real-Time RenderingScritto daNon Autenticatoil 2012-04-25 19:35:06.0 alle 2012-04-25 19:35:06.0> > Quando ho dato l'esame di laurea credo di essere stato l'unico con formule nere su fondo bianco. Le presentazioni degli altri erano colorate e piene di grafici tridimensionali fatti al computer, oggi si fa tutto al computer ma io sono rimasto al gesso su lavagna, quindi può darsi che qualche fisico capace a programmare oggi ci sia.
>
> Ah gia`, c'era un tipo su anynowhere che mi scrisse un MP per dirmi che stava usando Linoleum (versione 1) per delle simulazioni di fisica nucleare che nel dettaglio non ricordo. La cosa sbalorditiva e` che a quanto mi disse, lo faceva per lavoro, mica per hobby. Mi sembra fosse colui che si fa chiamare Explorer, non so se frequenti ancora.
Dovresti coltivare meglio la community.
> > Comunque si tratta di questo: in base a un corso che avevo seguito nell'85, di cui ho perduto gli appunti prestandoli a una ragazza, l'equazione dell'iconale permette di calcolare un campo le cui linee di flusso sono i raggi luminosi. (o almeno così ricordo). La materia è rappresentata nell'equazione da un indice di rifrazione complesso funzione del punto. Risolvendo l'equazione con le opportune condizioni al contorno dovrebbe venirne fuori un rendering della scena in ottica geometrica.
> > Sono sempre stato curioso di vedere fino a che punto tale rappresentazione è fedele e fotorealistica - dato un indice di rifrazione sufficientemente dettagliato - e in grado di rappresentare i vari fenomeni ottici di riflessione, rifrazione, assorbimento, ma mi manca la capacità di programmarlo in un tempo inferiore alla durata di una vita umana.
> >
> > Bisognerebbe ristudiarsi il formalismo.
> > Ricavare l'equazione differenziale, o meglio una classe di equazioni differenziali che differiscono per la forma dell'indice di rifrazione.
> > Studiare eventuali metodi matematici per semplificare l'equazione.
> > Studiare dei metodi numerici ottimizzati a risolvere quell'equazione lì (a occhio direi che tutto può essere ricondotto a matrici). A questo punto occorre intendersene di metodi numerici perché magari il tempo macchina per risolvere, invece che quell'equazione, un'equazione di altro tipo ad essa equivalente è minore.
> > Implementare in un programma il metodo numerico.
> >
> > Se tutto funziona in modo sbalorditivo si vende il procedimento a Nvidia in modo che fabbrichi un circuito che fa tutto lato hardware.
>
> Si` mi ricordo esattamente che me ne avevi parlato in questi termini. Non avevo e non ho la piu` pallida idea di come valutarlo.
-
-
-
-
-
-
-
-
-
-
-
-
-
Re: Unlimited Detail Real-Time RenderingScritto daNon Autenticatoil 2012-04-24 21:40:24.0 alle 2012-04-24 21:40:24.0> E` per questo che non m'e` mai piaciuta l'accelerazione grafica. La vedo temporalmente instabile, secondo me e` rischioso appoggiarcisi perche` un giorno sparira`, e con l'arrivo di CPU a molti core e di tecniche inaspettate, quel giorno lo vedo anche avvicinarsi al galoppo. Magari mi sbaglio, ma preferisco sbagliarmi e ottenere comunque qualcosa dalla CPU che fare l'ipotesi inversa, investire tutto sulla presenza di una GPU col suo specifico modo di funzionare, per poi vedermela un giorno sparire da sotto i piedi.
Anch'io trovo più razionale che la GPU - con quanti core vuoi - sia un giorno assorbita nella CPU com'è successo a suo tempo con il processore matematico, e la memoria video torni ad essere una semplice lavagna in cui disegnare.
-
-
-
-
Re: Unlimited Detail Real-Time RenderingScritto daNon Autenticatoil 2012-04-24 21:36:04.0 alle 2012-04-24 21:36:04.0> > > > Dovrebbe essere una rappresentazione in qualche modo volumetrica, per come la descrivono. Qualcosa di imparentato coi voxels. Ma veramente non saprei dire di più.
> > >
> > > Capisco che non divulghino la tecnica, ma mi scoccia vedere qualcosa di interessante e non capirne il principio.
> >
> > Allora... dopo che il seme ha fatto nascere un cespuglio che e` diventato una foresta di ipotesi, FORSE si puo` tirare a indovinare e interpretare quel che si vede e si sente nel video cosi`: si approssimano la texture ed il volume occupato da un oggetto tramite un insieme di "atomi", come li chiamano loro, che potrebbero essere singoli punti colorati identificati da una tripletta di coordinate e da un colore.
>
> Ci ho pensato anche io. Probabilmente con un algoritmo in grado di "raggrupparli" in uno solo quando sono troppo "lontani" dall'osservatore per essere distinguibili. Tipo un frattale, che puoi zommarlo all'infinito, ma che in realtà quando viene renderizzato non vengono renderizzati tutti i suoi infiniti livelli di dettaglio, solo quelli rilevanti.
>
> > E` quel che ho in mente da tempo, infatti. Non un Noctis V, ma un generico "Keyway" dove organizzare una realta` virtuale che includa vari ruoli, dall'esploratore galattico "stile Noctis" a cose piu` divertenti "stile Second Life", e in aggiunta, qualunque altra cosa mi venga in mente di rivisitare o creare ex-novo.
>
> Ho letto da qualche parte che statisticamente sono in grado di creare innovazione solo persone nei loro primi 30 anni di vita. Oltre i 30 anni è difficile (statisticamente parlando) che tu possa cambiare qualcosa o fare qualcosa di rilevante.
>
> Mi spiace.
Io invece ho una teoria per cui uno resta creativo finché non ha uno stipendio sicuro, gli anni non c'entrano.-
Re: Unlimited Detail Real-Time RenderingScritto daaltgutente che non utieneil 2012-04-24 22:19:21.0 alle 2012-04-24 22:19:21.0Trollate totali: 11540> > Ho letto da qualche parte che statisticamente sono in grado di creare innovazione solo persone nei loro primi 30 anni di vita. Oltre i 30 anni è difficile (statisticamente parlando) che tu possa cambiare qualcosa o fare qualcosa di rilevante.
> >
> > Mi spiace.
>
> Io invece ho una teoria per cui uno resta creativo finché non ha uno stipendio sicuro, gli anni non c'entrano.
Quoto. La necessita` di trovare la strada porta a mantenere la flessibilita` per cambiarla. Una volta trovata, ti adagi tranquillamente e ti fai trasportare.-
Re: Unlimited Detail Real-Time RenderingScritto daNon Autenticatoil 2012-04-24 23:00:23.0 alle 2012-04-24 23:00:23.0> > > Ho letto da qualche parte che statisticamente sono in grado di creare innovazione solo persone nei loro primi 30 anni di vita. Oltre i 30 anni è difficile (statisticamente parlando) che tu possa cambiare qualcosa o fare qualcosa di rilevante.
> > >
> > > Mi spiace.
> >
> > Io invece ho una teoria per cui uno resta creativo finché non ha uno stipendio sicuro, gli anni non c'entrano.
>
> Quoto. La necessita` di trovare la strada porta a mantenere la flessibilita` per cambiarla. Una volta trovata, ti adagi tranquillamente e ti fai trasportare.
Esatto. Sotto questo aspetto la mia creatività non corre pericoli.
-
-
-
-
Re: Unlimited Detail Real-Time RenderingScritto daNon Autenticatoil 2012-04-24 21:34:14.0 alle 2012-04-24 21:34:14.0> > > Dovrebbe essere una rappresentazione in qualche modo volumetrica, per come la descrivono. Qualcosa di imparentato coi voxels. Ma veramente non saprei dire di più.
> >
> > Capisco che non divulghino la tecnica, ma mi scoccia vedere qualcosa di interessante e non capirne il principio.
>
> Allora... dopo che il seme ha fatto nascere un cespuglio che e` diventato una foresta di ipotesi, FORSE si puo` tirare a indovinare e interpretare quel che si vede e si sente nel video cosi`: si approssimano la texture ed il volume occupato da un oggetto tramite un insieme di "atomi", come li chiamano loro, che potrebbero essere singoli punti colorati identificati da una tripletta di coordinate e da un colore.
Ma così ci vorrebbero gazzillioni di coordinate.
> A come l'oggetto si delinei o si "acchiappi" acquisendolo dal mondo reale non ci ho pensato, ma dato per scontato che si sia in possesso dei dati di questo insieme di punti, si implementa un algoritmo che indicizzi i punti dividendoli in insiemi sempre piu` piccoli dell'insieme originario, sviluppando l'indice di una specie di motore di ricerca.
>
> La cosa migliore che mi sia venuta in mente sarebbe procedere dividendo il volume originario in sfere semi-sovrapposte, diciamo le circosfere che circondano dei cubetti. Ad esempio a un primo stadio di indicizzazione si creano che so... otto grossi cubi dividendo il volume a meta` lungo ciascun asse. Si considerano poi parte di uno di questi sottoinsiemi tutti i punti che risiedono nella circosfera attorno al corrispondente cubo: nelle intersezioni fra le sfere, i punti vengono duplicati, espandendo un po' i dati ma favorendo la gestione in fase di rendering (per motivi che menziono tra poco).
>
> Fatto il primo stadio, se ne fanno altri simili, dividendo ricorsivamente ogni cubo dello stadio precedente in otto cubi piu` piccoli, e rifacendo il raggruppamento. Arrivati a una risoluzione prefissata (che so, poche dozzine di punti per volume), ci si ferma, avendo creato una specie di indice di ricerca a livelli multipli. Questo viene fatto una volta per tutte, prima del rendering.
>
> Per il rendering poi si potrebbe adottare il ray tracing: si costruiscono raggi che vengono proiettati sulla scena a partire da ogni pixel, la scena essendo composta da oggetti indicizzati (le circosfere piu` grandi). Il fatto e` che controllare se il raggio interseca una sfera puo` essere fatto velocemente, e il primo stadio dell'indice e` composto dalle (poche) circosfere di oggetti interi.
>
> Quando il raggio ne interseca una, si accede allo stadio successivo dell'indice di quell'oggetto e si vede quali delle otto sfere "figlie" interseca, e si analizzano le loro figlie, e cosi` via fino all'ultimo stadio che contiene una serie di "atomi", le sferette che approssimano il volume tra i punti dell'insieme originario, nella quale si verifica se il raggio interseca un atomo e quale. Una volta capito quale, si attribuisce al pixel il colore dell'atomo colpito, eventualmente solo in parte (variando l'opacita`) a seconda di quanto lontano passi dal centro esatto dell'atomo, ed eventualmente trasformato da ombreggiature e trasparenze: per determinare l'ombreggiatura, non avendo una normale a una superficie, immagino che o la si debba costruire prima con una grossolana rappresentazione poligonale dell'oggetto, o fare in un altro modo tipo sfumare le ombre proiettate da altri atomi che vengono cercati tra le sorgenti di luce e l'atomo da visualizzare.
>
> Um.. un bel casino, no?
Infatti non ci ho capito un cubo.
> Per una scena statica, pero`, potrebbe funzionare abbastanza "comodamente". Animare richiederebbe, immagino, trasformare le coordinate delle sfere a un certo livello dell'indice (per animare un dettaglio grande o piccolo a seconda del livello).
>
> > Comunque ho guardato quel video di Noctis: non farne un'altra versione, nel suo genere è la perfezione e un remake non sarebbe mai la stessa cosa. Al massimo potrai fare un videogioco diverso.
>
> E` quel che ho in mente da tempo, infatti. Non un Noctis V, ma un generico "Keyway" dove organizzare una realta` virtuale che includa vari ruoli, dall'esploratore galattico "stile Noctis" a cose piu` divertenti "stile Second Life", e in aggiunta, qualunque altra cosa mi venga in mente di rivisitare o creare ex-novo.
Bene, non bisogna mai ripetersi.
-
Re: Unlimited Detail Real-Time RenderingScritto daaltgutente che non utieneil 2012-04-24 22:24:52.0 alle 2012-04-24 22:24:52.0Trollate totali: 11540> Ma così ci vorrebbero gazzillioni di coordinate.

Ci si puo` limitare a definire "atomi" sufficienti a visualizzare una superficie compatta. Se l'interno non ha dettagli, puo` essere estrapolato e riempito di "atomi". Penso che per molti casi pratici dovrebbe bastare la superficie: difficile che in un videogioco ci si trovi a dover far vedere perfino gli ingranaggi di un orologio rotto.
> > Um.. un bel casino, no?
>
> Infatti non ci ho capito un cubo.
Non saro` mai un insegnante, ma penso che mi piacerebbe provare a fare in pratica quel che ho detto. Devo prima dare una spallata a L.in.oleum e fargli attraversare il traguardo.
-
Re: Unlimited Detail Real-Time RenderingScritto daNon Autenticatoil 2012-04-24 22:58:15.0 alle 2012-04-24 22:58:15.0> > Ma così ci vorrebbero gazzillioni di coordinate.

>
> Ci si puo` limitare a definire "atomi" sufficienti a visualizzare una superficie compatta. Se l'interno non ha dettagli, puo` essere estrapolato e riempito di "atomi". Penso che per molti casi pratici dovrebbe bastare la superficie: difficile che in un videogioco ci si trovi a dover far vedere perfino gli ingranaggi di un orologio rotto.
>
> > > Um.. un bel casino, no?
> >
> > Infatti non ci ho capito un cubo.
>
> Non saro` mai un insegnante, ma penso che mi piacerebbe provare a fare in pratica quel che ho detto. Devo prima dare una spallata a L.in.oleum e fargli attraversare il traguardo.
Con sintassi definitiva, mi raccomando.


Comunque a Cryoburner che si lamentava puoi sempre rispondere che assicurare la retrocompatibilità ad ogni costo col codice precedente finirebbe per fare di Linoleum qualcosa di "patched-up" simile a PHP.
-
Re: Unlimited Detail Real-Time RenderingScritto daaltgutente che non utieneil 2012-04-25 00:40:06.0 alle 2012-04-25 00:40:06.0Trollate totali: 11540> > > Ma così ci vorrebbero gazzillioni di coordinate.

> >
> > Ci si puo` limitare a definire "atomi" sufficienti a visualizzare una superficie compatta. Se l'interno non ha dettagli, puo` essere estrapolato e riempito di "atomi". Penso che per molti casi pratici dovrebbe bastare la superficie: difficile che in un videogioco ci si trovi a dover far vedere perfino gli ingranaggi di un orologio rotto.
> >
> > > > Um.. un bel casino, no?
> > >
> > > Infatti non ci ho capito un cubo.
> >
> > Non saro` mai un insegnante, ma penso che mi piacerebbe provare a fare in pratica quel che ho detto. Devo prima dare una spallata a L.in.oleum e fargli attraversare il traguardo.
>
> Con sintassi definitiva, mi raccomando.


>
> Comunque a Cryoburner che si lamentava puoi sempre rispondere che assicurare la retrocompatibilità ad ogni costo col codice precedente finirebbe per fare di Linoleum qualcosa di "patched-up" simile a PHP.
Prima che smettessi di nuovo di lavorarci, stavo appunto cercando di minimizzare le modifiche - lato compilatore - necessarie ad assicurare la retrocompatibilita`. Ma in fondo fa comodo anche a me: ho anch'io dei sorgenti 2.00 che non conviene granche` convertire.-
Re: Unlimited Detail Real-Time RenderingScritto daNon Autenticatoil 2012-04-25 00:46:18.0 alle 2012-04-25 00:46:18.0> > > > Ma così ci vorrebbero gazzillioni di coordinate.

> > >
> > > Ci si puo` limitare a definire "atomi" sufficienti a visualizzare una superficie compatta. Se l'interno non ha dettagli, puo` essere estrapolato e riempito di "atomi". Penso che per molti casi pratici dovrebbe bastare la superficie: difficile che in un videogioco ci si trovi a dover far vedere perfino gli ingranaggi di un orologio rotto.
> > >
> > > > > Um.. un bel casino, no?
> > > >
> > > > Infatti non ci ho capito un cubo.
> > >
> > > Non saro` mai un insegnante, ma penso che mi piacerebbe provare a fare in pratica quel che ho detto. Devo prima dare una spallata a L.in.oleum e fargli attraversare il traguardo.
> >
> > Con sintassi definitiva, mi raccomando.


> >
> > Comunque a Cryoburner che si lamentava puoi sempre rispondere che assicurare la retrocompatibilità ad ogni costo col codice precedente finirebbe per fare di Linoleum qualcosa di "patched-up" simile a PHP.
>
> Prima che smettessi di nuovo di lavorarci, stavo appunto cercando di minimizzare le modifiche - lato compilatore - necessarie ad assicurare la retrocompatibilita`. Ma in fondo fa comodo anche a me: ho anch'io dei sorgenti 2.00 che non conviene granche` convertire.
Hai mai pensato di cercarti un posto profumatamente pagato come programmatore di BIOS e cose simili?-
Re: Unlimited Detail Real-Time RenderingScritto daaltgutente che non utieneil 2012-04-25 01:02:20.0 alle 2012-04-25 01:02:20.0Trollate totali: 11540> > > > > Ma così ci vorrebbero gazzillioni di coordinate.

> > > >
> > > > Ci si puo` limitare a definire "atomi" sufficienti a visualizzare una superficie compatta. Se l'interno non ha dettagli, puo` essere estrapolato e riempito di "atomi". Penso che per molti casi pratici dovrebbe bastare la superficie: difficile che in un videogioco ci si trovi a dover far vedere perfino gli ingranaggi di un orologio rotto.
> > > >
> > > > > > Um.. un bel casino, no?
> > > > >
> > > > > Infatti non ci ho capito un cubo.
> > > >
> > > > Non saro` mai un insegnante, ma penso che mi piacerebbe provare a fare in pratica quel che ho detto. Devo prima dare una spallata a L.in.oleum e fargli attraversare il traguardo.
> > >
> > > Con sintassi definitiva, mi raccomando.


> > >
> > > Comunque a Cryoburner che si lamentava puoi sempre rispondere che assicurare la retrocompatibilità ad ogni costo col codice precedente finirebbe per fare di Linoleum qualcosa di "patched-up" simile a PHP.
> >
> > Prima che smettessi di nuovo di lavorarci, stavo appunto cercando di minimizzare le modifiche - lato compilatore - necessarie ad assicurare la retrocompatibilita`. Ma in fondo fa comodo anche a me: ho anch'io dei sorgenti 2.00 che non conviene granche` convertire.
>
> Hai mai pensato di cercarti un posto profumatamente pagato come programmatore di BIOS e cose simili?
No, mai. Forse sarebbe profumatamente pagato, non saprei.
Pero` sarebbe noioso.
**Modificato dall'autore il 25.04.2012 01:08**
-
-
-
-
-
-
-
-
-
-
-
Re: Unlimited Detail Real-Time RenderingScritto daNon Autenticatoil 2012-04-27 10:55:02.0 alle 2012-04-27 10:55:02.0>
>
>
Non ho capito come fanno. 
Qui dice che l'azienda ha ricevuto due milioni di dollari dal governo australiano:http://en.wikipedia.org/wiki/Euclideon

-
Re: Unlimited Detail Real-Time RenderingScritto daavvelenatoun mezzo cavalloil 2012-04-27 11:24:03.0 alle 2012-04-27 11:24:03.0Trollate totali: 14239Scritto da:
> >
> >
> >
Non ho capito come fanno. 
>
> Qui dice che l'azienda ha ricevuto due milioni di dollari dal governo australiano:
>
>http://en.wikipedia.org/wiki/Euclideon

>
Dollari australiani.I pedoni possono muoversi solo in avanti.-
Re: Unlimited Detail Real-Time RenderingScritto da: avvelenato
> > Qui dice che l'azienda ha ricevuto due milioni di dollari dal governo australiano:
> >
> >http://en.wikipedia.org/wiki/Euclideon

>
> Dollari australiani.
Che valgono di piu' dei dollari USA
!
`"la realta' non e' cosi' terrificante come vogliono farti credere" - Giambo ` - Wakko che cita Giambo
-
-
-