atmosphere-shader

Solid

Generate physically-based atmospheric scattering shaders — sky domes, planetary atmospheres, LUT-optimized pipelines, depth-aware post-processing. Four modes — sky-dome, atmosphere-post, planet, lut. Triggers on atmospheric scattering, sky shader, sunset rendering, planet atmosphere, Rayleigh scattering, Mie scattering, volumetric sky, sky dome, atmosphere post-processing, aerial perspective, transmittance LUT, sky rendering, realistic sky, planetary rendering.

Web & Frontend 41 stars 4 forks Updated yesterday MIT

Install

View on GitHub

Quality Score: 85/100

Stars 20%
54
Recency 20%
100
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
50
License 10%
100
Description 5%
100

Skill Content

# Atmosphere Shader Skill Render physically-accurate skies, sunsets, and planetary atmospheres through atmospheric scattering — Rayleigh, Mie, and Ozone models composed via raymarching in GLSL fragment shaders. Four progressive modes from flat backdrop to LUT-optimized planetary pipeline. ## Modes | Mode | Output | Complexity | |------|--------|------------| | `sky-dome` | Single-pass fragment shader, flat sky backdrop | Entry point | | `atmosphere-post` | Depth-aware post-processing effect with atmospheric fog | Intermediate | | `planet` | Spherical atmosphere shell around a mesh, logarithmic depth | Advanced | | `lut` | Transmittance + Sky View + Aerial Perspective LUTs, FBO pipeline | Production | ## Gotchas — What Claude Gets Wrong These are the highest-signal items in this skill. Every one is a concrete, reproducible failure mode. ### 1. Wrong scattering coefficients Claude invents plausible-looking but physically incorrect beta values. Use these exact constants for Earth: ```glsl const vec3 BETA_R = vec3(5.8e-3, 13.5e-3, 33.1e-3); // Rayleigh scattering (1/km) const float BETA_M_SCATTER = 21e-3; // Mie scattering const float BETA_M_EXT = 21e-3 * 1.1; // Mie extinction (scatter + absorb) const vec3 BETA_OZONE_ABS = vec3(0.65e-3, 1.881e-3, 0.085e-3); // Ozone absorption const float RAYLEIGH_SCALE_HEIGHT = 8.0; // km const float MIE_SCALE_HEIGHT = 1.2; // km const float MIE_G = 0.76; // Henyey-Gre...

Details

Author
tdimino
Repository
tdimino/claude-code-minoan
Created
8 months ago
Last Updated
yesterday
Language
Python
License
MIT

Similar Skills

Semantically similar based on skill content — not just same category

AI & Automation Featured

scenario-unity-rendering-lighting

Use when setting up URP (or choosing URP vs HDRP), configuring URP assets and quality tiers for PC and phones, lighting a stylized or realistic Unity scene (sun, sky, baked or mixed lightmaps, Shadowmask, Adaptive Probe Volumes, reflection probes), or fixing blurry shadows, light leaks, gray bakes, washed-out images, tonemapping and grading, bloom too expensive on mobile, TAA, STP or MSAA choices, GPU Resident Drawer setup, shader warm-up hitches, or a custom shader that vanished or lost its baked light.

536 Updated today
scenario-labs
AI & Automation Listed

shader-craft

Use when cockpit motion is wrong — avatar frozen, console slow, fps drops, black canvas, banding, crawling grain, shredded rows — or when editing the light bed (scripts/aurora-shader.js), the agent avatar (scripts/agent-avatar.js), the activity line, a design/vfx-sketches/*.frag sketch, or the VFX bench. Use when asked for glow, fog, swarms, particles, trails, "shock factor", or a more alive background. Use BEFORE accepting outside shader code (Shadertoy, a skills pack) and before calling a shader change done.

8 Updated today
balanced7
AI & Automation Listed

materials-and-shaders

Authoring materials and shaders that look right and cost what you expect - PBR inputs, texture channel packing, shader variants and permutations, node graphs versus hand-written code, and instancing. Use when creating or debugging materials, writing shader code, when a surface does not respond correctly to light, or when shader cost or build times have grown.

0 Updated today
ibrohim1234567881717