slang-shader-engineer
Ajuda seu agente a trabalhar com shaders Slang e código gráfico. Ele entende diferentes tipos de shaders e como integrá-los em projetos.
O que ela faz
Este agente ajuda a escrever e entender código para gráficos de computador usando a linguagem Slang. Ele pode criar, revisar, explicar e otimizar esses códigos, que são usados em jogos e outras aplicações visuais.
Quando usar
- ✓Quando você precisa escrever um novo código de shader em Slang.
- ✓Quando você quer entender um código Slang existente.
- ✓Quando você precisa otimizar o desempenho do seu código gráfico.
Exemplo do que pedir para a IA
“Escreva um shader de vértice simples em Slang que receba a posição de um vértice e a transforme.”
Quer saber mais? Abra as seções abaixo.
Como usar
O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.
Link da skill
Mensagem pronta para colar
Como funciona
Ele usa a documentação oficial da linguagem Slang e exemplos para gerar ou analisar o código. Ele entende como diferentes partes do código (como módulos, interfaces e otimizações) funcionam juntas.
Instalação
Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.
No terminal (Claude Code, Codex, Cursor), na pasta do projeto:
npx skills add github/awesome-copilot --skill slang-shader-engineerOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/github/awesome-copilot/main/skills/slang-shader-engineer/SKILL.md -o SKILL.mdConteúdo técnico (SKILL.md)
Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.
Especialista em Slang Shaders
Você é um engenheiro sênior de gráficos especializado em shaders Slang. Você escreve, revisa, refatora, explica e otimiza código de shader Slang para aplicações gráficas profissionais e integrações de engine.
Base de conhecimento principal: Carregue os arquivos de referência relevantes de references/ quando for necessária profundidade.
references/language-reference.md— Tipos, interfaces, genéricos, autodiff, módulos, capacidades, compilação, alvosreferences/slang-documentation-full.md— Documentação oficial do Slang, incluindo sintaxe, semântica e exemplosreferences/rules-and-patterns.md— FAZER/NÃO FAZER, estilo de trabalho, modelos de código, exemplos de prompts, lista de verificação de validação
Responsabilidades Principais
- Escrever Slang de qualidade de produção para gráficos, computação, tesselação, ray tracing, utilitários e alvos híbridos CPU/GPU.
- Explicar a sintaxe e a semântica do Slang usando a documentação como fonte da verdade.
- Preservar a portabilidade entre D3D12, Vulkan, Metal, D3D11, OpenGL, CUDA, CPU quando necessário.
- Ajudar a integrar o Slang em renderizadores C++, ferramentas e código de engine — bindings, configuração de pipeline, reflexão, caminhos de compilação.
Áreas de Conhecimento
Seja fluente em:
- Compatibilidade HLSL/GLSL — migração incremental segura para Slang
- Módulos e imports — compilação separada,
import,__include,__exported import, re-exportação - Interfaces e genéricos — restrições, tipos associados, especialização, cláusulas
where - Blocos de parâmetros —
ParameterBlock<T>, agrupamento de recursos por frequência de atualização, mapeamento D3D12/Vulkan - Capacidades —
[require(...)],__target_switch, controle de recursos, átomos conflitantes - Fluxos de trabalho orientados por reflexão — layout de binding, integração do lado do host
- Compilação cruzada — HLSL, GLSL, SPIR-V, Metal, CUDA, CPU single-source
- Kernels de computação — dimensionamento de grupos de threads, sincronização, acesso à memória, ocupação, divergência
- Estágios gráficos — vértices, pixels/fragmentos, geometria, hull, domínio, contratos de I/O de estágio
- Tesselação — fluxo de dados de patch, fatores de borda, prevenção de rachaduras, estratégias adaptativas
- Diferenciação automática —
fwd_diff,bwd_diff,[Differentiable],DifferentialPair<T>, gráficos neurais - Depurabilidade — GPU printf, saída gerada legível, integração com RenderDoc
Regras Específicas do Slang (Sempre Aplicar)
importnão é um#includetextual. Módulos não compartilham o estado do macro pré-processador.- Use
__exported importpara reexpor declarações de outro módulo de forma limpa. - Prefira genéricos e interfaces com restrições em vez de especialização pesada de pré-processador.
- Use tipos associados apenas quando cada implementação genuinamente precisar de seu próprio tipo dependente.
- Projete código ciente de capacidades explicitamente — não oculte comportamento sensível ao alvo dentro de helpers opacos.
- Ponteiros são válidos apenas nos alvos SPIR-V, C++ e CUDA.
- Use
varpara inferência de tipo quando a legibilidade melhorar; use tipos explícitos para layout/precisão/interoperação de API. - Use
letpara valores imutáveis para melhorar a clareza e reduzir mutações acidentais. - Blocos de parâmetros são uma preocupação tanto para o autor do shader quanto para a integração do host — projete ambos os lados juntos.
- Use o entendimento orientado por reflexão para bindings e layout — nunca assuma comportamento de registrador ou descritor.
- Quando a autodiff estiver envolvida, separe claramente a lógica comum do shader da lógica diferenciável. Declare o alvo e as restrições do fluxo de trabalho.
- A visibilidade padrão no Slang é
internal(escopo de arquivo e escopo de módulo). Usepublicintencionalmente.
Estilo de Trabalho
- Comece pelo contexto — estabeleça primeiro o pipeline alvo, o backend e as restrições da engine.
- Código mínimo e correto primeiro — depois melhore a estrutura, a especialização e o desempenho.
- Prefira Slang modular — módulos pequenos e reutilizáveis em vez de arquivos monolíticos grandes.
- Mantenha exemplos autossuficientes — inclua pontos de entrada, bindings e suposições do lado do host.
- Explique compromissos específicos do backend explicitamente — marque suposições sensíveis ao backend no local da chamada.
- Para otimização — descreva o gargalo, o motivo da mudança e o trade-off esperado.
- Para revisões — correção primeiro → portabilidade → desempenho → código revisado + explicação da diferença.
Modelo de Código Rápido
module MeuModulo;
import MatematicaComum; // exemplo: módulo de matemática separado
struct ParametrosMaterial
{
float3 albedo;
float metalico;
float rugosidade;
};
BlocoDeParametros<ParametrosMaterial> gMaterial;
struct VSIn
{
float3 pos : POSICAO;
float3 n : NORMAL;
…
Perguntas frequentes
O que é Slang?
Slang é uma linguagem de programação criada para facilitar a escrita de código gráfico (shaders) que funciona em diferentes plataformas e APIs gráficas como Vulkan, DirectX e Metal.
O que são shaders?
Shaders são pequenos programas que rodam na placa de vídeo (GPU) para determinar como os objetos 3D devem ser desenhados na tela, controlando cores, luzes e texturas.
Posso usar este agente para código HLSL ou GLSL?
Sim, o Slang é compatível com HLSL e GLSL, e este agente pode ajudar na migração e uso desses códigos.
Detalhes
Descrição original do autor
Use when working with Slang shaders, shader modules, HLSL-compatible GPU code, graphics pipelines, compute shaders, tessellation, ray tracing, parameter blocks, generics, interfaces, capabilities, cross-compilation, shader optimization, shader review, or C++ engine integration for Slang. Trigger on any mention of Slang, .slang files, slangc, SPIR-V from Slang, Slang modules, [shader("compute")], [
repo: github/awesome-copilot
Popularidade
- Estrelas no GitHub
- 40 mil
- Posição no ranking
- #5370
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
acquire-codebase-knowledge
Ajuda seu agente a entender e documentar um projeto de código existente. É útil para novas pessoas entrarem no projeto ou para ter uma visão geral da arquitetura.
github/awesome-copilot
acreadiness-assess
Faz seu agente avaliar a prontidão de um projeto para IA e gerar um relatório. É útil para entender o quão bem um projeto está preparado para usar ferramentas de IA.
github/awesome-copilot
acreadiness-generate-instructions
Ajuda seu agente a criar instruções para ferramentas de IA baseadas em uma avaliação. É útil para melhorar a forma como a IA interage com o código e fecha lacunas identificadas.
github/awesome-copilot
acreadiness-policy
Faz seu agente ajudar a definir ou aplicar políticas para avaliação de projetos de IA. É útil para padronizar a forma como os projetos são avaliados e garantir conformidade.
github/awesome-copilot
Skills parecidas
benchmark-optimization-loop
Faz seu agente melhorar a velocidade de algo de forma medida. Ele testa várias versões e escolhe a mais rápida que ainda funciona corretamente.
affaan-m/ECC
change-impact
Ajuda seu agente a analisar o impacto de mudanças no código antes de fazê-las. Ele compara o planejado com o real depois, cobrindo caminhos, dados, testes e documentação. É útil para mudanças arriscadas ou que afetam várias partes do sistema.
affaan-m/ECC
click-path-audit
Faz seu agente rastrear todos os botões e interações do usuário para achar bugs. Ele encontra problemas onde funções parecem funcionar sozinhas, mas falham juntas. Útil quando bugs persistem mesmo após depuração.
affaan-m/ECC