먼저 feGaussianBlur 로 원본의 알파(글자·도형의 실루엣)를 살짝 흐려 "높낮이 지도"를 만듭니다. 이걸 feSpecularLighting/feDiffuseLighting 에 넣으면, surfaceScale 만큼 도드라진 언덕으로 취급해 fePointLight·feDistantLight·feSpotLight 로 지정한 빛을 비춥니다. 마지막으로 feComposite 로 원본과 다시 합성해서 "표면에 빛이 닿아 도드라진" 룩을 만듭니다.
feDiffuseLighting 은 램버트 반사(어느 각도에서 봐도 밝기가 같은 무광 음영)를, feSpecularLighting 은 시점·광원 각도가 맞는 곳에서만 반짝이는 하이라이트를 냅니다. 실제 엠보싱은 보통 이 둘을 겹쳐 씁니다.
fePointLight 의 x·y·z 를 애니메이션으로 움직이면 조명이 표면을 훑고 지나가듯 보여 입체감이 훨씬 살아납니다. 다만 이 체인은 SVG 필터 중에서도 가장 무겁습니다 — 흐림·라이팅·합성을 픽셀마다 여러 번 거치기 때문에, 크거나 자주 리사이즈되는 영역에는 쓰지 않는 게 좋습니다. Safari 는 특히 fePointLight 의 z(높이) 렌더링이 다른 브라우저와 미묘하게 다를 수 있어 점진적 향상으로 다루는 게 안전합니다.
언제 쓰나
로고·워드마크 하나에 금속·엠보싱 질감을 줄 때. 본문 전체나 자주 리사이즈되는 레이아웃에는 쓰지 마세요.