Italian English French German Portuguese Russian Spanish

NVIDIA Rebooted - il render rivisto e (ora) fisicamente corretto

Di più
10/12/2017 15:24 - 10/12/2017 15:32 #11697 da kamiokande
kamiokande ha creato la discussione NVIDIA Rebooted - il render rivisto e (ora) fisicamente corretto
Il 19 settembre 2014 NVIDIA, nella persona di Mark Daly, senior director del diparimento "content deveopment", ci informa di aver dimostrato che nelle foto dell'Apollo 11 non ci sono problemi legati all'illuminazione, contrariamente a quanto invece sostenuto dai teorici del complotto sull'allunaggio. In particolare la foto scelta per "smontare" la teoria del complotto è la AS11-40-5868 .


Nel video di presentazione dei risultati viene più volte affermato di aver fatto qualcosa di assolutamente innovativo, o almeno è quello che vogliono far credere. L'unica cosa veramente innovativa introdotta da NVIDIA è la tecnologia in grado di generare scene 3D con luce diffusa (global illummination) in tempo reale. Di software che fanno questa cosa altrettanto bene, se non meglio, ma non in "tempo reale" ce ne sono a bizzeffe, e questo svela il vero motivo di questa uscita clamorosa: pubblicizzare le nuove schede video NVIDIA dotate di questa tecnologia (GPU Maxwell). In conclusione, NVIDIA ci dice che l'illuminazione corrisponde perfettamente alla foto simulata solo aggiungendo Armstrong nella scena, e che quindi la tuta spaziale di Armstrong è da considerarsi a tutti gli effetti "una sorgente di luce" che, insieme al suolo, consente di riprodurre fedelmente la foto presa in considerazione. Caso chiuso quindi, o come dicono i mythbuster: "BUSTED!".

Ovviamente la notizia ha fatto il giro della rete:

c|net: Nvidia sinks moon landing hoax using virtual light

wired: NVIDIA PROVES WE WALKED ON THE MOON—NOT THAT IT NEEDED TO

History: Lighting Simulation Offers More Proof of Moon Landing

per citare solo tre dei siti più conosciuti che hanno coperto l'argomento. Cercando però i dati tecnici della simulazione si incominciano ad intravedere le prime crepe. Nel video viene affermato che essa è basata su di una meticolosa ricerca per creare materiali fisicamente accurati: in particolare si parla di coefficiente di riflessione del suolo (albedo) di circa il 12% e di circa l'80/90% per la tuta di teflon indossata dagli astronauti. Ci vuol poco però a constatare che entrambi questi valori sono sbagliati. Meticolosa ricerca "my ass" direbbero gli anglofoni. L'albedo lunare in realtà varia fortemente da zona a zona; nei mari (Apollo 11 è allunato nel Mare Tranquillitatis) si aggira intorno al 7% (anche se nel terreno intorno al punto di allunaggio, per via dell'effetto del propulsore del modulo lunare, arriva fino a circa il 9%) ed inoltre varia rispetto all'angolo di osservazione. La tuta di teflon degli astronauti completamente intonsa, cioè non degradata dalla polvere lunare e dalle radiazioni luminose ionizzanti, ha una riflettanza di circa il 77%, che si riduce però con il degrado del materiale.

Il 07 Aprile 2015 NVIDIA rilascia finalmente il Demo che mostra questa simulazione in azione. Il modello però non è (ovviamente) editabile e non si può quindi sapere quali siano i parametri realmente usati per costruire la scena 3D di Aldrin che scende la scaletta del modulo lunare.

Per fortuna esistono strumenti che consentono di "aprire" l'eseguibile ed estrarne alcuni dati. Estraendo le mappe di colore dal modello si può osservare come in realtà la tuta abbia un coefficiente di riflessione superiore al 97%, ed il suolo si attesti intorno al 57%; entrambi ben lontani non solo dai valori reali, ma lontani anche dai valori che NVIDIA afferma di aver usato nella simulazione.

