L’ INVENZIONE DELLO SPAZIO
Ville e Giardini Medicei in Toscana
Patrimonio UNESCO
SITEMAP HELP EDU
FULL SCREEN CREDITS BIBLIOGRAFIA TECNOLOGIA
SITEMAP
GEOGRAFIA
FRANCO FARINELLI
BOTANICA
PAOLO GROSSONI
ECONOMIA
GIANPIERO NIGRO
COSTUME
GABRIELLA PESCUCCI
ARCHITETTURA
LUIGI ZANGHERI
TECNOLOGIA

SCHEDA TECNICA

Questo documentario interattivo è stato realizzato fondendo insieme vari linguaggi e tecnologie.


L’ambiente di sviluppo è costruito con tecnologia HTML5 WebGL pensata per la computer grafica 3D sul WEB. Ringraziamo il progetto opensource three.js per il prezioso aiuto in termini di solidità e leggibilità del codice.

Le riprese video volumetriche degli intervistati e degli oggetti sono state effettuate utilizzando il DepthKit, un software capace di combinare il video RGB con le informazioni di profondità registrate dai sensori della Microsoft Kinect.

I modelli delle Ville Medicee e delle Statue che vanno a comporre le infografiche sono stati realizzati attraverso al modellazione 3d, la fotogrammetria e le scansioni laser. Le riprese aeree e la fotogrammetria area sono state effettuate tramite droni.

La texture del Sound Design nasce dalla rielaborazione in chiave elettronica di alcuni brani riprodotti dall’ensemble L’Homme Armé. La realizzazione dei soundscape è avvenuta tramite sintesi analogica, Max MSP e codifiche in ambix per spazializzare i suoni in 3D.


REQUISITI SOFTWARE/HARDWARE

Software

Il webdoc di ville medicee nella sua versione Desktop è ottimizzato per chrome 69, su qualsiasi sistema operativo.

Hardware

Requisiti minimi di prestazione per la fruizione HIGH QUALITY:

- Scheda grafica >= da 1500 a 2000 MB.
- Processore >= 2,4 GHz i7
- RAM >=4GB
- Connessione minima >=150kB/sec.

BIBLIOGRAFIA

AA. VV., Ville e giardini medicei in Toscana, Sagep Turismo Editori, 2018.

 

Acton, Harold, Gli ultimi Medici, Torino: Einaudi, 1962.

 

Angiolini,Franco, I cavalieri e il principe, Firenze: Edifir, 1996.

 

Anna Maria Luisa de' Medici Elettrice Palatina, a cura di Anita Valentini, Firenze: Edizioni Polistampa, 2009.

 

Barocchi, Paola - Gaeta Bertelà, Giovanna, Collezionismo mediceo. Cosimo I, Francesco I e il Cardinale Ferdinando. Documenti 1540-1587, Modena: Franco Cosimo Panini, 1993.

 

Berti, Luciano, Il principe dello studiolo. Francesco I dei Medici e la fine del Rinascimento fiorentino, Pistoia, Pistoia : M & M Maschietto, 2002.

 

Busi, Giulio, Lorenzo de’ Medici. Una vita da Magnifico, Milano: Mondadori, 2016.

 

Capecchi, Gabriele, Ipotesi su Castello. L’iconografia di Niccolò Tribolo e il giardino delle origini (1538 – 1550), Firenze: Edizioni Polistampa, 2017.

 

Cattini, Marco - Romani, Marzio Achille, Legami di sangue: relazioni politiche, matrimoni e

circolazione della ricchezza nelle casate sovrane dell'Italia centro-settentrionale nei secoli XV-XVIII (ricerche in corso), in La famiglia nell'economia europea. Secc. XIII-XVIII, a cura di Simonetta Cavaciocchi, Firenze: Firenze University Press, 2009, pp. 47-68.

 

Collezionismo mediceo e storia artistica, a cura di Paola Barocchi e Giovanna Gaeta Bertelà, Firenze: SPES, 2002-2011, 9 voll.

 

