Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commite7c33a8

Browse files
committed
Rename because it no longer has anything to do with premultiplication, and fix FIXME
1 parentc5f6709 commite7c33a8

File tree

1 file changed

+25
-20
lines changed

1 file changed

+25
-20
lines changed

‎spec/index.bs‎

Lines changed: 25 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -2149,22 +2149,28 @@ WebGPU allows all of the color spaces in the {{PredefinedColorSpace}} enum.
21492149
Note, each color space is defined over an extended range, as defined by the referenced CSS definitions,
21502150
to represent color values outside of its space (in both chrominance and luminance).
21512151

2152-
<h4 id=out-of-gamut-premultiplied-rgba-value data-dfn-type=dfn>Out-of-Gamut Premultiplied RGBA Values
2152+
<h4 data-dfn-type=dfn>Out-of-Standard-Gamut Color Representation
2153+
<span id=out-of-gamut-premultiplied-rgba-value><!-- historical permalink --></span>
21532154
</h4>
21542155

2155-
An [=out-of-gamut premultiplied RGBA value=] is one where any of the R/G/B channel values
2156-
exceeds the alpha channel value.
2156+
An [=out-of-standard-gamut color representation=] is one where any of the unpremultiplied
2157+
red/green/blue channel numeric values are outside of the 0-to-1 range.
2158+
In a premultiplied representation, the R/G/B value is outside the 0-to-`alpha` range.
2159+
2160+
Any numeric value in any gamut is a well-defined "color" according to that gamut's extended
2161+
color space (regardless of whether the point represents a real or imaginary color).
2162+
That "color" can be represented in other gamuts as well, where it may be in-gamut.
21572163

21582164
<div class=example>
2159-
For example, the premultiplied sRGB RGBA value `[0.52, 0, 0, 0.5]`
2160-
represents the (unpremultiplied) color <code><a funcdef>color</a>(srgb 1.04 0 0 / 0.5)</code>.
2165+
For example, the unpremultiplied sRGB RGBA value `[1.04, 0, 0, 0.5]` and the
2166+
premultiplied sRGB RGBA value `[0.52, 0, 0, 0.5]` both represent the
2167+
CSS color <code><a funcdef>color</a>(srgb 1.04 0 0 / 0.5)</code>
2168+
which is equivalent to <code><a funcdef>color</a>(display-p3 0.95 0.21 0.15 / 0.5)</code>.
21612169
</div>
21622170

2163-
Just like any color value outside the sRGB color gamut, any value is a well-defined point in the
2164-
extended color space (regardless of whether the point represents a real color).
21652171
When a canvas containing such a value is
21662172
[$get a copy of the image contents of a context|used as an image source$],
2167-
thecolor value mustnot be clamped intheimage value given to the calling algorithm
2173+
thereturned image mustrepresenttheoriginal color values without clamping,
21682174
regardless of the canvas's {{GPUCanvasConfiguration/format}}.
21692175

21702176
However, when a canvas containing such a value is displayed *on screen*, **if and only if** the
@@ -2196,7 +2202,7 @@ the visible result for the entire canvas is undefined.
21962202
<td>`[0.52, 0, 0, 0.5]`
21972203
<td>(undefined result),
21982204
<br>because the format is range-limited
2199-
<br>and the color is out-of-gamut for {{PredefinedColorSpace/"srgb"}}.
2205+
<br>and the color is out-of-standard-gamut for {{PredefinedColorSpace/"srgb"}}.
22002206
</table>
22012207

22022208
The last result is undefined because the color could be:
@@ -2227,15 +2233,14 @@ are ignored.
22272233
Note:
22282234
Grayscale images generally represent RGB values `(V, V, V)`, or RGBA values `(V, V, V, A)` in their color space.
22292235

2230-
Colors are not lossily clamped during conversion: converting from one color space to another
2231-
will result in values outside the range [0, 1] if the source color values were outside the range
2232-
of the destination color space's gamut. For an sRGB destination, for example, this can occur if the
2233-
source is rgba16float, in a wider color space like Display-P3, or is premultiplied and contains
2234-
[=out-of-gamut premultiplied RGBA value|out-of-gamut values=]. <!-- FIXME? -->
2236+
Colors must not be lossily clamped during conversion: converting from one color space to another
2237+
may result in an [=out-of-standard-gamut color representation=] in the destination gamut,
2238+
which must be preserved. Refer to that section for details.
22352239

2236-
Similarly, if the source value has a high bit depth (e.g. PNG with 16 bits per component) or
2237-
extended range (e.g. canvas with `float16` storage), these colors are preserved through color space
2238-
conversion, with intermediate computations having at least the precision of the source.
2240+
Similarly, precision must be preserved through color space conversion, with intermediate
2241+
computations being at least as precise as the less-precise of the source and destination
2242+
(for example copying a PNG with 16 bits per component, or a canvas with `float16` storage, into a
2243+
{{GPUTextureFormat/rgba16float}} texture).
22392244

22402245
### Color Space Conversion Elision ### {#color-space-conversion-elision}
22412246

@@ -13810,9 +13815,9 @@ is being composited into (e.g. an HTML page rendering, or a 2D canvas).
1381013815
When alpha is 0, no color is represented, regardless of the RGB values.
1381113816
(Attempting to compute the color results in division by zero.)
1381213817

13813-
In this mode, the canvas texture mayrepresent [=out-of-gamutpremultiplied RGBA values=].
13814-
If the canvas has a range-limited format and is displayed on screen, out-of-gamut values
13815-
have undefined display results. Refer to that section for details.
13818+
In this mode, the canvas texture mayhold [=out-of-standard-gamutcolor representations=].
13819+
If the canvas has a range-limited format and is displayed on screen, out-of-standard-gamut
13820+
valueshave undefined display results. Refer to that section for details.
1381613821
</dl>
1381713822

1381813823
# Errors &amp; Debugging # {#errors-and-debugging}

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp