shader-programming-glsl
Écrire des shaders GPU avec GLSL
Créez des effets visuels époustouflants et optimisez le rendu graphique avec les shaders GPU. Ce guide enseigne la syntaxe GLSL, les vertex et fragment shaders, et les mathématiques des shaders pour les graphiques en temps réel.
Télécharger le ZIP du skill
Importer dans Claude
Allez dans Paramètres → Capacités → Skills → Importer un skill
Activez et commencez à utiliser
Tester
Utilisation de "shader-programming-glsl". Create a shader that makes a pulsing glow effect centered on the screen
Résultat attendu:
Un fragment shader utilisant smoothstep et des fonctions sin basées sur le temps pour créer une animation de dégradé radial avec interpolation de couleur du centre vers les bords
Utilisation de "shader-programming-glsl". How do I optimize this shader loop that runs 100 iterations?
Résultat attendu:
Recommandations pour réduire le nombre d'itérations, utiliser la terminaison anticipée, précalculer les constantes sur le CPU, et remplacer les branchements par des fonctions step/mix pour de meilleures performances GPU
Audit de sécurité
SûrAll 33 static analysis findings are false positives. The SKILL.md file is educational documentation about GLSL shader programming. Backtick-quoted text represents GLSL code examples in markdown format, not shell command execution. C2 keywords and system reconnaissance patterns are GLSL built-in variables (gl_Position, gl_FragColor, varying) and shader language syntax. No actual security risks detected.
Score de qualité
Ce que vous pouvez construire
Développeur Web créant des visuels interactifs
Construisez des shaders personnalisés pour les projets Three.js, y compris des arrière-plans animés, des systèmes de particules et des effets de post-traitement pour les sites web.
Développeur de jeu implémentant des effets personnalisés
Écrivez des shaders pour Unity ou Unreal Engine afin de créer des styles visuels uniques, la génération de terrain et des effets d'éclairage en temps réel.
Codeur créatif explorant l'art génératif
Expérimentez avec la génération procédurale utilisant les SDF, le raymarching et les techniques de fragment shader pour les installations d'art numérique.
Essayez ces prompts
Aidez-moi à écrire un fragment shader GLSL de base qui crée un dégradé de couleur basé sur les coordonnées UV pour une utilisation dans Three.js.
Générez un vertex shader qui applique une déformation en vague à un maillage en utilisant un uniform de temps et les fonctions sin/cos.
Créez un fragment shader raymarching avec plusieurs formes SDF (sphère et boîte) combinées utilisant des opérations d'union lisses.
Écrivez un shader de post-traitement bloom qui extrait les pixels lumineux, applique un flou gaussien et compose sur l'image originale.
Bonnes pratiques
- Utilisez mix() pour l'interpolation et step()/smoothstep() pour les seuils au lieu des branchements if-else
- Précalculez les valeurs constantes sur le CPU et transmettez-les en tant qu'uniformes plutôt que de les calculer dans le shader
- Regroupsez les données liées dans un vec4 pour minimiser la bande passante mémoire et exploiter les unités vectorielles GPU
Éviter
- Les branchements conditionnels lourds à l'intérieur des boucles réduisent le parallélisme GPU et provoquent une divergence des threads
- Calculer des valeurs statiques par fragment au lieu de transmettre des uniformes précalculés depuis le CPU
- Une précision inutile (utiliser highp alors que mediump suffit) gaspille la bande passante et l'énergie sur mobile
Foire aux questions
Quelle est la différence entre les vertex shaders et les fragment shaders ?
Pourquoi mon shader affiche-t-il un écran noir ?
Que signifie le swizzling en GLSL ?
Comment passer des données du vertex shader au fragment shader ?
Qu'est-ce que le raymarching et quand dois-je l'utiliser ?
Comment puis-je améliorer les performances des shaders sur les appareils mobiles ?
Détails du développeur
Auteur
sickn33Licence
MIT
Dépôt
https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/shader-programming-glslRéf
main
Structure de fichiers
📄 SKILL.md