scottstts/threejs-awesome-graphics-agent-skills

threejs-raymarched-space-effects

Build raymarched space phenomena in Three.js.

소스 보기
원본 Skill 문서

원본 저장소의 제목, 예시, 코드, 표, 링크, 이미지를 유지해 표시합니다.

Raymarched Space Effects

Treat these effects as numerical renderers with explicit integration state. The visual character depends on coordinate choice, step policy, and how rays interact with emissive structures.

This skill contains exemplary examples and assets beyond descriptive guidance, they're worth studying, referencing, or even copying. Use them sufficiently when relevant and do NOT blindly skip them.

Workflow

  1. Define the effect-space transform and camera ray.
  2. Choose a physical, physically inspired, or purely artistic bending model.
  3. Bound the integration domain.
  4. Track ray position, direction, throughput, and accumulated radiance.
  5. Detect crossings with disks, shells, throats, or event boundaries.
  6. Sample the background only after integration terminates, filtered by the

ray-bundle footprint rather than point sampled.

  1. Add diagnostics for trajectory, step count, and termination reason.

Read references/curved-ray-integrators.md for the two wormhole throat models, observer transport through a throat, the artistic curved-ray accretion integrator, disk composition, and implementation defects.

Read references/lensed-celestial-spheres.md for footprint-filtered skies, flux-conserving star point spreads, dust extinction, bright sources under display clipping, progressive accumulation, and the bloom kernel a compact source needs.

Read the curved-ray accretion volume for the inverse-square steering loop, thin disk density, front-to-back accumulation, deterministic star environment, and integrator diagnostics.

Read the Schwarzschild geodesic black-hole effect for RK2 null-geodesic integration, interpolated equatorial disk crossings, Doppler/redshift disk emission, lensed procedural deep field, and HDR bloom composition.

Read the traversable wormhole transit for adaptive RK4 integration of the reduced geodesic system, an observer frame parallel-transported through the throat, exterior-region selection, progressive Halton accumulation, and the 13-tap bloom pyramid; its celestial spheres are a standalone GLSL chunk for the footprint-filtered galactic sky, resolved star layers, and the analytic ringed planet a lensed ray lands on.

Constraints

  • Do not call a UV swirl “gravitational lensing.”
  • Cap iterations and provide early termination.
  • Use continuous crossing tests for thin structures.
  • Keep numerical stability independent from frame rate.
  • Separate the integrator from shading of the accretion disk or wormhole interior.
  • Size the step from the local curvature scale, not from a global constant, once

the metric has a narrow feature such as a lensing shoulder.

  • Filter the background by the ray-bundle footprint. A lensed map compresses

solid angle enough that a point sample aliases where the image is most interesting.

  • Give capped rays a defined result. Their exit direction is arbitrary, so route

them to a mean-radiance path rather than letting them speckle.

  • Carry a transported frame, not a Cartesian camera, when the domain has no

global Cartesian chart.

  • Provide a cheaper approximation for non-hero views.

Routing boundary

Use $threejs-procedural-vfx for ordinary particles, trails, plasma, and event effects. This skill is for per-pixel numerical ray integration through curved or bounded space-effect domains.

Progressive accumulation and the bloom pyramid shipped with the wormhole example are owned by that renderer because the integration cost forces them. For a scene-wide HDR bloom pass over ordinary geometry use $threejs-bloom, and for exposure metering, tone-map ownership, and LUT grading use $threejs-exposure-color-grading.

같은 저장소의 Skills

더 많은 Skills

모든 Skills
scottstts
커뮤니티

threejs-atmosphere-aerial-perspective

Implement physically motivated sky and aerial-perspective systems in Three.js. Use for planetary atmospheres, ground-to-space transitions, Rayleigh/Mie scattering, precomputed LUTs, depth-based transmittance and inscattering, sun/moon discs, and atmosphere-aware lighting.

설치 수
2
GitHub Stars
911
업데이트
10월 15일
scottstts
커뮤니티

threejs-bloom

Implement production bloom in advanced Three.js scenes. Use for HDR signal ordering, bloom-node controls, dual selective bloom with guaranteed material restoration, scene-relative emissive hierarchy, and effect-isolation diagnostics.

설치 수
2
GitHub Stars
911
업데이트
10월 15일
scottstts
커뮤니티

threejs-camera-direction

Direct advanced Three.js camera systems. Use for scale-aware chase rigs, thrust lag, side/orbit cameras, body-relative up vectors, quaternion handoffs, authored cinematic framing, floating origins, pointer-look controls, camera collision constraints, projection ownership, and lifecycle restoration.

설치 수
2
GitHub Stars
911
업데이트
10월 15일
scottstts
커뮤니티

threejs-exposure-color-grading

Build a measured exposure and grading path in Three.js. Use for a 64x36 encoded luminance meter, asynchronous readback, weighted log-average exposure, asymmetric adaptation, single tone-map ownership, and a generated 32-cube post-tone-map LUT.

설치 수
2
GitHub Stars
911
업데이트
10월 15일