shader-programming-glsl
Пишите GPU-шейдеры на GLSL
Создавайте потрясающие визуальные эффекты и оптимизируйте рендеринг графики с помощью GPU-шейдеров. Это руководство учит синтаксису GLSL, вершинным и фрагментным шейдерам, а также математике шейдеров для графики в реальном времени.
Скачать ZIP навыка
Загрузить в Claude
Перейдите в Settings → Capabilities → Skills → Upload skill
Включите и начните использовать
Протестировать
Использование «shader-programming-glsl». Создай шейдер с эффектом пульсирующего свечения по центру экрана
Ожидаемый результат:
Фрагментный шейдер с использованием smoothstep и sin-функций на основе времени для создания анимации радиального градиента с интерполяцией цвета от центра к краям
Использование «shader-programming-glsl». Как оптимизировать этот цикл шейдера, который выполняет 100 итераций?
Ожидаемый результат:
Рекомендации: уменьшить количество итераций, использовать ранний выход, предварительно вычислять константы на CPU и заменить ветвление на функции step/mix для лучшей производительности GPU
Аудит безопасности
БезопасноAll 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.
Оценка качества
Что вы можете построить
Веб-разработчик создаёт интерактивную визуализацию
Написание кастомных шейдеров для проектов Three.js: анимированные фоны, системы частиц и эффекты постобработки для сайтов.
Игровой разработчик внедряет кастомные эффекты
Написание шейдеров для Unity или Unreal Engine для создания уникальных визуальных стилей, генерации ландшафтов и эффектов освещения в реальном времени.
Креативный программист исследует генеративное искусство
Эксперименты с процедурной генерацией с использованием SDF, raymarching и техник фрагментных шейдеров для цифровых арт-инсталляций.
Попробуйте эти промпты
Помоги написать базовый фрагментный шейдер GLSL, который создаёт градиент цвета на основе UV-координат для использования в Three.js.
Создай вершинный шейдер, который применяет волновую деформацию к мешу используя uniform time и функции sin/cos.
Создай фрагментный шейдер с raymarching и несколькими SDF-формами (сфера и коробка), объединёнными с помощью операций плавного объединения.
Напиши шейдер постобработки bloom, который извлекает яркие пиксели, применяет гауссово размытие и композирует поверх исходного изображения.
Лучшие практики
- Используйте mix() для интерполяции и step()/smoothstep() для пороговых значений вместо условного ветвления if-else
- Предварительно вычисляйте константы на CPU и передавайте их как uniforms вместо вычисления в шейдере
- Упа��овывайте связанные данные в vec4 для минимизации пропускной способности памяти и использования векторных блоков GPU
Избегать
- Массивное условное ветвление внутри циклов снижает параллелизм GPU и вызывает расхождение потоков
- Вычисление статических значений для каждого фрагмента вместо передачи предварительно вычисленных uniforms с CPU
- Избыточная точность (использование highp, когда достаточно mediump) увеличивает расход пропускной способности и энергии на мобильных устройствах
Часто задаваемые вопросы
В чём разница между вершинными и фрагментными шейдерами?
Почему мой шейдер показывает чёрный экран?
Что означает swizzling в GLSL?
Как передать данные из вершинного шейдера во фрагментный?
Что такое raymarching и когда его следует использовать?
Как улучшить производительность шейдеров на мобильных устройствах?
Сведения для разработчиков
Автор
sickn33Лицензия
MIT
Репозиторий
https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/shader-programming-glslСсылка
main
Структура файлов
📄 SKILL.md