Aggiornamento pagina per esempi grafica in TypeScript 📜

Ho finalmente aggiornato la pagina esempi grafici in TypeScript, ora sono inclusi i progetti (a.k.a. soluzioni) scaricabili sviluppati usando Visual Studio 2022 (Community Edition). Ogni archivio ZIP contiene sia l'”eseguibile” compilato sia il codice sorgente completo. Ho inoltre aggiunto un nuovo progetto alla lista: lo script WebGL dell’header (e del footer) usato in questo blog.

Sono solo semplici esperimenti ma sentitevi liberi di usarli per qualsiasi scopo 😉👍

Giochicchiando con WebGL – Parte III

Dopo un lungo periodo di assenza, sto pian piano riprendendo le attività in questo mio blog personale e spero in maniera regolare. Era troppo tempo che intendevo aggiornare l’header superiore del sito, scritto in TypeScript e in WebGL, e finalmente ci sono riuscito; a dire il vero il codice è stato modificato diverse settimane fa ma ho scritto un post solo ora. Il banner animato è estremamente semplice: ci sono 2 triangoli che formano un rettangolo a pieno schermo canvas e ai 4 angoli vengono generati 4 colori casuali. Usando l’interpolazione bi-lineare classica su ogni triangolo, non viene considerato il 4° colore, perchè non è parte dell’elenco dei vertici passati al renderizzatore, creando un artifatto grafico (del colore) sulle ipotenuse. Ho risolto molto semplicemente creando un color fragment shader ad-hoc per svolgere il compito, adesso per ogni pixel dei triangoli vengono interpolati linearmente i 4 colori degli angoli, creando una doppia interpolazione lineare (a.k.a. bilinear filtering), sia nell’asse X sia nell’Y … da non confondere con la quadratic interpolation che invece è tutt’altra cosa!

Continua a leggere “Giochicchiando con WebGL – Parte III”

Giochicchiando con WebGL – Parte II

L’intestazione colorata ed animata con WebGL che ho creato qualche giorno fa, generava colori casuali ogni volta che si cambiava pagina o si aggiornava quella corrente: questo comportamento non mi piaceva. Ho ripreso il codice, ora quando viene abbandonata la pagina, intercettando l’evento onnload, salvo i colori attuali all’interno di un cookie di sessione. Alla successiva creazione della nuova istanza WebGL, leggo il cookie e se ci trovo dentro i vecchi colori, evito di generare quelli randomici. In questo modo durante la navigazione del sito, l’animazione simula una pseudo-continuità nel tempo.

Ecco il nuovo codice sorgente TypeScript

Giochicchiando con WebGL

WebGL è veramente forte!!! L’idea di poter integrare in una pagina web tutta la potenza di OpenGL utilizzando un semplice editor di testo, con accelerazione hardware tra l’altro, lo rende particolarmente interessante. Oggi volevo sperimentare l’integrazione di un tag <canvas>, con contesto WebGL appunto, all’interno di una pagina HTML e mi è venuto in mente di modificare l’header del mio template WordPress, che è questo qua: Phosphor WordPress template.

Invece di un’intestazione con sfumatura statica ho deciso di creare un semplice scriptino TypeScript che mi ciclasse colori casuali dentro 2 triangoli. Tutto molto semplificato e leggero da eseguire su ogni browser. Ecco il codice sorgente se può interessare: Codice sorgente TypeScript.

Utilizzare il tag canvas in questa maniera è un tentativo amichevole di resuscitare le vecchie applet Java ormai morte e sepolte … poverine 🙂