Fino a questo punto, gli oggetti realizzati sono stati collocati in un ambiente “vuoto” con lo sfondo di default di colore nero. In questo capitolo, quindi si analizzerà la possibilità di modificare le caratteristiche del background in modo da aggiungere un ulteriore sensazione di realismo.
Questa possibilità può essere raggiunta in due modi in VRML 2.0.
Il primo modo consiste nel cambiare colore al background, specificando posizione e colori degli elementi cielo e terra. In pratica, VRML rende disponibile una sfera che avvolge completamente il mondo; il colore sui lati interni della sfera puo' essere specificato in modo tale da variare in modo lineare tra piu' valori.
Il secondo metodo prevede l’utilizzo, in luogo della sfera, di un box sulle cui pareti interne applicare oltre ai colori, textures di immagini.
Prima di verificare gli esempi, conviene analizzare il nodo Background. All’interno di esso è infatti possibile dichiarare diversi campi. Ecco un elenco dei principali (ve ne sono altri due che in questo capitolo non verranno presi in considerazione):
I fields: backUrl, bottomUrl, frontUrl, leftUrl, rightUrl e topUrl richiedono come parametro l’url di una immagine da mappare su ognuno dei sei lati che costituiscono il box entro il quale può essere avvolta la scena del mondo. L’uso di questi attributi risulta decisamente semplice.
Gli ultimi quattro campi: skyAngle, skyColor, groundAngle e groundColor si riferiscono invece alle proprietà di cielo e terra descrivibili sulla parete interna della suddetta sfera.
Ecco l’esempio di un possibile impiego di texture per il background:
#VRML V2.0 utf8
# utilizzo di textures per il background: nodo BackGround
Background {
backUrl [ "cielo.jpg" ]
bottomUrl [ "terra.jpg" ]
frontUrl [ "cielo.jpg" ]
leftUrl [ "cielo.jpg" ]
rightUrl [ "cielo.jpg" ]
topUrl [ "terra.jpg" ]
}
Ecco ora l’esempio relativo alla seconda possibilità:
#VRML V2.0 utf8
# colori di sfondo: nodo Background
Background {
skyAngle [1.2 1.57 3.14]
skyColor [0 0 1, 0.25 0.25 1, 0.5 0.5 1]
groundAngle [1.3 1.57 ]
groundColor [0.05 0.25 0.05, 0.1 0.5 0.1, 0.25 0.75 0.25 ]
}
Per quanto riguarda il colore del cielo, si sono forniti i valori relativi agli attributi degli angoli e dei colori. Gli angoli specificano la posizione in cui si collocherà il corrispondente colore. Per tutti gli angoli intermedi, non espressamente dichiarati, il browser si occuperà di effettuare l’adeguata interpolazione tra i colori indicati agli estremi. Si tenga presente che l'angolo 0 per convenzione rappresenta lo zenit della sfera (il punto sopra la testa dell’osservatore). Per realizzare lo sfondo occorre fornire degli angoli positivi sino al valore di pi-greco (3,14). Nell’esempio, si sono dichiarati 4 colori per il cielo: il primo comincia al punto 0 (valore di default che non è necessario dichiarare) e termina al punto 1.2, qui comincia progressivamente a manifestarsi il secondo colore che raggiungerà l’esatto valore RGB dichiarato nel punto mediano della sfera descritto con 1.57 radianti, e così di seguito fino al completamento della “sfera celeste”. Per quanto riguarda la terra si è proceduto nello stesso modo: in questo caso il punto 0 rappresenta il nadir (il punto sotto i piedi dell’osservatore) mentre il valore di 1.57 radianti a rappresenta approssimativamente la linea dell'orizzonte).
Per una migliore comprensione delle caratteristiche dei campi sopra citati si veda l’immagine seguente.
Open Graph Protocol, Facebook e il Web SemanticoCome sfruttare il Web Semantico "made in Facebook" |
Introduzione a RDFa - 2Arricchire un documento HTML con metadati semantici presi dal... |
Introduzione a RDFaCos'è e a cosa serve il linguaggio che potrebbe aprire il campo alle... |
Usare SVG per creare sfondi flessibili, scalabili e divertentiScopriamo cos'è il formato SVG e come possiamo usarlo in modo... |
Visualizzare i metadati RDF Dublin core con le trasformazioni XSLMettere insieme XSL, XPATH e le definizioni Dublin core per... |
Guida PodcastingUn percorso in 16 lezioni, per entrare nella filosofia del podcast... |
Guida Smil 2.0Un percorso pratico alla scoperta di SMIL: il linguaggio (XML) per... |
Guida Web serviceCosa sono, a cosa servono e come si creano servizi Web, i sistemi... |
Ogni mese, direttamente nella tua e-mail: articoli, guide, FAQ e approfondimenti sui linguaggi della famiglia XML.
Iscriviti alla newsletter