Créations graphiques
Conception du shader Caustic Pool
Un champ lumineux WebGL turquoise associe des filaments caustiques éclatants à une typographie fixe et à une ondulation déclenchée par le pointeur, qui infléchit brièvement le motif.
Cas d’usage des shaders caustiques
- Expérimentations visuelles WebGLExplorez le mouvement piloté par shader comme composition visuelle en plein écran.
- Pages d’accueil interactivesAssociez un message sobre à un comportement réactif et local du canvas.
- Études de creative codingÉtudiez comment les ondulations, la réfraction et la lumière créent une forme évolutive.
Points forts d’une composition de lumière aquatique
- Ondulations déformées par domaineUne distorsion aquatique en couches produit des structures lumineuses changeantes.
- Canvas en plein écranLe champ visuel offre au shader l’espace nécessaire pour se développer continuellement.
- Signal d’ondulation directUne instruction de clic visible relie l’entrée du pointeur au mouvement.
- Surimpression éditorialeDe grands caractères et de petites métadonnées encadrent le champ abstrait.
Trois états du champ caustique
1 / 3Un champ aquatique lumineux
Caustic Pool est un exemple officiel OpenDesign WebGL2 présenté comme un canvas complet plutôt que comme une succession d’écrans. Son titre conçu, « CAUSTIC POOL », se place en bas à gauche sur un champ turquoise profond composé de filaments pâles et ramifiés. Le grand titre sur deux lignes établit d’abord le sujet ; le texte d’accompagnement décrit l’effet comme « domain-warped ripples » (ondulations déformées par domaine) et « caustic filaments » (filaments caustiques).
Cet ordre de lecture rend la pièce compréhensible avant le début de l’interaction. Le bord supérieur porte « OPENDESIGN · WEBGL PREVIEW » à gauche et « REAL-TIME · GPU » à droite, ce qui donne à la surface autrement abstraite un cadre technique compact. Le compromis est délibéré : les étiquettes orientent le regard, mais la surimpression fixe entre légèrement en concurrence avec l’atmosphère ininterrompue.

Le titre avant la technique
« CAUSTIC POOL » nomme l’univers visuel avant que la description n’introduise les ondulations déformées par domaine, ce qui permet à l’effet de rester expressif plutôt que purement technique.
Une instruction en bordure
« CLICK THE WATER ↗ » est placé en bas à droite, à distance du bloc de titre, afin que l’invitation reste repérable sans interrompre le parcours de lecture principal.
À quels contextes la composition convient-elle ?
La conception convient aux contextes où le mouvement constitue le sujet plutôt qu’un élément décoratif secondaire. Une étude de creative coding peut l’utiliser pour comparer des champs d’ondulations et des concentrations de lumière ; une page d’accueil interactive peut reprendre la même structure pour donner une dimension spatiale à un message court. Le canvas intégral est particulièrement utile lorsqu’il n’y a pas d’interface produit à parcourir.
La composition fonctionne également comme arrière-plan visuel pour un événement, une installation ou une fonctionnalité web expérimentale, à condition que l’expérience environnante puisse prendre en charge une surface rendue par GPU. Sa principale contrainte est la concentration : comme le champ ne comporte aucun contrôle conçu dans le balisage statique, l’interaction reste volontairement limitée et le visuel assure l’essentiel de la communication.
Étude et démonstration
Utilisez la composition pour examiner la manière dont les lignes réfractées se rassemblent en filaments lumineux, tout en gardant le titre et le texte explicatif visibles comme repères de lecture.
Point d’entrée atmosphérique
Utilisez le canvas comme visuel d’ouverture lorsqu’un seul geste du pointeur suffit à inviter à participer sans introduire un système de contrôle plus vaste.
Comment l’ondulation et la typographie partagent l’espace
Les captures montrent un canvas complet dans des états visuels changeants, et non des écrans distincts. Dans ces différents états, l’arrière-plan turquoise reste continu tandis que le réseau pâle change de position et de densité. Cette continuité donne au mouvement l’apparence d’une propriété du champ aquatique plutôt que d’une transition de page. La conséquence visuelle est une surface calme et persistante ; le compromis est que le changement d’état est communiqué par un mouvement subtil du motif plutôt que par un texte d’état explicite.
Le shader forme son réseau lumineux au moyen de cinq séries de calculs de coordonnées repliées. Lors de l’appui du pointeur, il réinitialise une position et un âge d’ondulation ; une onde radiale sinusoïdale courbe ensuite les coordonnées d’échantillonnage et s’atténue avec la distance et l’âge. Cela produit une impression de lumière aquatique sans maillage, texture externe ni solveur de fluide physique. Le titre fixe en bas à gauche et l’instruction sur le bord opposé permettent de comparer ce champ changeant à un texte stable.