De Roover, Raymond, Il banco Medici. Dalle origini al declino (1397-1494), Firenze: La Nuova Italia, 1970.

 

Fantoni, Marcello, La corte del Granduca. Forme e simboli del potere mediceo fra Cinque e Seicento, Roma: Bulzoni, 1994.

 

Farinelli, Franco, La crisi della ragione cartografica, Torino: Einaudi, 2009.

 

Farinelli, Franco, L’invenzione della Terra, Palermo: Sellerio, 2016.

 

Firenze e la Toscana dei Medici nell’Europa del Cinquecento, Firenze: Centro Di, 1980.

 

Firenze e la Toscana. Genesi e trasformazioni di uno stato (XIV-XIX secolo), a cura di Jean Boutier, Sandro Landi, Olivier Rouchon, Firenze: Mandragora, 2010.

 

Garbari, Fabio - Tongiorgi Tomasi, Lucia - Tosi, Alessandro, Giardino dei Semplici. Garden of Simples, Pisa: Pisa University Press, 2002.

 

Goldthwaite, Richard A., The Economy of Renaissance Florence, Baltimore: The Johns Hopkins University Press, 2009.

 

I gioielli dei Medici dal vero e in ritratto, a cura di Maria Sframeli, Livorno: Sillabe, 2003.

 

Il Gran Principe Ferdinando de' Medici (1663-1713). Collezionista e mecenate, a cura di Riccardo Spinelli, Firenze: Giunti, 2013.

 

Il principato mediceo, a cura di Elena Fasano Guarini, in Storia della civiltà toscana, vol. III, Firenze: Le Monnier, 2003.

 

Klapisch-Zuber, Christiane, La famiglia e le donne nel Rinascimento a Firenze, Roma-Bari:

Laterza, 1988.

 

La corte di Toscana dai Medici ai Lorena, a cura di Anna Bellinazzi e Alessandra Contini, Roma: Ministero per i beni e le attività culturali, 2002.

 

La principessa saggia. L'eredità di Anna Maria Luisa de' Medici Elettrice Palatina, a cura di Stefano Casciu, Livorno: Sillabe, 2006.

 

Le donne Medici nel sistema europeo delle corti. XVI-XVIII secolo, a cura di Giulia Calvi e Riccardo Spinelli, Firenze: Edizioni Polistampa, 2008, 2 voll.

 

Le ville medicee in Toscana, a cura di Luigi Zangheri, Firenze: Leo S. Olschki, 2015.

 

Lorenzo il Magnifico e il suo mondo, a cura di Gian Carlo Garfagnini, Firenze: Leo S. Olschki, 1994.

 

Lucas-Dubreton, Jean, La vita quotidiana a Firenze ai tempi dei Medici, Milano: Bur Rizzoli, 2017.

 

Medici Women as Cultural Mediators (1533-1743). Le donne di casa Medici e il loro ruolo di mediatrici culturali fra le corti d'Europa, a cura di Christina Strunck, Cinisello Balsamo: Silvana Editoriale, 2011.

 

Medici Women: the Making of a Dynasty in Grand Ducal Tuscany, edited by Giovanna Benadusi and Judith C. Brown, Toronto: Centre for Reformation and Renaissance Studies, 2015.

 

Mori, Elisabetta, L'onore perduto di Isabella de' Medici, Milano: Garzanti, 2011.

 

Orsi Landini, Roberta - Niccoli, Bruna, Moda a Firenze 1540-1580. Lo stile di Eleonora di Toledo e la sua influenza, Firenze: Edizioni Polistampa, 2005.

 

Orsi Landini, Roberta, Moda a Firenze 1540-1580. Lo stile di Cosimo I de’ Medici, Firenze: Edizioni Polistampa, 2011.

 

Panofsky, Erwin, La prospettiva come forma simbolica e altri scritti, Milano: Feltrinelli, 1961.

 

