react-native-shine 0.0.0 → 0.2.1
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.
- package/LICENSE +20 -0
- package/README.md +159 -0
- package/lib/module/index.js +222 -0
- package/lib/module/index.js.map +1 -0
- package/lib/module/package.json +1 -0
- package/lib/module/roots.js +16 -0
- package/lib/module/roots.js.map +1 -0
- package/lib/module/shaders/bindGroupLayouts.js +45 -0
- package/lib/module/shaders/bindGroupLayouts.js.map +1 -0
- package/lib/module/shaders/bindGroupUtils.js +45 -0
- package/lib/module/shaders/bindGroupUtils.js.map +1 -0
- package/lib/module/shaders/fragmentShaders/bloomFragment.js +66 -0
- package/lib/module/shaders/fragmentShaders/bloomFragment.js.map +1 -0
- package/lib/module/shaders/fragmentShaders/colorMaskFragment.js +28 -0
- package/lib/module/shaders/fragmentShaders/colorMaskFragment.js.map +1 -0
- package/lib/module/shaders/pipelineSetups.js +32 -0
- package/lib/module/shaders/pipelineSetups.js.map +1 -0
- package/lib/module/shaders/resourceManagement.js +19 -0
- package/lib/module/shaders/resourceManagement.js.map +1 -0
- package/lib/module/shaders/tgpuUtils.js +38 -0
- package/lib/module/shaders/tgpuUtils.js.map +1 -0
- package/lib/module/shaders/utils.js +65 -0
- package/lib/module/shaders/utils.js.map +1 -0
- package/lib/module/shaders/vertexShaders/mainVertex.js +35 -0
- package/lib/module/shaders/vertexShaders/mainVertex.js.map +1 -0
- package/lib/module/types/typeUtils.js +92 -0
- package/lib/module/types/typeUtils.js.map +1 -0
- package/lib/module/types/types.js +4 -0
- package/lib/module/types/types.js.map +1 -0
- package/lib/typescript/package.json +1 -0
- package/lib/typescript/src/index.d.ts +12 -0
- package/lib/typescript/src/index.d.ts.map +1 -0
- package/lib/typescript/src/roots.d.ts +4 -0
- package/lib/typescript/src/roots.d.ts.map +1 -0
- package/lib/typescript/src/shaders/bindGroupLayouts.d.ts +57 -0
- package/lib/typescript/src/shaders/bindGroupLayouts.d.ts.map +1 -0
- package/lib/typescript/src/shaders/bindGroupUtils.d.ts +53 -0
- package/lib/typescript/src/shaders/bindGroupUtils.d.ts.map +1 -0
- package/lib/typescript/src/shaders/fragmentShaders/bloomFragment.d.ts +6 -0
- package/lib/typescript/src/shaders/fragmentShaders/bloomFragment.d.ts.map +1 -0
- package/lib/typescript/src/shaders/fragmentShaders/colorMaskFragment.d.ts +6 -0
- package/lib/typescript/src/shaders/fragmentShaders/colorMaskFragment.d.ts.map +1 -0
- package/lib/typescript/src/shaders/pipelineSetups.d.ts +8 -0
- package/lib/typescript/src/shaders/pipelineSetups.d.ts.map +1 -0
- package/lib/typescript/src/shaders/resourceManagement.d.ts +3 -0
- package/lib/typescript/src/shaders/resourceManagement.d.ts.map +1 -0
- package/lib/typescript/src/shaders/tgpuUtils.d.ts +6 -0
- package/lib/typescript/src/shaders/tgpuUtils.d.ts.map +1 -0
- package/lib/typescript/src/shaders/utils.d.ts +13 -0
- package/lib/typescript/src/shaders/utils.d.ts.map +1 -0
- package/lib/typescript/src/shaders/vertexShaders/mainVertex.d.ts +6 -0
- package/lib/typescript/src/shaders/vertexShaders/mainVertex.d.ts.map +1 -0
- package/lib/typescript/src/types/typeUtils.d.ts +17 -0
- package/lib/typescript/src/types/typeUtils.d.ts.map +1 -0
- package/lib/typescript/src/types/types.d.ts +33 -0
- package/lib/typescript/src/types/types.d.ts.map +1 -0
- package/package.json +160 -13
- package/src/index.tsx +326 -0
- package/src/roots.ts +16 -0
- package/src/shaders/bindGroupLayouts.ts +40 -0
- package/src/shaders/bindGroupUtils.ts +101 -0
- package/src/shaders/fragmentShaders/bloomFragment.ts +83 -0
- package/src/shaders/fragmentShaders/colorMaskFragment.ts +35 -0
- package/src/shaders/pipelineSetups.ts +44 -0
- package/src/shaders/resourceManagement.ts +22 -0
- package/src/shaders/tgpuUtils.ts +75 -0
- package/src/shaders/utils.ts +103 -0
- package/src/shaders/vertexShaders/mainVertex.ts +35 -0
- package/src/types/typeUtils.ts +122 -0
- package/src/types/types.ts +51 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["tgpu","d","std","textureBindGroupLayout","colorMaskBindGroupLayout","colorMaskFragment","fragmentFn","in","uv","vec2f","out","vec4f","input","texcoord","x","y","mask","$","maskedColor","baseColor","rgbToleranceRange","color","textureSample","texture","sampler","maskedColorLower","sub","lower","maskedColorUpper","add","upper","upperCheck","all","le","xyz","lowerCheck","ge","discard"],"sourceRoot":"../../../../src","sources":["shaders/fragmentShaders/colorMaskFragment.ts"],"mappings":";;AAAA,OAAOA,IAAI,MAAM,SAAS;AAC1B,OAAO,KAAKC,CAAC,MAAM,cAAc;AACjC,OAAO,KAAKC,GAAG,MAAM,aAAa;AAClC,SACEC,sBAAsB,EACtBC,wBAAwB,QACnB,wBAAqB;AAE5B,MAAMC,iBAAiB,GAAGL,IAAI,CAAC,WAAW,CAAC,CAACM,UAAU,CAAC;EACrDC,EAAE,EAAE;IAAEC,EAAE,EAAEP,CAAC,CAACQ;EAAM,CAAC;EACnBC,GAAG,EAAET,CAAC,CAACU;AACT,CAAC,CAAC,CAAEC,KAAK,IAAK;EACZ,MAAMC,QAAQ,GAAGZ,CAAC,CAACQ,KAAK,CAACG,KAAK,CAACJ,EAAE,CAACM,CAAC,EAAE,GAAG,GAAGF,KAAK,CAACJ,EAAE,CAACO,CAAC,CAAC;EAEtD,MAAMC,IAAI,GAAGZ,wBAAwB,CAACa,CAAC,CAACD,IAAI;EAC5C,MAAME,WAAW,GAAGF,IAAI,CAACG,SAAS;EAClC,MAAMC,iBAAiB,GAAGJ,IAAI,CAACI,iBAAiB;EAEhD,IAAIC,KAAK,GAAGnB,GAAG,CAACoB,aAAa,CAC3BnB,sBAAsB,CAACc,CAAC,CAACM,OAAO,EAChCpB,sBAAsB,CAACc,CAAC,CAACO,OAAO,EAChCX,QACF,CAAC;EAED,MAAMY,gBAAgB,GAAGvB,GAAG,CAACwB,GAAG,CAACR,WAAW,EAAEE,iBAAiB,CAACO,KAAK,CAAC;EACtE,MAAMC,gBAAgB,GAAG1B,GAAG,CAAC2B,GAAG,CAACX,WAAW,EAAEE,iBAAiB,CAACU,KAAK,CAAC;EACtE,MAAMC,UAAU,GAAG7B,GAAG,CAAC8B,GAAG,CAAC9B,GAAG,CAAC+B,EAAE,CAACZ,KAAK,CAACa,GAAG,EAAEN,gBAAgB,CAAC,CAAC;EAC/D,MAAMO,UAAU,GAAGjC,GAAG,CAAC8B,GAAG,CAAC9B,GAAG,CAACkC,EAAE,CAACf,KAAK,CAACa,GAAG,EAAET,gBAAgB,CAAC,CAAC;EAC/D,IAAIM,UAAU,IAAII,UAAU,EAAE;IAC5B,OAAOd,KAAK;EACd;EACAnB,GAAG,CAACmC,OAAO,CAAC,CAAC;AACf,CAAC,CAAC;AAEF,eAAehC,iBAAiB","ignoreList":[]}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
export const attachBindGroups = (pipeline, bindGroupPairs) => {
|
|
4
|
+
for (const pair of bindGroupPairs) {
|
|
5
|
+
pipeline = pipeline.with(pair.layout, pair.group);
|
|
6
|
+
}
|
|
7
|
+
return pipeline;
|
|
8
|
+
};
|
|
9
|
+
export const getDefaultTarget = presentationFormat => {
|
|
10
|
+
return {
|
|
11
|
+
format: presentationFormat,
|
|
12
|
+
blend: {
|
|
13
|
+
color: {
|
|
14
|
+
srcFactor: 'src-alpha',
|
|
15
|
+
dstFactor: 'one-minus-src-alpha',
|
|
16
|
+
operation: 'add'
|
|
17
|
+
},
|
|
18
|
+
alpha: {
|
|
19
|
+
srcFactor: 'one',
|
|
20
|
+
dstFactor: 'one-minus-src-alpha',
|
|
21
|
+
operation: 'add'
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
};
|
|
26
|
+
export const attachBindGroupsToPass = (pass, bindGroupPairs) => {
|
|
27
|
+
for (const pair of bindGroupPairs) {
|
|
28
|
+
pass.setBindGroup(pair.layout, pair.group);
|
|
29
|
+
}
|
|
30
|
+
return pass;
|
|
31
|
+
};
|
|
32
|
+
//# sourceMappingURL=pipelineSetups.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["attachBindGroups","pipeline","bindGroupPairs","pair","with","layout","group","getDefaultTarget","presentationFormat","format","blend","color","srcFactor","dstFactor","operation","alpha","attachBindGroupsToPass","pass","setBindGroup"],"sourceRoot":"../../../src","sources":["shaders/pipelineSetups.ts"],"mappings":";;AAGA,OAAO,MAAMA,gBAAgB,GAAGA,CAC9BC,QAA4B,EAC5BC,cAA+B,KAC5B;EACH,KAAK,MAAMC,IAAI,IAAID,cAAc,EAAE;IACjCD,QAAQ,GAAGA,QAAQ,CAACG,IAAI,CAACD,IAAI,CAACE,MAAM,EAAEF,IAAI,CAACG,KAAK,CAAC;EACnD;EAEA,OAAOL,QAAQ;AACjB,CAAC;AAED,OAAO,MAAMM,gBAAgB,GAC3BC,kBAAoC,IACZ;EACxB,OAAO;IACLC,MAAM,EAAED,kBAAkB;IAC1BE,KAAK,EAAE;MACLC,KAAK,EAAE;QACLC,SAAS,EAAE,WAAW;QACtBC,SAAS,EAAE,qBAAqB;QAChCC,SAAS,EAAE;MACb,CAAC;MACDC,KAAK,EAAE;QACLH,SAAS,EAAE,KAAK;QAChBC,SAAS,EAAE,qBAAqB;QAChCC,SAAS,EAAE;MACb;IACF;EACF,CAAC;AACH,CAAC;AAED,OAAO,MAAME,sBAAsB,GAAGA,CACpCC,IAAS,EACTf,cAA+B,KAC5B;EACH,KAAK,MAAMC,IAAI,IAAID,cAAc,EAAE;IACjCe,IAAI,CAACC,YAAY,CAACf,IAAI,CAACE,MAAM,EAAEF,IAAI,CAACG,KAAK,CAAC;EAC5C;EAEA,OAAOW,IAAI;AACb,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { Asset } from 'expo-asset';
|
|
4
|
+
const getBitmapFromURI = async uri => {
|
|
5
|
+
if (uriToBitmapMap.has(uri)) return uriToBitmapMap.get(uri);
|
|
6
|
+
console.log('bitmap not found in cache, fetching from URI');
|
|
7
|
+
const ast = Asset.fromURI(uri);
|
|
8
|
+
await ast.downloadAsync();
|
|
9
|
+
const fileURI = ast.localUri || ast.uri;
|
|
10
|
+
console.log('fetch completed, creating ImageBitmap');
|
|
11
|
+
const response = await fetch(fileURI);
|
|
12
|
+
const blob = await response.blob();
|
|
13
|
+
const imageBitmap = await createImageBitmap(blob);
|
|
14
|
+
uriToBitmapMap.set(uri, imageBitmap);
|
|
15
|
+
return imageBitmap;
|
|
16
|
+
};
|
|
17
|
+
const uriToBitmapMap = new Map();
|
|
18
|
+
export default getBitmapFromURI;
|
|
19
|
+
//# sourceMappingURL=resourceManagement.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Asset","getBitmapFromURI","uri","uriToBitmapMap","has","get","console","log","ast","fromURI","downloadAsync","fileURI","localUri","response","fetch","blob","imageBitmap","createImageBitmap","set","Map"],"sourceRoot":"../../../src","sources":["shaders/resourceManagement.ts"],"mappings":";;AAAA,SAASA,KAAK,QAAQ,YAAY;AAElC,MAAMC,gBAAgB,GAAG,MAAOC,GAAW,IAA2B;EACpE,IAAIC,cAAc,CAACC,GAAG,CAACF,GAAG,CAAC,EAAE,OAAOC,cAAc,CAACE,GAAG,CAACH,GAAG,CAAC;EAC3DI,OAAO,CAACC,GAAG,CAAC,8CAA8C,CAAC;EAE3D,MAAMC,GAAG,GAAGR,KAAK,CAACS,OAAO,CAACP,GAAG,CAAC;EAC9B,MAAMM,GAAG,CAACE,aAAa,CAAC,CAAC;EACzB,MAAMC,OAAO,GAAGH,GAAG,CAACI,QAAQ,IAAIJ,GAAG,CAACN,GAAG;EAEvCI,OAAO,CAACC,GAAG,CAAC,uCAAuC,CAAC;EACpD,MAAMM,QAAQ,GAAG,MAAMC,KAAK,CAACH,OAAO,CAAC;EACrC,MAAMI,IAAI,GAAG,MAAMF,QAAQ,CAACE,IAAI,CAAC,CAAC;EAClC,MAAMC,WAAW,GAAG,MAAMC,iBAAiB,CAACF,IAAI,CAAC;EAEjDZ,cAAc,CAACe,GAAG,CAAChB,GAAG,EAAEc,WAAW,CAAC;EACpC,OAAOA,WAAW;AACpB,CAAC;AAED,MAAMb,cAAc,GAAG,IAAIgB,GAAG,CAAsB,CAAC;AAErD,eAAelB,gBAAgB","ignoreList":[]}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import tgpu from 'typegpu';
|
|
4
|
+
import * as std from 'typegpu/std';
|
|
5
|
+
import * as d from 'typegpu/data';
|
|
6
|
+
export const hueShift = tgpu.fn([d.vec3f, d.f32], d.vec3f)((rgb, angle) => {
|
|
7
|
+
const yiqY = std.add(std.mul(rgb.x, 0.299), std.add(std.mul(rgb.y, 0.587), std.mul(rgb.z, 0.114)));
|
|
8
|
+
const yiqI = std.add(std.mul(rgb.x, 0.596), std.sub(std.mul(rgb.y, -0.274), std.mul(rgb.z, 0.322)));
|
|
9
|
+
const yiqQ = std.add(std.mul(rgb.x, 0.211), std.sub(std.mul(rgb.y, -0.523), std.mul(rgb.z, 0.311)));
|
|
10
|
+
|
|
11
|
+
// Rotate hue
|
|
12
|
+
const cosA = std.cos(angle);
|
|
13
|
+
const sinA = std.sin(angle);
|
|
14
|
+
const i = std.sub(std.mul(yiqI, cosA), std.mul(yiqQ, sinA));
|
|
15
|
+
const q = std.add(std.mul(yiqI, sinA), std.mul(yiqQ, cosA));
|
|
16
|
+
|
|
17
|
+
// Convert back to RGB
|
|
18
|
+
const r = std.add(std.add(yiqY, std.mul(i, 0.956)), std.mul(q, 0.621));
|
|
19
|
+
const g = std.add(std.add(yiqY, std.mul(i, -0.272)), std.mul(q, -0.647));
|
|
20
|
+
const b = std.add(std.add(yiqY, std.mul(i, -1.105)), std.mul(q, 1.702));
|
|
21
|
+
return d.vec3f(r, g, b);
|
|
22
|
+
});
|
|
23
|
+
export const bloomColorShift = tgpu.fn([d.vec3f, d.f32], d.vec3f)((color, power) => {
|
|
24
|
+
const maxValue = std.max(std.max(color.x, color.y), color.z);
|
|
25
|
+
const scale = std.mix(d.f32(1.0), d.f32(1.0) / std.max(maxValue, d.f32(0.001)), power);
|
|
26
|
+
const boosted = std.mul(color, scale);
|
|
27
|
+
const saturated = std.mix(color, boosted, power);
|
|
28
|
+
return saturated;
|
|
29
|
+
});
|
|
30
|
+
export const overlayChannel = tgpu.fn([d.f32, d.f32], d.f32)((base, blend) => {
|
|
31
|
+
const mult = std.mul(2.0, std.mul(base, blend));
|
|
32
|
+
const screen = std.sub(1.0, std.mul(2.0, std.mul(std.sub(1.0, base), std.sub(1.0, blend))));
|
|
33
|
+
return std.select(screen, mult, base < d.f32(0.5));
|
|
34
|
+
});
|
|
35
|
+
export const overlayChannels = tgpu.fn([d.vec3f, d.vec3f], d.vec3f)((base, blend) => {
|
|
36
|
+
return d.vec3f(overlayChannel(base.x, blend.x), overlayChannel(base.y, blend.y), overlayChannel(base.z, blend.z));
|
|
37
|
+
});
|
|
38
|
+
//# sourceMappingURL=tgpuUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["tgpu","std","d","hueShift","fn","vec3f","f32","rgb","angle","yiqY","add","mul","x","y","z","yiqI","sub","yiqQ","cosA","cos","sinA","sin","i","q","r","g","b","bloomColorShift","color","power","maxValue","max","scale","mix","boosted","saturated","overlayChannel","base","blend","mult","screen","select","overlayChannels"],"sourceRoot":"../../../src","sources":["shaders/tgpuUtils.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { Dimensions } from 'react-native';
|
|
4
|
+
export const createTexture = async (root, size) => {
|
|
5
|
+
const texture = root['~unstable'].createTexture({
|
|
6
|
+
size: [size.width, size.height],
|
|
7
|
+
format: 'rgba8unorm'
|
|
8
|
+
}).$usage('sampled', 'render');
|
|
9
|
+
return texture;
|
|
10
|
+
};
|
|
11
|
+
export const loadTexture = async (root, imageBitmap, texture) => {
|
|
12
|
+
root.device.queue.copyExternalImageToTexture({
|
|
13
|
+
source: imageBitmap
|
|
14
|
+
}, {
|
|
15
|
+
texture: root.unwrap(texture)
|
|
16
|
+
}, [imageBitmap.width, imageBitmap.height]);
|
|
17
|
+
};
|
|
18
|
+
export const rotateVectorByQuaternion = (vec, quaternion) => {
|
|
19
|
+
'worklet';
|
|
20
|
+
|
|
21
|
+
const t = [quaternion[1] * vec[2] - quaternion[2] * vec[1], quaternion[2] * vec[0] - quaternion[0] * vec[2], quaternion[0] * vec[1] - quaternion[1] * vec[0]];
|
|
22
|
+
|
|
23
|
+
// t2 = qw * forward + t
|
|
24
|
+
const t2 = [quaternion[3] * vec[0] + t[0], quaternion[3] * vec[1] + t[1], quaternion[3] * vec[2] + t[2]];
|
|
25
|
+
const crossQT2 = [quaternion[1] * t2[2] - quaternion[2] * t2[1], quaternion[2] * t2[0] - quaternion[0] * t2[2], quaternion[0] * t2[1] - quaternion[1] * t2[0]];
|
|
26
|
+
|
|
27
|
+
// rotated = vec + 2.0 * cross(q, t2)
|
|
28
|
+
const rotated = [vec[0] + 2.0 * crossQT2[0], vec[1] + 2.0 * crossQT2[1], vec[2] + 2.0 * crossQT2[2]];
|
|
29
|
+
return [rotated[0], rotated[1], rotated[2]];
|
|
30
|
+
};
|
|
31
|
+
export const clamp = (v, min = -1, max = 1) => {
|
|
32
|
+
'worklet';
|
|
33
|
+
|
|
34
|
+
return Math.max(min, Math.min(max, v));
|
|
35
|
+
};
|
|
36
|
+
export const rotate2D = ([x, y], angleDeg) => {
|
|
37
|
+
'worklet';
|
|
38
|
+
|
|
39
|
+
const rad = angleDeg * Math.PI / 180;
|
|
40
|
+
const c = Math.cos(rad);
|
|
41
|
+
const s = Math.sin(rad);
|
|
42
|
+
return [x * c - y * s, x * s + y * c];
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
// Simple helper to get angle from dimensions (0 or 90)
|
|
46
|
+
export function getAngleFromDimensions() {
|
|
47
|
+
const {
|
|
48
|
+
width,
|
|
49
|
+
height
|
|
50
|
+
} = Dimensions.get('window');
|
|
51
|
+
return width >= height ? 90 : 0;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
// Subscribe to orientation change via Dimensions API only
|
|
55
|
+
export function subscribeToOrientationChange(callback) {
|
|
56
|
+
callback(getAngleFromDimensions());
|
|
57
|
+
const handler = () => {
|
|
58
|
+
callback(getAngleFromDimensions());
|
|
59
|
+
};
|
|
60
|
+
const dimSub = Dimensions.addEventListener('change', handler);
|
|
61
|
+
return () => {
|
|
62
|
+
dimSub.remove();
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Dimensions","createTexture","root","size","texture","width","height","format","$usage","loadTexture","imageBitmap","device","queue","copyExternalImageToTexture","source","unwrap","rotateVectorByQuaternion","vec","quaternion","t","t2","crossQT2","rotated","clamp","v","min","max","Math","rotate2D","x","y","angleDeg","rad","PI","c","cos","s","sin","getAngleFromDimensions","get","subscribeToOrientationChange","callback","handler","dimSub","addEventListener","remove"],"sourceRoot":"../../../src","sources":["shaders/utils.ts"],"mappings":";;AAEA,SAASA,UAAU,QAAQ,cAAc;AAEzC,OAAO,MAAMC,aAAa,GAAG,MAAAA,CAC3BC,IAAc,EACdC,IAGC,KACwB;EACzB,MAAMC,OAAO,GAAGF,IAAI,CAAC,WAAW,CAAC,CAC9BD,aAAa,CAAC;IACbE,IAAI,EAAE,CAACA,IAAI,CAACE,KAAK,EAAEF,IAAI,CAACG,MAAM,CAAC;IAC/BC,MAAM,EAAE;EACV,CAAC,CAAC,CACDC,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC;EAE9B,OAAOJ,OAAO;AAChB,CAAC;AAED,OAAO,MAAMK,WAAW,GAAG,MAAAA,CACzBP,IAAc,EACdQ,WAAwB,EACxBN,OAAoB,KACjB;EACHF,IAAI,CAACS,MAAM,CAACC,KAAK,CAACC,0BAA0B,CAC1C;IAAEC,MAAM,EAAEJ;EAAY,CAAC,EACvB;IAAEN,OAAO,EAAEF,IAAI,CAACa,MAAM,CAACX,OAAO;EAAE,CAAC,EACjC,CAACM,WAAW,CAACL,KAAK,EAAEK,WAAW,CAACJ,MAAM,CACxC,CAAC;AACH,CAAC;AAED,OAAO,MAAMU,wBAAwB,GAAGA,CACtCC,GAAS,EACTC,UAAsB,KACb;EACT,SAAS;;EACT,MAAMC,CAAO,GAAG,CACdD,UAAU,CAAC,CAAC,CAAC,GAAGD,GAAG,CAAC,CAAC,CAAC,GAAGC,UAAU,CAAC,CAAC,CAAC,GAAGD,GAAG,CAAC,CAAC,CAAC,EAC/CC,UAAU,CAAC,CAAC,CAAC,GAAGD,GAAG,CAAC,CAAC,CAAC,GAAGC,UAAU,CAAC,CAAC,CAAC,GAAGD,GAAG,CAAC,CAAC,CAAC,EAC/CC,UAAU,CAAC,CAAC,CAAC,GAAGD,GAAG,CAAC,CAAC,CAAC,GAAGC,UAAU,CAAC,CAAC,CAAC,GAAGD,GAAG,CAAC,CAAC,CAAC,CAChD;;EAED;EACA,MAAMG,EAAQ,GAAG,CACfF,UAAU,CAAC,CAAC,CAAC,GAAGD,GAAG,CAAC,CAAC,CAAC,GAAGE,CAAC,CAAC,CAAC,CAAC,EAC7BD,UAAU,CAAC,CAAC,CAAC,GAAGD,GAAG,CAAC,CAAC,CAAC,GAAGE,CAAC,CAAC,CAAC,CAAC,EAC7BD,UAAU,CAAC,CAAC,CAAC,GAAGD,GAAG,CAAC,CAAC,CAAC,GAAGE,CAAC,CAAC,CAAC,CAAC,CAC9B;EAED,MAAME,QAAc,GAAG,CACrBH,UAAU,CAAC,CAAC,CAAC,GAAGE,EAAE,CAAC,CAAC,CAAC,GAAGF,UAAU,CAAC,CAAC,CAAC,GAAGE,EAAE,CAAC,CAAC,CAAC,EAC7CF,UAAU,CAAC,CAAC,CAAC,GAAGE,EAAE,CAAC,CAAC,CAAC,GAAGF,UAAU,CAAC,CAAC,CAAC,GAAGE,EAAE,CAAC,CAAC,CAAC,EAC7CF,UAAU,CAAC,CAAC,CAAC,GAAGE,EAAE,CAAC,CAAC,CAAC,GAAGF,UAAU,CAAC,CAAC,CAAC,GAAGE,EAAE,CAAC,CAAC,CAAC,CAC9C;;EAED;EACA,MAAME,OAAa,GAAG,CACpBL,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,GAAGI,QAAQ,CAAC,CAAC,CAAC,EAC1BJ,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,GAAGI,QAAQ,CAAC,CAAC,CAAC,EAC1BJ,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,GAAGI,QAAQ,CAAC,CAAC,CAAC,CAC3B;EAED,OAAO,CAACC,OAAO,CAAC,CAAC,CAAC,EAAEA,OAAO,CAAC,CAAC,CAAC,EAAEA,OAAO,CAAC,CAAC,CAAC,CAAC;AAC7C,CAAC;AAED,OAAO,MAAMC,KAAK,GAAGA,CAACC,CAAS,EAAEC,GAAG,GAAG,CAAC,CAAC,EAAEC,GAAG,GAAG,CAAC,KAAK;EACrD,SAAS;;EACT,OAAOC,IAAI,CAACD,GAAG,CAACD,GAAG,EAAEE,IAAI,CAACF,GAAG,CAACC,GAAG,EAAEF,CAAC,CAAC,CAAC;AACxC,CAAC;AAED,OAAO,MAAMI,QAAQ,GAAGA,CACtB,CAACC,CAAC,EAAEC,CAAC,CAAmB,EACxBC,QAAgB,KACK;EACrB,SAAS;;EACT,MAAMC,GAAG,GAAID,QAAQ,GAAGJ,IAAI,CAACM,EAAE,GAAI,GAAG;EACtC,MAAMC,CAAC,GAAGP,IAAI,CAACQ,GAAG,CAACH,GAAG,CAAC;EACvB,MAAMI,CAAC,GAAGT,IAAI,CAACU,GAAG,CAACL,GAAG,CAAC;EACvB,OAAO,CAACH,CAAC,GAAGK,CAAC,GAAGJ,CAAC,GAAGM,CAAC,EAAEP,CAAC,GAAGO,CAAC,GAAGN,CAAC,GAAGI,CAAC,CAAC;AACvC,CAAC;;AAED;AACA,OAAO,SAASI,sBAAsBA,CAAA,EAAG;EACvC,MAAM;IAAEjC,KAAK;IAAEC;EAAO,CAAC,GAAGN,UAAU,CAACuC,GAAG,CAAC,QAAQ,CAAC;EAClD,OAAOlC,KAAK,IAAIC,MAAM,GAAG,EAAE,GAAG,CAAC;AACjC;;AAEA;AACA,OAAO,SAASkC,4BAA4BA,CAC1CC,QAAoC,EACpC;EACAA,QAAQ,CAACH,sBAAsB,CAAC,CAAC,CAAC;EAClC,MAAMI,OAAO,GAAGA,CAAA,KAAM;IACpBD,QAAQ,CAACH,sBAAsB,CAAC,CAAC,CAAC;EACpC,CAAC;EAED,MAAMK,MAAM,GAAG3C,UAAU,CAAC4C,gBAAgB,CAAC,QAAQ,EAAEF,OAAO,CAAC;EAC7D,OAAO,MAAM;IACXC,MAAM,CAACE,MAAM,CAAC,CAAC;EACjB,CAAC;AACH","ignoreList":[]}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import tgpu from 'typegpu';
|
|
4
|
+
import * as d from 'typegpu/data';
|
|
5
|
+
const mainVertex = tgpu['~unstable'].vertexFn({
|
|
6
|
+
in: {
|
|
7
|
+
vertexIndex: d.builtin.vertexIndex
|
|
8
|
+
},
|
|
9
|
+
out: {
|
|
10
|
+
position: d.builtin.position,
|
|
11
|
+
uv: d.vec2f
|
|
12
|
+
}
|
|
13
|
+
})(input => {
|
|
14
|
+
const position = [d.vec2f(-1.0, -1.0),
|
|
15
|
+
// bottom left
|
|
16
|
+
d.vec2f(1.0, 1.0),
|
|
17
|
+
// top right
|
|
18
|
+
d.vec2f(1.0, -1.0),
|
|
19
|
+
// bottom right
|
|
20
|
+
d.vec2f(-1.0, -1.0),
|
|
21
|
+
// bottom left
|
|
22
|
+
d.vec2f(-1.0, 1.0),
|
|
23
|
+
// top left
|
|
24
|
+
d.vec2f(1.0, 1.0) // top right
|
|
25
|
+
];
|
|
26
|
+
const uv = [d.vec2f(0.0, 0.0), d.vec2f(1.0, 1.0), d.vec2f(1.0, 0.0), d.vec2f(0.0, 0.0), d.vec2f(0.0, 1.0), d.vec2f(1.0, 1.0)];
|
|
27
|
+
const index = input.vertexIndex;
|
|
28
|
+
const pos = position[index];
|
|
29
|
+
return {
|
|
30
|
+
position: d.vec4f(pos.xy, 0.0, 1.0),
|
|
31
|
+
uv: uv[index]
|
|
32
|
+
};
|
|
33
|
+
});
|
|
34
|
+
export default mainVertex;
|
|
35
|
+
//# sourceMappingURL=mainVertex.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["tgpu","d","mainVertex","vertexFn","in","vertexIndex","builtin","out","position","uv","vec2f","input","index","pos","vec4f","xy"],"sourceRoot":"../../../../src","sources":["shaders/vertexShaders/mainVertex.ts"],"mappings":";;AAAA,OAAOA,IAAI,MAAM,SAAS;AAC1B,OAAO,KAAKC,CAAC,MAAM,cAAc;AAEjC,MAAMC,UAAU,GAAGF,IAAI,CAAC,WAAW,CAAC,CAACG,QAAQ,CAAC;EAC5CC,EAAE,EAAE;IAAEC,WAAW,EAAEJ,CAAC,CAACK,OAAO,CAACD;EAAY,CAAC;EAC1CE,GAAG,EAAE;IAAEC,QAAQ,EAAEP,CAAC,CAACK,OAAO,CAACE,QAAQ;IAAEC,EAAE,EAAER,CAAC,CAACS;EAAM;AACnD,CAAC,CAAC,CAAEC,KAAK,IAAK;EACZ,MAAMH,QAAiB,GAAG,CACxBP,CAAC,CAACS,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC;EAAE;EACrBT,CAAC,CAACS,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC;EAAE;EACnBT,CAAC,CAACS,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC;EAAE;EACpBT,CAAC,CAACS,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC;EAAE;EACrBT,CAAC,CAACS,KAAK,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC;EAAE;EACpBT,CAAC,CAACS,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAE;EAAA,CACpB;EAED,MAAMD,EAAW,GAAG,CAClBR,CAAC,CAACS,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,EACjBT,CAAC,CAACS,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,EACjBT,CAAC,CAACS,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,EACjBT,CAAC,CAACS,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,EACjBT,CAAC,CAACS,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,EACjBT,CAAC,CAACS,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAClB;EAED,MAAME,KAAK,GAAGD,KAAK,CAACN,WAAW;EAC/B,MAAMQ,GAAG,GAAGL,QAAQ,CAACI,KAAK,CAAU;EAEpC,OAAO;IACLJ,QAAQ,EAAEP,CAAC,CAACa,KAAK,CAACD,GAAG,CAACE,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC;IACnCN,EAAE,EAAEA,EAAE,CAACG,KAAK;EACd,CAAC;AACH,CAAC,CAAC;AAEF,eAAeV,UAAU","ignoreList":[]}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { f32, vec2f, vec3f, vec4f } from 'typegpu/data';
|
|
4
|
+
import { div } from 'typegpu/std';
|
|
5
|
+
export const createBloomOptions = options => {
|
|
6
|
+
const {
|
|
7
|
+
glowPower,
|
|
8
|
+
hueShiftAngleMax,
|
|
9
|
+
hueShiftAngleMin,
|
|
10
|
+
hueBlendPower,
|
|
11
|
+
lightIntensity,
|
|
12
|
+
bloomIntensity
|
|
13
|
+
} = options;
|
|
14
|
+
const bloomOp = {
|
|
15
|
+
glowPower: glowPower ?? 1.0,
|
|
16
|
+
hueShiftAngleMax: hueShiftAngleMax ?? 1.0,
|
|
17
|
+
hueShiftAngleMin: hueShiftAngleMin ?? 0.0,
|
|
18
|
+
hueBlendPower: hueBlendPower ?? 1.0,
|
|
19
|
+
lightIntensity: lightIntensity ?? 1.0,
|
|
20
|
+
bloomIntensity: bloomIntensity ?? 1.0
|
|
21
|
+
};
|
|
22
|
+
return bloomOp;
|
|
23
|
+
};
|
|
24
|
+
export const mapToF32 = obj => {
|
|
25
|
+
const result = {};
|
|
26
|
+
for (const key in obj) {
|
|
27
|
+
result[key] = f32(obj[key]);
|
|
28
|
+
}
|
|
29
|
+
return result;
|
|
30
|
+
};
|
|
31
|
+
export const createColorMask = colorMask => {
|
|
32
|
+
const {
|
|
33
|
+
baseColor,
|
|
34
|
+
rgbToleranceRange
|
|
35
|
+
} = colorMask;
|
|
36
|
+
const baseTolerance = {
|
|
37
|
+
upper: [20, 20, 20],
|
|
38
|
+
lower: [20, 20, 20]
|
|
39
|
+
};
|
|
40
|
+
const tolerance = {
|
|
41
|
+
...baseTolerance,
|
|
42
|
+
...rgbToleranceRange
|
|
43
|
+
};
|
|
44
|
+
const mask = {
|
|
45
|
+
baseColor: baseColor,
|
|
46
|
+
rgbToleranceRange: tolerance
|
|
47
|
+
};
|
|
48
|
+
return mask;
|
|
49
|
+
};
|
|
50
|
+
export const colorMaskToTyped = colorMask => {
|
|
51
|
+
const result = {
|
|
52
|
+
baseColor: div(numberArrToTyped(colorMask.baseColor), 255),
|
|
53
|
+
rgbToleranceRange: {
|
|
54
|
+
upper: div(numberArrToTyped(colorMask.rgbToleranceRange.upper), 255),
|
|
55
|
+
lower: div(numberArrToTyped(colorMask.rgbToleranceRange.lower), 255)
|
|
56
|
+
}
|
|
57
|
+
};
|
|
58
|
+
return result;
|
|
59
|
+
};
|
|
60
|
+
export const numberArrToTyped = vec => {
|
|
61
|
+
let convFn = null;
|
|
62
|
+
switch (vec.length) {
|
|
63
|
+
case 2:
|
|
64
|
+
convFn = vec2f;
|
|
65
|
+
break;
|
|
66
|
+
case 3:
|
|
67
|
+
convFn = vec3f;
|
|
68
|
+
break;
|
|
69
|
+
case 4:
|
|
70
|
+
convFn = vec4f;
|
|
71
|
+
break;
|
|
72
|
+
default:
|
|
73
|
+
throw new Error('numberArrToTyped: Vector must be of length [2-4]');
|
|
74
|
+
}
|
|
75
|
+
const typed = convFn(...vec);
|
|
76
|
+
return typed;
|
|
77
|
+
};
|
|
78
|
+
export const createBindGroupPair = (bindGroupLayout, bindGroup) => {
|
|
79
|
+
return {
|
|
80
|
+
layout: bindGroupLayout,
|
|
81
|
+
group: bindGroup
|
|
82
|
+
};
|
|
83
|
+
};
|
|
84
|
+
export const createBindGroupPairs = (bindGroupLayouts, bindGroups) => {
|
|
85
|
+
if (bindGroupLayouts.length > 0 && bindGroupLayouts.length !== bindGroups.length) throw new Error('createBindGroups: bindGroupLayout and bindGroup arrrays must be of the same length');
|
|
86
|
+
const pairs = [];
|
|
87
|
+
for (let i = 0; i < bindGroupLayouts.length; i++) {
|
|
88
|
+
pairs.push(createBindGroupPair(bindGroupLayouts[i], bindGroups[i]));
|
|
89
|
+
}
|
|
90
|
+
return pairs;
|
|
91
|
+
};
|
|
92
|
+
//# sourceMappingURL=typeUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["f32","vec2f","vec3f","vec4f","div","createBloomOptions","options","glowPower","hueShiftAngleMax","hueShiftAngleMin","hueBlendPower","lightIntensity","bloomIntensity","bloomOp","mapToF32","obj","result","key","createColorMask","colorMask","baseColor","rgbToleranceRange","baseTolerance","upper","lower","tolerance","mask","colorMaskToTyped","numberArrToTyped","vec","convFn","length","Error","typed","createBindGroupPair","bindGroupLayout","bindGroup","layout","group","createBindGroupPairs","bindGroupLayouts","bindGroups","pairs","i","push"],"sourceRoot":"../../../src","sources":["types/typeUtils.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../src","sources":["types/types.ts"],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"type":"module"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { subscribeToOrientationChange, getAngleFromDimensions } from './shaders/utils';
|
|
2
|
+
import type { BloomOptions, ColorMask, DeepPartiallyOptional } from './types/types';
|
|
3
|
+
interface ShineProps {
|
|
4
|
+
width: number;
|
|
5
|
+
height: number;
|
|
6
|
+
imageURI: string;
|
|
7
|
+
bloomOptions?: Partial<BloomOptions>;
|
|
8
|
+
colorMaskOptions?: DeepPartiallyOptional<ColorMask, 'baseColor'>;
|
|
9
|
+
}
|
|
10
|
+
export declare function Shine({ width, height, imageURI, bloomOptions, colorMaskOptions, }: ShineProps): import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
export { subscribeToOrientationChange, getAngleFromDimensions };
|
|
12
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAKA,OAAO,EAKL,4BAA4B,EAC5B,sBAAsB,EACvB,MAAM,iBAAiB,CAAC;AA8BzB,OAAO,KAAK,EAEV,YAAY,EACZ,SAAS,EACT,qBAAqB,EACtB,MAAM,eAAe,CAAC;AAGvB,UAAU,UAAU;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IACrC,gBAAgB,CAAC,EAAE,qBAAqB,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;CAClE;AAED,wBAAgB,KAAK,CAAC,EACpB,KAAK,EACL,MAAM,EACN,QAAQ,EACR,YAAY,EACZ,gBAAgB,GACjB,EAAE,UAAU,2CAmQZ;AAED,OAAO,EAAE,4BAA4B,EAAE,sBAAsB,EAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"roots.d.ts","sourceRoot":"","sources":["../../../src/roots.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,QAAQ,EAAE,MAAM,SAAS,CAAC;AAI9C,iBAAS,aAAa,CAAC,MAAM,EAAE,SAAS,GAAG,QAAQ,CASlD;AAED,OAAO,EAAE,aAAa,EAAE,CAAC"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import * as d from 'typegpu/data';
|
|
2
|
+
export declare const textureBindGroupLayout: import("typegpu").TgpuBindGroupLayout<{
|
|
3
|
+
texture: {
|
|
4
|
+
texture: "float";
|
|
5
|
+
dimension: string;
|
|
6
|
+
sampleType: string;
|
|
7
|
+
};
|
|
8
|
+
sampler: {
|
|
9
|
+
sampler: "filtering";
|
|
10
|
+
};
|
|
11
|
+
}>;
|
|
12
|
+
export declare const rotationValuesBindGroupLayout: import("typegpu").TgpuBindGroupLayout<{
|
|
13
|
+
vec: {
|
|
14
|
+
uniform: d.Vec3f;
|
|
15
|
+
};
|
|
16
|
+
}>;
|
|
17
|
+
export declare const bloomOptionsSchema: d.WgslStruct<{
|
|
18
|
+
glowPower: d.F32;
|
|
19
|
+
hueShiftAngleMax: d.F32;
|
|
20
|
+
hueShiftAngleMin: d.F32;
|
|
21
|
+
hueBlendPower: d.F32;
|
|
22
|
+
lightIntensity: d.F32;
|
|
23
|
+
bloomIntensity: d.F32;
|
|
24
|
+
}>;
|
|
25
|
+
export type bloomOptionsSchema = typeof bloomOptionsSchema;
|
|
26
|
+
export declare const bloomOptionsBindGroupLayout: import("typegpu").TgpuBindGroupLayout<{
|
|
27
|
+
bloomOptions: {
|
|
28
|
+
uniform: d.WgslStruct<{
|
|
29
|
+
glowPower: d.F32;
|
|
30
|
+
hueShiftAngleMax: d.F32;
|
|
31
|
+
hueShiftAngleMin: d.F32;
|
|
32
|
+
hueBlendPower: d.F32;
|
|
33
|
+
lightIntensity: d.F32;
|
|
34
|
+
bloomIntensity: d.F32;
|
|
35
|
+
}>;
|
|
36
|
+
};
|
|
37
|
+
}>;
|
|
38
|
+
export declare const colorMaskSchema: d.WgslStruct<{
|
|
39
|
+
baseColor: d.Vec3f;
|
|
40
|
+
rgbToleranceRange: d.WgslStruct<{
|
|
41
|
+
upper: d.Vec3f;
|
|
42
|
+
lower: d.Vec3f;
|
|
43
|
+
}>;
|
|
44
|
+
}>;
|
|
45
|
+
export type colorMaskSchema = typeof colorMaskSchema;
|
|
46
|
+
export declare const colorMaskBindGroupLayout: import("typegpu").TgpuBindGroupLayout<{
|
|
47
|
+
mask: {
|
|
48
|
+
uniform: d.WgslStruct<{
|
|
49
|
+
baseColor: d.Vec3f;
|
|
50
|
+
rgbToleranceRange: d.WgslStruct<{
|
|
51
|
+
upper: d.Vec3f;
|
|
52
|
+
lower: d.Vec3f;
|
|
53
|
+
}>;
|
|
54
|
+
}>;
|
|
55
|
+
};
|
|
56
|
+
}>;
|
|
57
|
+
//# sourceMappingURL=bindGroupLayouts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bindGroupLayouts.d.ts","sourceRoot":"","sources":["../../../../src/shaders/bindGroupLayouts.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAElC,eAAO,MAAM,sBAAsB;;;;;;;;;EAGjC,CAAC;AAEH,eAAO,MAAM,6BAA6B;;;;EAExC,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;;;;;EAO7B,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG,OAAO,kBAAkB,CAAC;AAE3D,eAAO,MAAM,2BAA2B;;;;;;;;;;;EAEtC,CAAC;AAEH,eAAO,MAAM,eAAe;;;;;;EAM1B,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,OAAO,eAAe,CAAC;AAErD,eAAO,MAAM,wBAAwB;;;;;;;;;;EAEnC,CAAC"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { type TgpuBuffer, type TgpuRoot, type UniformFlag } from 'typegpu';
|
|
2
|
+
import * as d from 'typegpu/data';
|
|
3
|
+
import { bloomOptionsSchema, colorMaskSchema } from './bindGroupLayouts';
|
|
4
|
+
import type { BloomOptions, ColorMask, PartiallyOptional } from '../types/types';
|
|
5
|
+
export declare const createRotationBuffer: (root: TgpuRoot, initValues?: {
|
|
6
|
+
x: number;
|
|
7
|
+
y: number;
|
|
8
|
+
z: number;
|
|
9
|
+
}) => TgpuBuffer<d.Vec3f> & UniformFlag;
|
|
10
|
+
export declare const createRotationValuesBindGroup: (root: TgpuRoot, buffer: TgpuBuffer<d.Vec3f> & UniformFlag) => import("typegpu").TgpuBindGroup<{
|
|
11
|
+
vec: {
|
|
12
|
+
uniform: d.Vec3f;
|
|
13
|
+
};
|
|
14
|
+
}>;
|
|
15
|
+
export declare const createBloomOptionsBuffer: (root: TgpuRoot, initValues?: Partial<BloomOptions>) => TgpuBuffer<d.WgslStruct<{
|
|
16
|
+
glowPower: d.F32;
|
|
17
|
+
hueShiftAngleMax: d.F32;
|
|
18
|
+
hueShiftAngleMin: d.F32;
|
|
19
|
+
hueBlendPower: d.F32;
|
|
20
|
+
lightIntensity: d.F32;
|
|
21
|
+
bloomIntensity: d.F32;
|
|
22
|
+
}>> & UniformFlag;
|
|
23
|
+
export declare const createBloomOptionsBindGroup: (root: TgpuRoot, buffer: TgpuBuffer<bloomOptionsSchema> & UniformFlag) => import("typegpu").TgpuBindGroup<{
|
|
24
|
+
bloomOptions: {
|
|
25
|
+
uniform: d.WgslStruct<{
|
|
26
|
+
glowPower: d.F32;
|
|
27
|
+
hueShiftAngleMax: d.F32;
|
|
28
|
+
hueShiftAngleMin: d.F32;
|
|
29
|
+
hueBlendPower: d.F32;
|
|
30
|
+
lightIntensity: d.F32;
|
|
31
|
+
bloomIntensity: d.F32;
|
|
32
|
+
}>;
|
|
33
|
+
};
|
|
34
|
+
}>;
|
|
35
|
+
export declare const createColorMaskBuffer: (root: TgpuRoot, initValues: PartiallyOptional<ColorMask, "baseColor">) => TgpuBuffer<d.WgslStruct<{
|
|
36
|
+
baseColor: d.Vec3f;
|
|
37
|
+
rgbToleranceRange: d.WgslStruct<{
|
|
38
|
+
upper: d.Vec3f;
|
|
39
|
+
lower: d.Vec3f;
|
|
40
|
+
}>;
|
|
41
|
+
}>> & UniformFlag;
|
|
42
|
+
export declare const createColorMaskBindGroup: (root: TgpuRoot, buffer: TgpuBuffer<colorMaskSchema> & UniformFlag) => import("typegpu").TgpuBindGroup<{
|
|
43
|
+
mask: {
|
|
44
|
+
uniform: d.WgslStruct<{
|
|
45
|
+
baseColor: d.Vec3f;
|
|
46
|
+
rgbToleranceRange: d.WgslStruct<{
|
|
47
|
+
upper: d.Vec3f;
|
|
48
|
+
lower: d.Vec3f;
|
|
49
|
+
}>;
|
|
50
|
+
}>;
|
|
51
|
+
};
|
|
52
|
+
}>;
|
|
53
|
+
//# sourceMappingURL=bindGroupUtils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bindGroupUtils.d.ts","sourceRoot":"","sources":["../../../../src/shaders/bindGroupUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,QAAQ,EAAE,KAAK,WAAW,EAAE,MAAM,SAAS,CAAC;AAC3E,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAClC,OAAO,EAEL,kBAAkB,EAElB,eAAe,EAEhB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EACV,YAAY,EACZ,SAAS,EACT,iBAAiB,EAClB,MAAM,gBAAgB,CAAC;AAQxB,eAAO,MAAM,oBAAoB,GAC/B,MAAM,QAAQ,EACd,aAAa;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,sCAUjD,CAAC;AAEF,eAAO,MAAM,6BAA6B,GACxC,MAAM,QAAQ,EACd,QAAQ,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,WAAW;;;;EAU1C,CAAC;AAEF,eAAO,MAAM,wBAAwB,GACnC,MAAM,QAAQ,EACd,aAAa,OAAO,CAAC,YAAY,CAAC;;;;;;;iBAUnC,CAAC;AAEF,eAAO,MAAM,2BAA2B,GACtC,MAAM,QAAQ,EACd,QAAQ,UAAU,CAAC,kBAAkB,CAAC,GAAG,WAAW;;;;;;;;;;;EAUrD,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAChC,MAAM,QAAQ,EACd,YAAY,iBAAiB,CAAC,SAAS,EAAE,WAAW,CAAC;;;;;;iBAUtD,CAAC;AAEF,eAAO,MAAM,wBAAwB,GACnC,MAAM,QAAQ,EACd,QAAQ,UAAU,CAAC,eAAe,CAAC,GAAG,WAAW;;;;;;;;;;EAOlD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bloomFragment.d.ts","sourceRoot":"","sources":["../../../../../src/shaders/fragmentShaders/bloomFragment.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAUlC,QAAA,MAAM,aAAa;;WAqEjB,CAAC;AAEH,eAAe,aAAa,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"colorMaskFragment.d.ts","sourceRoot":"","sources":["../../../../../src/shaders/fragmentShaders/colorMaskFragment.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAOlC,QAAA,MAAM,iBAAiB;;WAwBrB,CAAC;AAEH,eAAe,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { TgpuRenderPipeline } from 'typegpu';
|
|
2
|
+
import type { BindGroupPair } from '../types/types';
|
|
3
|
+
export declare const attachBindGroups: (pipeline: TgpuRenderPipeline, bindGroupPairs: BindGroupPair[]) => TgpuRenderPipeline<import("typegpu/data").Void | ((import("typegpu/data").U32 | import("typegpu/data").Bool | import("typegpu/data").F32 | import("typegpu/data").F16 | import("typegpu/data").I32 | import("typegpu/data").Vec2f | import("typegpu/data").Vec3f | import("typegpu/data").Vec4f | import("typegpu/data").Vec2h | import("typegpu/data").Vec3h | import("typegpu/data").Vec4h | import("typegpu/data").Vec2i | import("typegpu/data").Vec3i | import("typegpu/data").Vec4i | import("typegpu/data").Vec2u | import("typegpu/data").Vec3u | import("typegpu/data").Vec4u) | import("typegpu/data").BuiltinClipDistances | import("typegpu/data").Decorated<import("typegpu/data").U32 | import("typegpu/data").Bool | import("typegpu/data").F32 | import("typegpu/data").F16 | import("typegpu/data").I32 | import("typegpu/data").Vec2f | import("typegpu/data").Vec3f | import("typegpu/data").Vec4f | import("typegpu/data").Vec2h | import("typegpu/data").Vec3h | import("typegpu/data").Vec4h | import("typegpu/data").Vec2i | import("typegpu/data").Vec3i | import("typegpu/data").Vec4i | import("typegpu/data").Vec2u | import("typegpu/data").Vec3u | import("typegpu/data").Vec4u, import("typegpu/data").AnyAttribute<import("typegpu/data").Builtin<"vertex_index" | "position" | "clip_distances" | "instance_index" | "front_facing" | "frag_depth" | "sample_index" | "sample_mask" | "local_invocation_id" | "local_invocation_index" | "global_invocation_id" | "workgroup_id" | "num_workgroups" | "subgroup_invocation_id" | "subgroup_size" | "fragment">>[]>) | {
|
|
4
|
+
[x: string]: (import("typegpu/data").U32 | import("typegpu/data").Bool | import("typegpu/data").F32 | import("typegpu/data").F16 | import("typegpu/data").I32 | import("typegpu/data").Vec2f | import("typegpu/data").Vec3f | import("typegpu/data").Vec4f | import("typegpu/data").Vec2h | import("typegpu/data").Vec3h | import("typegpu/data").Vec4h | import("typegpu/data").Vec2i | import("typegpu/data").Vec3i | import("typegpu/data").Vec4i | import("typegpu/data").Vec2u | import("typegpu/data").Vec3u | import("typegpu/data").Vec4u) | import("typegpu/data").BuiltinClipDistances | import("typegpu/data").Decorated<import("typegpu/data").U32 | import("typegpu/data").Bool | import("typegpu/data").F32 | import("typegpu/data").F16 | import("typegpu/data").I32 | import("typegpu/data").Vec2f | import("typegpu/data").Vec3f | import("typegpu/data").Vec4f | import("typegpu/data").Vec2h | import("typegpu/data").Vec3h | import("typegpu/data").Vec4h | import("typegpu/data").Vec2i | import("typegpu/data").Vec3i | import("typegpu/data").Vec4i | import("typegpu/data").Vec2u | import("typegpu/data").Vec3u | import("typegpu/data").Vec4u, import("typegpu/data").AnyAttribute<import("typegpu/data").Builtin<"vertex_index" | "position" | "clip_distances" | "instance_index" | "front_facing" | "frag_depth" | "sample_index" | "sample_mask" | "local_invocation_id" | "local_invocation_index" | "global_invocation_id" | "workgroup_id" | "num_workgroups" | "subgroup_invocation_id" | "subgroup_size" | "fragment">>[]>;
|
|
5
|
+
}>;
|
|
6
|
+
export declare const getDefaultTarget: (presentationFormat: GPUTextureFormat) => GPUColorTargetState;
|
|
7
|
+
export declare const attachBindGroupsToPass: (pass: any, bindGroupPairs: BindGroupPair[]) => any;
|
|
8
|
+
//# sourceMappingURL=pipelineSetups.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pipelineSetups.d.ts","sourceRoot":"","sources":["../../../../src/shaders/pipelineSetups.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEpD,eAAO,MAAM,gBAAgB,GAC3B,UAAU,kBAAkB,EAC5B,gBAAgB,aAAa,EAAE;;EAOhC,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAC3B,oBAAoB,gBAAgB,KACnC,mBAgBF,CAAC;AAEF,eAAO,MAAM,sBAAsB,GACjC,MAAM,GAAG,EACT,gBAAgB,aAAa,EAAE,QAOhC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resourceManagement.d.ts","sourceRoot":"","sources":["../../../../src/shaders/resourceManagement.ts"],"names":[],"mappings":"AAEA,QAAA,MAAM,gBAAgB,GAAU,KAAK,MAAM,KAAG,OAAO,CAAC,WAAW,CAehE,CAAC;AAIF,eAAe,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import * as d from 'typegpu/data';
|
|
2
|
+
export declare const hueShift: import("typegpu").TgpuFn<(rgb: d.Vec3f, angle: d.F32) => d.Vec3f>;
|
|
3
|
+
export declare const bloomColorShift: import("typegpu").TgpuFn<(color: d.Vec3f, power: d.F32) => d.Vec3f>;
|
|
4
|
+
export declare const overlayChannel: import("typegpu").TgpuFn<(base: d.F32, blend: d.F32) => d.F32>;
|
|
5
|
+
export declare const overlayChannels: import("typegpu").TgpuFn<(base: d.Vec3f, blend: d.Vec3f) => d.Vec3f>;
|
|
6
|
+
//# sourceMappingURL=tgpuUtils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tgpuUtils.d.ts","sourceRoot":"","sources":["../../../../src/shaders/tgpuUtils.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAElC,eAAO,MAAM,QAAQ,mEA6BnB,CAAC;AAEH,eAAO,MAAM,eAAe,qEAc1B,CAAC;AAEH,eAAO,MAAM,cAAc,gEAYzB,CAAC;AAEH,eAAO,MAAM,eAAe,sEAS1B,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { type TgpuRoot, type TgpuTexture } from 'typegpu';
|
|
2
|
+
import type { quaternion, vec3 } from '../types/types';
|
|
3
|
+
export declare const createTexture: (root: TgpuRoot, size: {
|
|
4
|
+
width: number;
|
|
5
|
+
height: number;
|
|
6
|
+
}) => Promise<TgpuTexture>;
|
|
7
|
+
export declare const loadTexture: (root: TgpuRoot, imageBitmap: ImageBitmap, texture: TgpuTexture) => Promise<void>;
|
|
8
|
+
export declare const rotateVectorByQuaternion: (vec: vec3, quaternion: quaternion) => vec3;
|
|
9
|
+
export declare const clamp: (v: number, min?: number, max?: number) => number;
|
|
10
|
+
export declare const rotate2D: ([x, y]: [number, number], angleDeg: number) => [number, number];
|
|
11
|
+
export declare function getAngleFromDimensions(): 0 | 90;
|
|
12
|
+
export declare function subscribeToOrientationChange(callback: (angleDeg: number) => void): () => void;
|
|
13
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/shaders/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,WAAW,EAAE,MAAM,SAAS,CAAC;AAC1D,OAAO,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAGvD,eAAO,MAAM,aAAa,GACxB,MAAM,QAAQ,EACd,MAAM;IACJ,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB,KACA,OAAO,CAAC,WAAW,CASrB,CAAC;AAEF,eAAO,MAAM,WAAW,GACtB,MAAM,QAAQ,EACd,aAAa,WAAW,EACxB,SAAS,WAAW,kBAOrB,CAAC;AAEF,eAAO,MAAM,wBAAwB,GACnC,KAAK,IAAI,EACT,YAAY,UAAU,KACrB,IA6BF,CAAC;AAEF,eAAO,MAAM,KAAK,GAAI,GAAG,MAAM,EAAE,YAAQ,EAAE,YAAO,WAGjD,CAAC;AAEF,eAAO,MAAM,QAAQ,GACnB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,EACxB,UAAU,MAAM,KACf,CAAC,MAAM,EAAE,MAAM,CAMjB,CAAC;AAGF,wBAAgB,sBAAsB,WAGrC;AAGD,wBAAgB,4BAA4B,CAC1C,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,cAWrC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mainVertex.d.ts","sourceRoot":"","sources":["../../../../../src/shaders/vertexShaders/mainVertex.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAElC,QAAA,MAAM,UAAU;;EA6Bd,CAAC;AAEH,eAAe,UAAU,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { f32 } from 'typegpu/data';
|
|
2
|
+
import type { BindGroupPair, BloomOptions, ColorMask, DeepPartiallyOptional } from './types';
|
|
3
|
+
import type { TgpuBindGroup, TgpuBindGroupLayout } from 'typegpu';
|
|
4
|
+
export declare const createBloomOptions: (options: Partial<BloomOptions>) => BloomOptions;
|
|
5
|
+
export declare const mapToF32: <T extends Record<string, number>>(obj: T) => { [K in keyof T]: ReturnType<typeof f32>; };
|
|
6
|
+
export declare const createColorMask: (colorMask: DeepPartiallyOptional<ColorMask, "baseColor">) => ColorMask;
|
|
7
|
+
export declare const colorMaskToTyped: (colorMask: ColorMask) => {
|
|
8
|
+
baseColor: any;
|
|
9
|
+
rgbToleranceRange: {
|
|
10
|
+
upper: any;
|
|
11
|
+
lower: any;
|
|
12
|
+
};
|
|
13
|
+
};
|
|
14
|
+
export declare const numberArrToTyped: (vec: number[]) => any;
|
|
15
|
+
export declare const createBindGroupPair: (bindGroupLayout: TgpuBindGroupLayout, bindGroup: TgpuBindGroup) => BindGroupPair;
|
|
16
|
+
export declare const createBindGroupPairs: (bindGroupLayouts: TgpuBindGroupLayout[], bindGroups: TgpuBindGroup[]) => BindGroupPair[];
|
|
17
|
+
//# sourceMappingURL=typeUtils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"typeUtils.d.ts","sourceRoot":"","sources":["../../../../src/types/typeUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAuB,MAAM,cAAc,CAAC;AACxD,OAAO,KAAK,EACV,aAAa,EACb,YAAY,EACZ,SAAS,EACT,qBAAqB,EAEtB,MAAM,SAAS,CAAC;AAEjB,OAAO,KAAK,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAElE,eAAO,MAAM,kBAAkB,GAC7B,SAAS,OAAO,CAAC,YAAY,CAAC,KAC7B,YAoBF,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACvD,KAAK,CAAC,KACL,GACA,CAAC,IAAI,MAAM,CAAC,GAAG,UAAU,CAAC,OAAO,GAAG,CAAC,GAQvC,CAAC;AAEF,eAAO,MAAM,eAAe,GAC1B,WAAW,qBAAqB,CAAC,SAAS,EAAE,WAAW,CAAC,KACvD,SAcF,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,WAAW,SAAS;;;;;;CASpD,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,KAAK,MAAM,EAAE,QAkB7C,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAC9B,iBAAiB,mBAAmB,EACpC,WAAW,aAAa,KACvB,aAEF,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAC/B,kBAAkB,mBAAmB,EAAE,EACvC,YAAY,aAAa,EAAE,KAC1B,aAAa,EAcf,CAAC"}
|