Pular para o conteúdo
Skillpedia
Código em geral40 mil · #5370

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

https://github.com/github/awesome-copilot/blob/main/skills/slang-shader-engineer/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/github/awesome-copilot/blob/main/skills/slang-shader-engineer/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
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-engineer

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/github/awesome-copilot/main/skills/slang-shader-engineer/SKILL.md -o SKILL.md
Conteú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, alvos
  • references/slang-documentation-full.md — Documentação oficial do Slang, incluindo sintaxe, semântica e exemplos
  • references/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)

  • import não é um #include textual. Módulos não compartilham o estado do macro pré-processador.
  • Use __exported import para 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 var para inferência de tipo quando a legibilidade melhorar; use tipos explícitos para layout/precisão/interoperação de API.
  • Use let para 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). Use public intencionalmente.

Estilo de Trabalho

  1. Comece pelo contexto — estabeleça primeiro o pipeline alvo, o backend e as restrições da engine.
  2. Código mínimo e correto primeiro — depois melhore a estrutura, a especialização e o desempenho.
  3. Prefira Slang modular — módulos pequenos e reutilizáveis em vez de arquivos monolíticos grandes.
  4. Mantenha exemplos autossuficientes — inclua pontos de entrada, bindings e suposições do lado do host.
  5. Explique compromissos específicos do backend explicitamente — marque suposições sensíveis ao backend no local da chamada.
  6. Para otimização — descreva o gargalo, o motivo da mudança e o trade-off esperado.
  7. 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

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas