Warning: mysql_query(): Access denied for user ''@'localhost' (using password: NO) in /data/vhosts/pralevis.com/httpdocs/wordpress/wp-content/plugins/gwolle-gb/functions/gwolle_gb_get_settings.func.php on line 26

Warning: mysql_query(): A link to the server could not be established in /data/vhosts/pralevis.com/httpdocs/wordpress/wp-content/plugins/gwolle-gb/functions/gwolle_gb_get_settings.func.php on line 26

Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in /data/vhosts/pralevis.com/httpdocs/wordpress/wp-content/plugins/gwolle-gb/functions/gwolle_gb_get_settings.func.php on line 27

Warning: mysql_query(): Access denied for user ''@'localhost' (using password: NO) in /data/vhosts/pralevis.com/httpdocs/wordpress/wp-content/plugins/gwolle-gb/functions/gwolle_gb_get_settings.func.php on line 26

Warning: mysql_query(): A link to the server could not be established in /data/vhosts/pralevis.com/httpdocs/wordpress/wp-content/plugins/gwolle-gb/functions/gwolle_gb_get_settings.func.php on line 26

Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in /data/vhosts/pralevis.com/httpdocs/wordpress/wp-content/plugins/gwolle-gb/functions/gwolle_gb_get_settings.func.php on line 27
Andrea Pra Levis

Salve, questa sarà la prima di alcuni piccoli tricks in php che durante alcuni miei lavori mi hanno letteralmente salvato la vita! Oggi affronteremo l’annosa questione del multilingua, realizzare cioè pagine con titoli e testo che cambiano a seconda del linguaggio che verrà indicato. A causa dell’eccessiva lunghezza, sono costretto a dividerlo in due parti,appena possibile posterò la seconda, non preoccupatevi 😉

Obiettivo: realizzare uno script che, settando una variabile che indica la lingua in fase di logging o direttamente cliccando su un pulsante in pagina, ci permetta di variare la lingua dei contenuti in pagina.

Possiamo suddividere in due sottoproblemi la nostra questione:

Gestione della lingua corrente : useremo una variabile php chiamata $lang per indicare la lingua corrente. Essa assume un valore presente nell’array di Sessione se valorizzato (così ci possiamo portare l’informazione sulla lingua durante tutta la visita sul nostro sito, ricordiamoci di chiamare la funzione session_start() in ogni pagina), altrimenti assume un valore di default (nell’esempio impostato su “ITA”).Ad ogni valore che tale variabile può assumere corrisponderà ad una lingua che noi supporteremo. Nel nostro esempio i valori che può assumere è “ITA” per l’italiano e “ENG” per l’inglese. Con tale script possiamo agire sul valore della lingua corrente in due possibili casi:

Read the rest of this entry

Salve a tutti! Salutiamo il nuovo anno pubblicando il nuovo ciclo di Articoli, incentrati sull’uso dei colori, delle basi dell’animazione e sulle texture.Buona lettura.

ESEMPIO DUE: DISEGNARE UN POLIGONO COLORATO

Dopo aver terminato il nostro primo esempio, potremmo rimanere un pò  delusi circa la banalità della figura, ci vorrebbe un pò più di COLORE! ( perdonate la freddura ma ogni tanto bisogna smorzare i toni :) ). Forse qualcuno avrà notato che  quando definiamo il fragment shader,invochiamo la suddetta chiamata:

gl_FragColor = vec4(1.0, 1.0, 1.0, 1.0);

Cosa significano quei 4 numeri? Praticamente servono a codificare  il colore bianco usando il cosiddetto modello RGBA. In pratica, quei valori da 0.0(assenza) a 1.0( massimo), indicano l’intensità di questi quattro componenti ,necessari a formare un colore desiderato. I primi tre corrispondono ai tre colori primari, il quarto indica invece la trasparenza.

Read the rest of this entry

After a Month…

Salve a tutti! E’ tempo di bilanci…

E’ passato poco più di un mese dall’apertura del sito e devo ammettere di avere ricevuto segnali incoraggianti. Nonostante il poco tempo a disposizione, è stato completato la prima serie di Articoli sul WebGL, primo passo fondamentale per introdurre il primo progetto che sto sponsorizzando sul OpensourceMania.it: un platform stile Mario con tale tecnologia. E’ un progetto ambizioso e difficile ma sono curioso di scoprire dove porterà questa strada; chi vuole partecipare, è il benvenuto 😉