Pansini, Giuseppe, Le segreterie nel Principato Mediceo, in Carteggio Universale di Cosimo I de' Medici. Archivio di Stato di Firenze. Inventario, a cura di Anna Bellinazzi e Claudio Lamioni, Firenze: La Nuova Italia, 1982, vol. I, pp. IX-XLIX.

 

Paoli, Maria Pia, Di madre in figlio: per una storia dell’educazione alla corte dei Medici, in “Annali di Storia di Firenze”, 3.2008, pp. 65-145.

 

Pieraccini, Gaetano, La stirpe de’ Medici di Cafaggiolo. Saggio di ricerche sulla trasmissione ereditaria dei caratteri biologici, Firenze: Vallecchi Editore, 1924-1925, 3 voll.

 

Pucci, Angiolo, Palazzi e ville medicee, a cura di Mario Bencivenni e Massimo de Vico Fallani, in I giardini di Firenze, Firenze: Leo S. Olschki, 2016, vol. III.

 

Rubinstein, Nicolai, Il governo di Firenze sotto i Medici (1434 - 1494), Firenze: La Nuova Italia, 1971.

 

Simonetta, Marcello, Volpi e leoni. I Medici, Machiavelli e la rovina d'Italia, Milano: Bompiani, 2014.

 

Spagnoletti, Angelantonio, Le dinastie italiane nella prima età moderna, Bologna: Il Mulino, 2003.

 

Spini, Giorgio, Cosimo I e l’indipendenza del principato mediceo, Firenze: Vallecchi, 1980.

 

Strong, Roy, Arte e potere. Le feste del Rinascimento 1450-1650, Milano: Il Saggiatore, 1987.

 

Strathern, Paul, I Medici. Potere, denaro e ambizione nell’Italia del Rinascimento, Roma: Newton Compton, 2017.

 

Tomas, Natalie R., The Medici Women. Gender and Power in Renaissance Florence, Aldershot-Burlington: Ashgate, 2003.

 

Ville e giardini nei dintorni di Firenze. Da Fiesole ad Artimino, a cura di Stefano Casciu e Mariachiara Pozzana, Firenze: Edizioni Polistampa, 2010.

 

Vivere a Pitti. Una reggia dai Medici ai Savoia, a cura di Sergio Bertelli e Renato Pasta, Firenze: Leo S. Olschki, 2003.

 

COME INTERAGIRE CON L’I-DOC

Questo documentario ha due modalità di essere esplorato: una principale e una secondaria.


Modalità Principale

Questa modalità propone l’esperienza narrativa interattiva.
Si attiva cliccando con il tasto ENTRA che si trova nella pagina principale del sito.
Una volta entrati l’utente viene accompagnato in un viaggio con cinque esperti.
Oltre ad ascoltare il loro racconto, l’utente potrà interagire con alcuni contenuti aggiuntivi, per approfondire ed espandere la narrazione. Questi sono posti al lato dell’intervistato, e si scoprono nello spazio tridimensionale muovendo il mouse: appariranno sotto forma di icone su cui cliccare.
I contenuti di approfondimento sono di due tipologie:
modelli tridimensionali di Ville Medicee e Statue presenti nei Gardini, unite a testi graficizzati;
immagini di oggetti, particolari architettonici, elementi naturali afferenti alle Ville e Giardini Medicei, scannerizzati con una apposita e recente tecnica
Se la scelta dell’utente cade sui modelli tridimensionali, al click, la voce dell’intervistato si sospende, per rendere agevole la lettura dei testi. Cliccando sul tasto BACK, si potrà tornare all’esperto che continuerà il suo intervento fino alla conclusione.
Se la scelta cade sulle scannerizzazioni degli oggetti, l’intervistato, tramite un’ animazione, si trasformerà nell’oggetto associato a quel capitolo e a quel contenuto. In questo caso, non essendoci testi estesi, la voce dell’intervistato non si sospenderà ma continuerà nel suo intervento. Le immagini degli oggetti, quindi, saranno a supporto della narrazione, svolgendo una funzione in alcuni casi evocativa, in altri didascalica o descrittiva.
Se l’utente all’esigenza di mettere fermare la voce dell’esperto, premendo la barra spaziatrice l’esperto verrà messo in pausa. Premendo nuovamente la barra spaziatrice l’esperto continuerà il suo racconto.