Ancrer
Conservez le titre et le texte explicatif dans un bloc stable en bas à gauche afin que le visiteur puisse comparer les états changeants du shader à une référence fixe.
Contraster
Utilisez des filaments lumineux sur le champ turquoise plus sombre pour rendre le réseau de réfraction lisible sans ajouter de graphiques, de contrôles ou de panneaux décoratifs.
Inviter
Placez une instruction concise destinée au pointeur sur le bord inférieur opposé, en reliant le geste local à la métaphore aquatique visible.
Une seule surface, plusieurs états
Les captures alternatives conservent les mêmes étiquettes, le même titre, la même description et le même signal de clic, tandis que les lignes lumineuses changent. Cette surimpression répétée sépare le contenu de l’état animé : les visiteurs peuvent comparer le champ sans devoir réapprendre l’interface. Une recréation doit préserver cette couche éditoriale stable tout en permettant au rendu du shader de varier en dessous.
Limites de capacité
La source implémente un rendu WebGL2 local, une entrée sur appui du pointeur, la gestion du redimensionnement et une boucle de dessin. Chaque pression remplace l’ondulation précédente au lieu d’accumuler plusieurs vagues indépendantes. L’âge de l’ondulation augmente de 1/60 à chaque image d’animation ; le minutage de sa décroissance dépend donc de la fréquence d’images réelle. Les trois captures montrent des états d’un même canvas ; en l’absence de traces d’entrée enregistrées, elles ne démontrent pas indépendamment une réponse au clic.
Il s’agit d’une approximation visuelle d’un effet caustique, et non d’une simulation aquatique validée. La source n’établit ni services connectés, ni données utilisateur stockées, ni performances GPU mesurées, ni compatibilité universelle des entrées, ni modèle de génération utilisé à l’origine. Pour une adaptation en production, testez le comportement de l’entrée locale et du minutage dans l’environnement prévu au lieu de considérer l’étiquette GPU ou la métaphore aquatique conçue comme des preuves d’acceptation.
Comment créer le shader Caustic Pool dans OpenDesign
Définir la composition du canvas
Créez un canvas WebGL turquoise en plein écran avec un bloc de titre en bas à gauche affichant « CAUSTIC POOL », une courte description des ondulations déformées par domaine et de petites étiquettes en haut pour OpenDesign et le contexte de l’aperçu.
Invite suggéréeCréez une composition WebGL Caustic Pool en plein écran : un champ aquatique turquoise profond, des filaments d’ondulation pâles déformés par domaine, un grand titre CAUSTIC POOL en bas à gauche, un texte explicatif dessous, OPENDESIGN · WEBGL PREVIEW en haut à gauche, REAL-TIME · GPU en haut à droite et CLICK THE WATER ↗ en bas à droite. Utilisez uniquement un comportement local du canvas ; n’ajoutez ni services, ni stockage, ni vidéo, ni audio, ni affirmations de performances non vérifiées.
Modeler le champ d’ondulations
Affinez le réseau de lignes visible afin qu’il évoque une eau réfractée plutôt qu’une texture plane. Comparez de larges courbures nuageuses à des filaments lumineux plus fins, en conservant suffisamment de champ sombre pour que la surimpression blanche reste lisible.
Vérifier le signal d’interaction
Utilisez l’appui du pointeur pour définir une position d’ondulation locale et réinitialiser son âge, tout en conservant la surimpression fixe. Si vous adaptez la source, utilisez un minutage fondé sur le temps écoulé pour obtenir une décroissance cohérente selon la fréquence d’images. Distinguez l’instruction d’un bouton et ne prétendez pas à une précision de simulation physique.
Exporter et obtenir un lien de partage
Exportez votre design finalisé, puis utilisez Partager dans OpenDesign pour obtenir un lien de partage. Ouvrez le lien dans une fenêtre de navigateur distincte et vérifiez que la version souhaitée ainsi que ses ressources sont disponibles avant de l'envoyer.




