@flighthq/materials 0.2.1-next.451.d9a4a4e → 0.2.1-next.530.a223ca9
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":"pbrMaterials.d.ts","sourceRoot":"","sources":["../src/pbrMaterials.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,6BAA6B,EAC7B,mBAAmB,EACnB,6BAA6B,EAC9B,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"pbrMaterials.d.ts","sourceRoot":"","sources":["../src/pbrMaterials.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,6BAA6B,EAC7B,mBAAmB,EACnB,6BAA6B,EAC9B,MAAM,iBAAiB,CAAC;AAmBzB,wBAAgB,sCAAsC,CACpD,GAAG,EAAE,6BAA6B,EAClC,MAAM,EAAE,QAAQ,CAAC,6BAA6B,CAAC,GAC9C,IAAI,CAkDN;AAKD,wBAAgB,mCAAmC,CACjD,IAAI,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,6BAA6B,CAAC,CAAC,GACtD,6BAA6B,CAe/B;AAKD,wBAAgB,yBAAyB,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,GAAG,mBAAmB,CAI5G;AAKD,wBAAgB,mCAAmC,CACjD,IAAI,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,6BAA6B,CAAC,CAAC,GACtD,6BAA6B,CAI/B"}
|
package/dist/pbrMaterials.js
CHANGED
|
@@ -10,16 +10,17 @@ import { createSurfaceMaterial } from './surfaceMaterial';
|
|
|
10
10
|
// Lossiness: the conversion is an approximation — metal/dielectric separation derived from
|
|
11
11
|
// the specular luma cannot fully recover the original material on every surface. Document
|
|
12
12
|
// the approximation when surfacing the output to users.
|
|
13
|
-
// Map assignments: diffuseMap → baseColorMap
|
|
14
|
-
//
|
|
15
|
-
//
|
|
13
|
+
// Map assignments: diffuseMap → baseColorMap. The packed specularGlossinessMap cannot be assigned to
|
|
14
|
+
// metallicRoughnessMap because their channel and color-space semantics differ; this factor-only atom
|
|
15
|
+
// leaves that destination null. A caller that needs a texture conversion must explicitly bake/remap it.
|
|
16
|
+
// normalMap, occlusionMap, emissiveMap, normalScale, occlusionStrength, and emissiveStrength are
|
|
17
|
+
// forwarded unchanged.
|
|
16
18
|
export function convertSpecularGlossinessToStandardPbr(out, source) {
|
|
17
19
|
// Read all input values into locals before writing (alias-safe).
|
|
18
20
|
const diffuse = source.diffuse;
|
|
19
21
|
const specular = source.specular;
|
|
20
22
|
const glossiness = source.glossiness;
|
|
21
23
|
const diffuseMap = source.diffuseMap;
|
|
22
|
-
const specularGlossinessMap = source.specularGlossinessMap;
|
|
23
24
|
const emissive = source.emissive;
|
|
24
25
|
const emissiveMap = source.emissiveMap;
|
|
25
26
|
const emissiveStrength = source.emissiveStrength;
|
|
@@ -58,7 +59,7 @@ export function convertSpecularGlossinessToStandardPbr(out, source) {
|
|
|
58
59
|
out.emissiveMap = emissiveMap;
|
|
59
60
|
out.emissiveStrength = emissiveStrength;
|
|
60
61
|
out.metallic = metallic;
|
|
61
|
-
out.metallicRoughnessMap =
|
|
62
|
+
out.metallicRoughnessMap = null;
|
|
62
63
|
out.normalMap = normalMap;
|
|
63
64
|
out.normalScale = normalScale;
|
|
64
65
|
out.occlusionMap = occlusionMap;
|
package/dist/pbrMaterials.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pbrMaterials.js","sourceRoot":"","sources":["../src/pbrMaterials.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAMtD,OAAO,EAAE,iCAAiC,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAE7F,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,yFAAyF;AACzF,4FAA4F;AAC5F,2FAA2F;AAC3F,gCAAgC;AAChC,gFAAgF;AAChF,iFAAiF;AACjF,2FAA2F;AAC3F,0FAA0F;AAC1F,wDAAwD;AACxD,
|
|
1
|
+
{"version":3,"file":"pbrMaterials.js","sourceRoot":"","sources":["../src/pbrMaterials.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@flighthq/materials",
|
|
3
|
-
"version": "0.2.1-next.
|
|
3
|
+
"version": "0.2.1-next.530.a223ca9",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "https://github.com/flighthq/flight.git",
|
|
@@ -32,9 +32,9 @@
|
|
|
32
32
|
"clean:dist": "tsx ../../scripts/clean-package-dist.ts"
|
|
33
33
|
},
|
|
34
34
|
"dependencies": {
|
|
35
|
-
"@flighthq/color": "0.2.1-next.
|
|
36
|
-
"@flighthq/entity": "0.2.1-next.
|
|
37
|
-
"@flighthq/types": "0.2.1-next.
|
|
35
|
+
"@flighthq/color": "0.2.1-next.530.a223ca9",
|
|
36
|
+
"@flighthq/entity": "0.2.1-next.530.a223ca9",
|
|
37
|
+
"@flighthq/types": "0.2.1-next.530.a223ca9"
|
|
38
38
|
},
|
|
39
39
|
"devDependencies": {
|
|
40
40
|
"typescript": "^5.3.0"
|
package/src/pbrMaterials.test.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { Texture } from '@flighthq/types';
|
|
1
2
|
import { SpecularGlossinessPbrMaterialKind, StandardPbrMaterialKind } from '@flighthq/types';
|
|
2
3
|
|
|
3
4
|
import {
|
|
@@ -33,6 +34,17 @@ describe('convertSpecularGlossinessToStandardPbr', () => {
|
|
|
33
34
|
expect(out.emissive).toBe(0xff000000);
|
|
34
35
|
expect(out.emissiveStrength).toBe(2.5);
|
|
35
36
|
});
|
|
37
|
+
it('does not reinterpret a packed specular-glossiness map as metallic-roughness', () => {
|
|
38
|
+
const packedMap = {} as Texture;
|
|
39
|
+
const previousMap = {} as Texture;
|
|
40
|
+
const source = createSpecularGlossinessPbrMaterial({ specularGlossinessMap: packedMap });
|
|
41
|
+
const out = createStandardPbrMaterialProperties({ metallicRoughnessMap: previousMap });
|
|
42
|
+
|
|
43
|
+
convertSpecularGlossinessToStandardPbr(out, source);
|
|
44
|
+
|
|
45
|
+
expect(out.metallicRoughnessMap).toBeNull();
|
|
46
|
+
expect(source.specularGlossinessMap).toBe(packedMap);
|
|
47
|
+
});
|
|
36
48
|
it('is alias-safe when out is used as a different object from source', () => {
|
|
37
49
|
const source = createSpecularGlossinessPbrMaterial({ glossiness: 0.5, diffuse: 0xff0000ff });
|
|
38
50
|
const out = createStandardPbrMaterialProperties();
|