-
Notifications
You must be signed in to change notification settings - Fork 22.5k
/
index.md
107 lines (88 loc) · 2.37 KB
/
index.md
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
---
title: surfaceScale
slug: Web/SVG/Attribute/surfaceScale
page-type: svg-attribute
spec-urls:
- https://drafts.fxtf.org/filter-effects/#element-attrdef-fediffuselighting-surfacescale
- https://drafts.fxtf.org/filter-effects/#element-attrdef-fespecularlighting-surfacescale
---
{{SVGRef}}
The **`surfaceScale`** attribute represents the height of the surface for a light filter primitive.
You can use this attribute with the following SVG elements:
- {{SVGElement("feDiffuseLighting")}}
- {{SVGElement("feSpecularLighting")}}
## Example
```css hidden
html,
body,
svg {
height: 100%;
}
```
```html
<svg viewBox="0 0 420 200" xmlns="http://www.w3.org/2000/svg">
<filter id="diffuseLighting1" x="0" y="0" width="100%" height="100%">
<feDiffuseLighting in="SourceGraphic" surfaceScale="1">
<fePointLight x="60" y="60" z="20" />
</feDiffuseLighting>
</filter>
<filter id="diffuseLighting2" x="0" y="0" width="100%" height="100%">
<feDiffuseLighting in="SourceGraphic" surfaceScale="15">
<fePointLight x="60" y="60" z="20" />
</feDiffuseLighting>
</filter>
<rect
x="0"
y="0"
width="200"
height="200"
style="filter: url(#diffuseLighting1);" />
<rect
x="0"
y="0"
width="200"
height="200"
style="filter: url(#diffuseLighting2); transform: translateX(220px);" />
</svg>
```
{{EmbedLiveSample("Example", "420", "200")}}
## feSpecularLighting
For {{SVGElement("feSpecularLighting")}}, `surfaceScale` defines the height of the surface.
<table class="properties">
<tbody>
<tr>
<th scope="row">Value</th>
<td>{{cssxref("number")}}</td>
</tr>
<tr>
<th scope="row">Default value</th>
<td><code>1</code></td>
</tr>
<tr>
<th scope="row">Animatable</th>
<td>Yes</td>
</tr>
</tbody>
</table>
## feDiffuseLighting
For {{SVGElement("feDiffuseLighting")}}, `surfaceScale` defines the height of the surface.
<table class="properties">
<tbody>
<tr>
<th scope="row">Value</th>
<td>{{cssxref("number")}}</td>
</tr>
<tr>
<th scope="row">Default value</th>
<td><code>1</code></td>
</tr>
<tr>
<th scope="row">Animatable</th>
<td>Yes</td>
</tr>
</tbody>
</table>
## Specifications
{{Specifications}}
## See also
- [Description of Phong reflection model on Wikipedia](https://en.wikipedia.org/wiki/Phong_reflection_model)