Grafiche
Design di shader per galassia di particelle
Tre deboli bracci a spirale evolvono su un canvas WebGL2 scuro sotto una tipografia fissa, con conteggi di punti e chiamate di disegno definiti nel sorgente e un indicatore FPS locale.
Casi d'uso della galassia di particelle
- Sperimentazione WebGLStudia la composizione di particelle guidata dalla GPU e il movimento basato su shader.
- Identità visiva animataCostruisci scene hero atmosferiche attorno a un'unica forma in evoluzione.
- Presentazioni di creative codingAbbina vincoli tecnici a una tipografia editoriale sobria.
Punti di forza della galassia procedurale
- Campo di particelle a spiraleDeboli punti verdi e blu formano tre ampi bracci a spirale.
- Blocco del contesto di renderingPoints, draw call e FPS formano un gruppo compatto in alto a destra.
- Tipografia editorialeUna grande dichiarazione ancora la composizione sotto l'opera.
- Focus su un unico canvasIl campo visivo regge l'esperienza senza controlli visibili.
Tre momenti della galassia di particelle
1 / 3Tre bracci a spirale, una sola chiamata di disegno di punti
Particle Galaxy è un esempio ufficiale di OpenDesign incentrato su un canvas scuro quasi vuoto e su un ampio campo di deboli particelle. Il titolo originale, “Fifty thousand points, one draw call.”, rende la premessa tecnica parte dell'identità visiva invece di nasconderla dietro elementi di interfaccia.
Il campo di particelle e il titolo fisso in basso a sinistra condividono un solo viewport; il titolo non è una sezione separata sotto la piega. Punti deboli verdi, blu e chiari lasciano ampi spazi scuri tra tre bracci. Il compromesso visivo è chiaro: il campo sobrio appare quieto accanto al testo luminoso, ma il basso contrasto richiede di osservare con attenzione l'immagine a dimensione piena.
Dove si adatta questo design
Questo design è adatto a una scena di landing di creative coding, a una vetrina tecnologica interattiva o a uno studio WebGL con direzione artistica. Il suo valore è massimo quando l'elemento visivo è il soggetto e il testo di supporto può restare breve.
L'assenza di controlli statici mantiene l'attenzione sul campo di particelle in mutamento. Questa sobrietà limita però anche la scoperta: il markup fornito non mostra controlli autoriali, quindi il design comunica tramite movimento, tipografia e blocco compatto di statistiche, non tramite affordance di interazione esplicite.
Vetrina di creative coding
Usa il grande campo di particelle per introdurre un esperimento di rendering prima di spiegarne la tecnica.
Scena hero WebGL
Adatta il canvas scuro come apertura visiva di un'esperienza digitale a forte taglio tecnico.
Editoriale basato sul movimento
Lascia che una forma in lento mutamento catturi l'attenzione mentre un testo conciso stabilisce il contesto.
Come funziona la composizione
Il blocco in alto a destra mostra 50,000 POINTS, 1 DRAW CALL e una stima FPS variabile. Il vertex shader ricava le posizioni dei punti da gl_VertexID, li distribuisce tra tre bracci e ne varia la velocità angolare in modo che i punti interni ruotino più rapidamente. Un'inclinazione fissa e una rotazione complessiva lentamente variabile definiscono la prospettiva del disco. Sprite puntiformi morbidi e blending additivo danno luminosità alle particelle verdi, ciano e chiare.
Le statistiche usano grandi numeri bianchi ed etichette più piccole e spaziate, mentre l'opera usa particelle verdi, blu e chiare a contrasto molto più basso. Questa separazione rende i metadati facili da leggere senza competere con la galassia. Crea anche un compromesso percettivo: il blocco delle prestazioni è subito leggibile, mentre i bracci di particelle richiedono uno sguardo più lungo e un contrasto adeguato dello schermo.
Le catture mostrano valori FPS diversi mantenendo lo stesso numero di punti e le stesse etichette di draw call. Questa variazione fa leggere il campo FPS come stato di visualizzazione locale mutevole, non come affermazione stabile sulle prestazioni tra dispositivi.
Premessa tecnica
Il titolo collega il numero di particelle e l'idea di draw call all'elemento visivo, invece di presentarli come metadati scollegati.
Densità visiva
Gli ampi bracci a spirale restano radi sul nero, preservando lo spazio negativo attorno a titolo e statistiche.
Variazione di stato
Le catture mantengono 50000 punti e un draw call mostrando valori FPS diversi, separando le etichette fisse dallo stato di visualizzazione mutevole.
Limiti delle capacità
Il sorgente WebGL2 definisce N = 50000 e chiama gl.drawArrays con POINTS una volta per frame renderizzato. Le posizioni delle particelle sono calcolate nel vertex shader invece di essere aggiornate tramite un buffer di posizioni sulla CPU. Il thread principale gestisce comunque setup, uniform di tempo, ridimensionamento e disegno. Non ci sono controlli di puntatore, tastiera, orientamento della camera o parametri. È un visual procedurale simile a una galassia, non una simulazione gravitazionale scientifica.
I commenti nel sorgente dichiarano 60fps, ma le catture statiche isolate e il contatore FPS locale non stabiliscono prestazioni garantite. Non dimostrano nemmeno una distribuzione in produzione, servizi connessi o un processo di generazione storico. I conteggi di punti e draw call sono fatti del codice; la lettura del frame rate è un'osservazione dipendente dall'ambiente.
Cosa descrivono i contatori
Il numero di punti mostrato deriva dal valore N configurato e l'etichetta del draw call concorda con l'unico draw POINTS nel ciclo di rendering. Il valore FPS stima la cadenza di requestAnimationFrame su finestre di circa mezzo secondo. Tenere separati questi significati conserva un contesto tecnico utile senza trasformare l'opera in un benchmark non supportato.
Come creare un design di shader per galassia di particelle in OpenDesign
Imposta la composizione del canvas
Parti da un campo scuro a tutto canvas, un gruppo compatto di statistiche in alto a destra e una tipografia fissa in basso a sinistra. Mantieni l'etichetta verde del soggetto, la grande dichiarazione e il paragrafo esplicativo nello stesso viewport, senza aggiungere una seconda sezione sotto l'opera.
Modella il campo di particelle
Costruisci tre deboli bracci a spirale da punti derivati dal vertex ID, con moto angolare più veloce vicino al centro e sprite puntiformi morbidi in blending additivo. Conserva gli spazi scuri e la tipografia fissa. Considera la galassia un pattern visivo e non un modello astronomico validato fisicamente.
Verifica etichette e limiti delle capacità
Mantieni Points, Draw Call e FPS visivamente distinti e assicurati che i valori FPS variabili siano presentati come stato di visualizzazione locale e non come benchmark universali. Verifica che movimento e ridimensionamento restino locali al canvas renderizzato.
Prompt suggeritoCrea una galassia di particelle WebGL2 con animazione automatica, con 50000 punti posizionati a partire da gl_VertexID e renderizzati con un solo draw POINTS per frame. Disponili in tre ampi bracci a spirale con movimento angolare più veloce verso il centro, un'inclinazione fissa e una lenta rotazione complessiva. Usa sprite puntiformi morbidi verdi e ciano in blending additivo, la tipografia fissa in basso a sinistra “Fifty thousand points, one draw call.” e, in alto a destra, etichette di punti e draw definite nel sorgente con una stima FPS locale. Non aggiungere controlli utente, simulazione fisica della galassia, servizi connessi, archiviazione né garanzie universali di prestazioni.
Esporta e ottieni un link di condivisione
Esporta il design completato, quindi usa Condividi in OpenDesign per ottenere un link di condivisione. Apri il link in una finestra del browser separata e verifica che la versione prevista e le sue risorse siano disponibili prima di inviarlo.





