跳转到使用指南
Slang Shader Engineer作者 GitHub Awesome Copilot Contributors

Slang Shader Engineer Skill.

将着色器代码与引擎集成视为同一份契约,而不要假定编译完成的着色器已可直接用于渲染。

  • 着色器
  • GPU 图形
  • 3D 设计
来源审查 · Slang Shader EngineerSKILL.md
任务 着色器 产出 • 具有明确入口点的 Slang 着色器或可复用模块 • 用于宿主集成的资源与参数块假设 • 解释所提代码更改的正确性与可移植性审查 开始之前 需要适用于目标后端的 Slang 编译和渲染器环境;有关集成的结论还需通过宿主端验证。
编辑摘要 · 已审查来源 2026-10-07 · 非生成示例

01 功能说明

构建可移植的 Slang 着色器和宿主绑定

一份 Slang 工程指南,重点介绍模块化代码、后端能力以及可感知反射信息的宿主集成。

基于来源的工作流并非执行基准测试

工作方法

Slang Shader Engineer 是一项面向图形和计算管线的专业编码技能。它涵盖模块化 Slang 代码、接口、泛型、参数块、能力和交叉编译,并关注负责绑定资源的宿主端渲染器。它适用于构建视觉系统的开发者,不适合寻求无代码材质编辑器的用户。

经审查的来源要求在审查中优先考虑正确性,其次才是可移植性和性能。它要求预先说明后端与管线约束,并指出特定于语言的陷阱,包括模块导入之间不共享预处理器状态,以及指针支持因目标而异。其优化指导围绕瓶颈和权衡展开;它并未证明某个特定引擎能获得经测量的性能提升。

预期交付物

  • 具有明确入口点的 Slang 着色器或可复用模块
  • 用于宿主集成的资源与参数块假设
  • 解释所提代码更改的正确性与可移植性审查
查看示例任务说明

从任务说明到审查

  1. 01
    定义管线

    在请求代码之前,先明确图形或计算阶段、目标后端、引擎绑定以及现有编译路径。

  2. 02
    构建最小契约

    编写一个小型且正确的着色器,并声明输入和资源。仅在模块、接口和泛型能够阐明差异、而不是掩盖目标假设时才使用它们。

  3. 03
    验证每个目标

    对照参考文档检查语法,检查由反射信息驱动的绑定,并针对所需后端进行编译。在实际测量之前,将性能结论视为假设。

02 适用场景

适用场景

需要适用于目标后端的 Slang 编译和渲染器环境;有关集成的结论还需通过宿主端验证。

适合的情形

  • 渲染器集成适用于需要让 Slang 参数布局与 C++ 资源绑定代码保持一致的场景。
  • 着色器重构适合从大量依赖宏的变体迁移到具有明确能力边界的模块化代码。

需要检查的限制

  • 必须提供后端上下文使用单一源语言并不意味着每项功能都能移植到所有目标。必须明确指出不受支持的能力。
  • 并非视觉效果基准测试该技能提供创作和审查指导;仅凭它本身无法证明渲染质量、运行时正确性或 GPU 工作负载运行得更快。

请提供这些输入

  • 目标后端明确预期使用的 API 和输出目标,例如 Vulkan/SPIR-V 或 Metal 路径。
  • 着色器和宿主代码提供现有入口点、资源绑定以及相关的引擎端设置。
  • 期望的更改说明目标是正确性、可移植性、代码组织,还是解决经测量确认的性能瓶颈。

03 关键决策

关键决策

  1. 绑定是设计的一部分

    该来源将 ParameterBlock 布局同时视为着色器端和宿主端需要关注的问题,从而降低代码看似合理却与资源设置不兼容的风险。

  2. 让能力边界保持可见

    应在清晰的边界处理特定于后端的折衷,而不是将其隐藏在不透明的辅助函数中。

04 示例任务

尝试一份聚焦的任务说明

以下示例任务说明尚未经过测试。使用前请检查该技能的设置。

检查设置

确保随附的语言与规则参考资料可供使用。该来源未提供通用安装命令或完整的渲染器运行时。

上游源文件
https://github.com/github/awesome-copilot/blob/3a685010a7afdc0dbd4c83b7fbda6c316aa516e5/skills/slang-shader-engineer/SKILL.md

需要适用于目标后端的 Slang 编译和渲染器环境;有关集成的结论还需通过宿主端验证。

从一项交付物开始

运行该技能之前,请调整这份任务说明的范围、来源材料和约束。

示例任务说明
使用 slang-shader-engineer 审查这个面向 Vulkan 目标的材质着色器及其 C++ 绑定设置。首先检查正确性,然后找出为将来可能采用 Metal 后端而需要关注的可移植性假设。提出一种简洁的参数块组织方式,并包括入口点和宿主端假设。没有基准测试时,不要声称速度有所提升;任何需要查阅文档验证的语言功能都应明确标注。

检查结果

根据以下可观察标准检查实际输出。

  • 着色器入口点和阶段接口与预期管线相匹配。
  • 反射得到的资源布局与宿主端绑定假设一致。
  • 明确指出特定于目标的功能以及未经测量的优化结论。

OpenDesign 为编码智能体提供本地设计工作区。此条目并不意味着该技能已内置,也不表示其中包含其外部工具、凭据和软件依赖项。

05 来源与许可证

来源与许可证

本页描述的是下方链接所指向的固定来源修订版。上游行为和要求可能发生变化。

许可证
MIT
已审查快照
2026-10-07 · 3a685010a7af
编辑来源摘要
一份 Slang 工程指南,重点介绍模块化代码、后端能力以及可感知反射信息的宿主集成。

由 OpenDesign 根据所链接来源撰写的原创摘要。仓库星标数只是特定日期的受欢迎程度指标,并不代表技能使用量或质量评分。

06 开始前的问题

开始之前的问题

Slang 会让每个着色器自动具备可移植性吗?

不会。该来源要求代码考虑能力差异并明确目标约束;某些功能只对特定目标有效。

它能协助处理引擎端 C++ 吗?

可以。其明确范围除着色器代码外,还包括反射、绑定布局、编译路径和渲染器集成。

这是着色器效果库吗?

不是。它是一套工程工作流和参考资料,重点是创作、审查和集成,而不是提供现成渲染效果的目录。

OpenDesign

为下一轮设计迭代留出空间。

将任务说明、来源材料和设计工作集中保存在本地工作区中。将该技能加入工作流之前,请先检查其自身设置。

上游源文件
https://github.com/github/awesome-copilot/blob/3a685010a7afdc0dbd4c83b7fbda6c316aa516e5/skills/slang-shader-engineer/SKILL.md