oidn-web 0.2.2 → 0.3.0
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/README.md +6 -3
- package/dist/oidn.js +3520 -3407
- package/dist/oidn.umd.cjs +474 -464
- package/lib/UNet.d.ts +22 -5
- package/lib/UNet.js +101 -74
- package/lib/UNet.js.map +1 -1
- package/lib/WGPUComputePass.d.ts +13 -3
- package/lib/WGPUComputePass.js +85 -29
- package/lib/WGPUComputePass.js.map +1 -1
- package/lib/backend.js +6 -1
- package/lib/backend.js.map +1 -1
- package/lib/helper.d.ts +3 -0
- package/lib/helper.js +6 -0
- package/lib/helper.js.map +1 -1
- package/lib/process.d.ts +14 -5
- package/lib/process.js +207 -86
- package/lib/process.js.map +1 -1
- package/package.json +1 -1
- package/src/UNet.ts +154 -100
- package/src/WGPUComputePass.ts +100 -38
- package/src/backend.ts +8 -2
- package/src/helper.ts +8 -0
- package/src/process.ts +227 -98
package/lib/process.js
CHANGED
|
@@ -112,13 +112,54 @@ const rcpNormScale = ${rcpNormScale};
|
|
|
112
112
|
`;
|
|
113
113
|
export class GPUDataProcess {
|
|
114
114
|
_device;
|
|
115
|
-
|
|
115
|
+
_isHDR;
|
|
116
|
+
_inputPassAux;
|
|
117
|
+
_inputPassColor;
|
|
116
118
|
_outputPass;
|
|
117
|
-
|
|
119
|
+
_copyPass;
|
|
120
|
+
_isInputTexture = false;
|
|
121
|
+
constructor(_device, _isHDR) {
|
|
118
122
|
this._device = _device;
|
|
119
|
-
this.
|
|
123
|
+
this._isHDR = _isHDR;
|
|
124
|
+
const commonUniforms = [
|
|
125
|
+
{
|
|
126
|
+
label: 'inputScale',
|
|
127
|
+
type: 'f32',
|
|
128
|
+
data: new Float32Array([1])
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
label: 'inputSize',
|
|
132
|
+
type: 'vec2<f32>',
|
|
133
|
+
data: new Float32Array(2)
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
label: 'outputSize',
|
|
137
|
+
type: 'vec2<f32>',
|
|
138
|
+
data: new Float32Array(2)
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
label: 'inputOffset',
|
|
142
|
+
type: 'vec2<f32>',
|
|
143
|
+
data: new Float32Array(2)
|
|
144
|
+
}
|
|
145
|
+
];
|
|
146
|
+
this._inputPassAux = new WGPUComputePass('inputPassAux', this._device, {
|
|
120
147
|
inputs: ['color', 'albedo', 'normal'],
|
|
121
148
|
outputs: ['color', 'albedo', 'normal'],
|
|
149
|
+
uniforms: commonUniforms,
|
|
150
|
+
csDefine: '',
|
|
151
|
+
csMain: ``
|
|
152
|
+
});
|
|
153
|
+
this._inputPassColor = new WGPUComputePass('inputPassColor', this._device, {
|
|
154
|
+
inputs: ['color'],
|
|
155
|
+
outputs: ['color'],
|
|
156
|
+
uniforms: commonUniforms,
|
|
157
|
+
csDefine: '',
|
|
158
|
+
csMain: ``
|
|
159
|
+
});
|
|
160
|
+
this._outputPass = new WGPUComputePass('outputPass', this._device, {
|
|
161
|
+
inputs: ['color', 'raw'],
|
|
162
|
+
outputs: ['color'],
|
|
122
163
|
uniforms: [
|
|
123
164
|
{
|
|
124
165
|
label: 'inputScale',
|
|
@@ -135,13 +176,60 @@ export class GPUDataProcess {
|
|
|
135
176
|
type: 'vec2<f32>',
|
|
136
177
|
data: new Float32Array(2)
|
|
137
178
|
},
|
|
179
|
+
{
|
|
180
|
+
label: 'imageSize',
|
|
181
|
+
type: 'vec2<f32>',
|
|
182
|
+
data: new Float32Array(2)
|
|
183
|
+
},
|
|
138
184
|
{
|
|
139
185
|
label: 'inputOffset',
|
|
140
186
|
type: 'vec2<f32>',
|
|
141
187
|
data: new Float32Array(2)
|
|
188
|
+
},
|
|
189
|
+
{
|
|
190
|
+
label: 'outputOffset',
|
|
191
|
+
type: 'vec2<f32>',
|
|
192
|
+
data: new Float32Array(2)
|
|
142
193
|
}
|
|
143
194
|
],
|
|
144
|
-
csDefine:
|
|
195
|
+
csDefine: '',
|
|
196
|
+
csMain: ``
|
|
197
|
+
});
|
|
198
|
+
this._copyPass = new WGPUComputePass('copyPass', this._device, {
|
|
199
|
+
inputs: ['color'],
|
|
200
|
+
outputs: ['color'],
|
|
201
|
+
autoUpdateOutputBuffer: false,
|
|
202
|
+
uniforms: [
|
|
203
|
+
{
|
|
204
|
+
label: 'size',
|
|
205
|
+
type: 'vec2<f32>',
|
|
206
|
+
data: new Float32Array(2)
|
|
207
|
+
}
|
|
208
|
+
],
|
|
209
|
+
csMain: /*wgsl*/ `
|
|
210
|
+
let outIdx = i32(globalId.x + globalId.y * u32(size.x));
|
|
211
|
+
out_color[outIdx] = textureLoad(in_color, globalId.xy, 0);
|
|
212
|
+
`
|
|
213
|
+
});
|
|
214
|
+
this._inputPassAux.setOutputParams({
|
|
215
|
+
color: { channels: 3 },
|
|
216
|
+
albedo: { channels: 3 },
|
|
217
|
+
normal: { channels: 3 }
|
|
218
|
+
});
|
|
219
|
+
this._inputPassColor.setOutputParams({
|
|
220
|
+
color: { channels: 3 }
|
|
221
|
+
});
|
|
222
|
+
this._outputPass.setOutputParams({
|
|
223
|
+
color: { channels: 4 }
|
|
224
|
+
});
|
|
225
|
+
}
|
|
226
|
+
_updatePasses(isInputTexture, denoiseAlpha = false) {
|
|
227
|
+
if (this._isInputTexture === isInputTexture) {
|
|
228
|
+
return;
|
|
229
|
+
}
|
|
230
|
+
this._isInputTexture = isInputTexture;
|
|
231
|
+
const isHDR = this._isHDR;
|
|
232
|
+
const commonCSDefine = /* wgsl */ `
|
|
145
233
|
${constsCode}
|
|
146
234
|
fn PUForward(y: f32) -> f32 {
|
|
147
235
|
if (y <= y0) {
|
|
@@ -151,58 +239,48 @@ fn PUForward(y: f32) -> f32 {
|
|
|
151
239
|
} else {
|
|
152
240
|
return e * log(y + f) + g;
|
|
153
241
|
}
|
|
154
|
-
}
|
|
155
|
-
|
|
156
|
-
|
|
242
|
+
}`;
|
|
243
|
+
function readInputCode(inputName) {
|
|
244
|
+
return isInputTexture
|
|
245
|
+
? `textureLoad(in_${inputName}, globalId.xy + vec2u(inputOffset), 0)`
|
|
246
|
+
: `in_${inputName}[inIdx]'`;
|
|
247
|
+
}
|
|
248
|
+
const commonCSMain = /* wgsl */ `
|
|
157
249
|
let x = f32(globalId.x);
|
|
158
250
|
let y = f32(globalId.y);
|
|
159
251
|
let inIdx = i32((y + inputOffset.y) * inputSize.x + (x + inputOffset.x));
|
|
160
|
-
let col =
|
|
161
|
-
let alb = in_albedo[inIdx];
|
|
162
|
-
let nor = in_normal[inIdx];
|
|
252
|
+
let col = ${readInputCode('color')};
|
|
163
253
|
|
|
164
254
|
let outIdx = i32(y * outputSize.x + x);
|
|
165
|
-
|
|
255
|
+
|
|
256
|
+
if (${denoiseAlpha}) {
|
|
257
|
+
// Denoise the inversed alpha. Or the anti aliased edge will be too dark after denoised
|
|
258
|
+
out_color[outIdx] = vec3f(1.0 - col.a);
|
|
259
|
+
}
|
|
260
|
+
else if (${isHDR}) {
|
|
261
|
+
out_color[outIdx] = vec3f(PUForward(col.r * inputScale), PUForward(col.g * inputScale), PUForward(col.b * inputScale)) * normScale;
|
|
262
|
+
}
|
|
263
|
+
else {
|
|
264
|
+
out_color[outIdx] = col.rgb;
|
|
265
|
+
}
|
|
266
|
+
`;
|
|
267
|
+
this._inputPassAux.setCSCode({
|
|
268
|
+
csDefine: commonCSDefine,
|
|
269
|
+
csMain: /* wgsl */ `
|
|
270
|
+
${commonCSMain}
|
|
271
|
+
let alb = ${readInputCode('albedo')};
|
|
272
|
+
let nor = ${readInputCode('normal')};
|
|
166
273
|
out_normal[outIdx] = nor.rgb;
|
|
167
274
|
out_albedo[outIdx] = alb.rgb;
|
|
275
|
+
`
|
|
276
|
+
});
|
|
277
|
+
this._inputPassColor.setCSCode({
|
|
278
|
+
csDefine: commonCSDefine,
|
|
279
|
+
csMain: /* wgsl */ `
|
|
280
|
+
${commonCSMain}
|
|
168
281
|
`
|
|
169
282
|
});
|
|
170
|
-
this._outputPass
|
|
171
|
-
inputs: ['color', 'raw'],
|
|
172
|
-
outputs: ['color'],
|
|
173
|
-
uniforms: [
|
|
174
|
-
{
|
|
175
|
-
// TODO inputScale from avg log lum
|
|
176
|
-
label: 'inputScale',
|
|
177
|
-
type: 'f32',
|
|
178
|
-
data: new Float32Array([1])
|
|
179
|
-
},
|
|
180
|
-
{
|
|
181
|
-
label: 'inputSize',
|
|
182
|
-
type: 'vec2<f32>',
|
|
183
|
-
data: new Float32Array(2)
|
|
184
|
-
},
|
|
185
|
-
{
|
|
186
|
-
label: 'outputSize',
|
|
187
|
-
type: 'vec2<f32>',
|
|
188
|
-
data: new Float32Array(2)
|
|
189
|
-
},
|
|
190
|
-
{
|
|
191
|
-
label: 'imageSize',
|
|
192
|
-
type: 'vec2<f32>',
|
|
193
|
-
data: new Float32Array(2)
|
|
194
|
-
},
|
|
195
|
-
{
|
|
196
|
-
label: 'inputOffset',
|
|
197
|
-
type: 'vec2<f32>',
|
|
198
|
-
data: new Float32Array(2)
|
|
199
|
-
},
|
|
200
|
-
{
|
|
201
|
-
label: 'outputOffset',
|
|
202
|
-
type: 'vec2<f32>',
|
|
203
|
-
data: new Float32Array(2)
|
|
204
|
-
}
|
|
205
|
-
],
|
|
283
|
+
this._outputPass.setCSCode({
|
|
206
284
|
csDefine: /* wgsl */ `
|
|
207
285
|
${constsCode}
|
|
208
286
|
fn PUInverse(y: f32) -> f32 {
|
|
@@ -223,37 +301,42 @@ if (x >= outputSize.x || y >= outputSize.y) {
|
|
|
223
301
|
}
|
|
224
302
|
let inIdx = i32((y + inputOffset.y) * inputSize.x + x + inputOffset.x);
|
|
225
303
|
let outIdx = i32((y + outputOffset.y) * imageSize.x + x + outputOffset.x);
|
|
226
|
-
let col = in_color[inIdx]
|
|
227
|
-
let raw =
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
);
|
|
304
|
+
let col = in_color[inIdx];
|
|
305
|
+
let raw = ${isInputTexture
|
|
306
|
+
? 'textureLoad(in_raw, globalId.xy + vec2u(outputOffset), 0)'
|
|
307
|
+
: 'in_raw[outIdx]'};
|
|
308
|
+
|
|
309
|
+
if (${denoiseAlpha}) {
|
|
310
|
+
out_color[outIdx] = vec4f(raw.rgb, 1.0 - col.r);
|
|
311
|
+
}
|
|
312
|
+
else if (${isHDR}) {
|
|
313
|
+
out_color[outIdx] = vec4f(
|
|
314
|
+
vec3f(PUInverse(col.r * rcpNormScale), PUInverse(col.g * rcpNormScale), PUInverse(col.b * rcpNormScale)) / inputScale,
|
|
315
|
+
// Pick the alpha
|
|
316
|
+
raw.a
|
|
317
|
+
);
|
|
318
|
+
}
|
|
319
|
+
else {
|
|
320
|
+
out_color[outIdx] = vec4f(col.rgb, raw.a);
|
|
321
|
+
}
|
|
233
322
|
`
|
|
234
323
|
});
|
|
235
|
-
// TODO input scale
|
|
236
|
-
this._inputPass.setOutputParams({
|
|
237
|
-
color: { channels: 3 },
|
|
238
|
-
albedo: { channels: 3 },
|
|
239
|
-
normal: { channels: 3 }
|
|
240
|
-
});
|
|
241
|
-
// TODO input scale
|
|
242
|
-
this._outputPass.setOutputParams({
|
|
243
|
-
color: { channels: 4 }
|
|
244
|
-
});
|
|
245
324
|
}
|
|
246
325
|
setImageSize(w, h) {
|
|
247
|
-
this.
|
|
326
|
+
this._inputPassAux.setUniform('inputSize', new Float32Array([w, h]));
|
|
327
|
+
this._inputPassColor.setUniform('inputSize', new Float32Array([w, h]));
|
|
248
328
|
this._outputPass.setUniform('imageSize', new Float32Array([w, h]));
|
|
249
329
|
this._outputPass.setSize(w, h);
|
|
330
|
+
this._copyPass.setSize(w, h);
|
|
331
|
+
this._copyPass.setUniform('size', new Float32Array([w, h]));
|
|
250
332
|
}
|
|
251
333
|
setInputTile(tile) {
|
|
252
|
-
const inputPass = this._inputPass;
|
|
253
334
|
const size = new Float32Array([tile.width, tile.height]);
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
335
|
+
[this._inputPassAux, this._inputPassColor].forEach((inputPass) => {
|
|
336
|
+
inputPass.setUniform('inputOffset', new Float32Array([tile.x, tile.y]));
|
|
337
|
+
inputPass.setUniform('outputSize', size);
|
|
338
|
+
inputPass.setSize(size[0], size[1]);
|
|
339
|
+
});
|
|
257
340
|
this._outputPass.setUniform('inputSize', size);
|
|
258
341
|
}
|
|
259
342
|
setOutputTile(dstTile, srcTile) {
|
|
@@ -268,20 +351,45 @@ out_color[outIdx] = vec4f(
|
|
|
268
351
|
}
|
|
269
352
|
forward(colorBuffer,
|
|
270
353
|
// TODO optional albedo and normal.
|
|
271
|
-
albedoBuffer, normalBuffer) {
|
|
272
|
-
const
|
|
354
|
+
albedoBuffer, normalBuffer, denoiseAlpha) {
|
|
355
|
+
const isInputTexture = colorBuffer instanceof GPUTexture;
|
|
356
|
+
this._updatePasses(isInputTexture, denoiseAlpha);
|
|
357
|
+
const inputPassAux = this._inputPassAux;
|
|
358
|
+
const inputPassColor = this._inputPassColor;
|
|
273
359
|
const commandEncoder = this._device.createCommandEncoder();
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
360
|
+
function createInput(bufferOrTex) {
|
|
361
|
+
return bufferOrTex instanceof GPUTexture
|
|
362
|
+
? {
|
|
363
|
+
texture: bufferOrTex,
|
|
364
|
+
channels: 4
|
|
365
|
+
}
|
|
366
|
+
: {
|
|
367
|
+
buffer: bufferOrTex,
|
|
368
|
+
channels: 4
|
|
369
|
+
};
|
|
370
|
+
}
|
|
371
|
+
if (albedoBuffer && normalBuffer) {
|
|
372
|
+
inputPassAux.createPass(commandEncoder, {
|
|
373
|
+
color: createInput(colorBuffer),
|
|
374
|
+
albedo: createInput(albedoBuffer),
|
|
375
|
+
normal: createInput(normalBuffer)
|
|
376
|
+
});
|
|
377
|
+
}
|
|
378
|
+
else {
|
|
379
|
+
inputPassColor.createPass(commandEncoder, {
|
|
380
|
+
color: createInput(colorBuffer)
|
|
381
|
+
});
|
|
382
|
+
}
|
|
279
383
|
this._device.queue.submit([commandEncoder.finish()]);
|
|
280
|
-
return
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
384
|
+
return albedoBuffer && normalBuffer
|
|
385
|
+
? {
|
|
386
|
+
color: inputPassAux.getOutput('color'),
|
|
387
|
+
albedo: inputPassAux.getOutput('albedo'),
|
|
388
|
+
normal: inputPassAux.getOutput('normal')
|
|
389
|
+
}
|
|
390
|
+
: {
|
|
391
|
+
color: inputPassColor.getOutput('color')
|
|
392
|
+
};
|
|
285
393
|
}
|
|
286
394
|
inverse(buffer, raw) {
|
|
287
395
|
const device = this._device;
|
|
@@ -289,21 +397,34 @@ out_color[outIdx] = vec4f(
|
|
|
289
397
|
const outputGPUPass = this._outputPass;
|
|
290
398
|
outputGPUPass.createPass(commandEncoder, {
|
|
291
399
|
color: { buffer: buffer, channels: 4 },
|
|
292
|
-
raw:
|
|
400
|
+
raw: raw instanceof GPUBuffer
|
|
401
|
+
? { buffer: raw, channels: 4 }
|
|
402
|
+
: { texture: raw, channels: 4 }
|
|
293
403
|
});
|
|
294
404
|
this._device.queue.submit([commandEncoder.finish()]);
|
|
295
|
-
return outputGPUPass.
|
|
405
|
+
return outputGPUPass.getOutput('color');
|
|
296
406
|
}
|
|
297
407
|
copyInputDataToOutput(inputColorBuffer) {
|
|
298
408
|
const encoder = this._device.createCommandEncoder();
|
|
299
409
|
const outputGPUPass = this._outputPass;
|
|
300
|
-
const colorBuffer = outputGPUPass.
|
|
301
|
-
|
|
410
|
+
const colorBuffer = outputGPUPass.getOutput('color');
|
|
411
|
+
const copyPass = this._copyPass;
|
|
412
|
+
if (inputColorBuffer instanceof GPUTexture) {
|
|
413
|
+
copyPass.setOutputBuffers({
|
|
414
|
+
color: colorBuffer
|
|
415
|
+
});
|
|
416
|
+
copyPass.createPass(encoder, {
|
|
417
|
+
color: { texture: inputColorBuffer, channels: 4 }
|
|
418
|
+
});
|
|
419
|
+
}
|
|
420
|
+
else {
|
|
421
|
+
encoder.copyBufferToBuffer(inputColorBuffer, 0, colorBuffer, 0, colorBuffer.size);
|
|
422
|
+
}
|
|
302
423
|
this._device.queue.submit([encoder.finish()]);
|
|
303
424
|
}
|
|
304
425
|
dispose() {
|
|
305
426
|
this._outputPass.dispose();
|
|
306
|
-
this.
|
|
427
|
+
this._inputPassAux.dispose();
|
|
307
428
|
}
|
|
308
429
|
}
|
|
309
430
|
//# sourceMappingURL=process.js.map
|
package/lib/process.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"process.js","sourceRoot":"","sources":["../src/process.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"process.js","sourceRoot":"","sources":["../src/process.ts"],"names":[],"mappings":"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"}
|