@flighthq/render-gl 0.3.0-next.1220.6982c21 → 0.3.0-next.1272.222de94
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"glBackground.d.ts","sourceRoot":"","sources":["../src/glBackground.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"glBackground.d.ts","sourceRoot":"","sources":["../src/glBackground.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAI9D,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAwB7D"}
|
package/dist/glBackground.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { srgbChannelToLinear } from '@flighthq/color/contract';
|
|
1
2
|
import { getGlRenderStateRuntime } from './glRenderState';
|
|
2
3
|
export function renderGlBackground(state) {
|
|
3
4
|
const runtime = getGlRenderStateRuntime(state);
|
|
@@ -6,7 +7,8 @@ export function renderGlBackground(state) {
|
|
|
6
7
|
gl.viewport(viewport?.x ?? 0, viewport?.y ?? 0, viewport?.width ?? state.canvas.width, viewport?.height ?? state.canvas.height);
|
|
7
8
|
const rgba = state.backgroundColorRgba;
|
|
8
9
|
if (rgba.length >= 4 && rgba[3] > 0) {
|
|
9
|
-
|
|
10
|
+
const linear = runtime.currentRenderTarget?.colorSpace === 'linear';
|
|
11
|
+
gl.clearColor(linear ? srgbChannelToLinear(rgba[0]) : rgba[0], linear ? srgbChannelToLinear(rgba[1]) : rgba[1], linear ? srgbChannelToLinear(rgba[2]) : rgba[2], rgba[3]);
|
|
10
12
|
}
|
|
11
13
|
else {
|
|
12
14
|
gl.clearColor(0, 0, 0, 0);
|
package/dist/glBackground.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"glBackground.js","sourceRoot":"","sources":["../src/glBackground.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"glBackground.js","sourceRoot":"","sources":["../src/glBackground.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAG/D,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAE1D,MAAM,UAAU,kBAAkB,CAAC,KAAoB;IACrD,MAAM,OAAO,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;IAC/C,MAAM,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC;IACpB,MAAM,QAAQ,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAC9C,EAAE,CAAC,QAAQ,CACT,QAAQ,EAAE,CAAC,IAAI,CAAC,EAChB,QAAQ,EAAE,CAAC,IAAI,CAAC,EAChB,QAAQ,EAAE,KAAK,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,EACrC,QAAQ,EAAE,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,CACxC,CAAC;IACF,MAAM,IAAI,GAAG,KAAK,CAAC,mBAAmB,CAAC;IACvC,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;QACpC,MAAM,MAAM,GAAG,OAAO,CAAC,mBAAmB,EAAE,UAAU,KAAK,QAAQ,CAAC;QACpE,EAAE,CAAC,UAAU,CACX,MAAM,CAAC,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAC/C,MAAM,CAAC,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAC/C,MAAM,CAAC,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAC/C,IAAI,CAAC,CAAC,CAAC,CACR,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5B,CAAC;IACD,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC;IAC9B,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;AAClC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@flighthq/render-gl",
|
|
3
|
-
"version": "0.3.0-next.
|
|
3
|
+
"version": "0.3.0-next.1272.222de94",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "https://github.com/flighthq/flight.git",
|
|
@@ -36,14 +36,15 @@
|
|
|
36
36
|
"clean:dist": "tsx ../../scripts/clean-package-dist.ts"
|
|
37
37
|
},
|
|
38
38
|
"dependencies": {
|
|
39
|
-
"@flighthq/
|
|
40
|
-
"@flighthq/
|
|
41
|
-
"@flighthq/
|
|
42
|
-
"@flighthq/
|
|
43
|
-
"@flighthq/
|
|
44
|
-
"@flighthq/
|
|
45
|
-
"@flighthq/
|
|
46
|
-
"@flighthq/
|
|
39
|
+
"@flighthq/color": "0.3.0-next.1272.222de94",
|
|
40
|
+
"@flighthq/entity": "0.3.0-next.1272.222de94",
|
|
41
|
+
"@flighthq/log": "0.3.0-next.1272.222de94",
|
|
42
|
+
"@flighthq/scene2d": "0.3.0-next.1272.222de94",
|
|
43
|
+
"@flighthq/geometry": "0.3.0-next.1272.222de94",
|
|
44
|
+
"@flighthq/render": "0.3.0-next.1272.222de94",
|
|
45
|
+
"@flighthq/signals": "0.3.0-next.1272.222de94",
|
|
46
|
+
"@flighthq/texture": "0.3.0-next.1272.222de94",
|
|
47
|
+
"@flighthq/types": "0.3.0-next.1272.222de94"
|
|
47
48
|
},
|
|
48
49
|
"devDependencies": {
|
|
49
50
|
"typescript": "^5.3.0"
|
package/src/glBackground.test.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { srgbChannelToLinear } from '@flighthq/color/contract';
|
|
1
2
|
import { BlendMode } from '@flighthq/types/contract';
|
|
2
3
|
|
|
3
4
|
import { renderGlBackground } from './glBackground';
|
|
@@ -51,4 +52,18 @@ describe('renderGlBackground', () => {
|
|
|
51
52
|
renderGlBackground(state);
|
|
52
53
|
expect(gl.clearColor).toHaveBeenCalledWith(0.5, 0.25, 0.75, 0.8);
|
|
53
54
|
});
|
|
55
|
+
|
|
56
|
+
it('decodes an sRGB background when the active target stores linear scene color', () => {
|
|
57
|
+
const { state, gl } = createGlState({ backgroundColorRgba: [0.5, 0.25, 0.75, 0.8] });
|
|
58
|
+
getGlRenderStateRuntime(state).currentRenderTarget = { colorSpace: 'linear' } as never;
|
|
59
|
+
|
|
60
|
+
renderGlBackground(state);
|
|
61
|
+
|
|
62
|
+
expect(gl.clearColor).toHaveBeenCalledWith(
|
|
63
|
+
srgbChannelToLinear(0.5),
|
|
64
|
+
srgbChannelToLinear(0.25),
|
|
65
|
+
srgbChannelToLinear(0.75),
|
|
66
|
+
0.8,
|
|
67
|
+
);
|
|
68
|
+
});
|
|
54
69
|
});
|