Oltre a ciò, sto mandando avanti un altro progetto php che hosterò direttamente su pralevis.com: per il momento possiamo dire che è un gestore di file, che verrà poi arricchito con altre piccole funzionalità. Quando arriverò ad una versione stabile, molto probabilmente lo renderò disponibile per eventuali espansioni sul repository lab.pralevis.com .

Se avete qualche suggerimento o avete qualche problema, non esistate a contattarmi,  ho creato questo sito non solo per condividere le mie esperienze, ma anche per offrire un pò del mio ( esile) tempo a coloro che ne hanno bisogno e stanno mandando avanti progetti.

Grazie per l’attenzione , vi auguro Buone Vacanze

Andrea

WEBGL FOR DUMMIES [PARTE TRE]

Salve a tutti!
Ora Analizzeremo l’ultima della funzioni di Inizializzazione:
Function: InitBuffer
I compiti della funzione:
1. Creare i Buffer
2. Riempire essi con i valori di partenza
Qua riportiamo il codice della funzione nel nostro esempio:
var triangleVertexPositionBuffer;
function initBuffers() {
triangleVertexPositionBuffer = gl.createBuffer();
gl.bindBuffer(gl.ARRAY_BUFFER, triangleVertexPositionBuffer);
var vertices = [
0.0,  1.0,  0.0,
-1.0, -1.0,  0.0,
1.0, -1.0,  0.0
];
gl.bufferData(gl.ARRAY_BUFFER, new Float32Array(vertices), gl.STATIC_DRAW);
triangleVertexPositionBuffer.itemSize = 3;
triangleVertexPositionBuffer.numItems = 3;
}

Read the rest of this entry

WEBGL FOR DUMMIES [PARTE DUE]

In questo articolo analizzeremo due argomenti molto importanti del webgl: gli Shader e le prime due Funzioni di Inizializzazione.

Queste ultime vengono eseguite solo una volta allo start del progetto e hanno lo scopo di creare,caricare e inizializzare valori, strutture e file che verranno utilizzati durante l’esecuzione dell’applicazione. Elenchiamole brevemente:

-InitGL()
-InitShader()
-InitBuffer()

Ora spiegheremo gli obiettivi di ogni funzione,  traslasciando momentaneamente alcuni elementi che al momento risulterebbero troppo “pesanti da digerire”.

Read the rest of this entry

WEBGL FOR DUMMIES [PARTE UNO]

Salve a tutti! Questa sarà la prima di una serie di articoli sul mondo del WEBGL. Tale materiale non ha la pretesa di essere esaustivo su tale argomento ne di farvi apprendere tutti i concetti che ci stanno dietro: tramite piccoli esempi invece cercheremo di darvi un infarinatura e di darvi qualche concetto per interfacciarvi in un successivo momento su questo ambiente in costante evoluzione.
Premetto che tale documento non sarà esente da imprecisazioni o da dichiarazioni passibili di critica o parzialmente errate ma l’obbiettivo rimane quello di far apprendere una certa dimestichezza anche ad utenti con pochie nozioni, indi sarò costretto a passarci sopra.

Prima di iniziare, controlliamo di possedere i requisiti minimi:

Read the rest of this entry

Buongiorno, da un pò di tempo sto investendo il mio tempo libero a studiare le librerie WEBGL; grazie ad esse è possibile realizzare applicazioni grafiche semplicemente con del codice Javascript, senza dover installare programmi od altri plugin. Al momento non tutti i browser supportano tale tecnologia e il progetto stesso risulta ancora instabile ma sono ottimista che in futuro potrebbe regalarci delle sorprese a dir poco strepitose, visto il prolificare di engine a supporto di tale tecnologia ( tipo SpiderGL).
Ne approfitto per annunciare che sto realizzando una serie di articoli base sul WEBGL dove spiego come muovere i primi passi, il tutto con un linguaggio di livello molto basso e alla portata di tutti. Pubblicherò i miei lavori sia sul blog, sia su altri siti analoghi, tipo OpenSourceMania , mentre le risorse saranno liberamente scaricabili nella sezione “lab” di pralevis.com appena sarà ultimata.
Grazie per l’attenzione, buon weekend a tutti 😉

Andrea

Inizia l’avventura

Mando un caloro benvenuto a tutti gli internauti su pralevis.com. Spero che la vostra permanenza su questo blog sia di vostro gradimento. Al momento mancano tutte le sezioni che avevo preventivato, farò il possibile per ridurre l’attesa, grazie 😉

Andrea