Modalità secondaria

Questa modalità propone un’esperienza di esplorazione dei contenuti narrativi in chiave logico- argomentativa.
Si attiva cliccando nella pagina principale il tasto SITEMAP, in basso a sinistra. Questa sezione è stata pensata per chi vuole tornare su alcuni argomenti in un secondo momento, e presenta i singoli contenuti separati per tipologia, ed esplorabili attraverso liste o una mappa interattiva che, contemporaneamente, fornisce la struttura dei contenuti del documentario.


OPZIONI DI NAVIGAZIONE

Nel documentario interattivo convivono una narrazione guidata e una narrazione decisa dall’utente. Nella modalità principale, prevale la narrazione guidata: il paradigma dei prodotti sul web “posso fare tutto, vado, torno, blocco, skippo” è stato quindi messo in discussione. L’utente è chiamato ad agire in uno spazio che, pur lasciando libertà di azione, pone alcuni limiti, per contenere la dispersività insista in un prodotto ipermediale.
Nella modalità secondaria, l’utente ha più libertà di esplorare i contenuti. Abbiamo qui escluso l’accesso ai video dei droni sulle Ville e Giardini, che nella modalità principale hanno la funzione di sorprendere l’utente e invogliarlo nel proseguire l’esperienza, presentandosi come brevi clip.

   

   

   

   

   

   

IDOC COME NUOVA FORMA DEL NARRARE

Nel proliferare delle narrazioni digitali c'è il web documentary o iDoc. Nato per essere fruito via Internet, l’iDoc assimila tutte le caratteristiche intrinseche del mondo digitale.
Come le caravelle portoghesi nacquero dall’incontro tra tecnologia navale nordica (adatta a sopportare la forza dell’oceano), e quella mediterranea (leggera e veloce), così gli iDoc nascono come prodotti di sintesi fra nuove tecnologie hardware, linguaggi di programmazione (html5, Java Script, WebGl, Pyton, C++), e i vari linguaggi espressivi (film making, fotografia, grafica, infografica e data visualization, illustrazione, scrittura, voice audio, sound design, video 360°, film making volumetrico, fotogrammetria, modellazione 3D).
Da questo incontro nascono nuove forme di comunicazione (come la realtà aumentata e la realtà virtuale), dove la narrazione prevede un destinatario attivo: nella progettazione viene posta quindi una speciale attenzione all’utilizzatore finale (UCD - User Centered Design), che con le sue interazioni contribuisce a costruire la narrazione stessa.

I DESTINATARI
Studenti e insegnanti delle scuole secondarie, studenti universitari; una generazione avvezza ai prodotti culturali digitali e incline alla modifica e rielaborazione/personalizzazione del prodotto culturale.

NARRAZIONE LINEARE / NON LINEARE
L’I-Doc è idoneo a narrare storie multilivello e ipermediali, dove più argomentazioni vengono tenute insieme dalle possibilità di interazione dell’utente con il documentario stesso.
La struttura dell’IDoc quindi è fatta di tanti frammenti esplorabili e componibili che vanno a ricostruire la complessità della narrazione con il contributo attivo del destinatario, che per questo suo interagire chiamiamo user o interactor.

MATERIALI CHE PUOI SCARICARE

Cliccando su i seguenti link puoi scaricare le trascrizioni di quanto detto dagli esperti.

Franco Farinelli - Geometrie mentali. La nascita del paesaggio. La nascita dello Stato. Il germe del capitalismo. La rete.

Luigi Zangheri - Il paesaggio culturale. La Villa e il giardino. L’architettura

