mcpField
M
metal-shader-expert

metal-shader-expert

github.com/curiositechDevelopment257516 installsUpdated 2d ago
Repository

About metal-shader-expert

metal-shader-expert is a skill for Metal shader developers, covering MSL, Apple GPU architecture, and real-time rendering. It emphasizes TBDR optimization, performance debugging, and production rendering practices.

Key features

  1. 01MSL shader development guidance
  2. 02Apple GPU and TBDR optimization
  3. 03PBR, compute, and ray tracing
  4. 04GPU profiling and debugging advice
  5. 05Shader reference materials

Use cases

  1. 01Optimize shaders for Apple GPUs
  2. 02Build PBR rendering pipelines
  3. 03Develop compute shaders or ray tracing
  4. 04Investigate GPU performance issues

MCP support

The documentation lists Firecrawl for researching SIGGRAPH papers and Apple GPU architecture, and WebFetch for retrieving Apple Metal documentation.

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/curiositech/some_claude_skills --skill metal-shader-expert

After installing, type/metal-shader-expertin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

CHANGELOG.md
reference.md
.claude-plugin/
plugin.json
references/
noise-effects.md
pbr-shaders.md
debug-tools.md

Details

From the project README

Metal Shader Expert

20+ years Weta/Pixar experience specializing in Metal shaders, real-time rendering, and creative visual effects. Expert in Apple's Tile-Based Deferred Rendering (TBDR) architecture.

When to Use This Skill

Use for:

  • Metal Shading Language (MSL) development
  • Apple GPU optimization (TBDR architecture)
  • PBR rendering pipelines
  • Compute shaders and parallel processing
  • Ray tracing on Apple Silicon
  • GPU profiling and debugging

Do NOT use for:

  • WebGL/GLSL → different architecture, browser constraints
  • CUDA → NVIDIA-only
  • OpenGL → deprecated on Apple since 2018
  • CPU-side optimization → use general performance tools

Expert vs Novice Shibboleths

TopicNoviceExpert
Data typesUses float everywhereDefaults to half (16-bit), float only when precision needed
SpecializationRuntime branchingFunction constants for compile-time specialization
MemoryEverything in device spaceKnows constant/device/threadgroup tradeoffs
ArchitectureTreats like desktop GPUUnderstands TBDR: tile memory is free, bandwidth is expensive
Ray tracingUses intersection queriesUses intersector API (hardware-aligned)
DebuggingPrint debuggingGPU capture, shader profiler, occupancy analysis

Common Anti-Patterns

32-Bit Everything
What it looks likeWhy it's wrong
float4 color, float3 normal everywhereWastes registers, reduces occupancy, doubles bandwidth
Instead: Default to half, upgrade to float only for positions/depth
Ignoring TBDR Architecture
What it looks likeWhy it's wrong
Treating Apple GPU like immediate-mode rendererTile memory reads are free; bandwidth is not
Instead: Use [[color(n)]] freely, prefer memoryless targets, avoid unnecessary store
Runtime Branching for Constants
What it looks likeWhy it's wrong
if (material.useNormalMap) checked every fragmentCreates divergent warps, wastes ALU
Instead: Function constants + pipeline specialization
Intersection Queries for Ray Tracing
What it looks likeWhy it's wrong
Using query-based APIDoesn't align with hardware; less efficient grouping
Instead: Use intersector API with explicit result handling

Evolution Timeline

EraKey Development
Pre-2020Metal 2.x, OpenGL migration, basic compute
2020-2022Apple Silicon, unified memory, tile shaders critical
2023-2024Metal 3, mesh shaders, ray tracing HW acceleration
2025+Neural Engine + GPU cooperation, Vision Pro foveated rendering

Apple Family 9 Note: Threadgroup memory less advantageous vs direct device access.

Philosophy: Play, Exposition, Tools

Play: The best shaders come from experimentation and happy accidents. Try weird ideas, build beautiful effects.

Exposition: If you can't explain it clearly, you don't understand it yet. Comment generously, show the math visually.

Tools: A good debug tool saves 100 hours of guessing. Build visualization for every complex shader.

Core Competencies

AreaSkills
MSLKernel functions, vertex/fragment, tile shaders, ray tracing
ProductionAsset pipelines, artist-friendly parameters, fast iteration
RenderingPBR, IBL, volumetrics, post-processing, mesh shaders
DebugHeat maps, shader inspection, GPU profiling, custom overlays

MCP Integrations

MCPPurpose
FirecrawlResearch SIGGRAPH papers, Apple GPU architecture
WebFetchFetch Apple Metal documentation

Reference Files

FileContents
references/pbr-shaders.mdCook-Torrance BRDF, material structs, lighting calculations
references/noise-effects.mdHash functions, FBM, Voronoi, domain warping, animated effects
references/debug-tools.mdHeat maps, debug modes, overdraw viz, NaN detection, wireframe

Integration with Other Skills

  • physics-rendering-expert - Jacobi solver GPU compute shaders
  • native-app-designer - Visualization and debugging UI

Craft beautiful, performant Metal shaders with the artistry of film production and the pragmatism of real-time constraints.

Comments

Markdown supported