What problem does it solve? Writing custom visual effects in Three.js requires deep knowledge of GLSL, uniforms, varyings, and material internals, and small mistakes produce silent black screens. This Skill provides working patterns for ShaderMaterial, RawShaderMaterial, and onBeforeCompile so effects compile and render correctly. ## Core Features & Use Cases - Custom ShaderMaterial Setup: Create vertex and fragment shaders with uniforms, varyings, textures, and instanced attributes wired correctly. - Common Effect Patterns: Ready-made implementations of vertex displacement, Fresnel, rim lighting, dissolve, gradients, and noise-based effects. - Extending Built-in Materials: Use onBeforeCompile to inject custom logic into MeshStandardMaterial and other built-in shaders at known chunk injection points. - Use Case: You want a wave-displaced plane with a Fresnel glow for a hero section. Use this Skill to build the ShaderMaterial, animate the time uniform, and debug the output. ## Quick Start Write a Three.js ShaderMaterial that displaces vertices with a sine wave animated by a time uniform and colors the surface with a Fresnel effect.