Paolo Grossoni - La scienza che studia le piante. I giardini e la città. Il giardino delle meraviglie.

Gabriella Pescucci - La moda a Firenze. Moda e industria.

Giampiero Nigro - Il fattore Firenze. L’economia. Il marketing.

Per approfondimenti guarda anche www.villegiardinimedicei.it

   

   

   

   

   

   

Promotore: Regione Toscana - Direzione Generale Cultura e Ricerca

Produzione: Fondazione Sistema Toscana - Manifatture Digitali Cinema

Progetto finanziato a valere sui fondi Legge n. 77 del 20 febbraio 2006
“Misure speciali di tutela e fruizione dei siti italiani di interesse culturale, paesaggistico e
ambientale, inseriti nella “lista del patrimonio mondiale”, posti sotto la tutela
dell’UNESCO” (mette questo accanto al logo del mibact)

Progettazione e coordinamento: Francesca Conti

Sviluppo e realizzazione: La Jetée S.r.l. 

CREATIVE DIRECTOR
ROBERTO MALFAGIA
DESIGN DIRECTOR
ALESSANDRO RUSTIGHI
VOLUMETRIC FILMMAKING
EMANUELE NAPPINI
CODER
FAUSTO BARONCINI
SOUND DESIGNER
GIANPAOLO CAPOBIANCO
LEAD 3D ARTIST
ALESSANDRO PACINI

Il progetto è stato realizzato nell’ambito della Bottega di Alta Specializzazione “Narrazione Interattiva e Film making RGB + D” (2018) di Manifatture Digitali Cinema Pisa, con il contributo di:

Michele Ambrogi
Filmmaker/Fotografo/Montatore

Andrea Cossi
Filmmaker volumetrico/Montatore

Matteo Cossi
Filmmaker volumetrico /Montatore

Yuri Costantino
Montaggio Interviste

Gianluca Dolfi
Direttore Montaggio Interviste.
Backstage.

Fausto Fabbri
Sound Designer/Composer; Boom Operator

Martina Fabbri
Responsabile UX Writing Infografiche

Francesca Federico
Ricerca e redazione testi infografiche; Assistente al montaggio backstage

Stefano Francasi
Ricerca e redazione testi infografiche

Tommaso Monaci
Montaggio interviste

Matteo Pagliai
Assistente di produzione

Simone Petracchi
Assistente Montaggio
Backstage

Marta Pettinari
Tutoring - Pop Up UX Writer

Piero Piccioli
Reponsabile coordinamento montaggio Depth Kit

Roberta Pietrasanta
UX Wirting infografiche; Assistente al montaggio interviste.

Marina Porri
Consulenza storico-artistica infografiche; UX Wirting infografiche;

Costanza Puccini
UX Wirting infografiche;


Si ringrazia


Polo Museale della Toscana
Gallerie degli Uffizi
Sovrintendenza Archeologia, Belle Arti e Paesaggio per la Città Metropolitana di Firenze e le Province di Pistoia e Prato
Sovrintendenza Archeologia, Belle Arti e Paesaggio per la Città Metropolitana di Firenze e le Province di Lucca e Massa Carrara

Comune di Barberino del Mugello
Comune di Carmignano
Comune di Cerreto Guidi
Comune di Fiesole
Comune di Firenze
Comune di Poggio a Caiano
Comune di San Piero a Sieve
Comune di Quarrata
Comune di Seravezza
Comune di Vaglia

Per le Ville di proprietà privata:
Arch. Donata Mazzini
Dott. Alfredo Lowenstein
Dott. Lorenzo Scaretti
Olmo Group

Museo di Palazzo Vecchio del Comune di Firenze
Istituto e Museo di Storia della Scienza Galileo Galilei
Museo degli Strumenti per il Calcolo dell’Università di Pisa
Dipartimento di Ingegneria Civile e Ambientale dell’Università di Firenze

Per le consulenze tecnologiche