Sulla base di un lavoro sviluppato in questo forum e disponibile su git-hub ( Apollo Soil Brightness Project ) ho deciso di ricostruire la scena creata da NVIDIA usando rigorosamente solo materiali fisicamente consistenti. Per esempio, il materiale della tuta è simulato tramite misurazioni sperimentali fatte sul teflon, e disponibili nella libreria MERL , mentre il suolo è simulato utilizzando il modello di Bruce Hapke ( professore emerito nell'Università di Pittsburgh ) con i parametri misurati da Johnson (ed altri) sui campioni di regolite relativi all' Apollo 11 ( soil sample 10084 ). Questo è il risultato:



Come si può vedere, senza considerare la colorazione del suolo che parla da se, la differenza minima di luminosità tra tuta e suolo nel modello di NVIDIA è di circa il 12%, mentre nel modello fisicamente consistente è di circa il 50%. Questo risultato conferma anche il risultato ottenuto dai mythbuster



di cui si può dire tutto tranne che confermi la versione ufficiale. Ultimo punto a smontare definitivamente i risultati di NVIDIA è l'effetto di Armstrong sulla scena, che è in realtà praticamente nullo.



L'operazione di NVIDIA si conferma per quel che è, ovvero una mera operazione commerciale travestita da lavoro serio ma che in realtà punta solo sulla spettacolarità per far parlare di se.

"La stampa è morta" (Egon Spengler - Ghostbuster)
Ultima modifica: 10/12/2017 15:32 da kamiokande.
Ringraziano per il messaggio: doktorenko

Di più
13/12/2017 22:16 #11767 da DanieleSpace
DanieleSpace RE: NVIDIA Rebooted - il render rivisto e (ora) fisicamente corretto
Eccellente lavoro, come sempre !
92 minuti di applausi !

Una teoria del complotto è ridicola solo quando sono ridicoli i suoi moventi.

Di più
14/12/2017 07:45 #11776 da doktorenko
doktorenko RE: NVIDIA Rebooted - il render rivisto e (ora) fisicamente corretto
@kamiokande

Ho provato a ricostruire l`immagine scaricando l`archivio ASBP-master.zip ma non ci sono riuscito.
Tu che versione di mitsuba hai usato? la mia e` compilata partendo dal sorgente mitsuba-af602c6fd98a.zip
Si blocca perche` non trova il modulo "tabulated" necessario per il materiale della tuta dell`astronauta.

Di più
14/12/2017 11:55 #11777 da kamiokande
kamiokande RE: NVIDIA Rebooted - il render rivisto e (ora) fisicamente corretto
@ doktorenko
La versione da usare è la layered-0.5.1 (la puoi scaricare con git specificando il branch layered-0.5.1). In linea di principio il modello è compatibile anche con pbrt V3 in cui il materiale tabulated corrisponde al materiale fourier; ma occorre tradurre gli xml di mitsuba (ed i corrispettivi tipi di materiale) nel formato testo di pbrt V3, cosa non banalissima ma neanche impossibile (e che mi sono ripromesso di fare prima o poi per allargare la possibilità di utilizzo del modello).

Una precisiazione: sul sito git-hub non trovi il modello 3D di NVIDIA per questioni di copyright; trovi solo il modello con i rendering mostrato nel thread sulla luminosità del suolo, nel caso tu volessi anche il modello NVIDIA scrivimi in privato.

"La stampa è morta" (Egon Spengler - Ghostbuster)

Di più
15/12/2017 06:54 - 15/12/2017 06:58 #11790 da doktorenko
doktorenko RE: NVIDIA Rebooted - il render rivisto e (ora) fisicamente corretto
@kamiokande

Scusami ancora se non entro nell'argomento principale, ma, per poter dire qualcosa di sensato, vorrei prima ripetere i tuoi stessi risultati (magari usando i miei modelli).

Anche seguendo le tue indicazioni, non riesco a far funzionare mitsuba; ti dico come ho proceduto:
1) git clone https://www.mitsuba-renderer.org/repos/mitsuba.git --branch layered-0.5.1 --single-branch
2) cd mitsuba
3) mkdir _build
4) cd _build; cmake ..

La compilazione si blocca perchè in fase di linkaggio mancano i riferimenti alla libreria matematica.
Per rimediare ho aggiunto "math.cpp" all'elenco che si trova nel file "src/libcore/CMakeLists.txt"

A questo punto procede tutto regolarmente fino in fondo, però, controllando nella cartella dei plugin, manca proprio il modulo "tabulated.so"!
Per rimediare ho aggiunto "add_bsdf" all'elenco "src/bsdfs/CMakeLists.txt"

Ora dovrebbe essere tutto a posto, ma, lanciando il programma, termina immediatamente con un errore di memoria esaurita (tenta di allocarne 128 Gb!).

Però non voglio rubare troppo spazio alla discussione principale, quindi ti faccio solo due domande:

1) hai compilato mitsuba partendo dal sorgente?
2) quanta memoria hai?

Grazie ancora.
Ultima modifica: 15/12/2017 06:58 da doktorenko. Motivo: correzioni nel codice

Di più
15/12/2017 09:21 #11791 da kamiokande
kamiokande RE: NVIDIA Rebooted - il render rivisto e (ora) fisicamente corretto
Kein Problem, non c'è bisogno che ti scusi.

Io ho compilato mitsuba su linux usando scons invece che cmake, visto che la parte di codice necessaria al funzionamento del plugin in src/liblayer non ha un relativo cmakelist.txt. Comunque anche usando scons devi aggiungere nel file src/bsdfs/SConscript le righe

layerEnv = env.Clone()
layerEnv.Append(LIBS=)
layerEnv.Append(LIBPATH=)
plugins += layerEnv.SharedLibrary('tabulated', )

che se non ricordo male sono commentate. Il programma si compila semplicemente digitando scons da shell nella folder principale scaricata da git. Riguardo alla RAM ho 8Gb + 2Gb di memoria video dedicata. Il modello che trovi su git-hub non ti dovrebbe chiedere più di 2Gb di memoria per funzionare, il modello di NVIDIA penso richieda almeno 4Gb, ma devo controllare.

"La stampa è morta" (Egon Spengler - Ghostbuster)

Di più
16/12/2017 10:19 - 16/12/2017 10:29 #11803 da doktorenko
doktorenko RE: NVIDIA Rebooted - il render rivisto e (ora) fisicamente corretto
Adesso funziona; ho solo dovuto aggiungere:
#define ADT_WORKAROUND 1

nell`intestazione:
src/shapes/ply/ply_parser.hpp

Per entrare finalmente in argomento: hai simulato anche la resa della pellicola? NVIDIA ha rilasciato informazioni su questo particolare?

Una precisiazione: sul sito git-hub non trovi il modello 3D di NVIDIA per questioni di copyright; trovi solo il modello con i rendering mostrato nel thread sulla luminosità del suolo, nel caso tu volessi anche il modello NVIDIA scrivimi in privato.


Basterebbe solo questo fatto per squalificare la pretesa di scientificita` del lavoro di NVIDIA e declassarlo a mera trovata pubblicitaria.
Ultima modifica: 16/12/2017 10:29 da doktorenko.

Di più
16/12/2017 12:10 - 16/12/2017 12:26 #11805 da kamiokande
kamiokande RE: NVIDIA Rebooted - il render rivisto e (ora) fisicamente corretto

Adesso funziona; ho solo dovuto aggiungere:
#define ADT_WORKAROUND 1

nell`intestazione:
src/shapes/ply/ply_parser.hpp

Confesso che non mi è chiaro come questo consenta di compilare anche il materiale tabulated, ma l'importante è che funzioni.

Per entrare finalmente in argomento: hai simulato anche la resa della pellicola? NVIDIA ha rilasciato informazioni su questo particolare?

No, ma per un motivo molto semplice: con mitsuba non è banale (forse con pbrt ci sono più parametri che rendono più semplice tale operazione, ma non ci ho perso molto tempo), introducendo una complicazione ulteriore che potrebbe portare a discussioni sul come e sul perché.

Questo aspetto comunque non è stato minimamente preso in considerazione da NVIDIA, e quindi mostrando che Armstrong non ha alcun effetto sulla scena in queste condizioni si dimostra in modo molto più semplice e diretto il fatto che non c'è alcuna scientificità nel lavoro di NVIDIA.

Se tu ti vuoi addentrare in questo argomento sono pronto a darti supporto, ed i dati della pellicola misurati dalla NASA sono disponibili on-line.

Un'ultima precisazione nel progetto attualmente on-line il Sole è simulato come un corpo nero a 5800K infinitamente distante, che dovrebbe avere una potenza spettrale prossima a quella del Sole. Mitsuba mette anche a disposizione un modello del Sole (senza cielo) fisicamente consistente che però ha una potenza spettrale superiore al corpo nero. Nel modello NVIDIA ho usato quest'ultimo e consiglio di usarlo anche nel modello originale, che aggiornerò al più presto.

"La stampa è morta" (Egon Spengler - Ghostbuster)
Ultima modifica: 16/12/2017 12:26 da kamiokande.

Di più
17/12/2017 12:34 #11811 da kamiokande
kamiokande RE: NVIDIA Rebooted - il render rivisto e (ora) fisicamente corretto
@doktorenko

Mi sono scordato di dirti che se hai bisogno di un modello di suolo relativo ad altre missioni Apollo, ho i dati anche dei campioni suolo di Apollo 16, che dovrebbero essere molto simili ad Apollo 15 e 17.

"La stampa è morta" (Egon Spengler - Ghostbuster)

Di più
21/12/2017 13:33 #11848 da kamiokande
kamiokande RE: NVIDIA Rebooted - il render rivisto e (ora) fisicamente corretto
Ho aggiornato il modello originale con l'emitter Sun, lo stesso che ho usato per il render del modello di NVIDIA, ed ho aggiunto anche un BSDF ricavato dal campione 61221 del suolo di Apollo 16 (Materials/moonsoil/hapke_johnson_61221.bsdf insieme al corrispettivo file MERL hapke_johnson_61221.binary).

"La stampa è morta" (Egon Spengler - Ghostbuster)

Di più
10/01/2018 08:58 #12061 da doktorenko
doktorenko RE: NVIDIA Rebooted - il render rivisto e (ora) fisicamente corretto

No, ma per un motivo molto semplice: con mitsuba non è banale (forse con pbrt ci sono più parametri che rendono più semplice tale operazione, ma non ci ho perso molto tempo), introducendo una complicazione ulteriore che potrebbe portare a discussioni sul come e sul perché.


Non e` possibile simulare la pellicola in post-produzione, ad esempio con un programma di fotoritocco? (oppure con Matlab o simili)

Mi puoi dire anche come hai fatto ad importare il rilievo del suolo lunare? e` preso dal modello NVIDIA, oppure e` calcolato dai dati altimetrici della sonda? in quest`ultimo caso, puoi condividere la procedura di importazione?

Di più
11/01/2018 20:57 - 11/01/2018 21:02 #12085 da kamiokande
kamiokande RE: NVIDIA Rebooted - il render rivisto e (ora) fisicamente corretto
@ doktorenko

Non e` possibile simulare la pellicola in post-produzione, ad esempio con un programma di fotoritocco? (oppure con Matlab o simili)

Ho fatto solo una breve ricerca ma credo che ci sia la possibilità di fare qualcosa in merito.
Si potrebbe usare un procedimento per legare la luminosità dei pixel del rendering al valore dell'esposizione luminosa con cui, utilizzando le curve sensitometriche della pellicola SO-368 (che sono disponibili), ricalcolare le componenti RGB come da pellicola per diversi valori di f-stop. Cercando il valore di f-stop che ci da una luminosità del suolo simile a quella nella foto originale si potrebbe poi fare il confronto. Questi sono i documenti che ho trovato più interessanti:

Measuring Luminance with a Digital Camera
Relating Subject Lighting to Film Exposure

Esistono però alcuni punti non univoci:
  • Occorre conoscere una costante di calibrazione della macchina fotografica (esistono dei valori di riferimento ma non ho trovato quello della Hasselblad).
  • Il calcolo della luminosità dei pixel non è univoco, esistono diverse formule e sceglierne una introdurrebbe un'arbitrarietà che sarebbe poi frutto di discussione.
Quindi, siccome la procedura non è standard, la polemica è dietro l'angolo.

Mi puoi dire anche come hai fatto ad importa il rilievo del suolo lunare? e` preso dal modello NVIDIA, oppure e` calcolato dai dati altimetrici della sonda? in quest`ultimo caso, puoi condividere la procedura di importazione?

Ho usato il programma ISIS3 .

Ho provato prima a seguire il tutorial beginner’s guide to stereo-derived DEM production and analysis using ISIS, ASP, and ArcMap , partendo dalla coppia M175124932LE.IMG e M175124932RE.IMG (scaricando le immagini dai link EDR) ma non mi è riuscito di creare la coppia stereo con i dati altimetrici (ora non ricordo più il motivo).

Il metodo che invece ha funzionato è stato scaricare il file NAC_DTM_APOLLO11_E010N0230.IMG con già i dati altimetrici all'interno. Usando il comando crop di ISIS ho estratto solo una striscia di suolo contenente il landing site. Poi con lo script python phstl.py ho convertito il file IMG (ridotto con crop) in STL e da qui in PLY con meshlab .

"La stampa è morta" (Egon Spengler - Ghostbuster)
Ultima modifica: 11/01/2018 21:02 da kamiokande.

Di più
13/01/2018 17:55 #12119 da kamiokande
kamiokande RE: NVIDIA Rebooted - il render rivisto e (ora) fisicamente corretto
@doktorenko

Hai un messaggio privato.

"La stampa è morta" (Egon Spengler - Ghostbuster)

Tempo creazione pagina: 0.131 secondi

Per migliorare il nostro servizio, la tua esperienza di navigazione e la fruizione pubblicitaria questo sito web utilizza i cookie (proprietari e di terze parti). Per maggiori informazioni (ad esempio su come disabilitarli) leggi la nostra Cookies Policy. Chiudendo questo banner, scorrendo questa pagina o cliccando qualunque suo elemento acconsenti all'uso dei cookie. INFO