@plasius/gpu-renderer 0.2.48 → 0.2.50
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/CHANGELOG.md +34 -0
- package/README.md +13 -3
- package/dist/index.cjs +7462 -7387
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +7462 -7387
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/index.d.ts +8 -1
- package/src/wavefront-compute.js +10 -2
- package/src/wavefront-config.js +13 -2
- package/src/wavefront-frame-dispatcher.js +12 -8
- package/src/wavefront-frame-encoder.js +7 -0
- package/src/wavefront-progressive-shader.js +25 -0
- package/src/wavefront-progressive.js +46 -0
- package/src/wavefront-shader-kernels.js +5 -63
- package/src/wavefront-shader-lighting.js +12 -2
package/CHANGELOG.md
CHANGED
|
@@ -11,6 +11,38 @@ All notable changes to this project will be documented in this file.
|
|
|
11
11
|
|
|
12
12
|
## [Unreleased]
|
|
13
13
|
|
|
14
|
+
- **Added**
|
|
15
|
+
- (placeholder)
|
|
16
|
+
|
|
17
|
+
- **Changed**
|
|
18
|
+
- (placeholder)
|
|
19
|
+
|
|
20
|
+
- **Fixed**
|
|
21
|
+
- (placeholder)
|
|
22
|
+
|
|
23
|
+
- **Security**
|
|
24
|
+
- (placeholder)
|
|
25
|
+
|
|
26
|
+
## [0.2.50] - 2026-10-18
|
|
27
|
+
|
|
28
|
+
- Fix fixed-wavefront dielectric queue overflow and concurrent per-path writes by selecting one probability-weighted continuation; preserve total internal reflection energy and avoid spurious metal refraction siblings.
|
|
29
|
+
|
|
30
|
+
- **Added**
|
|
31
|
+
- (placeholder)
|
|
32
|
+
|
|
33
|
+
- **Changed**
|
|
34
|
+
- (placeholder)
|
|
35
|
+
|
|
36
|
+
- **Fixed**
|
|
37
|
+
- (placeholder)
|
|
38
|
+
|
|
39
|
+
- **Security**
|
|
40
|
+
- (placeholder)
|
|
41
|
+
|
|
42
|
+
## [0.2.49] - 2026-10-14
|
|
43
|
+
|
|
44
|
+
- Opt-in progressive wavefront accumulation of linear radiance, sample-weighted history, explicit reset and camera/scene invalidation for still-frame inspection.
|
|
45
|
+
|
|
14
46
|
- **Added**
|
|
15
47
|
- (placeholder)
|
|
16
48
|
|
|
@@ -1202,3 +1234,5 @@ All notable changes to this project will be documented in this file.
|
|
|
1202
1234
|
[0.2.46]: https://github.com/Plasius-LTD/gpu-renderer/releases/tag/v0.2.46
|
|
1203
1235
|
[0.2.47]: https://github.com/Plasius-LTD/gpu-renderer/releases/tag/v0.2.47
|
|
1204
1236
|
[0.2.48]: https://github.com/Plasius-LTD/gpu-renderer/releases/tag/v0.2.48
|
|
1237
|
+
[0.2.49]: https://github.com/Plasius-LTD/gpu-renderer/releases/tag/v0.2.49
|
|
1238
|
+
[0.2.50]: https://github.com/Plasius-LTD/gpu-renderer/releases/tag/v0.2.50
|
package/README.md
CHANGED
|
@@ -231,9 +231,13 @@ console.log(plan.wavefront.queueLayout.strategy);
|
|
|
231
231
|
Wavefront materials support authored `KHR_materials_*` factors and extension
|
|
232
232
|
textures, bounded nested media, Beer-Lambert attenuation, and reference
|
|
233
233
|
transport helpers for reflected/transmitted branching and spectral dispersion.
|
|
234
|
-
GPU rays carry up to four
|
|
235
|
-
|
|
236
|
-
|
|
234
|
+
GPU rays carry up to four medium identifiers and enqueue one selected
|
|
235
|
+
continuation per hit. Dielectric lobes are weighted by their selection
|
|
236
|
+
probability; total internal reflection retains unit throughput. The standalone
|
|
237
|
+
CPU reference helper can describe both branches, but the fixed GPU path never
|
|
238
|
+
enqueues an untracked sibling into its tile-sized queue. Physically qualified
|
|
239
|
+
nested media, rough dielectric transport and full spectral rendering remain
|
|
240
|
+
separate work. See [the Amber correction](docs/amber-transport-correction.md).
|
|
237
241
|
|
|
238
242
|
```js
|
|
239
243
|
import {
|
|
@@ -981,3 +985,9 @@ See [ADR-0036](docs/adrs/adr-0036-in-scene-material-inspection.md).
|
|
|
981
985
|
### Shared material-study runtime
|
|
982
986
|
|
|
983
987
|
Production demo helpers and their regression tests now live in `@plasius/gpu-shared/material-study`. The renderer exposes `validateNativeSurfaceMaterials(materials)` so authoring and GPU creation use identical validation without allocation. See [ADR-0037](docs/adrs/adr-0037-shared-material-study-runtime.md).
|
|
988
|
+
|
|
989
|
+
## Progressive still-frame refinement
|
|
990
|
+
|
|
991
|
+
Create the wavefront renderer with `progressive: true` to retain linear radiance across frames. `samplesPerPixel` at creation is the maximum batch capacity; pass a smaller value to `renderOnce({ samplesPerPixel })` or `renderFrame({ samplesPerPixel })`. Submit batches serially. `renderFrame()` awaits completion by default; with `renderOnce()`, await `renderer.device.queue.onSubmittedWorkDone()` before reporting completed samples. `getSnapshot().accumulatedSamplesPerPixel` reports submitted history samples.
|
|
992
|
+
|
|
993
|
+
Camera or scene updates reset history automatically; `resetAccumulation()` also discards it without reallocating. Do not call `updateCamera()` between refinement passes unless the view changed. Progressive mode uses independent frame seeds, overriding static-frame stable sample routing. Denoising is applied after accumulation. Leave `progressive` unset for the existing independent-frame path. See [ADR 0038](docs/adrs/adr-0038-progressive-linear-radiance.md) for memory costs and host rollout responsibilities.
|