I3d
DepthKit
Drone Arezzo

   

   

   

   

   

Contenuti attivabili
aree tematiche
L’ INVENZIONE DELLO SPAZIO
Ville e Giardini Medicei in Toscana
Patrimonio UNESCO
START
Sorry, Your password do not match.
OPTIMIZED FOR GOOGLE CHROME
Documentario Interattivo
//SKY SCELTA - FRAGMENT uniform float time; uniform float dissolve; uniform int modesky; varying vec2 vUv; #define S(a, b, t) smoothstep(a, b, t) float N21(vec2 p) { return fract(sin(p.x*123.+p.y*3456.)*3524.); } vec2 N22(vec2 p) { return vec2(N21(p), N21(p+324.)); } float L(vec2 p, vec2 a, vec2 b) { vec2 pa = p-a; vec2 ba = b-a; // float t = clamp(dot(pa, ba)/dot(ba, ba), 0., 1.); float t = 0.; float d = length(pa - ba*t); float m = S(.12, .0, d); d = length(a-b); float f = S(1., .8, d); m *= f; m += m*S(.05, .06, abs(d - .75))*2.; return m; } vec2 GetPos(vec2 p, vec2 o) { p += o; vec2 n = N22(p)*time; p = sin(n)*.4; return o+p; } float G(vec2 uv) { vec2 id = floor(uv); uv = fract(uv)-.5; vec2 g = GetPos(id, vec2(0)); float m = 0.; for(float y=-1.; y<=1.; y++) { for(float x=-1.; x<=1.; x++) { vec2 offs = vec2(x, y); vec2 p = GetPos(id, offs); m+=L(uv, g, p);//METTE LE LINEE vec2 a = p-uv; //float flash = .003/dot(a, a); //flash *= pow( sin(N21(id+offs)*6.2831+10.*time)*.4+.6, 10.);//METTE LE STELLINE PULSANTI //flash *= pow( sin(time)*.5+.5, 3.); //m += flash; } } //m += L(uv, GetPos(id, vec2(-1, 0)), GetPos(id, vec2(0, -1)));//METTE LE LINEE //m += L(uv, GetPos(id, vec2(0, -1)), GetPos(id, vec2(1, 0)));//METTE LE LINEE //m += L(uv, GetPos(id, vec2(1, 0)), GetPos(id, vec2(0, 1)));//METTE LE LINEE //m += L(uv, GetPos(id, vec2(0, 1)), GetPos(id, vec2(-1, 0)));//METTE LE LINEE //float d = length(g-uv);//LEVA LE LINEE E METTE CERCHIETTI //m = S(.1, .08, d); return m; } void main( void ) { vec2 uv = (0.1*vUv.xy) / 1.; // vec2 uv = ( gl_FragCoord.xy-.5*varying vec2 vUv.xy*0.001) / 1.*0.001*position.y; float d = step(uv.y, 0.); //if(uv.y<0.) // uv.y = abs(uv.y); float m = 0.; m = 0.; float t = time*.2; float i=0.; //for(float i=0.; i<1.; i+=.4) {//da il numero di stelle float z = fract(i-t);//la t da il movimento e il verso float s = mix(10., .5, z);//i primi due danno la focale/profondita/zoom float f = S(0., .4, z)*S(1., .8, z);//regolano la dissolvenza delle linee m += G(uv*s+10.*i)*f; //} t *= 10.; vec3 base = vec3(0.06 ,0.12 ,0.49);//.5+sin(vec3(1., .56, .76)*t)*.5;//CAMBIA COLORE vec3 col = base; col *= m; col -= uv.y*base; col *= dissolve*(1.-dot(uv, uv)); //col *= mix(1., .5, d); //if(col.r<0.1){ gl_FragColor = vec4( col, 1.0 ); //} }
//SKY SCELTA - VERTEX uniform float time; uniform vec2 mouse; uniform vec2 resolution; uniform float dissolve; uniform int modesky; varying vec2 vUv; void main() { vUv = uv; vUv = vec2( position.x , position.y ); gl_Position = projectionMatrix * modelViewMatrix * vec4(position,1.0); }
//SKY SNOW - FRAGMENT uniform vec3 color; uniform float opacity; uniform int mode; uniform sampler2D texture0; uniform sampler2D texture1; uniform sampler2D texture2; uniform sampler2D texture3; uniform sampler2D texture4; uniform sampler2D texture5; varying vec3 uVu; void main() { vec4 texColor; if(uVu.y<15. || mode==0){ texColor = texture2D( texture0, vec2(gl_PointCoord.x,1.-gl_PointCoord.y) ); }else{ if(mode==1){ texColor = texture2D( texture1, vec2(gl_PointCoord.x,1.-gl_PointCoord.y) ); }else if(mode==2){ texColor = texture2D( texture2, vec2(gl_PointCoord.x,1.-gl_PointCoord.y) ); }else if(mode==3){ texColor = texture2D( texture3, vec2(gl_PointCoord.x,1.-gl_PointCoord.y) ); }else if(mode==4){ texColor = texture2D( texture4, vec2(gl_PointCoord.x,1.-gl_PointCoord.y) ); }else if(mode==5){ texColor = texture2D( texture5, vec2(gl_PointCoord.x,1.-gl_PointCoord.y) ); } } gl_FragColor = texColor * vec4( color, opacity ); }
//SKY SNOW - VERTEX uniform float radiusX; uniform float radiusZ; uniform float size; uniform float scale; uniform float height; uniform float time; uniform float speedH; uniform float speedV; varying vec3 uVu; void main() { uVu=position; vec3 pos = position; pos.x += cos((time + position.z) * 0.25 * speedH) * radiusX; pos.y = mod(pos.y - time * speedV, height)-height/2.; pos.z += sin((time + position.x) * 0.25 * speedH) * radiusZ; vec4 mvPosition = modelViewMatrix * vec4( pos, 1.0 ); gl_PointSize = size * ( scale / length( mvPosition.xyz ) ); gl_Position = projectionMatrix * mvPosition; }
//BUTTON ECHO - FRAGMENT uniform float mousex; uniform float mousey; uniform float time; uniform float dime; uniform float alph; uniform sampler2D texture0; varying vec3 vUv; void main() { float t = fract(time+length(vUv)*sin(time)*sin(time)); float t2 = fract(time+length(vUv)*sin(time+0.7)*sin(time+0.7)); float t3 = fract(time+length(vUv)*sin(time+1.55)*sin(time+1.55)); float m0=dime; float a1=9.; float a2=6.; float a3=3.; float alfa=4.; float faktor=0.3; float prosp_y=mousey; float prosp_x=mousex; vec3 texColor = vec3(texture2D(texture0,m0*vec2( (vUv.x), (vUv.y) )+0.5).rgb);//************** vec3 texColor2 = pow(1.-t,alfa)*vec3(texture2D(texture0, m0*vec2(vUv.x*(1.+faktor*t)-prosp_x*t + 1./(a1*4.)*sin(t*10.)*sin(t*10./3.), vUv.y*(1.+faktor*t)-prosp_y*t+1./(a1*4.)*sin(t*10./5.)*sin(t*10./3.) ) + 0.5 ).rgb);//************** vec3 texColor3 = pow(1.-t2,alfa)*vec3(texture2D(texture0, m0*vec2(vUv.x*(1.+faktor*t2)-prosp_x*t2 + 1./(a2*4.)*sin(t2*10.)*sin(t2*10./3.) , vUv.y*(1.+faktor*t2) -prosp_y*t2+1./(a2*4.)*sin(t2*10.)*sin(t2*10./3.) ) + 0.5 ).rgb);//************** vec3 texColor4 = pow(1.-t3,alfa)*vec3(texture2D(texture0, m0*vec2(vUv.x*(1.+faktor*t3)-prosp_x*t3 + 1./(a3*4.)*sin(t3*10.)*sin(t3*10./3.) , vUv.y*(1.+faktor*t3) -prosp_y*t3+1./(a3*4.)*sin(t3*10.)*sin(t3*10./3.) ) + 0.5 ).rgb);//************** texColor=texColor+texColor2+texColor3+texColor4; gl_FragColor = vec4(texColor,0.5*alph) ; }
//BUTTON ECHO - VERTEX uniform float time; varying vec3 vUv; void main() { vUv=position; vec3 pos = position; vec4 mvPosition = modelViewMatrix * vec4( pos, 1.0 ); gl_Position = projectionMatrix * mvPosition; }
varying vec2 uvu; varying float vDepth; uniform int mode; uniform sampler2D texture; uniform vec3 lightPos; void main() { uvu = uv; gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0); vec4 mPos = modelMatrix * vec4(position, 1.0); // Just z float dist = abs(cameraPosition.z - mPos.z); vDepth = smoothstep(1.0, 5.0, dist) * smoothstep(35.0, 15.0, dist) ; }
float random(vec2 co) { highp float a = 12.9898; highp float b = 78.233; highp float c = 43758.5453; highp float dt= dot(co.xy ,vec2(a,b)); highp float sn= mod(dt,3.14); return fract(sin(sn) * c); } uniform int mode; uniform sampler2D texture; uniform vec3 lightPos; varying vec2 uvu; varying float vDepth; void main() { float r = random(uvu) * 0.2; float light = length(texture2D(texture, uvu) ) ; gl_FragColor.rgb = vec3(1.0); // gl_FragColor.a = light * vDepth; gl_FragColor.a = light * 0.2 * (vDepth + r); //gl_FragColor = vec4(uvu, 0.0, 1.0); //gl_FragColor = vec4(1.0); }
uniform int mode; uniform float time; varying vec3 vUv; void main( void ) { float j=0.71-200.*fract(time/400.);//*sin(1.3 + time/12.); float h=0.81; float f = 3.0; float g = 3.0; // vec2 res = vUv; // vec2 mou = mouse.xy; //if (mouse.x < 0.5) //{ // mou.x = sin(gTime * .3)*sin(gTime * .17) * 1. + sin(gTime * .3); // mou.y = (1.0-cos(gTime * .632))*sin(gTime * .131)*1.0+cos(gTime * .3); // mou = (mou+1.0) * res; //} vec2 z = 0.1*(vUv.xy); vec2 p = 0.00001*time*vUv.xy*vUv.y * j; if(mode==2){ h=(0.8+0.2*sin(time/200.)); j=(0.5-0.2*sin(time/140.)); p = 0.007*time*normalize(vUv.xy)*vUv.y * j; }else if(mode==3){ z = 0.01*(vUv.xy); h=(0.2+0.2*sin(time/200.)); j=(0.2-0.2*sin(time/140.)); p = 0.09*time*normalize(vUv.xy)*vUv.y * j; }else if(mode==0){ z = 0.01*(vUv.xy); h=(0.2+0.2*sin(time/200.)); j=(0.3-0.2*sin(time/140.)); p = 0.03*time*normalize(vUv.xy)*vUv.y * j; } for( int i = 0; i < 25; i++) { float d = dot(z,z); z = (vec2( z.x, -z.y ) / d) + p * h; z.x = 1.0-abs(z.x); f = max( f-d, (dot(z-p,z-p) )); g = min( g*d, sin(dot(z+p,z+p))+1.0); } f = abs(-log(f) / 3.5); g = abs(-log(g) / 8.0); gl_FragColor = vec4(0.22*min(vec3(g, g*f, f), 1.0),1.); }
uniform float time; varying vec3 vUv; void main() { vUv=position; vec3 pos = position; vec4 mvPosition = modelViewMatrix * vec4( pos, 0.4 ); gl_Position = projectionMatrix * mvPosition; }