multiAI Summary Pending

threejs-postprocessing

Addon screen-space post-processing for three.js using EffectComposer, Pass base class, RenderPass, and stock passes such as UnrealBloomPass, SSAOPass, SSRPass, BokehPass, OutlinePass, FXAAPass/SMAAPass, TAARenderPass, and ShaderPass; references the Shaders addon group for underlying shader modules. Use when building composer chains for bloom, SSAO, or other screen-space effects; not for basic renderer tone mapping alone (threejs-renderers).

223 stars

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/threejs-postprocessing/SKILL.md --create-dirs "https://raw.githubusercontent.com/partme-ai/full-stack-skills/main/skills/threejs-skills/threejs-postprocessing/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/threejs-postprocessing/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How threejs-postprocessing Compares

Feature / Agentthreejs-postprocessingStandard Approach
Platform SupportmultiLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Addon screen-space post-processing for three.js using EffectComposer, Pass base class, RenderPass, and stock passes such as UnrealBloomPass, SSAOPass, SSRPass, BokehPass, OutlinePass, FXAAPass/SMAAPass, TAARenderPass, and ShaderPass; references the Shaders addon group for underlying shader modules. Use when building composer chains for bloom, SSAO, or other screen-space effects; not for basic renderer tone mapping alone (threejs-renderers).

Which AI agents support this skill?

This skill is compatible with multi.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

## When to use this skill

**ALWAYS use this skill when the user mentions:**

- `EffectComposer`, `RenderPass`, stacking passes, resize of composer
- Bloom, SSAO, SSR, DOF, outline, glitch, film grain, TAA—**addon** pass names
- `ShaderPass` with shader modules from Addons **Shaders** group

**IMPORTANT: postprocessing vs renderers vs node-tsl**

| Pipeline | Skill |
|----------|--------|
| Classic composer + passes | **threejs-postprocessing** |
| Renderer output color/tone only | **threejs-renderers** |
| Node/TSL post nodes | **threejs-node-tsl** |

**Trigger phrases include:**

- "EffectComposer", "RenderPass", "UnrealBloomPass", "SSAOPass", "后期"
- "泛光", "环境光遮蔽", "描边"

## How to use this skill

1. **Chain** — `RenderPass` → effect passes → output; ensure size matches renderer and DPR changes.
2. **Resize** — call `composer.setSize` alongside renderer resize workflows.
3. **Half-float** — many passes expect appropriate render target types; cite docs for your version.
4. **Performance** — each pass has cost; profile with `renderer.info` to check draw calls and triangles.
5. **Validate output** — render a simple test scene through the composer first to verify passes work before adding complexity.
6. **Shader modules** — link Addons **Shaders** list instead of inlining huge GLSL in SKILL.
7. **Output** — final pass should align color management with renderer (**threejs-renderers**).
8. **Contrast** — mention core `PostProcessing` class separately to avoid name collision confusion.

### Example: EffectComposer with bloom and debugging

```javascript
import * as THREE from 'three';
import { EffectComposer } from 'three/addons/postprocessing/EffectComposer.js';
import { RenderPass } from 'three/addons/postprocessing/RenderPass.js';
import { UnrealBloomPass } from 'three/addons/postprocessing/UnrealBloomPass.js';

const composer = new EffectComposer(renderer);
composer.addPass(new RenderPass(scene, camera));

const bloomPass = new UnrealBloomPass(
  new THREE.Vector2(window.innerWidth, window.innerHeight),
  1.5, // strength
  0.4, // radius
  0.85 // threshold
);
composer.addPass(bloomPass);

// Resize handler — must match renderer size
window.addEventListener('resize', () => {
  renderer.setSize(window.innerWidth, window.innerHeight);
  composer.setSize(window.innerWidth, window.innerHeight);
});

// Render loop: use composer.render() instead of renderer.render()
function animate() {
  composer.render();
}
renderer.setAnimationLoop(animate);
```

See [examples/workflow-composer-bloom.md](examples/workflow-composer-bloom.md).

## Doc map (official)

| Docs section | Representative links |
|--------------|----------------------|
| Postprocessing | https://threejs.org/docs/EffectComposer.html |
| Postprocessing | https://threejs.org/docs/RenderPass.html |
| Postprocessing | https://threejs.org/docs/UnrealBloomPass.html |
| Shaders (addon modules) | https://threejs.org/docs/module-CopyShader.html |

## Scope

- **In scope:** Addon postprocessing passes and composer wiring; pointers to shader modules.
- **Out of scope:** Custom full-screen pipeline design outside three docs; engine-level frame graphs.

## Common pitfalls and best practices

- Forgetting composer resize produces smeared or low-res effects.
- Pass order matters—bloom often after main scene pass, outline may need masks.
- Some passes need depth—ensure depth buffer availability per pass docs.

## Documentation and version

Addon passes live under [Postprocessing](https://threejs.org/docs/#Postprocessing) and **Shaders** modules in [three.js docs](https://threejs.org/docs/). Pass constructors and required buffers change across versions—link the specific pass page (e.g. `UnrealBloomPass`) rather than guessing uniform names.

## Agent response checklist

When answering under this skill, prefer responses that:

1. Link `EffectComposer`, `RenderPass`, or the named pass (`SSAOPass`, …).
2. Contrast **addon** composer stack with core `PostProcessing` + **threejs-node-tsl** when users mix terms.
3. Require `setSize` on composer when **threejs-renderers** resizes.
4. Point to **Shaders** group for raw shader modules used by `ShaderPass`.
5. Warn about VR frame-time when stacking heavy passes (**threejs-webxr**).

## References

- https://threejs.org/docs/#Postprocessing
- https://threejs.org/docs/EffectComposer.html
- https://threejs.org/docs/RenderPass.html

## Keywords

**English:** effectcomposer, renderpass, bloom, ssao, ssr, outline, postprocessing, three.js

**中文:** 后期、EffectComposer、泛光、SSAO、SSR、屏幕空间、three.js